| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
A full implementation of ATAPI USB support would need to translate / filter
certain package types or some devices might not work. No previously working
devices break with the patch, so it is fine to commit.
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
|
|
|
|
|
|
|
| |
old_addr is initialized, but not used.
remove the useless variable.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
| |
|
|
|
|
|
|
|
|
| |
Add option parsing support to tool.
Enable option (-f) to read from a pipe - which is useful when
redirecting qemu's debugging log to a pipe with:
-chardev pipe,id=seabios,path=seabioslog -device isa-debugcon,iobase=0x402,chardev=seabios
|
| |
|
|
|
|
|
| |
Use rep insb instead of manual loop - the host may be able to optimize
the rep insb instruction.
|
|
|
|
|
|
| |
When the bootsplash picture is shown, it's not possible to see text.
So, only display the picture while prompting the user for the boot
menu.
|
|
|
|
|
|
|
|
|
| |
Windows XP does write to sector 0 during installation and prints
mysterious error if write fails. Interestingly if write drops data,
but returns OK to Windows installer installation proceed without
complains and completes successfully.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
|
|
|
|
|
|
|
|
| |
It only has one cpuid level, therefore it can't report whether it
has an APIC. It probably hasn't; assume that. Without this,
SeaBIOS would get stuck on qemu -M isapc.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the SSDT defined processors from _PR to _SB namespace.
Extend the dynamically generated SSDT to include per cpu hotplug
methods. These methods just call methods defined in the DSDT. Also
dynamically generate a NTFY method and a CPON array of the
online/available CPUs. Add file src/ssdt-proc.dsl with directions for
generating the per-cpu processor object AML code.
Extend the DSDT to include methods for handling cpu hotplug
notifications and methods for handling cpu status requests originating
from the SSDT methods.
|
| |
|
|
|
|
|
| |
All the bootsplash code to pull the jpeg file from either cbfs (on
coreboot) or fwcfg (on qemu).
|
|
|
|
|
|
| |
Add tool for converting the output from hexdump() back into its
original binary form. This can be useful for use with tools such as
hexdump and objdump.
|
| |
|
|
|
|
|
| |
Replace video mode settings in config.h with a system to auto-detect a
video mode for the given bootsplash.jpg file.
|
|
|
|
| |
Also rename "jpeg" to "filedata" to avoid a conflict.
|
|
|
|
|
|
| |
Split the screen display code out of the jpeg parsing code.
Allow ability for caller to obtain jpeg dimensions.
|
|
|
|
|
|
|
| |
Using BSS increases the rom size (and reduce space for option roms).
So, move BSS variables in the jpeg.c code to malloc'd memory.
Also, move struct and error declarations from jpeg.h to jpeg.c.
|
| |
|
|
|
|
|
| |
This fixes a bug causing truncation of uncompressed files in
cbfs_copyfile().
|
| |
|
|
|
|
|
|
|
|
| |
Disable the bootsplash on cbfs payload exec, and if something hooks
int19.
Also, be sure to only disable the bootsplash (revert to text mode)
once.
|
| |
|
|
|
|
|
|
| |
Not all vgabios support off screen framebuffers. Instead, decompress
the picture into ram, and then copy it into the framebuffer. This
ensures a fast display time without requiring any special vga support.
|
|
|
|
|
| |
Perform all the memory allocations up front and verify that all of
them succeed.
|
|
|
|
|
|
|
|
|
|
|
| |
VESA structs must be in first 1Meg - so use malloc_tmplow().
Use 'struct segoff_s' for segment/offset pairs in vesa structs.
Don't call start/finish_preempt() around jpeg_decode() - the preempt
only works when calling functions in 16bit mode.
Some indentation and debug output enhancements.
|
| |
|
|
|
|
| |
Be sure to promote to u64 before multiplication.
|
|
|
|
|
|
|
|
| |
When 64bit bar allocation failed, leave it untouched as 32bit bar case.
There is no point to set higher bit to all 1, it is just leftover from
debug code.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
|
|
| |
Add macro to improve readability of GDT limit definitions.
|
|
|
|
|
| |
Kvm has some limitations with code addresses in big real mode, so
avoid doing that.
|
|
|
|
|
|
| |
move out piix4 specific smram logic to dev-i440fx.c.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
|
|
|
|
|
| |
pam register offset is north bridge specific.
So determine the offset based on found north bridge.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
|
|
|
|
| |
Make it table driven to other chip set.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
|
|
|
|
| |
split out piix4 pm logic.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
|
|
|
|
|
| |
Move ACPI_TABLE_HEADER_DEF and struct fadt_descriptor_rev1
from acpi.h to acpi.c for later use.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
|
|
|
|
|
| |
move out cpu_to_le{32, 16} from acpi.c to util.h.
Those will be used by other files later.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
|
|
|
|
|
|
|
| |
initialize it.
introduce helper function to find device from table and initialize it.
pci_find_init_device(). This will be used later.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
|
|
|
|
|
|
|
|
| |
The protocol we use between qemu and seabios already allows any field
to be specified (via smbios_add_field() in qemu). This patch makes
seabios look for qemu specified values for nearly every field we set
in the types 0,1,3,4,16,17,32 smbios tables. No change in current
default values for any fields.
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
|
|
|
|
|
|
|
|
| |
This patch makes use of pci device initialization helper function
to convert if/switch clause to table driven.
So this makes it easier to add q35 initialization code.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
|
|
|
|
|
| |
introduce helper function to initialize a given device,
This will be used later.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
|
|
|
|
|
|
|
|
| |
The VRING_AVAIL_F_NO_INTERRUPT flag is a hint that interrupts should be
suppressed. It does not guarantee that interrupts will not be raised.
Therefore, make sure to clear the interrupt after each virtio-blk read.
This avoids a stuck interrupt interfering with the OS loaded later in
the boot process.
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
|
|
|
|
|
|
| |
initialize pci bridge filtering registers.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
|
|
|
|
| |
pci bridge bus initialization.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
|
|
|
|
|
| |
This patch makes pci bar offset calculation pci bridge aware.
The offset of pci bridge rom is different from normal device.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
|
|
|
|
|
| |
This patch factors out bar offset calculation.
Later the calculation logic will be enhanced.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make pci bar assigner preferchable memory aware.
This is needed for PCI bridge support because memory space and
prefetchable memory space is filtered independently based on
memory base/limit and prefetchable memory base/limit of pci bridge.
On bus 0, such a distinction isn't necessary so keep existing behavior
by checking bus=0.
With this patch, pci mem assignment area has been decreased.
To make seabios behave as before for compatible reason,
define CONFIG_OLD_PCIMEM_ASSIGNMENT.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
|
|
|
|
|
|
|
|
|
| |
make pci memory space assignment 64bit aware.
If 64bit memory space is found while assigning pci memory space,
clear higher bit and skip to next bar.
This patch is preparation for q35 chipset initialization which
has 64bit bar.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
|
|
|
|
| |
factor out pci bar region allocation logic.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|