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?
next prev parent 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).