[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