qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCH] lsi53c895a: Add missing registers and workaroun


From: Nicholas A. Bellinger
Subject: [Qemu-devel] Re: [PATCH] lsi53c895a: Add missing registers and workaround for OS/2 Warp SYM8XX.ADD driver
Date: Thu, 30 Sep 2010 14:29:59 -0700

On Thu, 2010-09-30 at 10:07 +0200, Paolo Bonzini wrote:
> On 09/30/2010 07:07 AM, Nicholas A. Bellinger wrote:
> >       case 0x06: /* SDID */
> > -        if ((val&  0xf) != (s->ssid&  0xf))
> > -            BADF("Destination ID does not match SSID\n");
> > +        /*
> > +         * This workaround is required by the SYM8XX.ADD driver for OS/2 
> > Warp.
> > +         */
> > +        if ((val&  0xf) != (s->ssid&  0xf)) {
> > +            DPRINTF("Destination ID does not match SSID, val: %02x"
> > +                    " s->ssid: %02x, fixing up val\n", val, s->ssid);
> > +            val = s->ssid;
> > +        }
> >           s->sdid = val&  0xf;
> >           break;
> 
> I don't think the write is bogus, as the manual says "Writing these bits 
> set the SCSI ID of the intended initiator or target during SCSI 
> reselection or selection phases, respectively".
> 
> The value is never used by the device model, only read/written according 
> to SCRIPTS and register read/writes.  How does the OS/2 driver use it? 
> Have you tried, just removing the "if" without replacing it?
> 

Hi Paolo,

Yeah, I think dropping this "if" should work just fine, but I left this
out because of the assumption that Paul (or someone else..?) put this in
for a specific reason..

Paul, do you have any comments here..?

Thanks,

--nab





reply via email to

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