Week10


Opened a pull request
25096 : Added config file for qemu x86-84 to manipulate runqemu into passing jailhouse hardware check

added a /conf/machine/qemux86-64.conf file
so this is how the configuration looks , this needs to be refactored further
QB_OPT_APPEND: “-vga vmware -show-cursor -usb -device usb-tablet -device virtio-rng-pci -vga virtio”
QB_DEFAULT_KERNEL: "./tmp/deploy/images/qemux86-64/bzImage"
QB_MACHINE: "-machine q35,kernel_irqchip=split"
QB_CPU: “ -cpu host,-kvm-pv-eoi,-kvm-pv-ipi,-kvm-asyncpf,-kvm-steal-time,-kvmclock,-invpcid,-hypervisor”
QB_KERNEL_CMDLINE_APPEND: "root=/dev/sda intel_iommu=off memmap=82M\$0x3a000000 mem=1G vga=0x305 console=ttyS0,115200n8"
QB_KERNEL_ROOT: /dev/sda
QB_NETWORK_DEVICE: "-device virtio-net-pci,netdev=net0,mac=@MAC@"
QB_TAP_OPT: "-netdev #tap,id=net0,ifname=@TAP@,script=no,downscript=no"
QB_SLIRP_OPT: " -netdev user,id=net"
QB_CMDLINE_IP_SLIRP: "ip=eth0:dhcp"
QB_CMDLINE_IP_TAP: "ip=192.168.7.@CLIENT@::192.168.7.@GATEWAY@:255.255.2#55.0::eth0"
QB_ROOTFS_OPT: "-drive file=./tmp/deploy/images/qemux86-64/agl-image-minimal-qemux86-64.ext4,discard=unmap,if=none,id=disk,format=raw"
QB_SERIAL_OPT: "-serial vc -serial mon:stdio"
#QB_SYSTEM_NAME: “qemu-system-x86_64”
#QB_DEFAULT_FSTYPE: ext4
#QB_MEM: -m 2048
#QB_CPU_KVM: “-cpu kvm64 -cpu qemu64,+ssse3,+sse4.1,+sse4.2,+popcnt”
#QB_DTB:#qemu dtb name
#QB_AUDIO_DRV: “ alsa ”
#QB_AUDIO_OPT: "-soundhw hda"
#QB_TCPSERIAL_OPT:
#QB_ROOTFS_EXTRA_OPT:
bitbake will show a parse error if you keep the declare a config as :
QB_SYSTEM_NAME: “qemu-system-x86_64”
it needs to be like this -
QB_SYSTEM_NAME = “qemu-system-x86_64”

Simon says I cant sign off as d__ep__th , has to be my real name :(

Learned something cool, adding the "SPEC - 3507 " in your commit message links it to that specific spec in jira

Realized that several layers might have a similar config
and that the compiler has ways to priororitize config from one layer over the other depending on the suffix applied on that
now the suffix can be - _append or _qemux86-64
for example- the conf QB_CPU_KVM has 4 declarations and we need to override the priority , so we added
_qemux86-64 as suffix
# $QB_CPU_KVM [4 operations]
# override[qemux86-64]:set /home/parth/AGL/build-qemux86-64-jailhouse-2/conf/local.conf:391
# "-cpu host,-kvm-pv-eoi,-kvm-pv-ipi,-kvm-asyncpf,-kvm-steal-time,-kvmclock,-invpcid,-hypervisor"
# override[x86]:set /home/parth/AGL/external/poky/meta/conf/machine/include/qemuboot-x86.inc:4
# "-cpu core2duo"
# override[x86-64]:set /home/parth/AGL/external/poky/meta/conf/machine/include/qemuboot-x86.inc:7
# "-cpu core2duo"
# override[x86-64]:set /home/parth/AGL/meta-agl/meta-agl-distro/conf/distro/include/x86_64-tune.inc:52
# "-cpu kvm64 -cpu qemu64,+ssse3,+sse4.1,+sse4.2,+popcnt"
# pre-expansion value:
# "-cpu host,-kvm-pv-eoi,-kvm-pv-ipi,-kvm-asyncpf,-kvm-steal-time,-kvmclock,-invpcid,-hypervisor"
QB_CPU_KVM="-cpu host,-kvm-pv-eoi,-kvm-pv-ipi,-kvm-asyncpf,-kvm-steal-time,-kvmclock,-invpcid,-hypervisor"
#
# $QB_CPU_KVM_qemux86-64
# set /home/parth/AGL/build-qemux86-64-jailhouse-2/conf/local.conf:391
# "-cpu host,-kvm-pv-eoi,-kvm-pv-ipi,-kvm-asyncpf,-kvm-steal-time,-kvmclock,-invpcid,-hypervisor"
QB_CPU_KVM_qemux86-64="-cpu host,-kvm-pv-eoi,-kvm-pv-ipi,-kvm-asyncpf,-kvm-steal-time,-kvmclock,-invpcid,-hypervisor"
#
# $QB_CPU_KVM_x86
# set /home/parth/AGL/external/poky/meta/conf/machine/include/qemuboot-x86.inc:4
# "-cpu core2duo"
QB_CPU_KVM_x86="-cpu core2duo"
#
# $QB_CPU_KVM_x86-64 [2 operations]
# set /home/parth/AGL/external/poky/meta/conf/machine/include/qemuboot-x86.inc:7
# "-cpu core2duo"
# set /home/parth/AGL/meta-agl/meta-agl-distro/conf/distro/include/x86_64-tune.inc:52
# "-cpu kvm64 -cpu qemu64,+ssse3,+sse4.1,+sse4.2,+popcnt"
# pre-expansion value:
# "-cpu kvm64 -cpu qemu64,+ssse3,+sse4.1,+sse4.2,+popcnt"
QB_CPU_KVM_x86-64="-cpu kvm64 -cpu qemu64,+ssse3,+sse4.1,+sse4.2,+popcnt"