Subject: Re: NetBSD 4 being strange with ex*
To: John Klos <john@ziaspace.com>
From: Michael <macallan1888@gmail.com>
List: port-macppc
Date: 01/01/2007 00:58:06
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

On Dec 31, 2006, at 19:34, John Klos wrote:

> Any ideas? I haven't had a chance to look at what's changed lately 
> yet. BTW - OF with no configured display works again.
>
>
> trap: pid 0.0 (): kernel MCHK trap @ 0x1c5358 (SRR1=0x49030)
> panic: trap
> Begin traceback...
> 0x0058fda0: at trap+0x124
> 0x0058fe20: kernel MCHK trap by ex_getstats+0x44: srr1=0x49030
>             r1=0x58fee0 cr=0x20009032 xer=0 ctr=0x1c7784
> 0x0058fee0: at mii_tick+0x3c
> 0x0058ff00: at ex_tick+0xcc
> 0x0058ff20: at softclock+0x2c8
> 0x0058ff50: at hardclock+0x130
> 0x0058ff70: at decr_intr+0x108
> 0x0058ffa0: at trapstart+0xbb8
> 0xd6291e30: at lcsplx+0xc
> 0xd6291e40: at Idle+0x24
> 0xd6291e50: at mi_switch+0x180
> 0xd6291e90: at ltsleep+0x2d4
> 0xd6291ed0: at sched_sync+0x248
> 0xd6291f40: at cpu_switchto+0x44
> 0xd6291f50: at _prop_array_pool+0xffad9e14
> End traceback...
> syncing disks... done
> dumpsys: TBD
> rebooting

Which address ranges does the ex use?

> (display stuff)
>
> machfb0 at pci0 dev 17 function 0: ATI Technologies Mach64 VT (rev. 
> 0x40)
> pci_mem_find: void region
> machfb0: 8 MB aperture at 0x81000000, 0 KB registers at 0x00000000
> machfb0: 1024 KB EDO DRAM 63.116 MHz, maximum RAMDAC clock 170 MHz
> mach64_get_mode: 640 736 1056 864 480 483 515 525
> machfb0: initial resolution 1152x864 at 8 bpp
> wsdisplay at machfb0 not configured

Does the ex by any chance use 0x00000000 ?
Anyway, looks like machfb doesn't like chips that don't have a separate 
memory-mapped BAR for registers, I'll see what I can do about it, as 
far as I can tell it's mapped but not actually used since the same 
registers are available in the aperture.

Another thing I've seen is this - OF seems to ignore the IO BAR of the 
Rage II in my beige G3. The ATI firmware however sets it to 0x1000 but 
leaves IO access disabled. Now since OF isn't aware of that it 
sometimes maps other devices to 0x1000, like an ex or an ne here and 
when machfb enables IO ( I think I turned that off, not sure if that 
was before or after the 4.0 rebranch ) all hell breaks loose since the 
ex or ne driver would actually mess with ATI registers instead.
So, please check your BARs for conflicts.

have fun
Michael
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)

iQEVAwUBRZhcmMpnzkX8Yg2nAQJw4gf9GydRJ6lfRqXDNkQ0ahTIqqNzKJv7gvV3
Ml5U/X08ooqiWScciVTqO9g2uVmXVzYzszRrq6khzzRxBzQOcp56bYfTsg5hF6fn
j9a+SR0lgw9gVjje3Nni1zZbXLpxSSyaYGWGqWxfx57cN2nrxGSLvj9c5nJ0R8LA
emDpTj2vPiuD2h2kse0XaewFwGghTcRLI12m/EtSRLyjtjjcxNq8e3Cox4kRg8ao
2BOWViXxnTjYvnZphonsVkt+Jt10fSfhVhDhdbMWD0UWoob+zChM1poJwKy2a2MG
TH4njAPKYV6ycQcCvXIcMd60Vo1E6AvoiW8k/YGz+LrU6Ap2gWTgxw==
=aYdX
-----END PGP SIGNATURE-----