Date: Tue, 24 Jan 2017 12:55:58 -0800 From: Adrian Chadd <adrian.chadd@gmail.com> To: Anindya Mukherjee <anindya49@hotmail.com> Cc: "freebsd-current@freebsd.org" <freebsd-current@freebsd.org> Subject: Re: vt(4) chops off the leftmost three columns Message-ID: <CAJ-VmomYq==Gbn%2BMCTFd1S1aDG_q%2B5gySjDFiuXgd%2BTHEC-6xA@mail.gmail.com> In-Reply-To: <BN6PR22MB08024232C8CE4B3A05D0469CB6750@BN6PR22MB0802.namprd22.prod.outlook.com> References: <BN6PR22MB0802DB657D97A1F6C8EB3F34B67E0@BN6PR22MB0802.namprd22.prod.outlook.com> <CAJ-Vmo=bRJvkX9JM0CmLcQexpPF%2B6X8GDB3urCTjAAS6Tzro1Q@mail.gmail.com> <BN6PR22MB08024232C8CE4B3A05D0469CB6750@BN6PR22MB0802.namprd22.prod.outlook.com>
next in thread | previous in thread | raw e-mail | index | archive | help
hi! Well, give it a go. I can only be supportive. :) -a On 24 January 2017 at 10:31, Anindya Mukherjee <anindya49@hotmail.com> wrot= e: > Hi again, > > I have been switching back and forth between exploring the code and readi= ng J. Kong's Device Drivers book. As you explained, the first thing to tack= le is the coupling between vesa and sc. Right now I can't even load vesa un= less the kern.vty=3Dsc, and then I cannot unload it. > > vesa depends on vesa.c and pulls in scvesactl.c for two functions: vesa_l= oad_ioctl() and vesa_unload_ioctl(). Although these are used only in vesa.c= , they depend on several structures (for example the virtual screen structu= re scr_stat, and others) defined in syscons.h, which makes these two system= s 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.chadd@gmail.com] > Sent: January 20, 2017 3:11 PM > To: Anindya Mukherjee > Cc: freebsd-current@freebsd.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 <anindya49@hotmail.com> wr= ote: >> Hi Adrian, >> >> I was looking at the source for the vt driver. Wondering how much work i= t 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 sy= scons? >> >> Also, how dependent is splash/screensaver support on the VESA implementa= tion? >> >> Thanks, >> Anindya
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmomYq==Gbn%2BMCTFd1S1aDG_q%2B5gySjDFiuXgd%2BTHEC-6xA>