On Tue, 16 Jul 2019 14:34:22 -0400
Collin Walling <wall...@linux.ibm.com> wrote:

> On 7/16/19 11:20 AM, Cornelia Huck wrote:
> > On Wed, 10 Jul 2019 10:20:41 +0200
> > Cornelia Huck <coh...@redhat.com> wrote:
> >   
> >> On Tue, 9 Jul 2019 18:55:34 -0400
> >> Collin Walling <wall...@linux.ibm.com> wrote:
> >>  
> >>> On 7/8/19 9:23 AM, Christian Borntraeger wrote:  
> >>>>
> >>>>
> >>>> On 08.07.19 14:54, Cornelia Huck wrote:  
> >>>>> According to the comment, the bits are supposed to accumulate.
> >>>>>
> >>>>> Reported-by: Stefan Weil <s...@weilnetz.de>
> >>>>> Fixes: 5d1abf234462 ("s390x/pci: enforce zPCI state checking")
> >>>>> Signed-off-by: Cornelia Huck <coh...@redhat.com>  
> >>>>
> >>>> This patch does not change behaviour, so it is certainly not wrong.
> >>>>
> >>>> So lets have a look at if the bug report was actually a real bug or
> >>>> just a missing annotation.
> >>>>        
> >>>>> ---
> >>>>>    hw/s390x/s390-pci-inst.c | 2 ++
> >>>>>    1 file changed, 2 insertions(+)
> >>>>>
> >>>>> diff --git a/hw/s390x/s390-pci-inst.c b/hw/s390x/s390-pci-inst.c
> >>>>> index 61f30b8e55d2..00235148bed7 100644
> >>>>> --- a/hw/s390x/s390-pci-inst.c
> >>>>> +++ b/hw/s390x/s390-pci-inst.c
> >>>>> @@ -1209,8 +1209,10 @@ int stpcifc_service_call(S390CPU *cpu, uint8_t 
> >>>>> r1, uint64_t fiba, uint8_t ar,
> >>>>>         * FH Enabled bit is set to one in states of ENABLED, BLOCKED or 
> >>>>> ERROR. */
> >>>>>        case ZPCI_FS_ERROR:
> >>>>>            fib.fc |= 0x20;
> >>>>> +        /* fallthrough */  
> >>>>
> >>>> This is correct, in case of an error we are also blocked.
> >>>>        
> >>>
> >>> Agreed. This is definitely correct based on our architecture.
> >>>      
> >>>>>        case ZPCI_FS_BLOCKED:
> >>>>>            fib.fc |= 0x40;
> >>>>> +        /* fallthrough */  
> >>>>
> >>>> I think this is also correct, but  it would be good if Collin could 
> >>>> verify.
> >>>>        
> >>>
> >>> I failed to find anything to support setting the function control
> >>> enabled bit when the function state is in error / blocked. I'm
> >>> assuming this might be some QEMU hack to get things working? I'll have
> >>> to dive further to understand why this was done this way, as it doesn't
> >>> align with how the s390x architecture is documented. It's confusing.  
> >>
> >> Might this also be a real issue? Not matching the architecture is not a
> >> good sign...  
> > 
> > Friendly ping. If we still want to have this patch or a fix in 4.1, we
> > need to find out soon...
> >   
> 
> Let's take it for now.
> 
> Acked-by: Collin Walling <wall...@linux.ibm.com>
> 

Just to be clear: You think that the current code is correct AFAYCS?

Reply via email to