commit | 7c1ae621b52299c282e8346c75cc4f54f2bc7c6b | [log] [tgz] |
---|---|---|
author | Daniel Verkamp <dverkamp@chromium.org> | Thu Jul 25 21:56:54 2024 |
committer | crosvm LUCI <crosvm-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Jul 26 21:20:44 2024 |
tree | 9d9611f10e51ce506958b99c72a18b6e9d9278ee | |
parent | 2fc3047b9b071af4481d216d3453a6398b74436d [diff] |
x86_64: add 32-bit bzImage support If the provided x86 guest kernel is a valid bzImage but does not have the XLF_KERNEL_64 flag (meaning it is a 32-bit kernel), boot it in 32-bit protected mode instead of 64-bit long mode. This eliminates the error case previously added in commit 42ca575b74e7 ("x86_64: verify bzImage has a 64-bit entry point"), since crosvm can now successfully run these kernels. TEST=Boot Debian i386 netinst kernel + initrd Change-Id: Ia4565d775d58255f66210ada5b0d0ae79ca10183 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5742404 Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org> Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
crosvm is a virtual machine monitor (VMM) based on Linux’s KVM hypervisor, with a focus on simplicity, security, and speed. crosvm is intended to run Linux guests, originally as a security boundary for running native applications on the ChromeOS platform. Compared to QEMU, crosvm doesn’t emulate architectures or real hardware, instead concentrating on paravirtualized devices, such as the virtio standard.
crosvm is currently used to run Linux/Android guests on ChromeOS devices.