[coreboot] [patch 16/16] Ranges unavailable for PCI BARs shouldbemarked as reserved in the E820 memory map, in case the OS wants to change the BARs.

Tobias Diedrich ranma+coreboot at tdiedrich.de
Mon Nov 8 00:31:51 CET 2010

Scott Duplichan wrote:
> From: Tobias Diedrich
> ]Scott Duplichan wrote:
> ]> Thank you Tobias. To be even more conservative, the upper 5 MB of the
> ]> first 4GB can be reserved for flash memory. This is because many LPC
> ]> flash chips place the jedec ID register of the boot device at address
> ]> ffbc0000.
> ]
> ]I think that probably doesn't apply here, since the LPC flash
> ]shouldn't get chip-select outside the selected area.
> ]However src/southbridge/via/vt8237r/bootblock.c (which I had missed
> ]because I got my board to work without touching this file)
> ]says its actually 8MB big for VT8237A and VT8237S.
> Hello Tobias,
> Here is my concern,
> 1) Coreboot reserves only 4MB (ffc00000-ffffffff).
> 2) The OS then assigns a PCI memory range that ends at ffbfffff.
> 3) A bios flash update program is run from the OS. It expands the
>    flash decode range if needed then tries to read the flash jedec
>    ID at ffbc0000. Both the flash chip and PCI device are set to
>    decode ffbc0000. I do not know which device wins. If the flash
>    wins and overrides the PCI device, things will be OK unless the
>    OS needs to access the PCI device before flashing is complete.
>    If the PCI device wins and overrides the flash, then the flash
>    update utility will not be able to read the jedec ID.

When coreboot reserves the full decode range (so it can't be
expanded any further) it should be fine though.

Tobias						PGP: http://8ef7ddba.uguu.de

More information about the coreboot mailing list