linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Kendall Bennett" <KendallB@scitechsoft.com>
To: Richard Smith <rsmith@bitworks.com>
Cc: linux-kernel@vger.kernel.org, linux-fbdev-devel@lists.sourceforge.net
Subject: Re: [Linux-fbdev-devel] Generic VESA framebuffer driver and Video card BOOT?
Date: Mon, 18 Oct 2004 17:55:16 -0700	[thread overview]
Message-ID: <41740384.5783.12A07B14@localhost> (raw)
In-Reply-To: <41744505.4080507@bitworks.com>

Richard Smith <rsmith@bitworks.com> wrote:

> Jon Smirl wrote:
> 
> > Every system has to be able to somehow indicate that it can find/load the
> > kernel image or that the image is corrupt or that hardware diagnostics failed.
> > Displaying this info is the responsibility of the BIOS.
> 
> Jon, I agree with you 100%.  I was merely responding to a
> statement I saw as false. 
> 
> If we could get the video chip manufacturers to provide me with
> all the necessary documentation we embedded folk would be happy to
> do exactly as you say.  We could code up a nice robust boot time
> init procedure to serve our purposes.  OF would be great if all
> the mfgs would support it. 

Well being able to use this BIOS emulator logic to bring up the primary 
video card in the firmware should solve this problem, right? Just ignore 
the fact that the BIOS image we are using happens to be x86 code, and 
think about is as a set of instructions that we execute using an 
interpreter (ie: the same as Open Firmware really).

> Its a sad fact though that we are (x86 anyway) dependant on some
> amazingly fragile, stupid, usually binary only, legacy bloated, and
> quite often buggy, 16-bit realmode video init code that should have
> been put to pasture many years ago. 

Actually there is nothing wrong with the x86 BIOS from the perspective of 
functionality and useability (or bloat for that matter). It contains all 
the functionality we need and armed with something like the x86 emulator 
we can use it for what we need on any platform.

Open Firmware may be a 'nicer' solution, but I guarantee that if the 
vendors started supporting that it would be just a bug ridden as any 16-
bit real mode BIOS code. For the Video BIOS the code always works for 
what it is tested for. Some vendors spend more time testing the VBE BIOS 
side of things fully (if they are smart they have licensed our VBETest 
tools for this purpose). Unfortunatley some vendors do not test this 
stuff thoroughly and it has problems. But the same testing issues would 
exist whether the firmware was written as a 16-bit x86 blob or as an Open 
Firmware blob.

> LinuxBIOS has been trying to come up with a solution to the video
> BOOT problems for good while now.  Emulation seems to be the only
> thing that really has a chance of working. 

IMHO that is the best solution to the problem because it will be using 
code that has been heavily tested by the vendor. The one thing x86 Video 
BIOS'es can do reliably is POST the graphics card ;-)

> I don't currently (see next paragraph) need the kernel to try and
> do all that stuff for me since I need it prior to when the kernel
> loads.  But what I would like is to be able to use/build on kernel
> framework without having to completely re-invent the wheel. 

Assuming you put the video init code into the firmware, then yes, the 
kernel does not need it. However part of the project to put this into the 
kernel involves building a better VESA framebuffer console driver, and to 
do that we either need vm86() services from kernel land (frowned upon by 
the kernel community and inherently x86 centric) or support for x86 
emulation.

If you want to try and build a better standard than the x86 VESA VBE 
BIOS, be my guest. I lobbied for years on the VESA Software Standards 
Committee to build the next generation firmware that would be cross 
platform, but nobody was interested. In fact the SSC eventually closed 
due to lack of interest so we took all our technology and turned it into 
SciTech SNAP. 

I see Intel is trying to do something similar with EFI, but when will 
that actually be here?

So for now we have the x86 BIOS and it works today. We should use it.

> Linux far exceeds the hardware support level and flexablity of any
> bios and already does 90% of the job a bios does anyway. In most
> cases better than the bios ever could.  Linux booting Linux is the
> ultimate bios/bootloader. 

That would be nice if you could trim it down ;-) Would certainly save a 
lot of code bloat. But if you do that, then you would need this code in 
the kernel since now it would be the boot loader as well ;-)

Regards,

---
Kendall Bennett
Chief Executive Officer
SciTech Software, Inc.
Phone: (530) 894 8400
http://www.scitechsoft.com

~ SciTech SNAP - The future of device driver technology! ~



  parent reply	other threads:[~2004-10-19  0:56 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-14 19:02 Generic VESA framebuffer driver and Video card BOOT? Kendall Bennett
2004-10-15  0:27 ` [Linux-fbdev-devel] " Antonino A. Daplas
2004-10-15 18:36   ` Kendall Bennett
2004-10-15 21:51     ` Antonino A. Daplas
2004-10-15 23:20       ` Jon Smirl
2004-10-15 23:51         ` Kendall Bennett
2004-10-15 23:58           ` Jon Smirl
2004-10-19 21:15           ` Pavel Machek
2004-10-16  1:50         ` Antonino A. Daplas
2004-10-16  2:03           ` Jon Smirl
2004-10-18 19:34             ` Kendall Bennett
2004-10-18 20:34               ` Richard Smith
2004-10-18 20:47                 ` Kendall Bennett
2004-10-18 21:04                   ` Richard Smith
2004-10-18 21:16                 ` Jon Smirl
2004-10-18 22:34                   ` Richard Smith
2004-10-18 23:28                     ` Jon Smirl
2004-10-19  0:18                       ` Richard Smith
2004-10-19  0:55                     ` Kendall Bennett [this message]
2004-10-19  1:39                       ` Richard Smith
2004-10-19 17:54                         ` Kendall Bennett
2004-10-19 21:48                       ` Pavel Machek
2004-10-20 17:01                         ` Kendall Bennett
2004-10-20 19:08                           ` Pavel Machek
2004-10-21 19:36                             ` Kendall Bennett
2004-10-19 21:42                   ` Pavel Machek
2004-10-15 12:05 ` Gerd Knorr
2004-10-15 12:38   ` Geert Uytterhoeven
2004-10-15 12:45     ` Alan Cox
2004-10-19 21:54       ` Pavel Machek
2004-10-15 13:13     ` Gerd Knorr
2004-10-17 12:07       ` Martin Waitz
2004-10-18  8:36         ` Gerd Knorr
2004-10-18 11:39           ` Martin Waitz
2004-10-18 12:10             ` Gerd Knorr
2004-10-18 20:21               ` Helge Hafting
2004-10-18 20:42                 ` Oliver Neukum
2004-10-19 16:57                   ` Martin Waitz
2004-10-15 18:29     ` Venkatesh Pallipadi
2004-10-16  9:01       ` Nigel Cunningham
2004-10-15 18:36   ` Kendall Bennett
2004-10-15 13:48 ` Helge Hafting
2004-10-15 18:36   ` Kendall Bennett
2004-10-15 21:44     ` Helge Hafting
2004-10-15 22:12       ` Kendall Bennett
2004-10-16  0:41         ` [Linux-fbdev-devel] " Antonino A. Daplas
2004-10-26 11:14           ` Paulo Marques
2004-10-27  1:58             ` Kendall Bennett
2004-10-27 11:11               ` Paulo Marques
2004-10-27 19:52                 ` Kendall Bennett
2004-10-15 21:51     ` Antonino A. Daplas
2004-10-16 17:44 ` Jon Smirl
2004-10-18 19:34   ` [Linux-fbdev-devel] " Kendall Bennett
2004-10-19 21:00 ` Pavel Machek
2004-10-19 21:11 ` Pavel Machek
2004-10-20 17:01   ` [Linux-fbdev-devel] " Kendall Bennett
2004-10-20 17:31     ` Pavel Machek
2004-10-20 18:44       ` Kendall Bennett
2004-10-20 19:10         ` Pavel Machek
2004-10-21 19:36           ` Kendall Bennett
2004-10-21 20:47             ` Richard Smith

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=41740384.5783.12A07B14@localhost \
    --to=kendallb@scitechsoft.com \
    --cc=linux-fbdev-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rsmith@bitworks.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).