[coreboot] [PATCH] Fix LPC decode ranges on SB700
marcj303 at gmail.com
Thu Jan 27 00:54:37 CET 2011
On Tue, Jan 25, 2011 at 7:03 PM, Stefan Reinauer
<stefan.reinauer at coreboot.org> wrote:
> * Rudolf Marek <r.marek at assembler.cz> [110126 00:01]:
>> Attached patch fixes the LPC decode ranges of SB700. We enable early
>> only Serial/SIO/RTC. Everything else needs to be done by lpc.c
>> Problem was that early settings survived, because the lpc.c is doing
>> ORs only...
>> Hence we decode quite a lot and even strange ranges like IO port 0x4600 etc...
>> Also, if some port which does not fit to predefined set is
>> requested, like 0x290 for Hardware monitor, the wide port is done,
>> but in our case it has range 512 bytes which means we decode in fact
>> 0x290 - 0x490. And if we hit GPU in the 0x3bx range I receive MCE
>> exception if I do isadump -f 0x300 which is bad.
>> Therefore If I detect that the requested range is small (16 bytes) I
>> additionally set the small wide io region so only 16 bytes is
>> While at it, I fix spelling typos and I init the regs so we don't
>> write random garbage to regs even if we don't enable them later.
>> Signed-off-by: Rudolf Marek <r.marek at assembler.cz>
> Acked-by: Stefan Reinauer <stefan.reinauer at coreboot.org>
I assume that sb600 and sb800 have the same bug.
More information about the coreboot