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