Port-macppc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: [PATCH] Incorrect segment 0 initialization for PMAC G5



Hello,

On Sat, 30 Mar 2013 18:13:44 +0100
Phileas Fogg <phileas-fogg%mail.ru@localhost> wrote:

> I made more progress in the last days :)

Patches please! ;)

> genfb attaches now to my NVidia card but it has some issues with color
> map setting and the screen is black. Disabling cmap callback fixes the
> issue.

That has to be a bug in nvidia's firmware, the geforce2mx in my G4 has
similar issues ( color! only sets the palette for the analog port but
not the DVI, I added some code to detect this but it probably depends
on the firmware in question and needs more work )
Eventually I'll have to write a native driver for it just to get the
colours right.
Just using a bitmap font should 'fix' it ( just comment out the
FONT_DROID_SANS_MONO22x12 line ) since in this case wsdisplay would
expect an ANSI-ish palette, and what OF sets up is close enough to that
to be usable. For anti-aliased fonts it would need an R3G3B2 palette,
which would result in mostly black since OF wouldn't put anything
useful into palette entries above 15.

> Nvidia card is attached to a U4 PCI-E bridge. I modified u3 driver
> slightly and got it working perfectly.

Even better :)

> Console is real fast now :)
> 
> And i managed to build a small ramdisk and insert it into my netbsd
> kernel. Root filesystem is mounted correctly now and init process is 
> started too but i don't have a keyboard because i still haven't fixed
> OpenPIC issues.

Just pointing openpic_init() at it doesn't work?

> And i had some issues with OpenFirmware and a netbsd kernel with ~10MB
> memory disk filesystem. I was getting "CLAIM failed" messages from OFW, 
> grrr.

My G5 doesn't like to netboot anything bigger than roughly 5MB.

> I figured out it was because of the default 'load-base' address which is
> 0x800000. The address allows one to load netbsd ELFs of size at most
> ~7MB because the netbsd kernel is loaded at address 0x100000.
> Moving the 'load-base' to 0x2000000 fixed it. Now i can load huge
> netbsd kernels over network.

That sounds like what I've been seeing last time I messed with this.

have fun
Michael


Home | Main Index | Thread Index | Old Index