All of lore.kernel.org
 help / color / mirror / Atom feed
From: Janosch Frank <frankja@linux.ibm.com>
To: qemu-devel@nongnu.org
Cc: borntraeger@de.ibm.com, qemu-s390x@nongnu.org, cohuck@redhat.com,
	david@redhat.com
Subject: [PATCH 2/8] pc-bios: s390x: Get rid of magic offsets into the lowcore
Date: Tue, 24 Mar 2020 11:08:41 -0400	[thread overview]
Message-ID: <20200324150847.10476-3-frankja@linux.ibm.com> (raw)
In-Reply-To: <20200324150847.10476-1-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>
---
 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 aaa432deddb9242e..9ad794a789c47df2 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: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 4e65b411e1d890ba..8b912454c940a390 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.1



  parent reply	other threads:[~2020-03-24 15:13 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-24 15:08 [PATCH 0/8] pc-bios: s390x: Cleanup part 1 Janosch Frank
2020-03-24 15:08 ` [PATCH 1/8] pc-bios: s390x: Consolidate timing functions into time.h Janosch Frank
2020-03-27 10:21   ` David Hildenbrand
2020-03-24 15:08 ` Janosch Frank [this message]
2020-03-27 10:25   ` [PATCH 2/8] pc-bios: s390x: Get rid of magic offsets into the lowcore David Hildenbrand
2020-03-27 10:33     ` Janosch Frank
2020-03-24 15:08 ` [PATCH 3/8] pc-bios: s390x: Rename and use PSW_MASK_ZMODE constant Janosch Frank
2020-04-30 15:29   ` David Hildenbrand
2020-03-24 15:08 ` [PATCH 4/8] pc-bios: s390x: Use PSW masks where possible Janosch Frank
2020-04-30 15:34   ` David Hildenbrand
2020-03-24 15:08 ` [PATCH 5/8] pc-bios: s390x: Move panic() into header and add infinite loop Janosch Frank
2020-04-07  7:25   ` Cornelia Huck
2020-05-14 11:27     ` Janosch Frank
2020-05-14 11:49       ` Cornelia Huck
2020-04-30 15:42   ` David Hildenbrand
2020-05-04  6:46     ` Janosch Frank
2020-05-04  7:37       ` David Hildenbrand
2020-03-24 15:08 ` [PATCH 6/8] pc-bios: s390x: Use ebcdic2ascii table Janosch Frank
2020-04-30 15:35   ` David Hildenbrand
2020-03-24 15:08 ` [PATCH 7/8] pc-bios: s390x: Replace 0x00 with 0x0 or 0 Janosch Frank
2020-04-30 15:36   ` David Hildenbrand
2020-05-14 11:32     ` Janosch Frank
2020-03-24 15:08 ` [PATCH 8/8] pc-bios: s390x: Make u32 ptr check explicit Janosch Frank
2020-04-30 15:37   ` David Hildenbrand
2020-03-24 17:02 ` [PATCH 0/8] pc-bios: s390x: Cleanup part 1 no-reply
2020-04-29 12:11 ` Janosch Frank
2020-04-30 14:50   ` David Hildenbrand
2020-05-14 10:59     ` Cornelia Huck
2020-05-14 11:20       ` Janosch Frank

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=20200324150847.10476-3-frankja@linux.ibm.com \
    --to=frankja@linux.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=david@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    /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.