Bug 11216

Summary: vm86 vm86_old
Product: [Retired] Red Hat Linux Reporter: jmga
Component: libcAssignee: Jakub Jelinek <jakub>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 6.2   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2002-12-14 23:14:04 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description jmga 2000-05-04 13:35:21 UTC
Hello,
I would like to report what I think it's a bug and consists on a
core dumped (and a program crash) with the message "Illegal Instruction"
or "SIGSEGV" when the function vm86 and vm86old are called. The calling
to the System Call nr. ?113? produces the same error.
I've experimented this problem trying to setup the XFree3.3.6 SVGA Server
using the built-in Savage3D driver. After debugging the module
(lrmi_vm86.c) which produced the crash, I found that problem on my system.
Next, I uninstalled Red Hat 6.2 and installed 6.0 and the problem
persisted.
After many hours of work, I found that a parameter of the BIOS named "Init
Display First" was set up with the value "AGP" (my card is AGP). When I
changed it back to "PCI/slot" and "PnP OS: NO" I could finally fix my
problem.
In the other hand, Windows98 did function properly in the meantime so I
think there may be a bug.
Hoping this to be of any use...
Kind regards,
Jose Manuel.
PD: I can send you all kind of logs about my system.

Comment 1 Cristian Gafton 2000-05-22 14:53:59 UTC
assign to jakub

Comment 2 jmga 2000-05-23 10:45:59 UTC
I've had this problem again.
First I tried to fix it by modifying the BIOS configuration but without success.
Finally, remembering the last changes I had done in my system, I remembered that
I had run Microsoft Memmaker. I undid the changes in the config.sys and
surprisingly, when I run loadlin, the server didn't crash (I am still wondering
why!)
I have to say that I checked with strace and the function that crashed was still
vm86old() and the man page says that this function is specific to Linux on
Intel platforms, and that it shouldn't be used when portability is desired.
I am using an AMD and don't know if this is the reason for it to fails.
On the other hand, the other drivers (like the VGA16) don't never crash.

Comment 3 jmga 2000-05-23 10:56:59 UTC
I've had this problem again.
After changing some parameters on the BIOS I fix it by removing the changes
done by memmaker on my config.sys! (I am still wondering what has to be
that with the crash of the vm86old(), apart from that I start linux via
loadlin).
I checked with strace that the crash was motivated, like before,
because of an illegal instruction in a call to vm86old by the savage3d driver
of the XF86SVGA server. The man page of vm86 says that this function is
specific of Linux on Intel platforms, and I am using an AMD K6 processor as I
reported before.

Comment 4 Alan Cox 2002-12-14 23:14:04 UTC
Closing this - we make vm86 calls to the bios for certain graphics ops on
certain cards - the crash you are reporting is occuring in bios code not Linux code.

Newer (XFree 4.x) on the S3 Savage has options to say "dont call the bios" - and
for this reason...