Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 May 2004 10:32:04 +0200
From:      Joerg Wunsch <j@ida.interface-business.de>
To:        sparc64@freebsd.org
Cc:        Thomas Moestl <t.moestl@tu-bs.de>
Subject:   Re: ebus resource allocation error?
Message-ID:  <20040510103204.B77963@ida.interface-business.de>
In-Reply-To: <20040509213455.GA744@timesink.dyndns.org>; from t.moestl@tu-bs.de on Sun, May 09, 2004 at 11:34:55PM %2B0200
References:  <20040509171444.B63877@ida.interface-business.de> <20040509213455.GA744@timesink.dyndns.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@interface-systems.de        http://www.interface-systems.de/~j/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040510103204.B77963>