All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cornelia Huck <cohuck@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Thomas Huth <thuth@redhat.com>,
	Janosch Frank <frankja@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Cornelia Huck <cohuck@redhat.com>,
	qemu-devel@nongnu.org, qemu-s390x@nongnu.org
Subject: [PULL 04/14] pc-bios: s390x: Get rid of magic offsets into the lowcore
Date: Fri,  3 Jul 2020 12:06:40 +0200	[thread overview]
Message-ID: <20200703100650.621212-5-cohuck@redhat.com> (raw)
In-Reply-To: <20200703100650.621212-1-cohuck@redhat.com>

From: Janosch Frank <frankja@linux.ibm.com>

If we have a lowcore struct that has members for offsets that we want
to touch, why not use it?

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <20200624075226.92728-5-frankja@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 pc-bios/s390-ccw/cio.h  | 17 +++++++++++------
 pc-bios/s390-ccw/main.c |  8 +++-----
 2 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/pc-bios/s390-ccw/cio.h b/pc-bios/s390-ccw/cio.h
index aaa432deddb9..1e5d4e92e12c 100644
--- a/pc-bios/s390-ccw/cio.h
+++ b/pc-bios/s390-ccw/cio.h
@@ -122,12 +122,17 @@ typedef struct schib {
 } __attribute__ ((packed, aligned(4))) Schib;
 
 typedef struct subchannel_id {
-        __u32 cssid:8;
-        __u32:4;
-        __u32 m:1;
-        __u32 ssid:2;
-        __u32 one:1;
-        __u32 sch_no:16;
+    union {
+        struct {
+            __u16 cssid:8;
+            __u16 reserved:4;
+            __u16 m:1;
+            __u16 ssid:2;
+            __u16 one:1;
+        };
+        __u16 sch_id;
+    };
+    __u16 sch_no;
 } __attribute__ ((packed, aligned(4))) SubChannelId;
 
 struct chsc_header {
diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c
index 4e65b411e1d8..8b912454c940 100644
--- a/pc-bios/s390-ccw/main.c
+++ b/pc-bios/s390-ccw/main.c
@@ -36,11 +36,9 @@ LowCore *lowcore; /* Yes, this *is* a pointer to address 0 */
  */
 void write_subsystem_identification(void)
 {
-    SubChannelId *schid = (SubChannelId *) 184;
-    uint32_t *zeroes = (uint32_t *) 188;
-
-    *schid = blk_schid;
-    *zeroes = 0;
+    lowcore->subchannel_id = blk_schid.sch_id;
+    lowcore->subchannel_nr = blk_schid.sch_no;
+    lowcore->io_int_parm = 0;
 }
 
 void write_iplb_location(void)
-- 
2.25.4



  parent reply	other threads:[~2020-07-03 10:08 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-03 10:06 [PULL 00/14] s390x update Cornelia Huck
2020-07-03 10:06 ` [PULL 01/14] pc-bios: s390x: cio.c cleanup and compile fix Cornelia Huck
2020-07-03 10:06 ` [PULL 02/14] pc-bios: s390x: Consolidate timing functions into time.h Cornelia Huck
2020-07-03 10:06 ` [PULL 03/14] pc-bios: s390x: Move sleep and yield to helper.h Cornelia Huck
2020-07-03 10:06 ` Cornelia Huck [this message]
2020-07-03 10:06 ` [PULL 05/14] pc-bios: s390x: Rename PSW_MASK_ZMODE to PSW_MASK_64 Cornelia Huck
2020-07-03 10:06 ` [PULL 06/14] pc-bios: s390x: Use PSW masks where possible and introduce PSW_MASK_SHORT_ADDR Cornelia Huck
2020-07-03 10:06 ` [PULL 07/14] pc-bios: s390x: Move panic() into header and add infinite loop Cornelia Huck
2020-07-03 10:06 ` [PULL 08/14] pc-bios: s390x: Use ebcdic2ascii table Cornelia Huck
2020-07-03 10:06 ` [PULL 09/14] pc-bios: s390x: Make u32 ptr check explicit Cornelia Huck
2020-07-03 10:06 ` [PULL 10/14] pc-bios/s390-ccw: Generate and include dependency files in the Makefile Cornelia Huck
2020-07-03 10:06 ` [PULL 11/14] pc-bios/s390: Update s390-ccw bios binaries with the latest changes Cornelia Huck
2020-07-03 10:06 ` [PULL 12/14] target/s390x: Fix SQXBR Cornelia Huck
2020-07-03 10:06 ` [PULL 13/14] virtio-ccw: fix virtio_set_ind_atomic Cornelia Huck
2020-07-06 11:23   ` Halil Pasic
2020-07-06 11:38     ` Cornelia Huck
2020-09-08  9:34   ` Halil Pasic
2020-07-03 10:06 ` [PULL 14/14] s390x/pci: fix set_ind_atomic Cornelia Huck
2020-07-06 11:23   ` Halil Pasic
2020-09-08  9:36   ` Halil Pasic
2020-07-03 10:46 ` [PULL 00/14] s390x update no-reply
2020-07-04 13:58 ` Peter Maydell

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=20200703100650.621212-5-cohuck@redhat.com \
    --to=cohuck@redhat.com \
    --cc=david@redhat.com \
    --cc=frankja@linux.ibm.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=thuth@redhat.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.