> > kernel output anyway. All it needs is a sane way to decide wether it > > can allocate memory or not. > > So split init in a minimal (optional) version called from the consinit > functions, and a full grown init called at driver attach time (and have the > latter skip the parts already done by the first if it ran already).
Some fb drivers (dev/pci/tga.c, dev/tc/sfb.c etc) have a structure for rasops in softc. For console it's statically allocated and initialized via consinit. For non-console, it's allocated by malloc(9) and initialized during device autoconf. --- Izumi Tsutsui