Hey folks --
My goal is to nuke vesafb, and replace it with genfb in the i386 and amd64
kernels. This is a prereq to having proper splash screen support. I would
like to check in the following changes to the x86 bootloader and kernel. Any
objections?
http://www.invisible.ca/~jmcneill/outgoing/x86fb/
With the above changes and the proper options in your kernel config, you can
select a framebuffer mode in the bootloader by doing 'vesa modenum', so a
boot.cfg entry would look like this for eg. 640x480x8:
menu=Boot NetBSD:vesa 0x101;boot netbsd

Where do these 0x101 and similar numbers come from? Linux also uses
them (dunno if with the same format) and I always found them very
confusing. Couldn't we just give a string such as 640x480x8 and parse
it? (where parsing could simply be a mapping table from known valid
strings to numbers)

They are part of the VESA VBE specification. I have added a 'vesa list'
command that dumps available mode numbers, it certainly wouldn't be a
problem to support WxHxD style either. I do plan on adding VBE/DDC
support so 'vesa on' will select the native display resolution instead
of 640x480x8, but I'm not quite there yet.