qemu-devel.nongnu.org archive mirror
 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 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).