qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [Bug 604166] Re: QEMU Floating Point Exception and Crash wh


From: Aurelien Jarno
Subject: [Qemu-devel] [Bug 604166] Re: QEMU Floating Point Exception and Crash while Emulating "Cirrus Logic 5446 PCI" in Win98
Date: Sun, 20 Feb 2011 17:14:03 -0000

** Changed in: qemu
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/604166

Title:
  QEMU Floating Point Exception and Crash while Emulating "Cirrus Logic
  5446 PCI" in Win98

Status in QEMU:
  Fix Released

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]