From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Hfe3N-0007VV-3R for qemu-devel@nongnu.org; Sun, 22 Apr 2007 11:32:41 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Hfe3I-0007UR-TN for qemu-devel@nongnu.org; Sun, 22 Apr 2007 11:32:40 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Hfe3I-0007UJ-Me for qemu-devel@nongnu.org; Sun, 22 Apr 2007 11:32:36 -0400 Received: from ug-out-1314.google.com ([66.249.92.169]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Hfdxw-0002zK-E3 for qemu-devel@nongnu.org; Sun, 22 Apr 2007 11:27:07 -0400 Received: by ug-out-1314.google.com with SMTP id j40so1086701ugd for ; Sun, 22 Apr 2007 08:26:42 -0700 (PDT) Message-ID: Date: Sun, 22 Apr 2007 23:26:41 +0800 From: "Wang Cheng Yeh" Subject: Re: [Qemu-devel] scsi interface patch In-Reply-To: <200704221454.27190.paul@codesourcery.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_131760_7900573.1177255601469" References: <200704221454.27190.paul@codesourcery.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paul Brook , qemu-devel@nongnu.org ------=_Part_131760_7900573.1177255601469 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Linux kernel 2.6.18 from http://www.aurel32.net/info/debian_arm_qemu.php will get this mismatch. I don't know the real hardware implement inside scsi. I just modify the hardware emulation consist with the linux driver. Because the hardware emulation is not 100% complete and many parts are not implemented, the mismatch issue the interrupt and the ISR work well in real hardware, but not in QEMU. The problem maybe inside the mismatch condition, but I am not familiar with the mismatch handler. The patch can workaround the mismatch condition. Maybe we should improve the mismatch condition. 2007/4/22, Paul Brook : > > On Sunday 22 April 2007 03:01, Wang Cheng Yeh wrote: > > The number of responded bytes from scsi device do not match the expected > > value of lsi53c895a driver. hence, the mismatch interrupt happen, but > the > > driver does not always handle it correctly. > > My patch make the responded bytes as expected and the interrupt will not > > happen. > > What makes you think padding the response with zeros is the right thing to > do? > I think this is a bug elsewhere (maybe in your device driver). > > Paul > ------=_Part_131760_7900573.1177255601469 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline Linux kernel 2.6.18 from http://www.aurel32.net/info/debian_arm_qemu.php
will get this mismatch. I don't know the real hardware implement inside scsi.
I just modify the hardware emulation consist with the linux driver.
Because the hardware emulation is not 100% complete and many parts are not implemented,
the mismatch issue the interrupt and the ISR work well in real hardware, but not in QEMU.
The problem maybe inside the mismatch condition, but I am not familiar with the mismatch handler.
The patch can workaround the mismatch condition. Maybe we should improve the mismatch condition.


2007/4/22, Paul Brook < paul@codesourcery.com>:
On Sunday 22 April 2007 03:01, Wang Cheng Yeh wrote:
> The number of responded bytes from scsi device do not match the expected
> value of lsi53c895a driver. hence, the mismatch interrupt happen, but the
> driver does not always handle  it correctly.
> My patch make the responded bytes as expected and the interrupt will not
> happen.

What makes you think padding the response with zeros is the right thing to do?
I think this is a bug elsewhere (maybe in your device driver).

Paul

------=_Part_131760_7900573.1177255601469--