diff mbox

Disable gus audio device in isapc

Message ID 200908220430.AA00077@YOUR-BD18D6DD63.m1.interq.or.jp
State Superseded
Headers show

Commit Message

武田 =?ISO-2022-JP?B?IBskQj1TTGkbKEI=?= Aug. 22, 2009, 4:30 a.m. UTC
Hi members,

Both isa ne2k nic and gus audio device uses the ioport 0x300
and it causes isa pc crash issue.

This is the patch to disable gus in the isa pc case.


Thans,
TAKEDA, toshiya

Comments

malc Aug. 22, 2009, 8:10 a.m. UTC | #1
On Sat, 22 Aug 2009, иПед ╫слИ wrote:

> Hi members,
> 
> Both isa ne2k nic and gus audio device uses the ioport 0x300
> and it causes isa pc crash issue.
> 
> This is the patch to disable gus in the isa pc case.
> 
> --- pc.orig	Thu Aug 20 11:13:30 2009
> +++ pc.c	Sat Aug 22 11:19:02 2009
> @@ -762,6 +762,10 @@
>          if (s) {
>              for (c = soundhw; c->name; ++c) {
>                  if (c->enabled) {
> +                    if (!pci_bus && strcmp(c->name, "gus") == 0) {
> +                        fprintf(stderr, "qemu: disable Gravis Ultrasound GF1 for isapc\n");
> +                        continue;
> +                    }
>                      if (c->isa) {
>                          c->init.init_isa (s, pic);
>                      }
> 

That's the nature of ISA and this hack is hardly sufficient, for instance
gus and cs4231a occupy the same DMA, something more apt is required to
handle the conflicts in I/O space for ISA cards.
Lennart Sorensen Aug. 24, 2009, 1:29 p.m. UTC | #2
On Sat, Aug 22, 2009 at 01:30:16PM +0900, 武田 俊也 wrote:
> Hi members,
> 
> Both isa ne2k nic and gus audio device uses the ioport 0x300
> and it causes isa pc crash issue.
> 
> This is the patch to disable gus in the isa pc case.
> 
> --- pc.orig	Thu Aug 20 11:13:30 2009
> +++ pc.c	Sat Aug 22 11:19:02 2009
> @@ -762,6 +762,10 @@
>          if (s) {
>              for (c = soundhw; c->name; ++c) {
>                  if (c->enabled) {
> +                    if (!pci_bus && strcmp(c->name, "gus") == 0) {
> +                        fprintf(stderr, "qemu: disable Gravis Ultrasound GF1 for isapc\n");
> +                        continue;
> +                    }
>                      if (c->isa) {
>                          c->init.init_isa (s, pic);
>                      }

Given the gus is an isa device, how does that make sense?

Back when some of us actually used a gus gf1 and isa ne2k cards, we
simply configured out ne2k cards for 0x310 or 0x320 or something else
not already in use.  The ne2k does not have to use 0x300.
diff mbox

Patch

--- pc.orig	Thu Aug 20 11:13:30 2009
+++ pc.c	Sat Aug 22 11:19:02 2009
@@ -762,6 +762,10 @@ 
         if (s) {
             for (c = soundhw; c->name; ++c) {
                 if (c->enabled) {
+                    if (!pci_bus && strcmp(c->name, "gus") == 0) {
+                        fprintf(stderr, "qemu: disable Gravis Ultrasound GF1 for isapc\n");
+                        continue;
+                    }
                     if (c->isa) {
                         c->init.init_isa (s, pic);
                     }