Wait a moment, Ron... :-)
Igor is in some points correct. But I need to digest document, you've attached, much more in details. I recall some interesting things, reading this document, while reading some (jumping around) context.
Very interesting discussion it is, although BIOS is associated with vBIOS and VBT in Option ROMs. I need to digest more about these data, you have presented, Ron.
VBT stands for Video BIOS Table, VBE is VESA BIOS Extension. I am very sure these two things have very much to do with each other, since I can imagine that modes (described in VBE 3.0, are supported exactly by VBT, which needs to translate VBE modes to some Video timings, and video HSync, VSync, Back Porch, Front Porch, blanking dot and line intervals... Low Level GFX, which is not too much known to vast majority of the people.
I would like all to look into the document http://www.petesqbsite.com/sections/tutorials/tuts/vbe3.pdf, page 19. These are the modes VBE 3.0 supports.
Furthermore, let me tell you all that this is a mechanism to support ONLY The Legacy BIOS (UEFI works ONLY with GOP, but this is another dimension/discussion), and, to all of your knowledge (which I have no idea how deep it is, I doubt), VBT table survives postmortem BIOS. By Linux, it will be RELOCATED into much higher (over 1MB) 32bit protected mode memory (addresses recalculated), and still use INT10H, using vBIOS (Option ROM, my best guess) down there.
I would not draw so fast... As many of you do! ;-)
Thank you, Zoran
On Tue, Apr 4, 2017 at 7:46 PM, ron minnich rminnich@gmail.com wrote:
Igor, if you are going to say things like "AFAIK there is no public description of these tables' layout and contents, only Intel knows how to build and parse them.", it's really a good idea to back it up with a primary source, especially since you also use phrases like "I assume" and "I guess". I am pretty sure you're wrong in this case. The V in VBT, as I understand it, means VESA, and VESA has been a standard for about 30 years.
Please, everyone, if you're going to move this conversation forward, you need to cite primary sources at least, such as this one: http://www.petesqbsite.com/sections/tutorials/tuts/vbe3.pdf.
thanks
ron
On Tue, Apr 4, 2017 at 10:19 AM Igor Skochinsky via coreboot < coreboot@coreboot.org> wrote:
Hello Zoran,
Monday, April 3, 2017, 8:58:43 PM, you wrote:
VBT should fulfill this VBE standard, as my best understanding is, or not?!
VBE only describes the int 10h BIOS interface extensions, VBT are tables used by Intel to provide info about how to control the GPU (I assume). AFAIK there is no public description of these tables' layout and contents, only Intel knows how to build and parse them. Both VBE(code) and VBT (data) may be present in the video card's option ROM, I guess that's the only common part.
Zoran
On Mon, Apr 3, 2017 at 7:36 PM, Igor Skochinsky via coreboot < coreboot@coreboot.org> wrote: Hello Zoran,
Monday, April 3, 2017, 9:24:41 AM, you wrote:
*VBT is not code, it's a table* -- that's what the T is -- and you can
create it any way you want.
Not going to say more, anyway. Just to point to the standard: https://en.wikipedia.org/wiki/ https://en.wikipedia.org/wiki/VESA_BIOS_ExtensionsVESA_BIOS_Extensions https://en.wikipedia.org/wiki/VESA_BIOS_Extensions
Not sure why you posted this link. VBE is not VBT, it's a completely separate and different thing.
To clever enough! ;-)
Zoran
On Mon, Apr 3, 2017 at 2:38 AM, ron minnich rminnich@gmail.com wrote: As for graphics startup, here's what I learned when I was doing this in 2012/2013: the kernel could start sandy and ivy with no vbios needed. However, I have been told that the veil of secrecy has started to draw a bit closer in subsequent chipsets, and that something like a VGA BIOS/GOP has to run or graphics will not work. I really don't know, I have not looked at this in over 3 years.
Todd, just to make sure we're on the same page, VBT is not code, it's a table -- that's what the T is -- and you can create it any way you want.
Also, as for numbers: the fastest graphics startup, by far, was when we had coreboot- based startup with configuration specialized to the chromeos laptop. How fast? At one point we had a pixel booting to chromeos prompt in 2.7 seconds, reduced from 7.7 seconds when linux did the graphics init. We've seen that the linux graphics init is highly concurrent and generalized, and that tends to mean slow. Of course this was all far faster than the 8086-mode vga BIOS supplied by "the vendor". But we were a bit surprised to see how much faster coreboot was than the linux kernel.
I doubt this speed difference matters any more, since boot time only needs to be "fast enough" nowadays and 10 seconds seems to do it for most people -- plus, any 5-second advantage in boot time vanishes as soon as you go to your first web page.
ron
On Sun, Apr 2, 2017 at 5:31 PM ron minnich rminnich@gmail.com wrote: So, I'll mention go userland one last time, for a simple reason: I have it on good authority that at some places, saying you have a go userland instead of a c userland checks a check box on a security checklist. I think that's a sensible decision, having watched all the awful ways that C programs tend to go wrong :-)
ron
-- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailm https://www.coreboot.org/mailman/listinfo/corebootan/listinfo/coreboot https://www.coreboot.org/mailman/listinfo/coreboot
*-- WBR, Igor *-- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/ https://www.coreboot.org/mailman/listinfo/corebootmailm an/listinfo/coreboot https://www.coreboot.org/mailman/listinfo/coreboot
*-- WBR, Igor*
coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot