This patch series adds code to probe the PCI devices during startup
and cache the results for future scans. Doing so has a few
advantages: storing the list of pci devices reduces PCI config
accesses which can reduce boot time, the lack of a cache results in
complex code to do bus tracking (vga / pcipath), and it's likely PCI
init on emulators could take advantage of this structure during PCI
setup.
This is the start of conversion to the 'struct pci_device' system -
other users could also be converted. In particular, the pci_setup()
code has not been converted.
-Kevin
Kevin O'Connor (10):
Rename foreachpci macro to foreachbdf.
Find all pci devices at startup and cache them for future use.
Remove support for compiling in OPTIONROM_VENDEV_1/2.
Convert option rom scan to use struct pci_device.
Convert ATA detection code to use struct pci_device.
Convert mptable code to use struct pci_device.
Convert virtio detection to use struct pci_device.
Convert AHCI detection code to use struct pci_device.
Convert USB detection code to use struct pci_device.
Replace PCIPaths code with struct pci_device.
src/ahci.c | 10 ++--
src/ata.c | 17 +++----
src/boot.c | 39 +++++++++------
src/config.h | 7 ---
src/mptable.c | 10 ++--
src/optionroms.c | 92 +++++++++++++++++++++---------------
src/pci.c | 137 ++++++++++++++++++++++--------------------------------
src/pci.h | 41 +++++++++-------
src/pcibios.c | 6 +-
src/pciinit.c | 8 ++--
src/post.c | 2 +-
src/usb.c | 39 +++++++---------
src/virtio-blk.c | 11 ++--
13 files changed, 207 insertions(+), 212 deletions(-)
--
1.7.4.4
This patch series enables the ATA code to support using select AHCI
controllers in legacy ATA mode when SeaBIOS isn't compiled with the
AHCI driver. I've only registered the device id of the controller on
my e350m1 board, but it's easy to add more device ids.
Kevin O'Connor (2):
Convert ATA pci scan to use pci_device_id table.
Add support for white-listing AHCI controllers as ATA compatible.
src/ata.c | 120 ++++++++++++++++++++++++++++++++++++------------------------
1 files changed, 72 insertions(+), 48 deletions(-)
--
1.7.4.4
Without this BIOS fails to remap 0xf0000 memory from ROM to RAM so writes
to F-segment modify ROM content instead of memory copy. Since QEMU does
not reloads ROMs during reset on next boot modified copy of BIOS is used.
Signed-off-by: Gleb Natapov <gleb(a)redhat.com>
diff --git a/hw/piix_pci.c b/hw/piix_pci.c
index 933ad86..0bf435d 100644
--- a/hw/piix_pci.c
+++ b/hw/piix_pci.c
@@ -99,10 +99,6 @@ static void i440fx_update_memory_mappings(PCII440FXState *d)
int i, r;
uint32_t smram, addr;
- if (kvm_enabled()) {
- /* FIXME: Support remappings and protection changes. */
- return;
- }
update_pam(d, 0xf0000, 0x100000, (d->dev.config[I440FX_PAM] >> 4) & 3);
for(i = 0; i < 12; i++) {
r = (d->dev.config[(i >> 1) + (I440FX_PAM + 1)] >> ((i & 1) * 4)) & 3;
--
Gleb.
Hello, guys,
Sorry to take u time again. I made a patch for sea-bios, want to let
the bios show a logo picture when KVM start. The reason and details for
this patch is described below, which was sent in a mail a few days before:
Patch description:
******************************************************
There is suggestion to let KVM be able to show a logo when it start
up. Although the sea-bios already included a mechanism to show
"bootsplash.jpg" when it was configured with "menu=on" option, it would
not show it when the system was normally boot up, so I would like
do some modification in the sea-bios code to let the bios showing it
without "menu" option, also make this function configurable by the emulator.
I tried the tiny jpeg decoder originally included, it seems there
will be some observable visual quality lose and if the VESA is in 24BPP
mode, the picture data would not be copied correctly for the reason that
the byte number per line of that mode is not equal to 3*width, So I
would like add some function to fix this, and also added some function
to show 24bpp BMP file instead of JPEG as an option to get better visual
effect.
Following is what I did in details:
1 in the "boot.c", function "interactive_bootmenu", add codes to
"romfile_loadfile" the "bootsplash.cfg" file. From it, the seabios get
two configuration data : first is whether it should show the picture
without menu enabled, second is how long it should show it. if this file
loading failed, the sea-bios would act as before.
2 in the "bootsplash.c", function "enable_bootsplash(void)", add
codes to try "romfile_loadfile" the "bootsplash.bmp", besides
"bootsplash.jpg". Add a function to fix the problem when Bytes per line
of VESA mode is not equal to picture width * 3. Also add additional code
to show the BMP file instead of JPEG.
3 ADD "bmp.c" and "bmp.h" to support above code.
*****************************************************
I didn't found the maintainer of seabios, could anyone help review
about it, or help notice the maintainer? Many thanks.
--
Best Regards
Wayne Xia
mail:xiawenc@cn.ibm.com
tel:86-010-82450803
Hello all,
There is suggestion to let KVM be able to show a logo when it start up.
Although the sea-bios already included a mechanism to try show
"bootsplash.jpg" when it was configured with "menu=on" option, but it
would not show it when the system was normally boot up, so I would like
do some modification in the sea-bios code to let the bios showing the
picture when the system boot up.
I tried the tiny jpeg decoder originally included, it seems there will
be some observable visual quality lose and if the VESA is in 24BPP mode,
the picture data would not be copied correctly for the reason that the
byte number per line of that mode is not equal to 3*width, So I want to
add some function to fix this, and also added some function to show
24bpp BMP file instead of JPEG as an option to get better visual effect.
Following is what I want to do:
1 in the "boot.c", function "interactive_bootmenu", add codes to
"romfile_loadfile" the "bootsplash.cfg" file. From it, the seabios get
two configuration data : first is should it show the picture without
menu enabled, second is how long it should show it. if load file failed,
the sea-bios would act as before.
2 in the "bootsplash.c", function "enable_bootsplash(void)", add codes
to try "romfile_loadfile" the "bootsplash.bmp", besides
"bootsplash.jpg". Add a function to fix the problem when Bytes per line
of VESA mode is not equal to picture width * 3. Also add additional code
to show the BMP file instead of JPEG.
3 ADD "bmp.c" and "bmp.h" to support above code.
Could this be acceptable?
--
Best Regards
Wayne Xia
mail:xiawenc@cn.ibm.com
tel:86-010-82450803