qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 604166] [NEW] QEMU Floating Point Exception and Crash


From: David Johnston
Subject: [Qemu-devel] [Bug 604166] [NEW] QEMU Floating Point Exception and Crash while Emulating "Cirrus Logic 5446 PCI" in Win98
Date: Sun, 11 Jul 2010 04:09:06 -0000

Public bug reported:

My build of QEMU i386-softmmu crashes with a "floating point exception"
upon Win98SE startup when "Cirrus Logic 5446 PCI" display adapter
properties are set above 16 colors and/or 640 x 480".


My Setup:

I've been working to configure Windows 98 SE for video games in QEMU
(initially Grim Fandango and Masters of Orion 2, later Planescape
Torment and others) on a Mac OS X 10.6.4 host (gcc version 4.2.1). I
have reproduced this bug when building from both 0.12.50-trunk and
0.12.4-stable. My builds and installation are standard except that they
use the more recent SeaBIOS-6.0 binary as $PREFIX/share/qemu/seabios.bin
in order to work around the issue described in Bug #521994. These are my
current startup parameters:

 > #! /bin/bash -
 > 
 > GUESTNAME=win98-base.qemu
 > VMHOME=/vol/$GUESTNAME
 > RAMSIZE=512
 > #DRIVES="$DRIVES -drive file=$VMHOME/fs/fda,if=floppy"
 > DRIVES="$DRIVES -drive file=$VMHOME/fs/hdd.qcow2,if=ide,media=disk"
 > #DRIVES="$DRIVES -drive file=$VMHOME/ssw/win98se-oem.iso,if=ide,media=cdrom"
 > BOOTDISK=c
 > 
 > qemu\
 >  -M pc -cpu pentium3 -m $RAMSIZE\
 >  -vga cirrus -soundhw pcspk,es1370 -net nic,model=ne2k_pci\
 >  -localtime\
 >  -monitor stdio\
 >  -name $GUESTNAME\
 >  -boot $BOOTDISK\
 >  $DRIVES


The State of QEMU/Win98 Emulation:

The initial Windows 98 installation does not properly detect most PCI
devices (ie. es1370, ne2k_pci). There is a solution to this involving a
manual reinstallation of the device named "Plug and Play Bios (fail
safe)" with the win98 "PCI Bus" driver, as described here <http://qemu-
forum.ipi.fi/viewtopic.php?f=9&t=3072>. This process reveals many
previously undetected devices and is currently necessary for win98 sound
and networking support.

Unlike sound and network support, advanced graphics support is available
without the PCI Bus workaround via a display adapter identified as
"Cirrus Logic" in Device Manager. **This "Cirrus Logic" adapter does
support higher resolutions and color depth, but does not work properly
in some applications.** For instance, when running the intro to Grim
Fandango, many colors are shown incorrectly and the system slows and
freezes. One of the devices revealed and installed after the PCI Bus
workaround is the "Cirrus Logic 5446 PCI" display adapter, and I had
hoped that configuring this device might solve these problems.


The Bug:

Device Manager lists "Cirrus Logic 5446 PCI" alongside the previously
discovered "Cirrus Logic" device, but due to resource conflicts, "Cirrus
Logic 5446 PCI" is effectively disabled until "Cirrus Logic" is either
disabled or uninstalled. Unfortunately, disabling "Cirrus Logic" and
using "Cirrus Logic 5446 PCI" only makes things worse, for using any
display settings higher than 16 colors and 640x480 will always cause a
floating point exception on startup. This crash occurs after the login
prompt and during the Windows 98 startup chime.

I hope that someone will be able to make sense of all of this.

Until then,
D. Johnston

** Affects: qemu
     Importance: Undecided
         Status: New

-- 
QEMU Floating Point Exception and Crash while Emulating "Cirrus Logic 5446 PCI" 
in Win98
https://bugs.launchpad.net/bugs/604166
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.

Status in QEMU: New

Bug description:
My build of QEMU i386-softmmu crashes with a "floating point exception" upon 
Win98SE startup when "Cirrus Logic 5446 PCI" display adapter properties are set 
above 16 colors and/or 640 x 480".


My Setup:

I've been working to configure Windows 98 SE for video games in QEMU (initially 
Grim Fandango and Masters of Orion 2, later Planescape Torment and others) on a 
Mac OS X 10.6.4 host (gcc version 4.2.1). I have reproduced this bug when 
building from both 0.12.50-trunk and 0.12.4-stable. My builds and installation 
are standard except that they use the more recent SeaBIOS-6.0 binary as 
$PREFIX/share/qemu/seabios.bin in order to work around the issue described in 
Bug #521994. These are my current startup parameters:

 > #! /bin/bash -
 > 
 > GUESTNAME=win98-base.qemu
 > VMHOME=/vol/$GUESTNAME
 > RAMSIZE=512
 > #DRIVES="$DRIVES -drive file=$VMHOME/fs/fda,if=floppy"
 > DRIVES="$DRIVES -drive file=$VMHOME/fs/hdd.qcow2,if=ide,media=disk"
 > #DRIVES="$DRIVES -drive file=$VMHOME/ssw/win98se-oem.iso,if=ide,media=cdrom"
 > BOOTDISK=c
 > 
 > qemu\
 >  -M pc -cpu pentium3 -m $RAMSIZE\
 >  -vga cirrus -soundhw pcspk,es1370 -net nic,model=ne2k_pci\
 >  -localtime\
 >  -monitor stdio\
 >  -name $GUESTNAME\
 >  -boot $BOOTDISK\
 >  $DRIVES


The State of QEMU/Win98 Emulation:

The initial Windows 98 installation does not properly detect most PCI devices 
(ie. es1370, ne2k_pci). There is a solution to this involving a manual 
reinstallation of the device named "Plug and Play Bios (fail safe)" with the 
win98 "PCI Bus" driver, as described here 
<http://qemu-forum.ipi.fi/viewtopic.php?f=9&t=3072>. This process reveals many 
previously undetected devices and is currently necessary for win98 sound and 
networking support.

Unlike sound and network support, advanced graphics support is available 
without the PCI Bus workaround via a display adapter identified as "Cirrus 
Logic" in Device Manager. **This "Cirrus Logic" adapter does support higher 
resolutions and color depth, but does not work properly in some applications.** 
For instance, when running the intro to Grim Fandango, many colors are shown 
incorrectly and the system slows and freezes. One of the devices revealed and 
installed after the PCI Bus workaround is the "Cirrus Logic 5446 PCI" display 
adapter, and I had hoped that configuring this device might solve these 
problems.


The Bug:

Device Manager lists "Cirrus Logic 5446 PCI" alongside the previously 
discovered "Cirrus Logic" device, but due to resource conflicts, "Cirrus Logic 
5446 PCI" is effectively disabled until "Cirrus Logic" is either disabled or 
uninstalled. Unfortunately, disabling "Cirrus Logic" and using "Cirrus Logic 
5446 PCI" only makes things worse, for using any display settings higher than 
16 colors and 640x480 will always cause a floating point exception on startup. 
This crash occurs after the login prompt and during the Windows 98 startup 
chime.

I hope that someone will be able to make sense of all of this.

Until then,
D. Johnston





reply via email to

[Prev in Thread] Current Thread [Next in Thread]