[coreboot] [OpenBIOS] OpenBIOS SVN r416 breaks coreboot-v3

Mark Cave-Ayland mark.cave-ayland at siriusit.co.uk
Wed Jan 28 16:42:24 CET 2009

Aurelien Jarno wrote:

> The rationale is available here:
> http://lists.openbios.org/pipermail/openbios/2009-January/003391.html

Thanks for link - I must have missed that whilst scanning the archives :)

> This commit fixes two different problems encountered on SPARC64 and
> PowerPC. First of all it makes sure that no PCI device get allocated
> port 0, which doesn't exists.
> Secondly it fixes problems with non-PCI devices that are using I/O ports
> at fixed location. This includes the video card, i8259, rtc, serial
> port, hard-disk controller, etc. Without this patch, the PCI cards are
> getting allocated the I/O ports of those devices, thus causing crashes.
> I wonder why it causes problem on x86. What is the initial value of
> arch->io_base? I am unable to find that looking at the code.

Well, I just added the following diff to my OpenBIOS build (latest SVN):

Index: drivers/pci.c
--- drivers/pci.c       (revision 428)
+++ drivers/pci.c       (working copy)
@@ -762,6 +762,9 @@
         mem_base = arch->mem_base;
          /* I/O ports under 0x400 are used by devices mapped at fixed
             location. */
+       printk("### io_base: %x\n", arch->io_base);
          io_base = arch->io_base + 0x400;
         path = strdup("");
         for (bus = 0; bus<0x100; bus++) {

...and in my output I got this:

### io_base: 0

Hmmm. I guess that explains why it is crashing.



Mark Cave-Ayland
Sirius Corporation - The Open Source Experts
T: +44 870 608 0063

More information about the coreboot mailing list