Your work on VGABIOS has been mentioned on the Linux kernel mailing list. Right now we are trying to add VGA reset capability to the kernel. This needs to be done at two points, reseting of secondary cards at boot (the system BIOS should reset the primary one) and reseting of cards if needed when coming out of suspend/resume.
There has been talk of adding emu86 to the kernel. Where's the source for your 32K version? I'd also like to look at your code for setting up the environment to run the VBIOS. PPC/IA64 people have been asking for us to add emu86 support so that they can reset their cards. With a 32K emu86 there is no need for us to use vm86 mode.
Is LinuxBIOS part of the main kernel tree or is it separate?
On Mon, 7 Feb 2005, Jon Smirl wrote:
Is LinuxBIOS part of the main kernel tree or is it separate?
separate, for now. Although every once in a while I dream of having a 'built in bios' option for the kernel build :-)
Ollie Lo is the person who did the work, but he is on maternity leave (well, really, paternity leave, but ... Ollie is a new dad!).
I will try to answer your questions, however.
ron
On Mon, 2005-02-07 at 09:23, Ronald G. Minnich wrote:
On Mon, 7 Feb 2005, Jon Smirl wrote:
Is LinuxBIOS part of the main kernel tree or is it separate?
separate, for now. Although every once in a while I dream of having a 'built in bios' option for the kernel build :-)
Ollie Lo is the person who did the work, but he is on maternity leave (well, really, paternity leave, but ... Ollie is a new dad!).
Well, I try to go to work as often as possible while my parents are still here to help us and to save as much FMLA leave as possible. If you have any questions, please feel free to ask me.
Ollie
On Mon, 07 Feb 2005 09:43:52 -0700, Li-Ta Lo ollie@lanl.gov wrote:
Well, I try to go to work as often as possible while my parents are still here to help us and to save as much FMLA leave as possible. If you have any questions, please feel free to ask me.
I have a new set of twins that are two months old now. I'm finally able to start doing some work again now that they don't eat every three hours.
On Mon, 2005-02-07 at 11:10, Jon Smirl wrote:
On Mon, 07 Feb 2005 09:43:52 -0700, Li-Ta Lo ollie@lanl.gov wrote:
Well, I try to go to work as often as possible while my parents are still here to help us and to save as much FMLA leave as possible. If you have any questions, please feel free to ask me.
I have a new set of twins that are two months old now. I'm finally able to start doing some work again now that they don't eat every three hours.
Having one little nice baby is difficult enough for me. I can't image how difficult it would be if it is multiply by 2!!!
Ollie
On Mon, 2005-02-07 at 01:24, Jon Smirl wrote:
Your work on VGABIOS has been mentioned on the Linux kernel mailing list. Right now we are trying to add VGA reset capability to the kernel. This needs to be done at two points, reseting of secondary cards at boot (the system BIOS should reset the primary one) and reseting of cards if needed when coming out of suspend/resume.
There has been talk of adding emu86 to the kernel. Where's the source for your 32K version? I'd also like to look at your code for setting up the environment to run the VBIOS. PPC/IA64 people have been asking for us to add emu86 support so that they can reset their cards. With a 32K emu86 there is no need for us to use vm86 mode.
The source code is available from LinuxBIOS CVS cvs.sourceforge.net:/cvsroot/freebios
the directory for the emulator are
freebios2/src/devices/emulator/x86emu
and
freebios2/src/include/x86emu
The emulator is slightly larger than 32KB. For the Tyan S2885 mainboard, the difference of the final romimage is 41376 bytes.
Is LinuxBIOS part of the main kernel tree or is it separate?
It has its own tree.
Ollie
On Mon, 2005-02-07 at 09:34, Li-Ta Lo wrote:
On Mon, 2005-02-07 at 01:24, Jon Smirl wrote:
Your work on VGABIOS has been mentioned on the Linux kernel mailing list. Right now we are trying to add VGA reset capability to the kernel. This needs to be done at two points, reseting of secondary cards at boot (the system BIOS should reset the primary one) and reseting of cards if needed when coming out of suspend/resume.
There has been talk of adding emu86 to the kernel. Where's the source for your 32K version? I'd also like to look at your code for setting up the environment to run the VBIOS. PPC/IA64 people have been asking for us to add emu86 support so that they can reset their cards. With a 32K emu86 there is no need for us to use vm86 mode.
The source code is available from LinuxBIOS CVS cvs.sourceforge.net:/cvsroot/freebios
the directory for the emulator are
freebios2/src/devices/emulator/x86emu
and
freebios2/src/include/x86emu
The emulator is slightly larger than 32KB. For the Tyan S2885 mainboard, the difference of the final romimage is 41376 bytes.
Actuall, it is for uncompress romimage. For compressed image, it is about 16KB.
Ollie
The emulator is slightly larger than 32KB. For the Tyan S2885 mainboard, the difference of the final romimage is 41376 bytes.
Actuall, it is for uncompress romimage. For compressed image, it is about 16KB.
Wow. I didn't realize that the Linuxbios verison would compile down and compress so small. If you apply Paulos work to all that it might get a lot smaller. I remember Paulo saying that there was lots of code duplication in the x86 instruction emulation that could be consolidated.
On Mon, 7 Feb 2005, Richard Smith wrote:
Wow. I didn't realize that the Linuxbios verison would compile down and compress so small. If you apply Paulos work to all that it might get a lot smaller. I remember Paulo saying that there was lots of code duplication in the x86 instruction emulation that could be consolidated.
I think Ollie did this already.
ron
get a lot smaller. I remember Paulo saying that there was lots of code duplication in the x86 instruction emulation that could be consolidated.
I think Ollie did this already.
Ah. Well that would explain why is so much smaller. Looking back through my mail I see where he mentioned that he was going to try it but I don't see a mention of it after that.
On Mon, 2005-02-07 at 10:16, Richard Smith wrote:
The emulator is slightly larger than 32KB. For the Tyan S2885 mainboard, the difference of the final romimage is 41376 bytes.
Actuall, it is for uncompress romimage. For compressed image, it is about 16KB.
Wow. I didn't realize that the Linuxbios verison would compile down and compress so small. If you apply Paulos work to all that it might get a lot smaller. I remember Paulo saying that there was lots of code duplication in the x86 instruction emulation that could be consolidated.
It is Paulo's work.
Ollie
code duplication in the x86 instruction emulation that could be consolidated.
It is Paulo's work.
Ah well there you go. My knowledge was outdated. Looks like the cutting edge of x86emu developement now is the linuxbios emu tree.
Did you also extend Paulo's work? He mentioned that there were other areas in the code where application of his work should reduce code size as well.
If they haven't already submitted thier patches you might want to also check with Scitech soft on thier version of the in-kernel emu. Thier commercial "snap" drivers use the same stuff and I seem to remember him telling me they made some tweaks to make the newer Radeon cards and the like work right.
On Mon, 2005-02-07 at 12:32, Richard Smith wrote:
code duplication in the x86 instruction emulation that could be consolidated.
It is Paulo's work.
Ah well there you go. My knowledge was outdated. Looks like the cutting edge of x86emu developement now is the linuxbios emu tree.
Did you also extend Paulo's work? He mentioned that there were other areas in the code where application of his work should reduce code size as well.
No. Except some modification on the #include path, there is no change at all.
If they haven't already submitted thier patches you might want to also check with Scitech soft on thier version of the in-kernel emu. Thier commercial "snap" drivers use the same stuff and I seem to remember him telling me they made some tweaks to make the newer Radeon cards and the like work right.
There was some discussion on consolidate all those different versions, but no action yet.
Ollie
Li-Ta Lo ollie@lanl.gov writes:
On Mon, 2005-02-07 at 10:16, Richard Smith wrote:
The emulator is slightly larger than 32KB. For the Tyan S2885 mainboard, the difference of the final romimage is 41376 bytes.
Actuall, it is for uncompress romimage. For compressed image, it is about 16KB.
Wow. I didn't realize that the Linuxbios verison would compile down and compress so small. If you apply Paulos work to all that it might get a lot smaller. I remember Paulo saying that there was lots of code duplication in the x86 instruction emulation that could be consolidated.
It is Paulo's work.
A small addendum to this thread. ACPI 3.0 specifies a _ROM method to read the video ROM from onboard video devices that store the _ROM in a proprietary format and cannot be read from the PCI ROM bar.
Which seems to answer the question how does windows read that :)
Eric
There has been talk of adding emu86 to the kernel. Where's the source for your 32K version? I'd also like to look at your code for setting up the environment to run the VBIOS. PPC/IA64 people have been asking for us to add emu86 support so that they can reset their cards. With a 32K emu86 there is no need for us to use vm86 mode.
John,
The 32k version is still a proof of concept for now. Paulo Marques did all the work on reducing the emulator size down. He felt it was _possible_ to get it to 32k.
Paulos version is based on the Xfree86 emu from the xfree project. There are 2 other trees. One from SciTech soft and Ollies (linuxbios) tree. They all are mostly the same. Especially for the actual x86 emulation part. SciTech soft is the Full upstream tree and Xfree (X.org) would perodically sync up push back/pull from improvements from SciTech. I've copied "Kendall Bennett" KendallB@scitechsoft.com from scitech as he may have some additional info for you.
The LB tree is from a Xfree snapshot of long ago. Most of the changes to the LB tree are tweaks for proper VGA and PCI bios interrupt support.
To my knowledge Paulos version has never been tested. I'm sending you the source for Paulos stuff from my Yahoo account in a different mail.