Hi again, I have been switching back and forth between exploring the code and reading J. Kong's Device Drivers book. As you explained, the first thing to tackle is the coupling between vesa and sc. Right now I can't even load vesa unless the kern.vty=sc, and then I cannot unload it.
vesa depends on vesa.c and pulls in scvesactl.c for two functions: vesa_load_ioctl() and vesa_unload_ioctl(). Although these are used only in vesa.c, they depend on several structures (for example the virtual screen structure scr_stat, and others) defined in syscons.h, which makes these two systems coupled. I was wondering what would be a good way to decouple these dependencies. I want to do the right thing even if it takes longer. Really appreciate you taking the time to respond, thanks! Anindya ________________________________________ From: Adrian Chadd [adrian.ch...@gmail.com] Sent: January 20, 2017 3:11 PM To: Anindya Mukherjee Cc: firstname.lastname@example.org Subject: Re: vt(4) chops off the leftmost three columns hiya, Mechanically it doesn't look /that/ hard: * vesa.ko pulls in the vesa.c bits and the syscons vesa control bits. Ideally we'd have them as two separate modules, so you could load "vesa" without needing the syscons bits. * Maybe then write a vt 'fb' interface to talk to the old-school framebuffer interface * Then (if we're lucky) we can have vt use the same VGA, VESA, (mach, creator, etc!) through the fb interface, rather than reimplementing its own. I looked at it and it doesn't look /that/ hard. If you only cared about vesa, then you could do something like what 'creator' and 'creator_vt' did in sys/dev/fb/ . It's just sad that the vt interface to the screen buffer isn't as complete as the older school framebuffer interface is. -adrian On 19 January 2017 at 12:35, Anindya Mukherjee <anindy...@hotmail.com> wrote: > Hi Adrian, > > I was looking at the source for the vt driver. Wondering how much work it is > to add VESA support to the VGA backend? As you say ATM it's hardcoded to use > 640x480. Pardon my ignorance, but can we reuse any VESA code from syscons? > > Also, how dependent is splash/screensaver support on the VESA implementation? > > Thanks, > Anindya _______________________________________________ email@example.com mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"