ebus resource allocation error?

Joerg Wunsch j at ida.interface-business.de
Mon May 10 01:32:06 PDT 2004


As Thomas Moestl wrote:

> From e450 firmware property dumps I have lying around it seems
> likely that 0x7e5 is the power failure notification interrupt of one
> of the Psycho PCI bridges. The Psycho driver does not allocate it
> with RF_SHAREABLE (and neither does your code), thus the error.

Hmm, now that you mention it, it seems OFW indeed assigns this IRQ
to two devices:

$ /sbin/dmesg|fgrep 2021
ebus0: <power> addr 0x1400724000-0x1400724003 irq 2034,2021 (no driver attached)
ebus0: <SUNW,envctrl> addr 0x1400600000-0x1400600003 irq 2021,2024 (no driver attached)

However, due to the `no driver attached' message, I wouldn't even have
guessed that the psycho code attached a vector to it.  What's the
second <power> IRQ for, maybe it indicates a failed power supply?

Wouldn't it make more sense to have a separate power driver attaching
to it?  (The IO regs assigned to <power> belong to the power auxio
bits described in the PCIO docs.)

> Would an envctrl driver actually need this interrupt, or does this
> just indicate that envctrl is the device that really triggers power
> failure interrupts?

I have no idea about it yet.  The SUNW,envctrl hardware supposedly
uses a Philips PCF8584 to drive the I²C bus, which can indeed trigger
an interrupt.  I didn't have a clue at all why there are two IRQs.
Most likely the envctrl driver would have no use for the powerfail
interrupt, but except for implied knowledge, how would I know which is
the `correct' IRQ to attach to?

Btw., how do I dump the OFW properties, other than by manually
descending through the entire /devices hiearchy?  I guess it could be
done using a FORTH command, but my FORTH knowledge has been seriously
rotten away. ;-)
-- 
J"org Wunsch					       Unix support engineer
joerg_wunsch at interface-systems.de        http://www.interface-systems.de/~j/


More information about the freebsd-sparc64 mailing list