PMID and VirtualBox

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
gedd
Member
Member
Posts: 104
Joined: Thu Apr 10, 2008 1:47 am

PMID and VirtualBox

Post by gedd »

If you look at Virtualbox documentation, you can see that the protected mode interface (for VBE) is a feature.

I try to get PMID info block from VirtualBox but i have no result.
I try with Qemu and Bochs with the same result.

Is someone has already get PMID info from any virtual machine engine (QEMU, ViryualBox, Bochs ...) ?
[ Grub 2 | Visual Studio 2013 | PE File ]
The OsDev E.T.
Don't send OsDev MIB !
jal
Member
Member
Posts: 1385
Joined: Wed Oct 31, 2007 9:09 am

Re: PMID and VirtualBox

Post by jal »

gedd wrote:I try to get PMID info block from VirtualBox but i have no result.
What does 'try' mean here? What did you do exactly? What does the VBE3 spec say?
I try with Qemu and Bochs with the same result.
I'm pretty certain the VGA BIOS used with Bochs and Qemu (it's the same) does not support VBE3.
Is someone has already get PMID info from any virtual machine engine (QEMU, ViryualBox, Bochs ...) ?
Did you search the forum? Did you Google?


JAL
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: PMID and VirtualBox

Post by Combuster »

Did you search the forum?
The consensus is that the VBE protected mode interface is too broken and too poorly supported that you should not use it.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
gedd
Member
Member
Posts: 104
Joined: Thu Apr 10, 2008 1:47 am

Re: PMID and VirtualBox

Post by gedd »

jal wrote:What does 'try' mean here? What did you do exactly? What does the VBE3 spec say?
I try to get the PMID info block signature ("PMID") from the video BIOS memory area starting at 0xC0000 as it is explained in VBE3 spec.
jal wrote:I'm pretty certain the VGA BIOS used with Bochs and Qemu (it's the same) does not support VBE3.
You are right Bochs, Qemu and VirtualBox support only VBE 2.0. I have checked it
jal wrote:Did you search the forum? Did you Google?
And yes i try google , the forum and many web site before with no result.

It seems that i went to fast.
When i had read "VBE protected mode support" for VirtualBox, it was with the function number 0x0A and not with PMID info block which come with VBE3.
Sorry
[ Grub 2 | Visual Studio 2013 | PE File ]
The OsDev E.T.
Don't send OsDev MIB !
gedd
Member
Member
Posts: 104
Joined: Thu Apr 10, 2008 1:47 am

Re: PMID and VirtualBox

Post by gedd »

Combuster wrote:The consensus is that the VBE protected mode interface is too broken and too poorly supported that you should not use it.
Agree with you for VBE 2.0, but the protected mode interface via PMID is "less poorly" and can be initialized from protected mode and not only from 16 bits int.
[ Grub 2 | Visual Studio 2013 | PE File ]
The OsDev E.T.
Don't send OsDev MIB !
quok
Member
Member
Posts: 490
Joined: Wed Oct 18, 2006 10:43 pm
Location: Kansas City, KS, USA

Re: PMID and VirtualBox

Post by quok »

gedd wrote:
Combuster wrote:The consensus is that the VBE protected mode interface is too broken and too poorly supported that you should not use it.
Agree with you for VBE 2.0, but the protected mode interface via PMID is "less poorly" and can be initialized from protected mode and not only from 16 bits int.
IMO, the VBE 2.0 protected mode interface and the VBE 3.0 PMID interface both suck.

VBE2.0's interface can at least be used from 32 bit protected mode, but it requires two special GDT entries that have a 64K limit. It is also very limited in that the full 2.0 spec isn't supported through the protected mode interface (especially mode switching). VBE2.0 though, since it is almost 15 years old, is very well supported, and the protected mode interface it offered was mandatory.

The VBE3.0 PMID, on the other hand, uses 16 bit protected mode, and it requires, basically, 6 16-bit entries in the GDT to be used. (1 each for the memory available starting at 0xA0000, 0xB8000, and 0xB0000. Plus one for the copy of the BIOS code that you must make, plus another for the protected mode BIOS buffer, plus yet another to be used as a stack for the VBE BIOS code to run.) The PMID isn't very well supported, as with VBE3.0 it is optional. On the upside though, BIOS vendors may choose to also make any of the supplemental specs (in no particular order, and probably incomplete: VBE/AF, VBE/AI, VBE/DDC, VBE/SCI, VBE/CI, VBE/GC, VBE/PM, VBE/FP), available through the PMID. Additionally, support for the following is not mandatory: any of the standard VGA BIOS functions (only VBE3.0 is mandatory), any of the 'get' style of functions, and support for extended text modes.

VBE3.0's only real improvement, again IMHO, is clarifying some parts of VBE2.0. The additional functionality of the new protected mode interface is a nice idea, but IMO they should have improved upon the VBE 2.0 interface rather than making the VBE3.0 PMID and it's overly complicated mess.
Post Reply