All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cornelia Huck <cohuck@redhat.com>
To: Farhan Ali <alifm@linux.vnet.ibm.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>,
	qemu-devel@nongnu.org, pasic@linux.vnet.ibm.com,
	farman@linux.vnet.ibm.com, walling@linux.vnet.ibm.com
Subject: Re: [Qemu-devel] [PATCH] s390-ccw: Fix alignment for CCW1
Date: Mon, 28 Aug 2017 16:05:54 +0200	[thread overview]
Message-ID: <20170828160554.45855dfa.cohuck@redhat.com> (raw)
In-Reply-To: <b5a9ab05-4e3c-66bc-33ce-d953d7f911e2@linux.vnet.ibm.com>

On Mon, 28 Aug 2017 09:52:08 -0400
Farhan Ali <alifm@linux.vnet.ibm.com> wrote:

> On 08/28/2017 09:24 AM, Christian Borntraeger wrote:
> >
> >
> >
> > On 08/28/2017 03:18 PM, Farhan Ali wrote:  
> >>
> >>
> >> On 08/28/2017 09:06 AM, Cornelia Huck wrote:  
> >>> On Mon, 28 Aug 2017 08:56:42 -0400
> >>> Farhan Ali <alifm@linux.vnet.ibm.com> wrote:
> >>>  
> >>>> On 08/28/2017 04:22 AM, Cornelia Huck wrote:  
> >>>>> On Fri, 25 Aug 2017 11:05:30 -0400
> >>>>> Farhan Ali <alifm@linux.vnet.ibm.com> wrote:
> >>>>>  
> >>>>>> On 08/25/2017 10:04 AM, Cornelia Huck wrote:  
> >>>>>>> On Fri, 25 Aug 2017 09:24:46 -0400
> >>>>>>> Farhan Ali <alifm@linux.vnet.ibm.com> wrote:
> >>>>>>>  
> >>>>>>>> The commit 198c0d1f9df8c4 s390x/css: check ccw address validity
> >>>>>>>> exposes an alignment issue in ccw bios.
> >>>>>>>>
> >>>>>>>> According to PoP the CCW must be doubleword aligned. Let's fix
> >>>>>>>> this in the bios.
> >>>>>>>>
> >>>>>>>> Cc: qemu-stable@nongnu.org
> >>>>>>>> Signed-off-by: Farhan Ali <alifm@linux.vnet.ibm.com>
> >>>>>>>> Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com>
> >>>>>>>> Reviewed-by: Eric Farman <farman@linux.vnet.ibm.com>
> >>>>>>>> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
> >>>>>>>> ---
> >>>>>>>>  pc-bios/s390-ccw/cio.h | 2 +-
> >>>>>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>>>>>>>
> >>>>>>>> diff --git a/pc-bios/s390-ccw/cio.h b/pc-bios/s390-ccw/cio.h
> >>>>>>>> index f5b4549..55eaeee 100644
> >>>>>>>> --- a/pc-bios/s390-ccw/cio.h
> >>>>>>>> +++ b/pc-bios/s390-ccw/cio.h
> >>>>>>>> @@ -133,7 +133,7 @@ struct ccw1 {
> >>>>>>>>      __u8 flags;
> >>>>>>>>      __u16 count;
> >>>>>>>>      __u32 cda;
> >>>>>>>> -} __attribute__ ((packed));
> >>>>>>>> +} __attribute__ ((packed, aligned(8)));
> >>>>>>>>
> >>>>>>>>  #define CCW_FLAG_DC              0x80
> >>>>>>>>  #define CCW_FLAG_CC              0x40  
> >>>>>>>
> >>>>>>> Currently testing.
> >>>>>>>
> >>>>>>> This looks obviously right, but did you figure out what the (probably
> >>>>>>> unrelated) other failure was?
> >>>>>>>  
> >>>>>>
> >>>>>> That is still under investigation, for some reason it only fails for an
> >>>>>> LDL DASD and it works for SCSIs and CDL DASD.  
> >>>>>
> >>>>> Which are the symptoms of the failure? I'd like to understand this
> >>>>> before I update the (currently working by accident) bios with an
> >>>>> updated version.
> >>>>>
> >>>>> I'll just apply the patch for now.
> >>>>>  
> >>>>
> >>>> Well it's seems like the failure for LDL DASD could be a disk setup
> >>>> failure. We tried the test on a different environment with LDL disks and
> >>>> everything worked fine with the patch applied.  
> >>>
> >>> Odd that it breaks after this change, though. Do you get command
> >>> rejects, or what happens?
> >>>  
> >>
> >> It's the alignment of the CCW which causes the problem.
> >>
> >> The exact error message when starting the guest was:
> >>
> >> ! No virtio device found !
> >>
> >> Since it worked for SCSI and CDL, and failed for LDL disks on that particular system, we are not really sure what caused the failure.
> >> Debugging it further showed the CCW for LDL disks were not aligned at double word boundary.

This is really, really odd, as the low-level ccw code is the same for
any disk type...

> >>
> >> Trying the test on a different system with LDL disks worked fine, with the aligned(8) fix.  
> >
> > Do you happen to have an old s390-ccw.img laying around in the test folder? QEMU might pick up
> > this one (e.g. when calling it without libvirt from the command line).
> >  
> I explicitly mention the bios to use with '-bios' option and pick up the 
> latest bios. Without the aligned fix I see the error and with the fix it 
> works fine.

Wait, so the fix fixes it? Or am I confused now?

  reply	other threads:[~2017-08-28 14:06 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <cover.1503667215.git.alifm@linux.vnet.ibm.com>
2017-08-25 13:24 ` [Qemu-devel] [PATCH] s390-ccw: Fix alignment for CCW1 Farhan Ali
2017-08-25 13:55   ` no-reply
2017-08-25 14:04   ` Cornelia Huck
2017-08-25 15:05     ` Farhan Ali
2017-08-28  8:22       ` Cornelia Huck
2017-08-28 12:56         ` Farhan Ali
2017-08-28 13:06           ` Cornelia Huck
2017-08-28 13:18             ` Farhan Ali
2017-08-28 13:24               ` Christian Borntraeger
2017-08-28 13:52                 ` Farhan Ali
2017-08-28 14:05                   ` Cornelia Huck [this message]
2017-08-28 14:15                     ` Farhan Ali
2017-08-28 14:19                       ` Halil Pasic
2017-08-28 14:28                         ` Farhan Ali
2017-08-29 12:04                           ` Cornelia Huck
2017-08-29 12:39                             ` Farhan Ali
2017-08-29 12:45                               ` Cornelia Huck
2017-08-29 18:45                                 ` Eric Farman
2017-08-30  7:27                                   ` Cornelia Huck
2017-08-28 15:04                       ` Philippe Mathieu-Daudé
2017-08-28 18:47                         ` Farhan Ali

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170828160554.45855dfa.cohuck@redhat.com \
    --to=cohuck@redhat.com \
    --cc=alifm@linux.vnet.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=farman@linux.vnet.ibm.com \
    --cc=pasic@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=walling@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.