Skip to content

Commit

Permalink
qemu build variant
Browse files Browse the repository at this point in the history
  • Loading branch information
cirosantilli committed Aug 6, 2018
1 parent 22dda8f commit 2e42a77
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 11 deletions.
32 changes: 22 additions & 10 deletions build
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ post_script_args=
qemu_sdl='--enable-sdl --with-sdlabi=2.0'
suffix=
v=0
while getopts 'a:B:b:C:c:fGgj:hIiK:kL:lM:p:qSst::v' OPT; do
while getopts 'a:B:b:C:c:fGgj:hIiK:kL:lM:p:Q:qSst::v' OPT; do
case "$OPT" in
a)
arch="$OPTARG"
Expand Down Expand Up @@ -88,6 +88,9 @@ BR2_TARGET_ROOTFS_INITRAMFS=n
p)
post_script_args="$OPTARG"
;;
Q)
common_qemu_variant="$OPTARG"
;;
q)
extra_make_args="${extra_make_args} host-qemu-reconfigure \\
"
Expand Down Expand Up @@ -191,15 +194,24 @@ echo

common_mkdir

# Manage Linux kernel variants.
if [ -h "$common_linux_custom_dir" ]; then
rm "$common_linux_custom_dir"
elif [ -d "$common_linux_custom_dir" ]; then
# Migration for existing builds.
mv "$common_linux_custom_dir" "$common_linux_variant_dir"
fi
mkdir -p "$common_linux_variant_dir"
ln -s "$common_linux_variant_dir" "$common_linux_custom_dir"
# Manage Linux kernel and QEMU variants.
symlink_buildroot_variant() (
custom_dir="$1"
variant_dir="$2"
if [ -h "$custom_dir" ]; then
rm "$custom_dir"
elif [ -d "$custom_dir" ]; then
# Migration for existing builds.
mv "$custom_dir" "$variant_dir"
fi
mkdir -p "$variant_dir"
ln -s "$variant_dir" "$custom_dir"
)
symlink_buildroot_variant "$common_linux_custom_dir" "$common_linux_variant_dir"
symlink_buildroot_variant "$common_qemu_custom_dir" "$common_qemu_variant_dir"
# TODO: this breaks the build. But then I noticed that it wouldn't make sense,
# because this is a guest tool, and we don't have image variants yet. Some other day maybe.
#symlink_buildroot_variant "$common_qemu_guest_custom_dir" "$common_qemu_guest_variant_dir"

# Manage gem5 variants.
if "$gem5"; then
Expand Down
5 changes: 5 additions & 0 deletions common
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,10 @@ set_common_vars() {
common_qemu_termout_file="${common_qemu_run_dir}/termout.txt"
common_linux_custom_dir="${build_dir}/linux-custom"
common_linux_variant_dir="${common_linux_custom_dir}.${linux_variant}"
common_qemu_custom_dir="${build_dir}/host-qemu-custom"
common_qemu_variant_dir="${common_qemu_custom_dir}.${common_qemu_variant}"
common_qemu_guest_custom_dir="${build_dir}/qemu-custom"
common_qemu_guest_variant_dir="${common_qemu_custom_dir}.${common_qemu_variant}"
common_vmlinux="${common_linux_variant_dir}/vmlinux"
if [ -n "$common_gem5_worktree" ]; then
common_gem5_src_dir="${common_gem5_non_default_src_root_dir}/${common_gem5_worktree}"
Expand Down Expand Up @@ -133,6 +137,7 @@ common_mkdir() (
;
)
common_linux_variant=default
common_qemu_variant=default
root_dir="$(pwd)"
out_dir="${root_dir}/out"
common_bench_boot="${out_dir}/bench-boot.txt"
Expand Down
2 changes: 1 addition & 1 deletion qemu
Submodule qemu updated from 68f40a to f75023

0 comments on commit 2e42a77

Please sign in to comment.