[coreboot] IRQ problems under qemu

Tomas Carnecky tom at dbservice.com
Fri Dec 5 09:35:21 CET 2008


When I tried to run coreboot under qemu, I was at first positively 
surprised how well the things worked. The BIOS + linux kernel payload 
booted in no time! But when I then tried to set up networking, I 
couldn't get that to work. Somehow the linux kernel couldn't locate the 
interrupts of the NIC. After some digging I found out that coreboot 
doesn't provide ACPI tables and instead uses PCI IRQ table (I had to 
extract this table from a running qemu system using the getpir utility 
and then copy it to coreboot, if you want that patch, I can send that 
too). Coreboot copies this table at runtime into memory at 0xf0000. 
Apparently 0xf0000-0xfffff is part of the ISA BIOS, and qemu marks this 
range as read-only.
The attached patch for qemu fixes that and also cleans up some of the 
memory initialization. Instead of marking the ISA BIOS as read-only, it 
copies that part from the BIOS image into the appropriate place (at 
0xf0000-0xfffff) and leaves the memory as read-write.

tom
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: cleanup-bios-memory-mapping.patch
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20081205/a991deb0/attachment.ksh>


More information about the coreboot mailing list