qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] s390x/event-facility: variable-length event mas


From: Jason J. Herne
Subject: Re: [Qemu-devel] [PATCH] s390x/event-facility: variable-length event masks
Date: Mon, 16 Oct 2017 13:11:19 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0

On 10/16/2017 09:44 AM, Cornelia Huck wrote:
On Wed, 11 Oct 2017 09:39:53 -0400
"Jason J. Herne" <address@hidden> wrote:
...

Out of curiousity: Do you have a guest that can verify this for mask
lengths != 4? Given that the guest I wrote that one for back then is
not publicly available...


I do have a guest OS that exercises larger mask lengths. Nothing publicly available however.

...
  static void write_event_mask(SCLPEventFacility *ef, SCCB *sccb)
  {
      WriteEventMask *we_mask = (WriteEventMask *) sccb;
+    uint16_t mask_length = be16_to_cpu(we_mask->mask_length);
+    uint32_t tmp_mask;
- /* Attention: We assume that Linux uses 4-byte masks, what it actually
-       does. Architecture allows for masks of variable size, though */
-    if (be16_to_cpu(we_mask->mask_length) != 4) {
+    if (!mask_length || (mask_length > SCLP_EVENT_MASK_LEN_MAX)) {
          sccb->h.response_code = cpu_to_be16(SCLP_RC_INVALID_MASK_LENGTH);
          goto out;
      }
+ /*
+     * Note: We currently only support masks up to 4 byte length;
+     *       the remainder is filled up with zeroes. Linux uses
+     *       a 4 byte mask length.
+     */

Do you have any plans for extending this? Or is there no need?

(I have to ask those questions, as the documentation is not publicly
available...)


As of right now 4B is all that is actually needed for any of the masks. The reason to allow for 32 byte requests is for guest operating systems who are already planning for the future. Someday more than 4B may be used but we have no way to know if or when.

...

Patch looks reasonable as far as I can see (the documentation issue
again...)

Did you need to change much from the original patch?


Very little. Just a quick forward fit and test and all is well :)
Thanks for the original work. This saved me some time.

--
-- Jason J. Herne (address@hidden)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]