File tree Expand file tree Collapse file tree 2 files changed +14
-11
lines changed Expand file tree Collapse file tree 2 files changed +14
-11
lines changed Original file line number Diff line number Diff line change @@ -122,12 +122,17 @@ typedef struct schib {
122
122
} __attribute__ ((packed , aligned (4 ))) Schib ;
123
123
124
124
typedef struct subchannel_id {
125
- __u32 cssid :8 ;
126
- __u32 :4 ;
127
- __u32 m :1 ;
128
- __u32 ssid :2 ;
129
- __u32 one :1 ;
130
- __u32 sch_no :16 ;
125
+ union {
126
+ struct {
127
+ __u16 cssid :8 ;
128
+ __u16 reserved :4 ;
129
+ __u16 m :1 ;
130
+ __u16 ssid :2 ;
131
+ __u16 one :1 ;
132
+ };
133
+ __u16 sch_id ;
134
+ };
135
+ __u16 sch_no ;
131
136
} __attribute__ ((packed , aligned (4 ))) SubChannelId ;
132
137
133
138
struct chsc_header {
Original file line number Diff line number Diff line change @@ -36,11 +36,9 @@ LowCore *lowcore; /* Yes, this *is* a pointer to address 0 */
36
36
*/
37
37
void write_subsystem_identification (void )
38
38
{
39
- SubChannelId * schid = (SubChannelId * ) 184 ;
40
- uint32_t * zeroes = (uint32_t * ) 188 ;
41
-
42
- * schid = blk_schid ;
43
- * zeroes = 0 ;
39
+ lowcore -> subchannel_id = blk_schid .sch_id ;
40
+ lowcore -> subchannel_nr = blk_schid .sch_no ;
41
+ lowcore -> io_int_parm = 0 ;
44
42
}
45
43
46
44
void write_iplb_location (void )
You can’t perform that action at this time.
0 commit comments