Re: wscons kernel?
John Klos <[email protected]>
| Newsgroups | gmane.os.netbsd.ports.amiga |
|---|---|
| Message-ID | <[email protected]> |
Hi,
>> I'm getting an MMU panic when trying to boot a wscons kernel on an Amiga
>> 1200, both with current and netbsd-7. Also, it's not clear which parts are
>> necessary for wscons. grfcc0, grf0, but not ite0? pseudo-devices view,
>> wsfont, wsmux? WSDISPLAY_COMPAT_USL?
>
> Well, there is the WSCONS config file.
>
> wscons doesn't need any of the grfxxN, grfN, iteN drivers. But you need
> to include one of the grfN drivers to pull in some console functions
> (grfcnprobe/grfcninit). This should be fixed.
>
> view is the real driver behind grfcc0 which is just a shim providing
> the grf interface. It's not needed either.
>
>
> wscons consists of wskbd, wsmouse, wsdisplay, wsfont and wsmux
>
> wskbd0 at kbd0 console ?
> wsmouse* at ms?
> wsdisplay0 at amidisplaycc0 console ?
> pseudo-device wsfont # wsfont(4) dynamic font loading support
> pseudo-device wsmux # mouse & keyboard multiplexor
>
> Which means you also need the lower level drivers kbd, ms and amidisplaycc.
>
> kbd0 at mainbus0 # Amiga keyboard
> ms* at mainbus0 # Amiga mice
> amidisplaycc0 at mainbus0 # wscons interface to custom chips
>
> you can also attach wscons to USB keyboards and mice
>
> wskbd* at ukbd? console ?
> wsmouse* at ums?
>
> Instead of attaching wsdisplay0 to amidisplaycc0 directly you can also attach
> to any driver providing the wsemuldisplaydev interface, but that makes it
> ambigous what is used for console.
>
> wsdisplay* at wsemuldisplaydev? console ?
>
> WSCONS therefore declares wsdisplay0 to be used for the console.
>
> wsdisplay0 at wsemuldisplaydev? console 1
> wsdisplay* at wsemuldisplaydev? console ?
>
> Apparently you can attach wsdisplay to other devices too. WSCONS loads the
> voodoofb driver (requires PCI hardware) which offers the wsemuldisplaydev interface.
>
> wscons has lots of pretty generic options unrelated to Amiga.
>
> There are 3 terminal emulations in wscons: dumb, sun and vt100. We chose vt100:
>
> options WSEMUL_VT100 # VT100 emulation
>
> And we include builtin fonts for VT220 emulation:
>
> options FONT_VT220L8x10
> options FONT_VT220ISO8x16
>
> We also include compatibility to the USL protocol that lets an X server take
> over a virtual terminal.
>
> options WSDISPLAY_COMPAT_USL # wsconscfg VT handling
>
> wscons has other build options, for example
>
> options WSDISPLAY_SCROLLSUPPORT # console scrolling support
> options WS_KERNEL_FG=WSCOL_BLUE # Kernel messages printed in blue
Thanks. That helps a lot. However, with just the minimum of these things
added, and with grf and ite stuff commented out, I still get:
--- netbsd ---
# link LILITH/netbsd
/usr/src/../tools/bin/m68k--netbsdelf-ld -Map netbsd.map --cref -n -Ttext
0 -e start -S -o netbsd ${SYSTEM_OBJ} ${EXTRA_OBJ} vers.o
conf.o:(.data+0x30): undefined reference to `grfcnprobe'
conf.o:(.data+0x34): undefined reference to `grfcninit'
*** [netbsd] Error code 1
If I leave one of the CyberVision, the kernel links and boots:
grfcv3d0 at zbus0 # CyberVision 64/3D
grf7 at grfcv3d0
wsdisplay* at grf7 console ? # wsdisplay on top of grf (CV64/3D)
Now I just have to figure out how to compile a kernel with a wedge set as
the root filesystem...
Thanks!
John