Maple fails to boot current git

Stephen Winiecki stevewin at us.ibm.com
Sat Feb 25 08:40:46 EST 2006






On Tue, 2006-01-31 at 08:08 -0700, Tom Rini wrote:
> On Tue, Jan 31, 2006 at 02:53:11PM +1100, Benjamin Herrenschmidt wrote:
> > Well, the RTC problem definitely looks like a bogus or lack of "ranges"
> > property or the fact that the parser doesn't recognize "ht" as a PCI
> > bus. You may want to try updating prom_parse.c to treat "ht" as a PCI
> > bus and see if that helps.
>
> With the following, I get parent bus is pci now, but still:
> OF: ** translation for device /ht at 0/isa at 4/rtc at 900 **
> OF: bus is isa (na=2, ns=1) on /ht at 0/isa at 4
> OF: translating address: 00000001 00000900
> OF: parent bus is pci (na=3, ns=2) on /ht at 0
> OF: walking ranges...
> OF: not found !
> Maple: Unable to translate RTC address
> Maple: No device node for RTC, assuming legacy address (0x70)

For the record, changing the ISA ranges property does correct the problem
translating the addresses for the devices hanging off that bus

Old:
    /isa at 4
      ...
>>      ranges              = 00000001 f4000000 00010000


New:
    /isa at 4
      ...
>>      ranges              = 00000001 00000000 f4000000 00000000 00000000
00010000


Output w/ ISA range property change only:
...
OF: ** translation for device /ht at 0/isa at 4/rtc at 900 **
OF: bus is isa (na=2, ns=1) on /ht at 0/isa at 4
OF: translating address: 00000001 00000900
OF: parent bus is default (na=3, ns=2) on /ht at 0
OF: walking ranges...
OF: ISA map, cp=0, s=10000, da=900
OF: parent translation for: f4000000 00000000 00000000
OF: with offset: 900
OF: one level translation: 00000000 00000000 00000900
OF: parent bus is default (na=2, ns=2) on /
OF: walking ranges...
OF: default map, cp=0, s=400000, da=900
OF: parent translation for: 00000000 f4000000
OF: with offset: 900
OF: one level translation: 00000000 f4000900
OF: reached root node
Maple: Found RTC at IO 0x900
...

Fixes similar issues w/ other devices on the bus as well.

Note Ben - it looks like adding "ht" as a match in of_bus_pci_match()
doesn't help matters -

Output w/ ISA range property change and adding "ht" as match in
of_bus_pci_match():
OF: of_bus_pci_match with ht
OF: ** translation for device /ht at 0/isa at 4/rtc at 900 **
OF: of_bus_pci_match with ht
OF: bus is isa (na=2, ns=1) on /ht at 0/isa at 4
OF: translating address: 00000001 00000900
OF: of_bus_pci_match with ht
OF: parent bus is pci (na=3, ns=2) on /ht at 0
OF: walking ranges...
OF: ISA map, cp=0, s=10000, da=900
OF: parent translation for: f4000000 00000000 00000000
OF: with offset: 900
OF: one level translation: f4000000 00000000 00000900
OF: of_bus_pci_match with ht
OF: parent bus is default (na=2, ns=2) on /
OF: walking ranges...
OF: not found !
Maple: Unable to translate RTC address
Maple: No device node for RTC, assuming legacy address (0x70)

Updating the range property can be done via the EPOS(/PIBS for more recent
versions) shell using this function:

of_change_property(char *nodename, char *propname, char* prop, size_t len)

As an example:

PIBS $ int val=malloc(24)
PIBS $ int *p=val
PIBS $ *p=0x0000000100000000
PIBS $ p+=1
PIBS $ *p=0xf400000000000000
PIBS $ p+=8                   # Note - there appears to be an anomoly in my
PIBS version where ptr arith is only done for the
                  # first addition - check your values using "print p"
PIBS $ *p=0x0000000000010000
PIBS $ of_change_property("/ht/isa", "ranges", val, 24)

Note also - this range definition does appear to be compatible with older
kernels (I booted a 2.6.10 based image w/ no obvious problems)

Steve Winiecki
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://ozlabs.org/pipermail/linuxppc64-dev/attachments/20060224/43cac33a/attachment.htm 


More information about the Linuxppc64-dev mailing list