# HG changeset patch # User Josef 'Jeff' Sipek # Date 1565114916 14400 # Tue Aug 06 14:08:36 2019 -0400 # Node ID cb71547d7723d3069939a0bdaaa5326d9406c2d1 # Parent 8efd177e5dd04a77a3489b34659ed788b69b028e installer: use sastart's ORB & IRB structs Signed-off-by: Josef 'Jeff' Sipek diff --git a/installer/installer/cpio.c b/installer/installer/cpio.c --- a/installer/installer/cpio.c +++ b/installer/installer/cpio.c @@ -136,10 +136,7 @@ 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) { diff --git a/installer/installer/loader.h b/installer/installer/loader.h --- a/installer/installer/loader.h +++ b/installer/installer/loader.h @@ -25,6 +25,7 @@ #include #include +#include /* * "Config" values @@ -67,8 +68,6 @@ extern void load_nucleus(void); -extern struct orb ORB; - extern u64 ipl_sch; extern u64 con_sch; extern u64 dasd_sch; diff --git a/installer/installer/loader_asm.s b/installer/installer/loader_asm.s --- a/installer/installer/loader_asm.s +++ b/installer/installer/loader_asm.s @@ -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 @@ 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 @@ # 33-63 0 # 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 diff --git a/installer/installer/loader_c.c b/installer/installer/loader_c.c --- a/installer/installer/loader_c.c +++ b/installer/installer/loader_c.c @@ -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 @@ 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 @@ 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 @@ 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 @@ 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)