See patch
Stefan Reinauer wrote:
Option ROM init x86/x86emu update
- use default display in int 15 5f35
- move REALMODE_BASE to 0x600, 0x500 can be BDA
- add regparm for assembler functions
- use memset instead of own implementation
- YABEL: copy back the IVT, BDA and VBIOS. Some Xorg drivers require this.
Which drivers? Please try to avoid this type of ambiguousness. (Also for the ACPI patch.) It's a real headache for someone who doesn't know which drivers (like me) to figure out if this is the source of some of my problems, or not.
- YABEL: use hardware timer instead of emulated timer, because the emulated timer's base is never initialized (leading to division by zero if the timer is really used)
Signed-off-by: Stefan Reinauer stepan@coresystems.de
Acked-by: Peter Stuge peter@stuge.se
Peter Stuge wrote:
Stefan Reinauer wrote:
Option ROM init x86/x86emu update
- use default display in int 15 5f35
- move REALMODE_BASE to 0x600, 0x500 can be BDA
- add regparm for assembler functions
- use memset instead of own implementation
- YABEL: copy back the IVT, BDA and VBIOS. Some Xorg drivers require this.
Which drivers? Please try to avoid this type of ambiguousness. (Also for the ACPI patch.) It's a real headache for someone who doesn't know which drivers (like me) to figure out if this is the source of some of my problems, or not.
Well, you can always try if this solved your problem ... What problems are you seeing in particular with your hardware?
As you might imagine I did not test this on the majority of boards, so I can't give a full list of Xorg drivers with the problem, neither chipsets nor versions.
- YABEL: use hardware timer instead of emulated timer, because the emulated timer's base is never initialized (leading to division by zero if the timer is really used)
Signed-off-by: Stefan Reinauer stepan@coresystems.de
Acked-by: Peter Stuge peter@stuge.se
r4852.
Stefan Reinauer wrote:
- YABEL: copy back the IVT, BDA and VBIOS. Some Xorg drivers require this.
Which drivers?
As you might imagine I did not test this on the majority of boards, so I can't give a full list of Xorg drivers with the problem,
Ah, no, of course not, but it would be great to just list the ones you know about.
//Peter
Peter Stuge wrote:
Stefan Reinauer wrote:
- YABEL: copy back the IVT, BDA and VBIOS. Some Xorg drivers require this.
Which drivers?
As you might imagine I did not test this on the majority of boards, so I can't give a full list of Xorg drivers with the problem,
Ah, no, of course not, but it would be great to just list the ones you know about.
Basically, what happens is that some drivers seem to do BIOS callbacks to set the display modes.
On x86-64 the VGA option rom is executed in x86emu mode, so strictly speaking only a vga option rom is needed at 0xc0000.
On x86(-32) systems vm86 is used by Xorg, and the card is (afaik) not (always) re-initialized, so in addition to that the IVT has to be intact. With seabios that is always the case, but with x86emu/yabel and FILO the copying is needed in order to be able to start X. Otherwise the X server will end itself after unsuccessfully attempting to set a mode.
For the record, this happened to me on a i945 system with onboard graphics and a not-so-recent debian derivative. Things might be different with newer Xorgs and kernel mode setting, but I don't know for sure. Yet, assuming that the VGA option rom and IVT stays intact is probably fair on an x86 system.
Stefan
On Mon, 26 Oct 2009 12:53:27 +0100, Stefan Reinauer stepan@coresystems.de wrote:
Peter Stuge wrote:
Stefan Reinauer wrote:
- YABEL: copy back the IVT, BDA and VBIOS. Some Xorg drivers require this.
Which drivers?
As you might imagine I did not test this on the majority of boards, so I can't give a full list of Xorg drivers with the problem,
Ah, no, of course not, but it would be great to just list the ones you know about.
Basically, what happens is that some drivers seem to do BIOS callbacks to set the display modes.
On x86-64 the VGA option rom is executed in x86emu mode, so strictly speaking only a vga option rom is needed at 0xc0000.
On x86(-32) systems vm86 is used by Xorg, and the card is (afaik) not (always) re-initialized, so in addition to that the IVT has to be intact. With seabios that is always the case, but with x86emu/yabel and FILO the copying is needed in order to be able to start X. Otherwise the X server will end itself after unsuccessfully attempting to set a mode.
For the record, this happened to me on a i945 system with onboard graphics and a not-so-recent debian derivative. Things might be different with newer Xorgs and kernel mode setting, but I don't know for sure. Yet, assuming that the VGA option rom and IVT stays intact is probably fair on an x86 system.
Now that you mention it, this does sound familiar Stefan