M installer/installer/cpio.c +1 -4
@@ 136,10 136,7 @@ static void readcard(u8 *buf)
ccw.count = 80;
ccw.addr = ADDR31(buf);
- ORB.param = 0x12345678,
- ORB.f = 1,
- ORB.lpm = 0xff,
- ORB.addr = ADDR31(&ccw);
+ orb.addr = ADDR31(&ccw);
ret = __do_io(ipl_sch);
if (ret == 0x01) {
M installer/installer/loader.h +1 -2
@@ 25,6 25,7 @@
#include <errno.h>
#include <channel.h>
+#include <sastart.h>
/*
* "Config" values
@@ 67,8 68,6 @@ extern void IOHANDLER();
extern void load_nucleus(void);
-extern struct orb ORB;
-
extern u64 ipl_sch;
extern u64 con_sch;
extern u64 dasd_sch;
M installer/installer/loader_asm.s +2 -25
@@ 37,7 37,7 @@
LA %r2,0xfff # error return code
- LARL %r4,ORB
+ LARL %r4,orb
SSCH 0(%r4) # issue IO
BCR 7, %r14 # return on error
@@ 59,7 59,7 @@ IOHANDLER:
LLGF %r1,0xb8 # load subsystem ID
- LARL %r4,IRB
+ LARL %r4,irb
TSCH 0(%r4)
# check the Channel Status for != 0
@@ 206,29 206,6 @@ WAITPSW:
# 33-63 0 <zero>
# 64-127 addr Instruction Address Address to exec
-.globl IRB
-IRB:
- .8byte 0x00
- .8byte 0x00
- .8byte 0x00
- .8byte 0x00
- .8byte 0x00
- .8byte 0x00
- .8byte 0x00
- .8byte 0x00
- .8byte 0x00
- .8byte 0x00
- .8byte 0x00
- .8byte 0x00
-
- .align 4
-.globl ORB
-ORB:
- .8byte 0x00
- .8byte 0x00
- .8byte 0x00
- .8byte 0x00
-
.globl MAGICVAL
MAGICVAL:
.4byte 0x12345678
M installer/installer/loader_c.c +4 -15
@@ 29,8 29,6 @@
static unsigned char seek_data[6];
static unsigned char search_data[5];
-extern struct orb ORB;
-
static u64 pgm_new_psw_diswait[2] = {
0x0002000180000000ULL, 0,
};
@@ 60,7 58,7 @@ void __readwrite_blk(void *ptr, u32 lba,
r = (lba % RECORDS_PER_CYL) % RECORDS_PER_TRACK;
r++;
- ORB.addr = ADDR31(ccw);
+ orb.addr = ADDR31(ccw);
/* SEEK */
ccw[0].cmd = 0x07;
@@ 117,10 115,7 @@ static int dev_dasd(void)
ccw.count = sizeof(struct senseid_struct);
ccw.addr = ADDR31(&id);
- ORB.param = 0x12345678,
- ORB.f = 1,
- ORB.lpm = 0xff,
- ORB.addr = ADDR31(&ccw);
+ orb.addr = ADDR31(&ccw);
ret = __do_io(dasd_sch);
if (ret)
@@ 209,10 204,7 @@ void wto(char *str)
ccw.count = strlen(str);
ccw.addr = ADDR31(buf);
- ORB.param = 0x12345678,
- ORB.f = 1,
- ORB.lpm = 0xff,
- ORB.addr = ADDR31(&ccw);
+ orb.addr = ADDR31(&ccw);
ret = __do_io(con_sch);
if (ret)
@@ 235,10 227,7 @@ void wtor(char *str, char *inp, int bufl
ccw.count = buflen;
ccw.addr = ADDR31(inp);
- ORB.param = 0x12345678,
- ORB.f = 1,
- ORB.lpm = 0xff,
- ORB.addr = ADDR31(&ccw);
+ orb.addr = ADDR31(&ccw);
ret = __do_io(con_sch);
if (ret)