Skip site navigation (1)Skip section navigation (2)
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>