Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: Trammell hudson <hudson@trmm.net>
|
|
Signed-off-by: Trammell hudson <hudson@trmm.net>
|
|
|
|
Signed-off-by: Trammell hudson <hudson@trmm.net>
|
|
Signed-off-by: Trammell hudson <hudson@trmm.net>
|
|
Signed-off-by: Trammell hudson <hudson@trmm.net>
|
|
Signed-off-by: Trammell hudson <hudson@trmm.net>
|
|
Signed-off-by: Trammell hudson <hudson@trmm.net>
|
|
Signed-off-by: Trammell hudson <hudson@trmm.net>
|
|
Signed-off-by: Trammell hudson <hudson@trmm.net>
|
|
Signed-off-by: Trammell hudson <hudson@trmm.net>
|
|
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>
|
|
Change instructions to build from sources.
|
|
That should provide same build results as the Makefile.
tags targets are pending review for meson:
https://github.com/mesonbuild/meson/pull/6058
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
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>
|
|
Also part of the cbfs support which is now obsolete.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
This is specially useful for machines lacking ACPI.
Signed-off-by: Sergio Lopez <slp@redhat.com>
|
|
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>
|
|
printf is avoiding switch statements so that it can be used in
very early startup, before jump tables can be read from the F segment.
We could use -fno-jump-tables, but we can also keep the if statements
and clean them up so that the indentation is fine.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
This simplifies the success case, which never has to manipulate
the carry flag.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Here we use offsetof so "start" is not a flat pointer, it is
a pointer inside the e820 segment.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
the setup_idt() has not configured default ISR for all interrupt.
CPU lookup IVT and set 0x0:0x0 (cs:ip) as interrupt handler entry
when received an unexpected interrupt which not setup ISR via
set_realmode_int in setup_idt().
howerver, the 0x0:0x0 point to IVT-self and executing it caused
invalid opcode exception, which the interrupt vector is 6, and the
handler bios_intfake not fixing this problem, this makes CPU run
into a infinite loop.
|
|
If we found initrd through fw_cfg, we can load it and use the
first module of hvm_start_info to pass initrd address and size
to the kernel.
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Reviewed-by: Liam Merwick <liam.merwick@oracle.com>
|
|
This commit adds a PVH specific VM exit point for use in benchmarking
boot times using a QEMU specific device that terminates the QEMU process
and thus the VM itself when handling those VM exits. Since the VM
terminates right at those exit points, generic tools like time can
be used to measure the time spent between the QEMU startup
and termination moments.
The QEMU device used for those measurement is called isa-debug-exit
for the PC and Q35 machine types. These devices take 2 arguments:
iobase and iosize. iobase specifies which IO port we need to write
into to have these devices eventually handle the corresponding VM exit.
If for example, QEMU is started with the following argument:
-device isa-debug-exit,iobase=0xf4
then any IO write to 0xf4 will terminate the QEMU process and the
corresponding VM.
Signed-off-by: Liam Merwick <liam.merwick@oracle.com>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Liam Merwick <liam.merwick@oracle.com>
|
|
When we discovery devices on a PCI BUS, we block bridges, and
we use PCI_SECONDARY_BUS to create a linked list of bridges to
recursively setup new buses. This avoids a second visit of all the
addresses on the bus.
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
It was removed from QEMU.
Fixes #12.
|
|
Fix for qboot/printf.c:141: more undefined references to `_GLOBAL_OFFSET_TABLE_' follow
|
|
We use a different IO port than the Linux boot
benchmarking point.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
|
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>
|
|
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>
|
|
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>
|
|
|
|
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|