qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] lsi: check if SIGP bit is already set in Wait reselect
@ 2019-02-17 11:37 Sven Schnelle
  2019-03-04  8:24 ` Sven Schnelle
  0 siblings, 1 reply; 3+ messages in thread
From: Sven Schnelle @ 2019-02-17 11:37 UTC (permalink / raw)
  To: qemu-devel; +Cc: Sven Schnelle, Helge Deller, Paolo Bonzini, Fam Zheng

If SIGP is set, the 'Wait for Reselection' command should jump
immediately to the address stored in the second DWORD of the
instruction. This fixes spurious hangs in the HP-UX 11.11
installer when the SIGP bit gets set by the kernel before the
'Wait for Reselection' command is executed by SCRIPTS.

Signed-off-by: Sven Schnelle <svens@stackframe.org>
Tested-by: Helge Deller <deller@gmx.de>
---
 hw/scsi/lsi53c895a.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c
index 8ba07f8756..bcff859bac 100644
--- a/hw/scsi/lsi53c895a.c
+++ b/hw/scsi/lsi53c895a.c
@@ -1297,8 +1297,10 @@ again:
                 }
                 break;
             case 2: /* Wait Reselect */
-                if (!lsi_irq_on_rsl(s)) {
-                    lsi_wait_reselect(s);
+                if (s->istat0 & LSI_ISTAT0_SIGP) {
+                    s->dsp = s->dnad;
+                } else if (!lsi_irq_on_rsl(s)) {
+                        lsi_wait_reselect(s);
                 }
                 break;
             case 3: /* Set */
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH] lsi: check if SIGP bit is already set in Wait reselect
  2019-02-17 11:37 [Qemu-devel] [PATCH] lsi: check if SIGP bit is already set in Wait reselect Sven Schnelle
@ 2019-03-04  8:24 ` Sven Schnelle
  2019-03-04 10:07   ` Paolo Bonzini
  0 siblings, 1 reply; 3+ messages in thread
From: Sven Schnelle @ 2019-03-04  8:24 UTC (permalink / raw)
  To: qemu-devel; +Cc: Fam Zheng, Paolo Bonzini, Helge Deller

Hi List,

is this patch going to be accepted?

Thanks
Sven

On Sun, Feb 17, 2019 at 12:37:17PM +0100, Sven Schnelle wrote:
> If SIGP is set, the 'Wait for Reselection' command should jump
> immediately to the address stored in the second DWORD of the
> instruction. This fixes spurious hangs in the HP-UX 11.11
> installer when the SIGP bit gets set by the kernel before the
> 'Wait for Reselection' command is executed by SCRIPTS.
> 
> Signed-off-by: Sven Schnelle <svens@stackframe.org>
> Tested-by: Helge Deller <deller@gmx.de>
> ---
>  hw/scsi/lsi53c895a.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c
> index 8ba07f8756..bcff859bac 100644
> --- a/hw/scsi/lsi53c895a.c
> +++ b/hw/scsi/lsi53c895a.c
> @@ -1297,8 +1297,10 @@ again:
>                  }
>                  break;
>              case 2: /* Wait Reselect */
> -                if (!lsi_irq_on_rsl(s)) {
> -                    lsi_wait_reselect(s);
> +                if (s->istat0 & LSI_ISTAT0_SIGP) {
> +                    s->dsp = s->dnad;
> +                } else if (!lsi_irq_on_rsl(s)) {
> +                        lsi_wait_reselect(s);
>                  }
>                  break;
>              case 3: /* Set */
> -- 
> 2.20.1
> 
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH] lsi: check if SIGP bit is already set in Wait reselect
  2019-03-04  8:24 ` Sven Schnelle
@ 2019-03-04 10:07   ` Paolo Bonzini
  0 siblings, 0 replies; 3+ messages in thread
From: Paolo Bonzini @ 2019-03-04 10:07 UTC (permalink / raw)
  To: Sven Schnelle, qemu-devel; +Cc: Fam Zheng, Helge Deller

On 04/03/19 09:24, Sven Schnelle wrote:
> Hi List,
> 
> is this patch going to be accepted?

Yes, I have queued it now.

Paolo

> 
> Thanks
> Sven
> 
> On Sun, Feb 17, 2019 at 12:37:17PM +0100, Sven Schnelle wrote:
>> If SIGP is set, the 'Wait for Reselection' command should jump
>> immediately to the address stored in the second DWORD of the
>> instruction. This fixes spurious hangs in the HP-UX 11.11
>> installer when the SIGP bit gets set by the kernel before the
>> 'Wait for Reselection' command is executed by SCRIPTS.
>>
>> Signed-off-by: Sven Schnelle <svens@stackframe.org>
>> Tested-by: Helge Deller <deller@gmx.de>
>> ---
>>  hw/scsi/lsi53c895a.c | 6 ++++--
>>  1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c
>> index 8ba07f8756..bcff859bac 100644
>> --- a/hw/scsi/lsi53c895a.c
>> +++ b/hw/scsi/lsi53c895a.c
>> @@ -1297,8 +1297,10 @@ again:
>>                  }
>>                  break;
>>              case 2: /* Wait Reselect */
>> -                if (!lsi_irq_on_rsl(s)) {
>> -                    lsi_wait_reselect(s);
>> +                if (s->istat0 & LSI_ISTAT0_SIGP) {
>> +                    s->dsp = s->dnad;
>> +                } else if (!lsi_irq_on_rsl(s)) {
>> +                        lsi_wait_reselect(s);
>>                  }
>>                  break;
>>              case 3: /* Set */
>> -- 
>> 2.20.1
>>
>>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-03-04 10:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-17 11:37 [Qemu-devel] [PATCH] lsi: check if SIGP bit is already set in Wait reselect Sven Schnelle
2019-03-04  8:24 ` Sven Schnelle
2019-03-04 10:07   ` Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).