diff --git a/sdk/cmake/qemu.cmake b/sdk/cmake/qemu.cmake index 22ee75e..046bbb2 100644 --- a/sdk/cmake/qemu.cmake +++ b/sdk/cmake/qemu.cmake @@ -24,8 +24,8 @@ add_custom_target(testkvm DEPENDS diskimg COMMAND ${QEMU_COMMAND} -name "ExectOS-${ARCH}-KVM" -machine type=q35,kernel_irqchip=on,accel=kvm,mem-merge=off,vmport=off -enable-kvm -cpu host,-hypervisor,+topoext -smp 2,sockets=1,cores=1,threads=2 -m 4G -overcommit mem-lock=off -rtc clock=host,base=localtime,driftfix=none - -drive file=${EXECTOS_SOURCE_DIR}/sdk/ovmf/ovmf_code_${ARCH}.fd,if=pflash,format=raw,unit=0,readonly=on - -drive file=${EXECTOS_SOURCE_DIR}/sdk/ovmf/ovmf_vars_${ARCH}.fd,if=pflash,format=raw,unit=1 + -drive file=${EXECTOS_SOURCE_DIR}/sdk/firmware/ovmf_code_${ARCH}.fd,if=pflash,format=raw,unit=0,readonly=on + -drive file=${EXECTOS_SOURCE_DIR}/sdk/firmware/ovmf_vars_${ARCH}.fd,if=pflash,format=raw,unit=1 -hda ${EXECTOS_BINARY_DIR}/output/disk.img -boot menu=on -d int -M smm=off -no-reboot -no-shutdown -serial stdio VERBATIM USES_TERMINAL) @@ -35,8 +35,8 @@ add_custom_target(testtcg DEPENDS diskimg COMMAND ${QEMU_COMMAND} -name "ExectOS-${ARCH}-TCG" -machine type=q35,accel=tcg -cpu max,-hypervisor -smp 2,sockets=1,cores=1,threads=2 -m 4G -overcommit mem-lock=off -rtc clock=host,base=localtime,driftfix=none - -drive file=${EXECTOS_SOURCE_DIR}/sdk/ovmf/ovmf_code_${ARCH}.fd,if=pflash,format=raw,unit=0,readonly=on - -drive file=${EXECTOS_SOURCE_DIR}/sdk/ovmf/ovmf_vars_${ARCH}.fd,if=pflash,format=raw,unit=1 + -drive file=${EXECTOS_SOURCE_DIR}/sdk/firmware/ovmf_code_${ARCH}.fd,if=pflash,format=raw,unit=0,readonly=on + -drive file=${EXECTOS_SOURCE_DIR}/sdk/firmware/ovmf_vars_${ARCH}.fd,if=pflash,format=raw,unit=1 -hda ${EXECTOS_BINARY_DIR}/output/disk.img -boot menu=on -d int -M smm=off -no-reboot -no-shutdown -serial stdio VERBATIM USES_TERMINAL) diff --git a/sdk/ovmf/README.md b/sdk/firmware/README.md similarity index 74% rename from sdk/ovmf/README.md rename to sdk/firmware/README.md index b719bd5..78ba8f1 100644 --- a/sdk/ovmf/README.md +++ b/sdk/firmware/README.md @@ -7,6 +7,12 @@ for virtual machines used to test the XTOS. It includes the necessary instructio load the operating system, and provide various system services during the boot process. The ovmf_code file is responsible for establishing a UEFI environment within the virtual machine, enabling it to boot and operate effectively. +The ovmf_pure files contains the minimum version of the CPU specific UEFI firmware code, suitable for use with Bochs. + The ovmf_vars files, store UEFI variables, which are used to store and retrieve system configuration information, such as boot options, device settings, and system preferences. The ovmf_vars file contains the persistent variables specific to a virtual machine, allowing it to maintain its configuration across multiple boot sessions. + +## Video BIOS (LGPL'd VGABios) +The vgabios.bin file contains the Video Bios for Bochs and QEMU. This VGA Bios is very specific to the emulated VGA card. +It is NOT meant to drive a physical vga card. It also implements support for VBE version 2.0. diff --git a/sdk/ovmf/ovmf_code_amd64.fd b/sdk/firmware/ovmf_code_amd64.fd similarity index 100% rename from sdk/ovmf/ovmf_code_amd64.fd rename to sdk/firmware/ovmf_code_amd64.fd diff --git a/sdk/ovmf/ovmf_code_i686.fd b/sdk/firmware/ovmf_code_i686.fd similarity index 100% rename from sdk/ovmf/ovmf_code_i686.fd rename to sdk/firmware/ovmf_code_i686.fd diff --git a/sdk/firmware/ovmf_pure_amd64.fd b/sdk/firmware/ovmf_pure_amd64.fd new file mode 100644 index 0000000..2598041 Binary files /dev/null and b/sdk/firmware/ovmf_pure_amd64.fd differ diff --git a/sdk/firmware/ovmf_pure_i686.fd b/sdk/firmware/ovmf_pure_i686.fd new file mode 100644 index 0000000..967aa04 Binary files /dev/null and b/sdk/firmware/ovmf_pure_i686.fd differ diff --git a/sdk/ovmf/ovmf_vars_amd64.fd b/sdk/firmware/ovmf_vars_amd64.fd similarity index 100% rename from sdk/ovmf/ovmf_vars_amd64.fd rename to sdk/firmware/ovmf_vars_amd64.fd diff --git a/sdk/ovmf/ovmf_vars_i686.fd b/sdk/firmware/ovmf_vars_i686.fd similarity index 100% rename from sdk/ovmf/ovmf_vars_i686.fd rename to sdk/firmware/ovmf_vars_i686.fd diff --git a/sdk/firmware/vgabios.bin b/sdk/firmware/vgabios.bin new file mode 100644 index 0000000..b66a8b6 Binary files /dev/null and b/sdk/firmware/vgabios.bin differ