aboutsummaryrefslogtreecommitdiff
path: root/linuxboot.c
AgeCommit message (Collapse)AuthorFilesLines
2022-09-19Place setup_data at location specified by hostHEADmasterJason A. Donenfeld1-3/+1
QEMU places setup_data at a particular location, which cannot be relocated due to it containing self references in absolute address terms. For this reason, it supplies the intended location in FW_CFG_SETUP_ADDR. That is what is used in the option ROMs provided by QEMU, use this too in qboot. This also has the effect of removing the 8k limit on the copied size, since the header is copied to the right location from the beginning. Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Ard Biesheuvel <ardb@kernel.org> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Message-Id: <20220916133603.693135-1-Jason@zx2c4.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-07-24do not mix tabs and spaces in a single filePaolo Bonzini1-1/+1
2018-12-28pvh: use x86/HVM direct boot ABILiam Merwick1-0/+3
These changes (along with corresponding QEMU and Linux kernel changes) enable a guest to be booted using the x86/HVM direct boot ABI. QEMU parses the uncompressed kernel binary passed to it via -kernel to read the ELF Note which contains the address to be loaded. QEMU then depends on qboot to populate the start_info struct needed by the direct boot ABI and configure the guest e820 tables before jumping to the loaded kernel entry. Signed-off-by: George Kennedy <George.Kennedy@oracle.com> Signed-off-by: Liam Merwick <Liam.Merwick@oracle.com>
2018-12-28qboot: Move inline load and store routines to memaccess.hLiam Merwick1-24/+1
Move lduw_p, ldl_p, stw_p, stl_p from linuxboot.c to include/memaccess.h so they can be reused more easily. Signed-off-by: Liam Merwick <liam.merwick@oracle.com>
2018-10-24benchmark: Define exit points and valuesSamuel Ortiz1-1/+2
Benchmarking IO port addresses and return values are now defined through a dedicated header. Each exit point can have its own IO port address and return value. With this we are able to discriminate between similar code paths through the QEMU process return values or between different code paths by having the QEMU debugexit device monitoring different IO port addresses. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2015-05-25boot multiboot from fw_cfgPaolo Bonzini1-2/+3
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-21save one instruction :)Paolo Bonzini1-1/+1
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-21add a 16-bit data segmentPaolo Bonzini1-1/+3
Otherwise the real mode data segments keep G=D=1. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-21benchmarking hackPaolo Bonzini1-0/+7
2015-05-21fix KVM e820 and initrdPaolo Bonzini1-0/+2
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-21parse vmlinuz inside firmwarePaolo Bonzini1-33/+113
This will make it possible to load the vmlinuz from CBFS. We need some contortions because QEMU splits the real mode and protected mode parts of vmlinuz in different fw_cfg files. The parsing code is lifted from QEMU. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-21boot the kernelPaolo Bonzini1-0/+57
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>