mirror of https://github.com/xemu-project/xemu.git
pc-bios: s390x: Get rid of magic offsets into the lowcore
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>
This commit is contained in:
parent
12ea90dbd8
commit
e6d393d097
|
@ -122,12 +122,17 @@ typedef struct schib {
|
||||||
} __attribute__ ((packed, aligned(4))) Schib;
|
} __attribute__ ((packed, aligned(4))) Schib;
|
||||||
|
|
||||||
typedef struct subchannel_id {
|
typedef struct subchannel_id {
|
||||||
__u32 cssid:8;
|
union {
|
||||||
__u32:4;
|
struct {
|
||||||
__u32 m:1;
|
__u16 cssid:8;
|
||||||
__u32 ssid:2;
|
__u16 reserved:4;
|
||||||
__u32 one:1;
|
__u16 m:1;
|
||||||
__u32 sch_no:16;
|
__u16 ssid:2;
|
||||||
|
__u16 one:1;
|
||||||
|
};
|
||||||
|
__u16 sch_id;
|
||||||
|
};
|
||||||
|
__u16 sch_no;
|
||||||
} __attribute__ ((packed, aligned(4))) SubChannelId;
|
} __attribute__ ((packed, aligned(4))) SubChannelId;
|
||||||
|
|
||||||
struct chsc_header {
|
struct chsc_header {
|
||||||
|
|
|
@ -36,11 +36,9 @@ LowCore *lowcore; /* Yes, this *is* a pointer to address 0 */
|
||||||
*/
|
*/
|
||||||
void write_subsystem_identification(void)
|
void write_subsystem_identification(void)
|
||||||
{
|
{
|
||||||
SubChannelId *schid = (SubChannelId *) 184;
|
lowcore->subchannel_id = blk_schid.sch_id;
|
||||||
uint32_t *zeroes = (uint32_t *) 188;
|
lowcore->subchannel_nr = blk_schid.sch_no;
|
||||||
|
lowcore->io_int_parm = 0;
|
||||||
*schid = blk_schid;
|
|
||||||
*zeroes = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void write_iplb_location(void)
|
void write_iplb_location(void)
|
||||||
|
|
Loading…
Reference in New Issue