[coreboot] Converting epia-n build to SeaBIOS

Kevin O'Connor kevin at koconnor.net
Sun Aug 23 02:05:42 CEST 2009


On Sat, Aug 22, 2009 at 04:15:10PM +0200, Stefan Reinauer wrote:
> On 8/22/09 3:54 PM, Kevin O'Connor wrote:
> > I think hardware irq support is needed for keyboard.
> >   
> What's required for this? Just set up an IRQ for the USB device and add
> a 16bit intXX handler?

In order to use the usb irq it will be necessary to figure out what
irq line it is mapped to when the machine is in 8259 emulation mode.
That should just require looking at the PCI_INTERRUPT_LINE field of
pci config space - assuming coreboot is configured to set this
properly.  Once the line is known, it's not too difficult to map a
handler and ack the irqs.

However, Rudolf raised a potential problem - when an OS later
reconfigures the machine out of 8259 emulation mode, it may get
confused by a pending usb irq.  (The native irq may be level based.)

One trick I think SeaBIOS can implement is rapid polling by
configuring the RTC to trigger 1024 times a second.  It can then check
for usb activity using hardware irqs without having to use the usb
irq.

-Kevin




More information about the coreboot mailing list