On 2/7/20 6:28 AM, Christian Borntraeger wrote:
Jason,
can you run objdump -Sdr on jump2ipl.o on a broken variant?
To keep the volume lower, I've only pasted the output that I think
you're interested in. If you want to see the entire thing just let me know.
static void jump_to_IPL_2(void)
{
1d0: eb bf f0 58 00 24 stmg %r11,%r15,88(%r15)
1d6: a7 fb ff 50 aghi %r15,-176
1da: b9 04 00 bf lgr %r11,%r15
ResetInfo *current = 0;
1de: a7 19 00 00 lghi %r1,0
1e2: e3 10 b0 a8 00 24 stg %r1,168(%r11)
void (*ipl)(void) = (void *) (uint64_t) current->ipl_continue;
1e8: e3 10 b0 a8 00 04 lg %r1,168(%r11)
1ee: 58 10 10 08 l %r1,8(%r1)
1f2: b9 16 00 11 llgfr %r1,%r1
1f6: e3 10 b0 a0 00 24 stg %r1,160(%r11)
*current = save;
1fc: e3 10 b0 a8 00 04 lg %r1,168(%r11)
202: c0 20 00 00 00 00 larl %r2,202 <jump_to_IPL_2+0x32>
204: R_390_PC32DBL .bss+0x2
208: eb 23 20 00 00 04 lmg %r2,%r3,0(%r2)
20e: eb 23 10 00 00 24 stmg %r2,%r3,0(%r1)
ipl(); /* should not return */
214: e3 10 b0 a0 00 04 lg %r1,160(%r11)
21a: 0d e1 basr %r14,%r1
}
21c: 18 00 lr %r0,%r0
21e: eb bf b1 08 00 04 lmg %r11,%r15,264(%r11)
224: 07 fe br %r14
226: 07 07 nopr %r7