[coreboot] SeaBIOS WinXP install
Arnaud Maye
arnaud.maye at 4dsp.com
Wed Sep 2 16:31:19 CEST 2009
Carl-Daniel Hailfinger wrote:
> On 01.09.2009 22:15, Rudolf Marek wrote:
>
>>> On 01.09.2009 15:00, Arnaud Maye wrote:
>>>
>>>> I've been implementing the ACPI for the ep80579 and so far it is not
>>>> going very well. Linux refuses to boot unless I use acpi=off or
>>>> acpi=ht as boot parameters. acpi=ht seems to display my ACPI ioports
>>>> in proc/ioports as expected ( the ioports addresses are all mapped to
>>>> the ACPI BAR ). Without to disable acpi the kernel complains that the
>>>> 0xE0000000 range is not a reserved range and the MMCONF is not
>>>> supported and then hangs.
>>>>
>> It should not hang. The complain is only about e820 map is not
>> reserved. I made recently a small patch for this for K8M890. Simply
>> the problem seems elsewhere to me.
>>
>
> But if MMCONF is not seen as active, the kernel might allocate something
> else in that area. If the ACPI code uses MMCONF for PCI accesses, this
> means the ACPI code will write/read with undefined side effects.
> Besides that, if you forgot to (re)activate MMCONFIG inside coreboot,
> you might see similar effects. I was fighting with RS690 code which
> enabled MMCONF, used it for a few accesses, then disabled it again, but
> the ACPI code tried to use MMCONF anyway. Effect were SATA problems/hangs.
> Besides that, enabling MMCONF in the chipset may break some classic PCI
> accesses. For example, if I enable MMCONF in the chipset and if the
> kernel doesn't accept it due to missing reservation, my network card
> fails because it uses extended config space for storing the MAC and
> other stuff. When MMCONFIG in the chipset is disabled, it works, so
> there must be some further interaction (maybe enabling MMCONFIG breaks
> other access methods to extended config space).
>
> Regards,
> Carl-Daniel
>
>
Hello Guys,
So actually, I've been able to prevent linux complaining about non
reserved 0xe0000000 range via
add_mainboard_resource().
With the intel firmware dev kit pointed by Myles I've been able to
remove all the obvious ACPI
issues. I've enabled the HPET in the chipset and modified the
acpi_tables.c file to create that table
as well as the MADT table.
The kernel hangs around the sata! Actually the system hang for a minute
and then start to display:
-------------------------------------------------------------------------------------------------
ata1.00: exception Emask 0x0 SAct 0x0 Srr 0x0 action 0x2 frozen
ata1.00: cmd a0/00:00:00:24:00/00:00:00:00:00/a0 tag 0 pio 36 in
ata1.00: status: { DRDY }
...
ata2.00: exception Emask 0x0 DAct 0x0 SErr 0x0 action 0x2 frozen
ata2.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 in
ata2.00: status: { DRDY }
...
ata1: WARNING: synchronous SCSI scan failed without making any progress,
...
Buffer I/O error on device sda, logical block 0
...
Just before the system to hang, seabios displays :
-------------------------------------------------
fail handle_legacy_disk:845(1):
a=ffff0201 b=00000d00 c=00000001 d=47530081 ds=9000 es=9000 ss=9000
si=fff0fff0 di=0009fff0 bp=00001ff0 sp=00008ff8 cs=9020 ip=1015 f=0283
fail handle_legacy_disk:845(1):
a=ffff415a b=000055aa c=0000fe03 d=47530081 ds=9000 es=9000 ss=9000
si=fff00d5a di=00090000 bp=00001ff0 sp=00008ffe cs=9020 ip=1043 f=0293
Here is the lspci for both legacy and coreboot :
-----------------------------------------------
legacy :
00:1f.2 IDE interface: Intel Corporation EP80579 S-ATA IDE (rev 01)
(prog-if 8f [Master SecP SecO PriP PriO])
Subsystem: Intel Corporation EP80579 S-ATA IDE
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 58
I/O ports at f080 [size=8]
I/O ports at f070 [size=4]
I/O ports at f060 [size=8]
I/O ports at f050 [size=4]
I/O ports at f040 [size=16]
Memory at d0100000 (32-bit, non-prefetchable) [size=1K]
Capabilities: [70] Power Management version 2
00:1f.2 IDE interface: Intel Corporation EP80579 S-ATA IDE (rev 01)
(prog-if 8f [Master SecP SecO PriP PriO])
Subsystem: Intel Corporation Unknown device 2680
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 145
I/O ports at 2410 [size=8]
I/O ports at 2420 [size=4]
I/O ports at 2418 [size=8]
I/O ports at 2424 [size=4]
I/O ports at 2400 [size=16]
Memory at d4a07400 (32-bit, non-prefetchable) [size=1K]
Capabilities: [70] Power Management version 2
Actually same except io ports are located another place and the
subsystem IDs is set differently by the driver. I do
not think the last one would cause any troubles.
So am not sure where is the problem here, booting with acpi=off does not
show any sata issue.
Any help/pointers are welcome,
Thank you
Arnaud
*
*
More information about the coreboot
mailing list