qemuboot: Fix command line and enable other machines

Fix qemuboot-xen-dtb to properly add dom0 bootargs by using a parameter
instead of directly using the QB_XEN_DOM0_BOOTARGS inside the function.
When not done, the variable is empty and dom0 bootargs are wrong in the
device tree.

Use QB_MACHINE to generate a device tree with qemu instead of always
using the armv8 machine. This will allow this class to be used for other
machines later.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
This commit is contained in:
Bertrand Marquis 2022-05-10 16:35:14 +01:00 committed by Bruce Ashfield
parent 3e6c50b794
commit 8bf2e18234

View File

@ -29,6 +29,7 @@
# See also: Other QB_ variables as defined by the qemuboot.bbclass.
write_lops_xen_section() {
DOM0_BOOTARGS="$2"
cat <<EOF >"$1"
/dts-v1/;
/ {
@ -47,7 +48,7 @@ write_lops_xen_section() {
};
lop_2 {
compatible = "system-device-tree-v1,lop,modify";
modify = "/chosen:xen,dom0-bootargs:${QB_XEN_DOM0_BOOTARGS}";
modify = "/chosen:xen,dom0-bootargs:${DOM0_BOOTARGS}";
};
lop_3 {
compatible = "system-device-tree-v1,lop,modify";
@ -118,8 +119,7 @@ generate_xen_qemuboot_dtb() {
-device qemu-xhci \
-device usb-tablet \
-device usb-kbd \
-machine virt,gic-version=3 \
-machine virtualization=true \
${QB_MACHINE} \
${QB_CPU} \
${QB_SMP} \
${QB_MEM} \
@ -129,7 +129,8 @@ generate_xen_qemuboot_dtb() {
# Lopper generates temporary files in cwd, so run it within ${B}
cd "${B}"
write_lops_xen_section "${B}/lop-insert-xen-section.dts"
write_lops_xen_section "${B}/lop-insert-xen-section.dts" \
"${QB_XEN_DOM0_BOOTARGS}"
write_lop_add_to_xen_cmdline "${B}/lop-xen-cmdline.dts" \
"${QB_XEN_CMDLINE_EXTRA}"