aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2022-09-19Place setup_data at location specified by hostHEADmasterJason A. Donenfeld1-1/+0
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-12-18limit C headers to freestanding onesPaolo Bonzini2-2/+2
inttypes.h is not part of the subset of standard headers for freestanding environments. Replace it with stdint.h. Also include string.h with quotes, since we provide it. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-11-18support smbioskaihuan.pkh2-0/+3
alloc buffer in fseg memory and fill it with smbios anchor and tables which read from the fw_cfg, then check type0 table and rebuild it if it's not exist. mainly inspired by the seabios, and borrowed some code from it. Reviewed-by: Ben Luo <luoben@linux.alibaba.com> Signed-off-by: kaihuan.pkh <kaihuan.pkh@alibaba-inc.com>
2019-07-25remove pflash codePaolo Bonzini1-8/+0
Also part of the cbfs support which is now obsolete. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-07-24implement mptable generationSergio Lopez2-0/+183
This is specially useful for machines lacking ACPI. Signed-off-by: Sergio Lopez <slp@redhat.com>
2019-07-24support machines without PCISergio Lopez1-1/+1
Instead of panicing when a PCI bus isn't found, continue booting without PCI nor ACPI initialization. Signed-off-by: Sergio Lopez <slp@redhat.com>
2019-07-24do not mix tabs and spaces in a single filePaolo Bonzini1-1/+1
2019-07-24implement PCIBIOS specificationPaolo Bonzini1-2/+28
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-07-22drop cbfs experimentPaolo Bonzini1-1/+0
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2018-12-28pvh: Add x86/HVM direct boot ABI header fileLiam Merwick1-0/+146
The x86/HVM direct boot ABI permits a guest to be able to boot directly into the uncompressed Linux kernel binary. https://xenbits.xen.org/docs/unstable/misc/pvh.html This commit adds the header file that defines the start_info struct that needs to be populated in order to use this ABI. Signed-off-by: Maran Wilson <Maran.Wilson@oracle.com> Signed-off-by: Liam Merwick <liam.merwick@oracle.com>
2018-12-28qboot: Move inline load and store routines to memaccess.hLiam Merwick1-0/+30
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>
2017-03-30qboot: enable mmconfigYang Zhong2-0/+4
Need to enable mmconfig in qboot and also need to reserve mmconfig space in bios. Signed-off-by: Yang Zhong <yang.zhong@intel.com> Message-Id: <1490869973-4562-1-git-send-email-yang.zhong@intel.com> [Do not affect e820 memory map on i440FX chipset. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2017-03-30qboot: modified the malloc for fseg and high momory.Yang Zhong1-2/+11
The fseg and high memory malloc all use the up align mode in do_alloc(),which will result in qboot hang issue.The high memory use the down align mode and fseg memory use the up align mode. With those changes,the qemu can boot up the image with qboot. Signed-off-by: Yang Zhong <yang.zhong@intel.com> Message-Id: <1490869250-4357-1-git-send-email-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2016-09-15remove unused macrosPaolo Bonzini1-7/+0
2016-09-06copy only ~11K down to low memoryPaolo Bonzini1-0/+5
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2016-09-06inline string functions to movsb/stosbPaolo Bonzini1-2/+10
2016-09-06use DMA to read fw_cfg file namesPaolo Bonzini1-0/+5
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2016-09-06use fw_cfg DMA for fw_cfg_readPaolo Bonzini1-5/+0
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2016-09-06use fw_cfg DMA for fw_cfg_read_entryPaolo Bonzini2-15/+45
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2016-09-06use fw_cfg_read_entryPaolo Bonzini1-1/+8
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-29avoid reserved identifiers for header guardsPaolo Bonzini8-19/+19
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-26use = for input/output operandsPaolo Bonzini1-2/+2
The input side is already handled by the duplicate constraints, and clang rejects usage of "+". Reported-by: David Halls (via github) Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-25boot multiboot from fw_cfgPaolo Bonzini2-0/+68
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-25setup PCI devicesPaolo Bonzini2-1/+33
setup interrupt line, PCI bridges, and IDE devices Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-25make pci_config_* inlinePaolo Bonzini1-5/+5
Small thinko... Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-25initialize the southbridgePaolo Bonzini1-0/+1
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-25load ACPI tables from fw_cfgPaolo Bonzini2-0/+3
2015-05-21commit missing filePaolo Bonzini1-0/+19
reported by Kashyap Chamarty Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-21fix KVM e820 and initrdPaolo Bonzini1-0/+1
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-21fix warningPaolo Bonzini1-0/+3
2015-05-21initial support for pflash / cbfsPaolo Bonzini1-0/+8
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-21add mallocPaolo Bonzini3-26/+5
Allocate the e820 map in the E-segment. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-21parse vmlinuz inside firmwarePaolo Bonzini1-1/+1
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/+2
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-21initial fw_cfg supportPaolo Bonzini2-0/+117
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-21setup picPaolo Bonzini1-0/+1
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-21setup idtPaolo Bonzini1-0/+4
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-21make a bootable BIOSPaolo Bonzini8-31/+144
includes source from kvm-unit-tests Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-05-21first commitPaolo Bonzini6-0/+358
Based on x86/bios from lkvm Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>