Hi Frank, Thank you very much for your feedback, it was very helpful. I was missing the kbd_cnattach() call in my zzfb_cninit() function. The zz9k driver was not published yet, as I want to sort out all known remaining issues of my list first. Actually, there is now only one left. More on that below. The kernel boot message looks like this and is similar to yours now: kbd0 at mainbus0: CIA A type Amiga wskbd0 at kbd0: console keyboard ms0 at mainbus0 wsmouse0 at ms0 mux 0 wsmouse1 at ms0 mux 0 amidisplaycc0 at mainbus0: Amiga custom chip graphics wsdisplay1 at amidisplaycc0 kbdmux 1 wsmux1: connecting to wsdisplay1 … zz9k0 at zbus0 pa 0x48000000 man/pro 28014/4: MNT ZZ9000 Zorro III (HW: 0.0, FW: 1.13) zz9k0: Hardware status <Tcore: 38.8 C, Vcore: 1.0 V, Vaux: 1.77 V> zzfb0 at zz9k0: Framebuffer resolution: 1280x720p60, depth: 8 bpp (8-bit LUT) wsdisplay0 at zzfb0 kbdmux 1: console (default, vt100 emulation), using wskbd0 wsmux1: connecting to wsdisplay0 So this issue is now solved. Let’s go to the next issue. My goal is to have the zz9k driver active with CONSOLE as default in WSCONS, so that future NetBSD binary releases include it in the kernel and a potential user does not need to compile a kernel for himself to activate the zz9k driver. However, during my extensive tests I noticed that the driver is working in various different setups and configurations, with the exception when there is no ZZ9000 card present in the Amiga, then the kernel will just lock up. I tracked down the issue to my zzfb_cnprobe() function: void zzfb_cnprobe(struct consdev *cd) { #ifdef ZZFB_CONSOLE cd->cn_pri = CN_INTERNAL; cd->cn_dev = NODEV; #endif /* ZZFB_CONSOLE */ } This function is called during kernel startup to prioritize the early console way before the Zorro bus and its cards get probed and initialized. zzfb_cnprobe() will be always called, independently if there is a ZZ9000 installed in the system or not and claim the early console for the zz9k_fb. But if the zzfb_match() fails to find the Zorro card later, there will be no zz9k_fb console available, and the kernel locks up. With "cd->cn_pri = CN_NORMAL;” There is no lock-up as the amidisplaycc gets the early console instead. But this is not the behavior I want. I need a way in zzfb_cnprobe() to determine if a ZZ9000 exists to set CN_INTERNAL or to set CN_NORMAL if not. I don’t know how to solve this issue, as zzfb_cnprobe() is called long before Zorro bus is active. I think this is the very same reason why the MNTVA (MNT VA2000) driver has not set the option MNTVA_CONSOLE as default in the WSCONS kernel config file. Do you have an idea how to solve this issue? Regards Alain
|