[Suggestion] powerpc: xmon: about 'longjmp' related warning.

Chen Gang gang.chen at asianux.com
Fri Jul 26 21:47:45 EST 2013


On 07/26/2013 07:45 PM, Chen Gang wrote:
> Hello Maintainers:
> 
> This reply is the analyzing result for the warning:
> 
>   arch/powerpc/xmon/xmon.c:352:48: warning: argument ‘fromipi’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Wclobbered]
> 
> I assume: for CONFIG_SMP, the thread within the function can not switch
> to another cpus (between local_irq_save and local_irq_restore). If my
> assumption is incorrect, please tell me, thanks.
> 
> If my assumption is correct, the source code for setjmp() and longjmp()
> looks OK to me: they are for checking recurse call, if it finds, it will
> jump to outside with the jump buffer which lay on the stack.
> 
> For the related warning about 'fromipi' and 'longjmp', it is issue:
> 'fromipi' is saved in stack '680(r1)'.
> 

OH, sorry typo mistake: need use "it is no issue" instead of "it is issue".

> The details may be a little complex by compiler's optimization, and
> 'fromipi' has 3 areas which each is optimized much, need read related
> reconstructed code to understand (at least for me, these optimization
> are correct).
> 
> And the disassembly code below is really a little longer, but they are
> still simple enough for understanding (I have given some comments for
> them, but not quite in details).
> 
> 
> Welcome any additional suggestions or completions.
> 
> Thanks.
> 
> 
> 
> The related source code (!CONFIG_BOOKE, CONFIG_SMP):
> 
>  352 static int xmon_core(struct pt_regs *regs, int fromipi)
>  353 {
>  354         int cmd = 0;
>  355         struct bpt *bp;
>  356         long recurse_jmp[JMP_BUF_LEN];
>  357         unsigned long offset;
>  358         unsigned long flags;
>  359 #ifdef CONFIG_SMP
>  360         int cpu;
>  361         int secondary;
>  362         unsigned long timeout;
>  363 #endif
>  364 
>  365         local_irq_save(flags);
>  366 
>  367         bp = in_breakpoint_table(regs->nip, &offset);
>  368         if (bp != NULL) {
>  369                 regs->nip = bp->address + offset;
>  370                 atomic_dec(&bp->ref_count);
>  371         }
>  372 
>  373         remove_cpu_bpts();
>  374 
>  375 #ifdef CONFIG_SMP
>  376         cpu = smp_processor_id();
>  377         if (cpumask_test_cpu(cpu, &cpus_in_xmon)) {
>  378                 get_output_lock();
>  379                 excprint(regs);
>  380                 printf("cpu 0x%x: Exception %lx %s in xmon, "
>  381                        "returning to main loop\n",
>  382                        cpu, regs->trap, getvecname(TRAP(regs)));
>  383                 release_output_lock();
>  384                 longjmp(xmon_fault_jmp[cpu], 1);
>  385         }
>  386 
>  387         if (setjmp(recurse_jmp) != 0) {
>  388                 if (!in_xmon || !xmon_gate) {
>  389                         get_output_lock();
>  390                         printf("xmon: WARNING: bad recursive fault "
>  391                                "on cpu 0x%x\n", cpu);
>  392                         release_output_lock();
>  393                         goto waiting;
>  394                 }
>  395                 secondary = !(xmon_taken && cpu == xmon_owner);
>  396                 goto cmdloop;
>  397         }
>  398 
>  399         xmon_fault_jmp[cpu] = recurse_jmp;
>  400         cpumask_set_cpu(cpu, &cpus_in_xmon);
>  401 
>  402         bp = NULL;
>  403         if ((regs->msr & (MSR_IR|MSR_PR|MSR_64BIT)) == (MSR_IR|MSR_64BIT))
>  404                 bp = at_breakpoint(regs->nip);
>  405         if (bp || unrecoverable_excp(regs))
>  406                 fromipi = 0;
>  407 
>  408         if (!fromipi) {
>  409                 get_output_lock();
>  410                 excprint(regs);
>  411                 if (bp) {
>  412                         printf("cpu 0x%x stopped at breakpoint 0x%x (",
>  413                                cpu, BP_NUM(bp));
>  414                         xmon_print_symbol(regs->nip, " ", ")\n");
>  415                 }
>  416                 if (unrecoverable_excp(regs))
>  417                         printf("WARNING: exception is not recoverable, "
>  418                                "can't continue\n");
>  419                 release_output_lock();
>  420         }
>  421 
>  422  waiting:
>  423         secondary = 1;
>  424         while (secondary && !xmon_gate) {
>  425                 if (in_xmon == 0) {
>  426                         if (fromipi)
>  427                                 goto leave;
>  428                         secondary = test_and_set_bit(0, &in_xmon);
>  429                 }
>  430                 barrier();
>  431         }
>  432 
>  433         if (!secondary && !xmon_gate) {
>  434                 /* we are the first cpu to come in */
>  435                 /* interrupt other cpu(s) */
>  436                 int ncpus = num_online_cpus();
>  437 
>  438                 xmon_owner = cpu;
>  439                 mb();
>  440                 if (ncpus > 1) {
>  441                         smp_send_debugger_break();
>  442                         /* wait for other cpus to come in */
>  443                         for (timeout = 100000000; timeout != 0; --timeout) {
>  444                                 if (cpumask_weight(&cpus_in_xmon) >= ncpus)
>  445                                         break;
>  446                                 barrier();
>  447                         }
>  448                 }
>  449                 remove_bpts();
>  450                 disable_surveillance();
>  451                 /* for breakpoint or single step, print the current instr. */
>  452                 if (bp || TRAP(regs) == 0xd00)
>  453                         ppc_inst_dump(regs->nip, 1, 0);
>  454                 printf("enter ? for help\n");
>  455                 mb();
>  456                 xmon_gate = 1;
>  457                 barrier();
>  458         }
>  459 
>  460  cmdloop:
>  461         while (in_xmon) {
>  462                 if (secondary) {
>  463                         if (cpu == xmon_owner) {
>  464                                 if (!test_and_set_bit(0, &xmon_taken)) {
>  465                                         secondary = 0;
>  466                                         continue;
>  467                                 }
>  468                                 /* missed it */
>  469                                 while (cpu == xmon_owner)
>  470                                         barrier();
>  471                         }
>  472                         barrier();
>  473                 } else {
>  474                         cmd = cmds(regs);
>  475                         if (cmd != 0) {
>  476                                 /* exiting xmon */
>  477                                 insert_bpts();
>  478                                 xmon_gate = 0;
>  479                                 wmb();
>  480                                 in_xmon = 0;
>  481                                 break;
>  482                         }
>  483                         /* have switched to some other cpu */
>  484                         secondary = 1;
>  485                 }
>  486         }
>  487  leave:
>  488         cpumask_clear_cpu(cpu, &cpus_in_xmon);
>  489         xmon_fault_jmp[cpu] = NULL;
>  490 #else
>  491         /* UP is simple... */
>  492         if (in_xmon) {
>  493                 printf("Exception %lx %s in xmon, returning to main loop\n",
>  494                        regs->trap, getvecname(TRAP(regs)));
>  495                 longjmp(xmon_fault_jmp[0], 1);
>  496         }
>  497         if (setjmp(recurse_jmp) == 0) {
>  498                 xmon_fault_jmp[0] = recurse_jmp;
>  499                 in_xmon = 1;
>  500 
>  501                 excprint(regs);
>  502                 bp = at_breakpoint(regs->nip);
>  503                 if (bp) {
>  504                         printf("Stopped at breakpoint %x (", BP_NUM(bp));
>  505                         xmon_print_symbol(regs->nip, " ", ")\n");
>  506                 }
>  507                 if (unrecoverable_excp(regs))
>  508                         printf("WARNING: exception is not recoverable, "
>  509                                "can't continue\n");
>  510                 remove_bpts();
>  511                 disable_surveillance();
>  512                 /* for breakpoint or single step, print the current instr. */
>  513                 if (bp || TRAP(regs) == 0xd00)
>  514                         ppc_inst_dump(regs->nip, 1, 0);
>  515                 printf("enter ? for help\n");
>  516         }
>  517 
>  518         cmd = cmds(regs);
>  519 
>  520         insert_bpts();
>  521         in_xmon = 0;
>  522 #endif
>  523 
>  524 #ifdef CONFIG_BOOKE
>  525         if (regs->msr & MSR_DE) {
>  526                 bp = at_breakpoint(regs->nip);
>  527                 if (bp != NULL) {
>  528                         regs->nip = (unsigned long) &bp->instr[0];
>  529                         atomic_inc(&bp->ref_count);
>  530                 }
>  531         }
>  532 #else
>  533         if ((regs->msr & (MSR_IR|MSR_PR|MSR_64BIT)) == (MSR_IR|MSR_64BIT)) {
>  534                 bp = at_breakpoint(regs->nip);
>  535                 if (bp != NULL) {
>  536                         int stepped = emulate_step(regs, bp->instr[0]);
>  537                         if (stepped == 0) {
>  538                                 regs->nip = (unsigned long) &bp->instr[0];
>  539                                 atomic_inc(&bp->ref_count);
>  540                         } else if (stepped < 0) {
>  541                                 printf("Couldn't single-step %s instruction\n",
>  542                                     (IS_RFID(bp->instr[0])? "rfid": "mtmsrd"));
>  543                         }
>  544                 }
>  545         }
>  546 #endif
>  547         insert_cpu_bpts();
>  548 
>  549         local_irq_restore(flags);
>  550 
>  551         return cmd != 'X' && cmd != EOF;
>  552 }
> 
> 
> The related disassembly code:
> 
>   "make ARCH=powerpc EXTRA_CFLAGS=-W"
>   "powerpc64-linux-gnu-objdump -d vmlinux.o > vmlinux.S"
>   "gcc version 4.7.1 20120606 (Red Hat 4.7.1-0.1.20120606) (GCC)"
>   "GNU objdump version 2.23.51.0.3-1.fc16 20120918"
> 
> 
> c0000000000804b0 <.xmon_core>:
> c0000000000804b0:	7c 08 02 a6 	mflr    r0
> c0000000000804b4:	f9 c1 ff 70 	std     r14,-144(r1)
> c0000000000804b8:	f9 e1 ff 78 	std     r15,-136(r1)
> c0000000000804bc:	fa 01 ff 80 	std     r16,-128(r1)
> c0000000000804c0:	fa 21 ff 88 	std     r17,-120(r1)
> c0000000000804c4:	fa 41 ff 90 	std     r18,-112(r1)
> c0000000000804c8:	fa 61 ff 98 	std     r19,-104(r1)
> c0000000000804cc:	fa 81 ff a0 	std     r20,-96(r1)
> c0000000000804d0:	fa a1 ff a8 	std     r21,-88(r1)
> c0000000000804d4:	fa c1 ff b0 	std     r22,-80(r1)
> c0000000000804d8:	f8 01 00 10 	std     r0,16(r1)
> c0000000000804dc:	fa e1 ff b8 	std     r23,-72(r1)
> c0000000000804e0:	fb 01 ff c0 	std     r24,-64(r1)
> c0000000000804e4:	fb 21 ff c8 	std     r25,-56(r1)
> c0000000000804e8:	fb 41 ff d0 	std     r26,-48(r1)
> c0000000000804ec:	fb 61 ff d8 	std     r27,-40(r1)
> c0000000000804f0:	fb 81 ff e0 	std     r28,-32(r1)
> c0000000000804f4:	fb a1 ff e8 	std     r29,-24(r1)
> c0000000000804f8:	fb c1 ff f0 	std     r30,-16(r1)
> c0000000000804fc:	fb e1 ff f8 	std     r31,-8(r1)
> c000000000080500:	f8 21 fd 91 	stdu    r1,-624(r1)
> c000000000080504:	f8 61 02 a0 	std     r3,672(r1)		; 672(r1) = parameter regs
> c000000000080508:	f8 81 02 a8 	std     r4,680(r1)		; 680(r1) = parameter fromipi
> 
> c00000000008050c:	39 20 00 00 	li      r9,0
> c000000000080510:	88 cd 02 72 	lbz     r6,626(r13)
> c000000000080514:	99 2d 02 72 	stb     r9,626(r13)
> c000000000080518:	3d 22 00 0f 	addis   r9,r2,15
> c00000000008051c:	39 00 00 00 	li      r8,0
> c000000000080520:	39 29 3e 10 	addi    r9,r9,15888
> c000000000080524:	f8 c1 01 a8 	std     r6,424(r1)
> c000000000080528:	39 29 00 08 	addi    r9,r9,8
> c00000000008052c:	f9 01 01 70 	std     r8,368(r1)
> c000000000080530:	e8 e1 02 a0 	ld      r7,672(r1)
> c000000000080534:	e9 47 01 00 	ld      r10,256(r7)
> c000000000080538:	7d 29 50 50 	subf    r9,r9,r10
> c00000000008053c:	2b a9 1f ff 	cmpldi  cr7,r9,8191
> c000000000080540:	41 9d 00 20 	bgt-    cr7,c000000000080560 <.xmon_core+0xb0>
> c000000000080544:	79 29 06 e0 	clrldi  r9,r9,59
> c000000000080548:	2f a9 00 08 	cmpdi   cr7,r9,8
> c00000000008054c:	41 9e 03 f4 	beq-    cr7,c000000000080940 <.xmon_core+0x490>
> c000000000080550:	2f a9 00 0c 	cmpdi   cr7,r9,12
> c000000000080554:	41 9e 03 ec 	beq-    cr7,c000000000080940 <.xmon_core+0x490>
> c000000000080558:	60 00 00 00 	nop
> c00000000008055c:	60 00 00 00 	nop
> 
> /* 	remove_cpu_bpts() */
> c000000000080560:	39 20 00 00 	li      r9,0
> c000000000080564:	38 61 00 70 	addi    r3,r1,112
> c000000000080568:	f9 21 00 70 	std     r9,112(r1)
> c00000000008056c:	b1 21 00 78 	sth     r9,120(r1)
> c000000000080570:	b1 21 00 7a 	sth     r9,122(r1)
> c000000000080574:	4b f9 3a 0d 	bl      c000000000013f80 <.set_breakpoint>
> c000000000080578:	60 00 00 00 	nop
> c00000000008057c:	3d 22 00 0b 	addis   r9,r2,11
> c000000000080580:	39 29 69 18 	addi    r9,r9,26904
> c000000000080584:	e9 29 00 00 	ld      r9,0(r9)
> c000000000080588:	e9 29 00 10 	ld      r9,16(r9)
> c00000000008058c:	79 28 e7 e1 	rldicl. r8,r9,28,63
> c000000000080590:	41 82 00 0c 	beq-    c00000000008059c <.xmon_core+0xec>
> c000000000080594:	39 20 00 00 	li      r9,0
> c000000000080598:	7d 32 fb a6 	mtspr   1010,r9
> 
> /* 	cpu = smp_processor_id(); */
> /*	if (cpumask_test_cpu(cpu, &cpus_in_xmon)) { */
> c00000000008059c:	a1 2d 00 0a 	lhz     r9,10(r13)
> c0000000000805a0:	3f e2 00 0f 	addis   r31,r2,15
> c0000000000805a4:	3b df 3e 10 	addi    r30,r31,15888
> c0000000000805a8:	7d 2a 07 b4 	extsw   r10,r9
> c0000000000805ac:	39 1e 24 e8 	addi    r8,r30,9448
> c0000000000805b0:	79 46 d1 82 	rldicl  r6,r10,58,6
> c0000000000805b4:	f9 41 01 78 	std     r10,376(r1)
> c0000000000805b8:	78 ca 1f 24 	rldicr  r10,r6,3,60
> c0000000000805bc:	55 27 06 be 	clrlwi  r7,r9,26
> c0000000000805c0:	7d 48 50 2a 	ldx     r10,r8,r10
> c0000000000805c4:	f8 c1 01 88 	std     r6,392(r1)
> c0000000000805c8:	90 e1 01 90 	stw     r7,400(r1)
> c0000000000805cc:	7d 49 3c 36 	srd     r9,r10,r7
> c0000000000805d0:	79 28 07 e1 	clrldi. r8,r9,63
> c0000000000805d4:	40 82 2a 6c 	bne-    c000000000083040 <.xmon_core+0x2b90>	; cpumask_test_cpu(cpu, &cpus_in_xmon) == true
> 
> /*
>  387         if (setjmp(recurse_jmp) != 0) {
>  388                 if (!in_xmon || !xmon_gate) {
>  389                         get_output_lock();
>  390                         printf("xmon: WARNING: bad recursive fault "
>  391                                "on cpu 0x%x\n", cpu);
>  392                         release_output_lock();
>  393                         goto waiting;
>  394                 }
>  395                 secondary = !(xmon_taken && cpu == xmon_owner);
>  396                 goto cmdloop;
>  397         }
> */
> c0000000000805d8:	38 61 00 70 	addi    r3,r1,112
> c0000000000805dc:	4b fa 10 15 	bl      c0000000000215f0 <.setjmp>
> c0000000000805e0:	60 00 00 00 	nop
> c0000000000805e4:	2f a3 00 00 	cmpdi   cr7,r3,0
> c0000000000805e8:	41 9e 02 b8 	beq-    cr7,c0000000000808a0 <.xmon_core+0x3f0>a
> c0000000000805ec:	3d 22 00 09 	addis   r9,r2,9
> c0000000000805f0:	e9 29 2f 00 	ld      r9,12032(r9)
> c0000000000805f4:	2f a9 00 00 	cmpdi   cr7,r9,0
> c0000000000805f8:	41 9e 00 18 	beq-    cr7,c000000000080610 <.xmon_core+0x160>
> c0000000000805fc:	3d 42 00 0f 	addis   r10,r2,15
> c000000000080600:	39 4a 3e 10 	addi    r10,r10,15888
> c000000000080604:	81 0a 66 50 	lwz     r8,26192(r10)
> c000000000080608:	2f 88 00 00 	cmpwi   cr7,r8,0
> c00000000008060c:	40 9e 22 b0 	bne-    cr7,c0000000000828bc <.xmon_core+0x240c>
> c000000000080610:	4b ff b2 51 	bl      c00000000007b860 <.get_output_lock>
> c000000000080614:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000080618:	e8 81 01 78 	ld      r4,376(r1)		; 376(r1) = cpu
> c00000000008061c:	38 63 8a e8 	addi    r3,r3,-29976
> c000000000080620:	48 00 32 21 	bl      c000000000083840 <.xmon_printf>
> c000000000080624:	60 00 00 00 	nop
> c000000000080628:	3d 22 00 0f 	addis   r9,r2,15
> c00000000008062c:	39 40 00 00 	li      r10,0
> c000000000080630:	80 c1 01 90 	lwz     r6,400(r1)
> c000000000080634:	91 49 3e 10 	stw     r10,15888(r9)
> c000000000080638:	39 20 00 01 	li      r9,1
> c00000000008063c:	7d 29 30 36 	sld     r9,r9,r6
> c000000000080640:	f9 21 01 80 	std     r9,384(r1)
> 
> /*
>  426                         if (fromipi)
>  427                                 goto leave;
> */
> c000000000080644:	e9 21 02 a8 	ld      r9,680(r1)
> c000000000080648:	3d 42 00 09 	addis   r10,r2,9
> c00000000008064c:	3c e2 00 0f 	addis   r7,r2,15
> c000000000080650:	39 4a 2f 00 	addi    r10,r10,12032
> c000000000080654:	39 00 00 01 	li      r8,1
> c000000000080658:	2f 29 00 00 	cmpdi   cr6,r9,0
> c00000000008065c:	48 00 00 2c 	b       c000000000080688 <.xmon_core+0x1d8>
> 
> 
> c000000000080660:	40 9a 00 ec 	bne-    cr6,c00000000008074c <.xmon_core+0x29c>
> c000000000080664:	7c 20 04 ac 	lwsync
> c000000000080668:	7f 80 50 a8 	ldarx   r28,0,r10
> c00000000008066c:	7f 89 43 78 	or      r9,r28,r8
> c000000000080670:	7d 20 51 ad 	stdcx.  r9,0,r10
> c000000000080674:	40 a2 ff f4 	bne-    c000000000080668 <.xmon_core+0x1b8>
> c000000000080678:	7c 00 04 ac 	sync    
> c00000000008067c:	7b 9c 07 e0 	clrldi  r28,r28,63
> c000000000080680:	2f bc 00 00 	cmpdi   cr7,r28,0
> c000000000080684:	41 9e 00 2c 	beq-    cr7,c0000000000806b0 <.xmon_core+0x200>
> c000000000080688:	39 27 3e 10 	addi    r9,r7,15888
> c00000000008068c:	81 29 66 50 	lwz     r9,26192(r9)
> c000000000080690:	2f 89 00 00 	cmpwi   cr7,r9,0
> c000000000080694:	40 9e 20 0c 	bne-    cr7,c0000000000826a0 <.xmon_core+0x21f0>
> c000000000080698:	e9 2a 00 00 	ld      r9,0(r10)
> c00000000008069c:	2f a9 00 00 	cmpdi   cr7,r9,0
> c0000000000806a0:	41 9e ff c0 	beq+    cr7,c000000000080660 <.xmon_core+0x1b0>
> c0000000000806a4:	7d 1c 43 78 	mr      r28,r8
> c0000000000806a8:	2f bc 00 00 	cmpdi   cr7,r28,0
> c0000000000806ac:	40 9e ff dc 	bne+    cr7,c000000000080688 <.xmon_core+0x1d8>
> c0000000000806b0:	3f a2 00 0f 	addis   r29,r2,15
> c0000000000806b4:	3b bd 3e 10 	addi    r29,r29,15888
> c0000000000806b8:	81 3d 66 50 	lwz     r9,26192(r29)
> c0000000000806bc:	2f 89 00 00 	cmpwi   cr7,r9,0
> c0000000000806c0:	41 9e 25 c8 	beq-    cr7,c000000000082c88 <.xmon_core+0x27d8>
> c0000000000806c4:	3d 22 00 09 	addis   r9,r2,9
> c0000000000806c8:	e9 29 2f 00 	ld      r9,12032(r9)
> 
> c0000000000806cc:	2f a9 00 00 	cmpdi   cr7,r9,0
> c0000000000806d0:	3c c2 ff d4 	addis   r6,r2,-44
> c0000000000806d4:	eb 61 01 78 	ld      r27,376(r1)
> c0000000000806d8:	3c e2 ff d4 	addis   r7,r2,-44
> c0000000000806dc:	3d 02 ff d4 	addis   r8,r2,-44
> c0000000000806e0:	3d 42 ff d4 	addis   r10,r2,-44
> c0000000000806e4:	39 e7 99 68 	addi    r15,r7,-26264
> c0000000000806e8:	3a 28 99 70 	addi    r17,r8,-26256
> c0000000000806ec:	3f a2 ff d4 	addis   r29,r2,-44
> c0000000000806f0:	3f c2 ff d4 	addis   r30,r2,-44
> c0000000000806f4:	38 c6 99 50 	addi    r6,r6,-26288
> c0000000000806f8:	39 4a 99 30 	addi    r10,r10,-26320
> c0000000000806fc:	fa 21 01 a0 	std     r17,416(r1)
> c000000000080700:	3f e2 00 0f 	addis   r31,r2,15
> c000000000080704:	7d f1 7b 78 	mr      r17,r15
> c000000000080708:	e9 e1 02 a0 	ld      r15,672(r1)
> c00000000008070c:	3b bd 8b b8 	addi    r29,r29,-29768
> c000000000080710:	3b de 8b c0 	addi    r30,r30,-29760
> c000000000080714:	f8 c1 01 98 	std     r6,408(r1)
> c000000000080718:	f9 41 01 b0 	std     r10,432(r1)
> c00000000008071c:	41 9e 00 30 	beq-    cr7,c00000000008074c <.xmon_core+0x29c>
> c000000000080720:	2f bc 00 00 	cmpdi   cr7,r28,0
> c000000000080724:	39 3f 3e 10 	addi    r9,r31,15888
> c000000000080728:	41 9e 02 c8 	beq-    cr7,c0000000000809f0 <.xmon_core+0x540>
> c00000000008072c:	81 49 66 54 	lwz     r10,26196(r9)
> c000000000080730:	7f 8a d8 00 	cmpw    cr7,r10,r27
> c000000000080734:	41 9e 02 5c 	beq-    cr7,c000000000080990 <.xmon_core+0x4e0>
> c000000000080738:	3b 80 00 01 	li      r28,1
> c00000000008073c:	3d 22 00 09 	addis   r9,r2,9
> c000000000080740:	e9 29 2f 00 	ld      r9,12032(r9)
> c000000000080744:	2f a9 00 00 	cmpdi   cr7,r9,0
> c000000000080748:	40 9e ff d8 	bne+    cr7,c000000000080720 <.xmon_core+0x270>
> 
> /*
>  487  leave:
>  488         cpumask_clear_cpu(cpu, &cpus_in_xmon);
>  489         xmon_fault_jmp[cpu] = NULL;
> */
> c00000000008074c:	3b 80 00 00 	li      r28,0
> c000000000080750:	e8 c1 01 88 	ld      r6,392(r1)
> c000000000080754:	3d 42 00 0f 	addis   r10,r2,15
> c000000000080758:	e8 e1 01 80 	ld      r7,384(r1)
> c00000000008075c:	39 4a 3e 10 	addi    r10,r10,15888
> c000000000080760:	39 0a 24 e8 	addi    r8,r10,9448
> c000000000080764:	78 c9 1f 24 	rldicr  r9,r6,3,60
> c000000000080768:	7d 28 4a 14 	add     r9,r8,r9
> c00000000008076c:	7d 00 48 a8 	ldarx   r8,0,r9
> c000000000080770:	7d 08 38 78 	andc    r8,r8,r7
> c000000000080774:	7d 00 49 ad 	stdcx.  r8,0,r9
> c000000000080778:	40 a2 ff f4 	bne-    c00000000008076c <.xmon_core+0x2bc>
> c00000000008077c:	e9 21 02 a0 	ld      r9,672(r1)
> c000000000080780:	3d 00 80 00 	lis     r8,-32768
> c000000000080784:	e8 c1 01 78 	ld      r6,376(r1)
> c000000000080788:	79 08 07 c6 	rldicr  r8,r8,32,31
> c00000000008078c:	e8 e9 01 08 	ld      r7,264(r9)
> c000000000080790:	3d 20 80 00 	lis     r9,-32768
> c000000000080794:	61 08 40 20 	ori     r8,r8,16416
> c000000000080798:	79 29 07 c6 	rldicr  r9,r9,32,31
> c00000000008079c:	7c e8 40 38 	and     r8,r7,r8
> c0000000000807a0:	61 29 00 20 	ori     r9,r9,32
> c0000000000807a4:	7f a8 48 00 	cmpd    cr7,r8,r9
> c0000000000807a8:	78 c7 1f 24 	rldicr  r7,r6,3,60
> c0000000000807ac:	7c ea 3a 14 	add     r7,r10,r7
> c0000000000807b0:	38 c0 00 00 	li      r6,0
> c0000000000807b4:	f8 c7 26 50 	std     r6,9808(r7)		; xmon_fault_jmp[cpu] = NULL;
> 
> /*
>  533         if ((regs->msr & (MSR_IR|MSR_PR|MSR_64BIT)) == (MSR_IR|MSR_64BIT)) {
> */
> c0000000000807b8:	41 9e 1f 34 	beq-    cr7,c0000000000826ec <.xmon_core+0x223c>
> /*
>  547         insert_cpu_bpts();
> */
> c0000000000807bc:	3d 42 00 0f 	addis   r10,r2,15
> c0000000000807c0:	39 4a 3e 10 	addi    r10,r10,15888
> c0000000000807c4:	81 2a 66 fc 	lwz     r9,26364(r10)
> c0000000000807c8:	2f 89 00 00 	cmpwi   cr7,r9,0
> c0000000000807cc:	40 9e 1e f4 	bne-    cr7,c0000000000826c0 <.xmon_core+0x2210>
> c0000000000807d0:	3d 22 00 0f 	addis   r9,r2,15
> c0000000000807d4:	39 29 3e 10 	addi    r9,r9,15888
> c0000000000807d8:	e9 29 67 08 	ld      r9,26376(r9)
> c0000000000807dc:	2f a9 00 00 	cmpdi   cr7,r9,0
> c0000000000807e0:	41 9e 00 30 	beq-    cr7,c000000000080810 <.xmon_core+0x360>
> c0000000000807e4:	3d 42 00 0b 	addis   r10,r2,11
> c0000000000807e8:	39 4a 69 18 	addi    r10,r10,26904
> c0000000000807ec:	e9 4a 00 00 	ld      r10,0(r10)
> c0000000000807f0:	e9 4a 00 10 	ld      r10,16(r10)
> c0000000000807f4:	79 46 e7 e1 	rldicl. r6,r10,28,63
> c0000000000807f8:	41 82 00 18 	beq-    c000000000080810 <.xmon_core+0x360>
> c0000000000807fc:	81 49 00 14 	lwz     r10,20(r9)
> c000000000080800:	e9 29 00 00 	ld      r9,0(r9)
> c000000000080804:	79 4a 07 a0 	clrldi  r10,r10,62
> c000000000080808:	7d 49 4b 78 	or      r9,r10,r9
> c00000000008080c:	7d 32 fb a6 	mtspr   1010,r9
> 
> /*
>  549         local_irq_restore(flags);
> */
> c000000000080810:	e8 e1 01 a8 	ld      r7,424(r1)
> c000000000080814:	2f a7 00 00 	cmpdi   cr7,r7,0
> c000000000080818:	40 9e 01 60 	bne-    cr7,c000000000080978 <.xmon_core+0x4c8>
> c00000000008081c:	38 60 00 00 	li      r3,0
> c000000000080820:	4b f8 f3 81 	bl      c00000000000fba0 <.arch_local_irq_restore>
> c000000000080824:	60 00 00 00 	nop
> c000000000080828:	2f 9c 00 58 	cmpwi   cr7,r28,88
> c00000000008082c:	38 60 00 00 	li      r3,0
> c000000000080830:	41 9e 00 18 	beq-    cr7,c000000000080848 <.xmon_core+0x398>
> c000000000080834:	3b 9c 00 01 	addi    r28,r28,1
> c000000000080838:	7f 9c 00 34 	cntlzw  r28,r28
> c00000000008083c:	57 9c d9 7e 	rlwinm  r28,r28,27,5,31
> c000000000080840:	6b 83 00 01 	xori    r3,r28,1
> c000000000080844:	7c 63 07 b4 	extsw   r3,r3
> c000000000080848:	38 21 02 70 	addi    r1,r1,624
> c00000000008084c:	e8 01 00 10 	ld      r0,16(r1)
> c000000000080850:	e9 c1 ff 70 	ld      r14,-144(r1)
> c000000000080854:	e9 e1 ff 78 	ld      r15,-136(r1)
> c000000000080858:	ea 01 ff 80 	ld      r16,-128(r1)
> c00000000008085c:	7c 08 03 a6 	mtlr    r0
> c000000000080860:	ea 21 ff 88 	ld      r17,-120(r1)
> c000000000080864:	ea 41 ff 90 	ld      r18,-112(r1)
> c000000000080868:	ea 61 ff 98 	ld      r19,-104(r1)
> c00000000008086c:	ea 81 ff a0 	ld      r20,-96(r1)
> c000000000080870:	ea a1 ff a8 	ld      r21,-88(r1)
> c000000000080874:	ea c1 ff b0 	ld      r22,-80(r1)
> c000000000080878:	ea e1 ff b8 	ld      r23,-72(r1)
> c00000000008087c:	eb 01 ff c0 	ld      r24,-64(r1)
> c000000000080880:	eb 21 ff c8 	ld      r25,-56(r1)
> c000000000080884:	eb 41 ff d0 	ld      r26,-48(r1)
> c000000000080888:	eb 61 ff d8 	ld      r27,-40(r1)
> c00000000008088c:	eb 81 ff e0 	ld      r28,-32(r1)
> c000000000080890:	eb a1 ff e8 	ld      r29,-24(r1)
> c000000000080894:	eb c1 ff f0 	ld      r30,-16(r1)
> c000000000080898:	eb e1 ff f8 	ld      r31,-8(r1)
> c00000000008089c:	4e 80 00 20 	blr
> /* } // Function end */
> 
> 
> 
> 
> 
> 
> 
> 
> 
> /*
>  399         xmon_fault_jmp[cpu] = recurse_jmp;
>  400         cpumask_set_cpu(cpu, &cpus_in_xmon);
>  401 
>  402         bp = NULL;
>  403         if ((regs->msr & (MSR_IR|MSR_PR|MSR_64BIT)) == (MSR_IR|MSR_64BIT))
>  404                 bp = at_breakpoint(regs->nip);
>  405         if (bp || unrecoverable_excp(regs))
>  406                 fromipi = 0;
> */
> c0000000000808a0:	e9 01 01 78 	ld      r8,376(r1)		; 376(r1) = cpu
> c0000000000808a4:	e8 c1 01 88 	ld      r6,392(r1)
> c0000000000808a8:	3d 42 00 0f 	addis   r10,r2,15
> c0000000000808ac:	39 4a 3e 10 	addi    r10,r10,15888
> c0000000000808b0:	79 07 1f 24 	rldicr  r7,r8,3,60
> c0000000000808b4:	78 c9 1f 24 	rldicr  r9,r6,3,60
> c0000000000808b8:	7c ea 3a 14 	add     r7,r10,r7
> c0000000000808bc:	38 c1 00 70 	addi    r6,r1,112
> c0000000000808c0:	f8 c7 26 50 	std     r6,9808(r7)		; xmon_fault_jmp[cpu] = recurse_jmp;
> c0000000000808c4:	80 c1 01 90 	lwz     r6,400(r1)
> c0000000000808c8:	38 e0 00 01 	li      r7,1
> c0000000000808cc:	39 0a 24 e8 	addi    r8,r10,9448
> c0000000000808d0:	7c e7 30 36 	sld     r7,r7,r6
> c0000000000808d4:	7d 28 4a 14 	add     r9,r8,r9
> c0000000000808d8:	f8 e1 01 80 	std     r7,384(r1)
> c0000000000808dc:	7d 00 48 a8 	ldarx   r8,0,r9
> c0000000000808e0:	7d 08 3b 78 	or      r8,r8,r7
> c0000000000808e4:	7d 00 49 ad 	stdcx.  r8,0,r9
> c0000000000808e8:	40 a2 ff f4 	bne-    c0000000000808dc <.xmon_core+0x42c>
> c0000000000808ec:	e9 21 02 a0 	ld      r9,672(r1)
> c0000000000808f0:	3d 00 80 00 	lis     r8,-32768
> c0000000000808f4:	38 c0 00 00 	li      r6,0
> c0000000000808f8:	79 08 07 c6 	rldicr  r8,r8,32,31
> c0000000000808fc:	f8 c1 01 70 	std     r6,368(r1)
> c000000000080900:	e8 e9 01 08 	ld      r7,264(r9)
> c000000000080904:	3d 20 80 00 	lis     r9,-32768
> c000000000080908:	61 08 40 20 	ori     r8,r8,16416
> c00000000008090c:	79 29 07 c6 	rldicr  r9,r9,32,31
> c000000000080910:	7c e8 40 38 	and     r8,r7,r8
> c000000000080914:	61 29 00 20 	ori     r9,r9,32
> c000000000080918:	7f a8 48 00 	cmpd    cr7,r8,r9
> c00000000008091c:	41 9e 1f cc 	beq-    cr7,c0000000000828e8 <.xmon_core+0x2438>	; call bp = at_breakpoint(regs->nip);
> c000000000080920:	78 e9 ff e3 	rldicl. r9,r7,63,63
> c000000000080924:	41 82 20 1c 	beq-    c000000000082940 <.xmon_core+0x2490>
> /*
>  408         if (!fromipi) {
> */
> c000000000080928:	e9 41 02 a8 	ld      r10,680(r1)
> c00000000008092c:	2f aa 00 00 	cmpdi   cr7,r10,0
> c000000000080930:	40 9e fd 14 	bne+    cr7,c000000000080644 <.xmon_core+0x194>
> c000000000080934:	48 00 20 0c 	b       c000000000082940 <.xmon_core+0x2490>
> c000000000080938:	60 00 00 00 	nop
> c00000000008093c:	60 00 00 00 	nop
> 
> /*
>  671 static struct bpt *in_breakpoint_table(unsigned long nip, unsigned long *offp)
> */
> c000000000080940:	7c c9 50 51 	subf.   r6,r9,r10
> c000000000080944:	f8 c1 01 70 	std     r6,368(r1)
> c000000000080948:	41 a2 fc 18 	beq-    c000000000080560 <.xmon_core+0xb0>
> c00000000008094c:	e9 06 00 00 	ld      r8,0(r6)
> c000000000080950:	e8 e1 02 a0 	ld      r7,672(r1)
> c000000000080954:	39 46 00 10 	addi    r10,r6,16
> c000000000080958:	39 08 ff f8 	addi    r8,r8,-8
> c00000000008095c:	7d 28 4a 14 	add     r9,r8,r9
> c000000000080960:	f9 27 01 00 	std     r9,256(r7)
> c000000000080964:	7d 20 50 28 	lwarx   r9,0,r10
> c000000000080968:	31 29 ff ff 	addic   r9,r9,-1
> c00000000008096c:	7d 20 51 2d 	stwcx.  r9,0,r10
> c000000000080970:	40 a2 ff f4 	bne-    c000000000080964 <.xmon_core+0x4b4>
> c000000000080974:	4b ff fb ec 	b       c000000000080560 <.xmon_core+0xb0>
> 
> 
> /*
>  549         local_irq_restore(flags);
> */
> c000000000080978:	e8 61 01 a8 	ld      r3,424(r1)
> c00000000008097c:	4b f8 f2 25 	bl      c00000000000fba0 <.arch_local_irq_restore>
> c000000000080980:	60 00 00 00 	nop
> c000000000080984:	4b ff fe a4 	b       c000000000080828 <.xmon_core+0x378>
> c000000000080988:	60 00 00 00 	nop
> c00000000008098c:	60 00 00 00 	nop
> 
> 
> c000000000080990:	3d 02 ff ed 	addis   r8,r2,-19
> c000000000080994:	39 40 00 01 	li      r10,1
> c000000000080998:	39 08 44 e8 	addi    r8,r8,17640
> c00000000008099c:	39 08 00 28 	addi    r8,r8,40
> c0000000000809a0:	7c 20 04 ac 	lwsync
> c0000000000809a4:	7c e0 40 a8 	ldarx   r7,0,r8
> c0000000000809a8:	7c e6 53 78 	or      r6,r7,r10
> c0000000000809ac:	7c c0 41 ad 	stdcx.  r6,0,r8
> c0000000000809b0:	40 a2 ff f4 	bne-    c0000000000809a4 <.xmon_core+0x4f4>
> c0000000000809b4:	7c 00 04 ac 	sync    
> c0000000000809b8:	78 ea 07 e1 	clrldi. r10,r7,63
> c0000000000809bc:	3b 80 00 00 	li      r28,0
> c0000000000809c0:	41 82 fd 7c 	beq+    c00000000008073c <.xmon_core+0x28c>
> c0000000000809c4:	48 00 00 10 	b       c0000000000809d4 <.xmon_core+0x524>
> c0000000000809c8:	60 00 00 00 	nop
> c0000000000809cc:	60 00 00 00 	nop
> 
> 
> c0000000000809d0:	39 3f 3e 10 	addi    r9,r31,15888
> c0000000000809d4:	81 29 66 54 	lwz     r9,26196(r9)
> c0000000000809d8:	7f 89 d8 00 	cmpw    cr7,r9,r27
> c0000000000809dc:	41 9e ff f4 	beq+    cr7,c0000000000809d0 <.xmon_core+0x520>
> c0000000000809e0:	4b ff fd 58 	b       c000000000080738 <.xmon_core+0x288>
> c0000000000809e4:	60 00 00 00 	nop
> c0000000000809e8:	60 00 00 00 	nop
> c0000000000809ec:	60 00 00 00 	nop
> 
> /*
>  787 static int
>  788 cmds(struct pt_regs *excp)
>  789 {
> */
> c0000000000809f0:	81 49 24 e0 	lwz     r10,9440(r9)
> c0000000000809f4:	fb 89 26 38 	std     r28,9784(r9)
> c0000000000809f8:	f9 e9 25 e8 	std     r15,9704(r9)
> c0000000000809fc:	2f 8a 00 00 	cmpwi   cr7,r10,0
> c000000000080a00:	41 9e 0f b0 	beq-    cr7,c0000000000819b0 <.xmon_core+0x1500>
> c000000000080a04:	3d 22 ff d4 	addis   r9,r2,-44
> c000000000080a08:	3a 49 99 18 	addi    r18,r9,-26344
> c000000000080a0c:	60 00 00 00 	nop
> 
> /* 
>  800         for(;;) {
> */
> /*
>  801 #ifdef CONFIG_SMP
>  802                 printf("%x:", smp_processor_id());
>  803 #endif \* CONFIG_SMP *\
>  804                 printf("mon> ");
>  805                 flush_input();
>  806                 termch = 0;
>  807                 cmd = skipbl();
> */
> c000000000080a10:	a0 8d 00 0a 	lhz     r4,10(r13)
> c000000000080a14:	7f a3 eb 78 	mr      r3,r29
> c000000000080a18:	3b 5f 3e 10 	addi    r26,r31,15888
> c000000000080a1c:	3b 20 00 00 	li      r25,0
> c000000000080a20:	48 00 2e 21 	bl      c000000000083840 <.xmon_printf>
> c000000000080a24:	60 00 00 00 	nop
> c000000000080a28:	7f c3 f3 78 	mr      r3,r30
> c000000000080a2c:	48 00 2e 15 	bl      c000000000083840 <.xmon_printf>
> c000000000080a30:	60 00 00 00 	nop
> c000000000080a34:	fb 3a 24 d0 	std     r25,9424(r26)
> c000000000080a38:	93 3a 24 d8 	stw     r25,9432(r26)
> c000000000080a3c:	4b ff e9 25 	bl      c00000000007f360 <.skipbl>
> /*
>  808                 if( cmd == '\n' ) {
> */
> c000000000080a40:	2f 83 00 0a 	cmpwi   cr7,r3,10
> c000000000080a44:	7c 7c 1b 78 	mr      r28,r3
> c000000000080a48:	41 9e 00 b8 	beq-    cr7,c000000000080b00 <.xmon_core+0x650>
> c000000000080a4c:	39 3c 00 01 	addi    r9,r28,1
> c000000000080a50:	2b 89 00 7b 	cmplwi  cr7,r9,123
> c000000000080a54:	40 9d 00 d4 	ble-    cr7,c000000000080b28 <.xmon_core+0x678>
> 
> /*
>  904                 default:
>  905                         printf("Unrecognized command: ");
>  906                         do {
>  907                                 if (' ' < cmd && cmd <= '~')
>  908                                         putchar(cmd);
>  909                                 else
>  910                                         printf("\\x%x", cmd);
>  911                                 cmd = inchar();
>  912                         } while (cmd != '\n');
>  913                         printf(" (type ? for help)\n");
>  914                         break;
>  915                 }
> */
> c000000000080a58:	e8 61 01 98 	ld      r3,408(r1)
> c000000000080a5c:	48 00 2d e5 	bl      c000000000083840 <.xmon_printf>
> c000000000080a60:	60 00 00 00 	nop
> c000000000080a64:	7f 84 e3 78 	mr      r4,r28
> c000000000080a68:	48 00 00 24 	b       c000000000080a8c <.xmon_core+0x5dc>
> c000000000080a6c:	60 00 00 00 	nop
> c000000000080a70:	7c 83 23 78 	mr      r3,r4
> c000000000080a74:	48 00 2a dd 	bl      c000000000083550 <.xmon_putchar>
> c000000000080a78:	60 00 00 00 	nop
> c000000000080a7c:	4b ff e2 75 	bl      c00000000007ecf0 <.inchar>
> c000000000080a80:	2f 83 00 0a 	cmpwi   cr7,r3,10
> c000000000080a84:	7c 64 1b 78 	mr      r4,r3
> c000000000080a88:	41 9e 00 2c 	beq-    cr7,c000000000080ab4 <.xmon_core+0x604>
> c000000000080a8c:	39 24 ff df 	addi    r9,r4,-33
> c000000000080a90:	2b 89 00 5d 	cmplwi  cr7,r9,93
> c000000000080a94:	40 9d ff dc 	ble+    cr7,c000000000080a70 <.xmon_core+0x5c0>
> c000000000080a98:	7e 23 8b 78 	mr      r3,r17
> c000000000080a9c:	48 00 2d a5 	bl      c000000000083840 <.xmon_printf>
> c000000000080aa0:	60 00 00 00 	nop
> c000000000080aa4:	4b ff e2 4d 	bl      c00000000007ecf0 <.inchar>
> c000000000080aa8:	2f 83 00 0a 	cmpwi   cr7,r3,10
> c000000000080aac:	7c 64 1b 78 	mr      r4,r3
> c000000000080ab0:	40 9e ff dc 	bne+    cr7,c000000000080a8c <.xmon_core+0x5dc>
> c000000000080ab4:	e8 61 01 a0 	ld      r3,416(r1)
> c000000000080ab8:	3b 5f 3e 10 	addi    r26,r31,15888
> c000000000080abc:	3b 20 00 00 	li      r25,0
> c000000000080ac0:	48 00 2d 81 	bl      c000000000083840 <.xmon_printf>
> c000000000080ac4:	60 00 00 00 	nop
> 
> /*
>  801 #ifdef CONFIG_SMP
>  802                 printf("%x:", smp_processor_id());
>  803 #endif \* CONFIG_SMP *\
>  804                 printf("mon> ");
>  805                 flush_input();
>  806                 termch = 0;
>  807                 cmd = skipbl();
>  808                 if( cmd == '\n' ) {
> */
> c000000000080ac8:	7f a3 eb 78 	mr      r3,r29
> c000000000080acc:	a0 8d 00 0a 	lhz     r4,10(r13)
> c000000000080ad0:	48 00 2d 71 	bl      c000000000083840 <.xmon_printf>
> c000000000080ad4:	60 00 00 00 	nop
> c000000000080ad8:	7f c3 f3 78 	mr      r3,r30
> c000000000080adc:	48 00 2d 65 	bl      c000000000083840 <.xmon_printf>
> c000000000080ae0:	60 00 00 00 	nop
> c000000000080ae4:	fb 3a 24 d0 	std     r25,9424(r26)
> c000000000080ae8:	93 3a 24 d8 	stw     r25,9432(r26)
> c000000000080aec:	4b ff e8 75 	bl      c00000000007f360 <.skipbl>
> c000000000080af0:	2f 83 00 0a 	cmpwi   cr7,r3,10
> c000000000080af4:	7c 7c 1b 78 	mr      r28,r3
> c000000000080af8:	40 9e ff 54 	bne+    cr7,c000000000080a4c <.xmon_core+0x59c>
> c000000000080afc:	60 00 00 00 	nop
> 
> /*
>  809                         if (last_cmd == NULL)
>  810                                 continue;
>  811                         take_input(last_cmd);
>  812                         last_cmd = NULL;
>  813                         cmd = inchar();
>  814                 }
> */
> c000000000080b00:	e9 3a 26 38 	ld      r9,9784(r26)
> c000000000080b04:	2f a9 00 00 	cmpdi   cr7,r9,0
> c000000000080b08:	41 9e ff 08 	beq+    cr7,c000000000080a10 <.xmon_core+0x560>
> c000000000080b0c:	f9 3a 24 d0 	std     r9,9424(r26)
> c000000000080b10:	fb 3a 26 38 	std     r25,9784(r26)
> c000000000080b14:	4b ff e1 dd 	bl      c00000000007ecf0 <.inchar>
> /*
>  815                 switch (cmd) {
> */
> c000000000080b18:	7c 7c 1b 78 	mr      r28,r3
> c000000000080b1c:	39 3c 00 01 	addi    r9,r28,1
> c000000000080b20:	2b 89 00 7b 	cmplwi  cr7,r9,123
> c000000000080b24:	41 9d ff 34 	bgt+    cr7,c000000000080a58 <.xmon_core+0x5a8>
> 
> c000000000080b28:	3d 42 ff 33 	addis   r10,r2,-205
> c000000000080b2c:	79 29 17 88 	rldic   r9,r9,2,30
> c000000000080b30:	39 4a f2 5c 	addi    r10,r10,-3492
> c000000000080b34:	7d 2a 4a aa 	lwax    r9,r10,r9
> c000000000080b38:	7d 49 52 14 	add     r10,r9,r10
> c000000000080b3c:	7d 49 03 a6 	mtctr   r10
> c000000000080b40:	4e 80 04 20 	bctr
> c000000000080b44:	00 00 03 8c 	.long 0x38c
> c000000000080b48:	ff ff ff 14 	.long 0xffffff14
> c000000000080b4c:	ff ff ff 14 	.long 0xffffff14
> c000000000080b50:	ff ff ff 14 	.long 0xffffff14
> c000000000080b54:	ff ff ff 14 	.long 0xffffff14
> c000000000080b58:	ff ff ff 14 	.long 0xffffff14
> c000000000080b5c:	ff ff ff 14 	.long 0xffffff14
> c000000000080b60:	ff ff ff 14 	.long 0xffffff14
> c000000000080b64:	ff ff ff 14 	.long 0xffffff14
> c000000000080b68:	ff ff ff 14 	.long 0xffffff14
> c000000000080b6c:	ff ff ff 14 	.long 0xffffff14
> c000000000080b70:	ff ff ff 14 	.long 0xffffff14
> c000000000080b74:	ff ff ff 14 	.long 0xffffff14
> c000000000080b78:	ff ff ff 14 	.long 0xffffff14
> c000000000080b7c:	ff ff ff 14 	.long 0xffffff14
> c000000000080b80:	ff ff ff 14 	.long 0xffffff14
> c000000000080b84:	ff ff ff 14 	.long 0xffffff14
> c000000000080b88:	ff ff ff 14 	.long 0xffffff14
> c000000000080b8c:	ff ff ff 14 	.long 0xffffff14
> c000000000080b90:	ff ff ff 14 	.long 0xffffff14
> c000000000080b94:	ff ff ff 14 	.long 0xffffff14
> c000000000080b98:	ff ff ff 14 	.long 0xffffff14
> c000000000080b9c:	ff ff ff 14 	.long 0xffffff14
> c000000000080ba0:	ff ff ff 14 	.long 0xffffff14
> c000000000080ba4:	ff ff ff 14 	.long 0xffffff14
> c000000000080ba8:	ff ff ff 14 	.long 0xffffff14
> c000000000080bac:	ff ff ff 14 	.long 0xffffff14
> c000000000080bb0:	ff ff ff 14 	.long 0xffffff14
> c000000000080bb4:	ff ff ff 14 	.long 0xffffff14
> c000000000080bb8:	ff ff ff 14 	.long 0xffffff14
> c000000000080bbc:	ff ff ff 14 	.long 0xffffff14
> c000000000080bc0:	ff ff ff 14 	.long 0xffffff14
> c000000000080bc4:	ff ff ff 14 	.long 0xffffff14
> c000000000080bc8:	ff ff ff 14 	.long 0xffffff14
> c000000000080bcc:	ff ff ff 14 	.long 0xffffff14
> c000000000080bd0:	ff ff ff 14 	.long 0xffffff14
> c000000000080bd4:	ff ff ff 14 	.long 0xffffff14
> c000000000080bd8:	ff ff ff 14 	.long 0xffffff14
> c000000000080bdc:	ff ff ff 14 	.long 0xffffff14
> c000000000080be0:	ff ff ff 14 	.long 0xffffff14
> c000000000080be4:	ff ff ff 14 	.long 0xffffff14
> c000000000080be8:	ff ff ff 14 	.long 0xffffff14
> c000000000080bec:	ff ff ff 14 	.long 0xffffff14
> c000000000080bf0:	ff ff ff 14 	.long 0xffffff14
> c000000000080bf4:	ff ff ff 14 	.long 0xffffff14
> c000000000080bf8:	ff ff ff 14 	.long 0xffffff14
> c000000000080bfc:	ff ff ff 14 	.long 0xffffff14
> c000000000080c00:	ff ff ff 14 	.long 0xffffff14
> c000000000080c04:	ff ff ff 14 	.long 0xffffff14
> c000000000080c08:	ff ff ff 14 	.long 0xffffff14
> c000000000080c0c:	ff ff ff 14 	.long 0xffffff14
> c000000000080c10:	ff ff ff 14 	.long 0xffffff14
> c000000000080c14:	ff ff ff 14 	.long 0xffffff14
> c000000000080c18:	ff ff ff 14 	.long 0xffffff14
> c000000000080c1c:	ff ff ff 14 	.long 0xffffff14
> c000000000080c20:	ff ff ff 14 	.long 0xffffff14
> c000000000080c24:	ff ff ff 14 	.long 0xffffff14
> c000000000080c28:	ff ff ff 14 	.long 0xffffff14
> c000000000080c2c:	ff ff ff 14 	.long 0xffffff14
> c000000000080c30:	ff ff ff 14 	.long 0xffffff14
> c000000000080c34:	ff ff ff 14 	.long 0xffffff14
> c000000000080c38:	ff ff ff 14 	.long 0xffffff14
> c000000000080c3c:	ff ff ff 14 	.long 0xffffff14
> c000000000080c40:	ff ff ff 14 	.long 0xffffff14
> c000000000080c44:	00 00 03 6c 	.long 0x36c
> c000000000080c48:	ff ff ff 14 	.long 0xffffff14
> c000000000080c4c:	ff ff ff 14 	.long 0xffffff14
> c000000000080c50:	ff ff ff 14 	.long 0xffffff14
> c000000000080c54:	00 00 03 bc 	.long 0x3bc
> c000000000080c58:	ff ff ff 14 	.long 0xffffff14
> c000000000080c5c:	ff ff ff 14 	.long 0xffffff14
> c000000000080c60:	ff ff ff 14 	.long 0xffffff14
> c000000000080c64:	ff ff ff 14 	.long 0xffffff14
> c000000000080c68:	ff ff ff 14 	.long 0xffffff14
> c000000000080c6c:	ff ff ff 14 	.long 0xffffff14
> c000000000080c70:	ff ff ff 14 	.long 0xffffff14
> c000000000080c74:	ff ff ff 14 	.long 0xffffff14
> c000000000080c78:	ff ff ff 14 	.long 0xffffff14
> c000000000080c7c:	ff ff ff 14 	.long 0xffffff14
> c000000000080c80:	ff ff ff 14 	.long 0xffffff14
> c000000000080c84:	ff ff ff 14 	.long 0xffffff14
> c000000000080c88:	ff ff ff 14 	.long 0xffffff14
> c000000000080c8c:	ff ff ff 14 	.long 0xffffff14
> c000000000080c90:	ff ff ff 14 	.long 0xffffff14
> c000000000080c94:	00 00 03 2c 	.long 0x32c
> c000000000080c98:	ff ff ff 14 	.long 0xffffff14
> c000000000080c9c:	ff ff ff 14 	.long 0xffffff14
> c000000000080ca0:	ff ff ff 14 	.long 0xffffff14
> c000000000080ca4:	ff ff ff 14 	.long 0xffffff14
> c000000000080ca8:	00 00 02 4c 	.long 0x24c
> c000000000080cac:	ff ff ff 14 	.long 0xffffff14
> c000000000080cb0:	ff ff ff 14 	.long 0xffffff14
> c000000000080cb4:	ff ff ff 14 	.long 0xffffff14
> c000000000080cb8:	ff ff ff 14 	.long 0xffffff14
> c000000000080cbc:	ff ff ff 14 	.long 0xffffff14
> c000000000080cc0:	ff ff ff 14 	.long 0xffffff14
> c000000000080cc4:	ff ff ff 14 	.long 0xffffff14
> c000000000080cc8:	ff ff ff 14 	.long 0xffffff14
> c000000000080ccc:	ff ff ff 14 	.long 0xffffff14
> c000000000080cd0:	00 00 0b 8c 	.long 0xb8c
> c000000000080cd4:	00 00 0a ec 	.long 0xaec
> c000000000080cd8:	00 00 0a 0c 	.long 0xa0c
> c000000000080cdc:	00 00 09 fc 	.long 0x9fc
> c000000000080ce0:	00 00 09 ec 	.long 0x9ec
> c000000000080ce4:	ff ff ff 14 	.long 0xffffff14
> c000000000080ce8:	ff ff ff 14 	.long 0xffffff14
> c000000000080cec:	ff ff ff 14 	.long 0xffffff14
> c000000000080cf0:	ff ff ff 14 	.long 0xffffff14
> c000000000080cf4:	ff ff ff 14 	.long 0xffffff14
> c000000000080cf8:	00 00 09 dc 	.long 0x9dc
> c000000000080cfc:	00 00 05 1c 	.long 0x51c
> c000000000080d00:	ff ff ff 14 	.long 0xffffff14
> c000000000080d04:	ff ff ff 14 	.long 0xffffff14
> c000000000080d08:	00 00 05 0c 	.long 0x50c
> c000000000080d0c:	ff ff ff 14 	.long 0xffffff14
> c000000000080d10:	00 00 0c fc 	.long 0xcfc
> c000000000080d14:	00 00 01 fc 	.long 0x1fc
> c000000000080d18:	00 00 0c cc 	.long 0xccc
> c000000000080d1c:	00 00 04 fc 	.long 0x4fc
> c000000000080d20:	ff ff ff 14 	.long 0xffffff14
> c000000000080d24:	ff ff ff 14 	.long 0xffffff14
> c000000000080d28:	00 00 02 4c 	.long 0x24c
> c000000000080d2c:	ff ff ff 14 	.long 0xffffff14
> c000000000080d30:	00 00 04 ac 	.long 0x4ac
> c000000000080d34:	60 00 00 00 	nop
> c000000000080d38:	60 00 00 00 	nop
> c000000000080d3c:	60 00 00 00 	nop
>  816                 case 'm':
>  817                         cmd = inchar();
>  818                         switch (cmd) {
>  819                         case 'm':
>  820                         case 's':
>  821                         case 'd':
>  822                                 memops(cmd);
>  823                                 break;
>  824                         case 'l':
>  825                                 memlocate();
>  826                                 break;
>  827                         case 'z':
>  828                                 memzcan();
>  829                                 break;
>  830                         case 'i':
>  831                                 show_mem(0);
>  832                                 break;
>  833                         default:
>  834                                 termch = cmd;
>  835                                 memex();
>  836                         }
>  837                         break;
> c000000000080d40:	4b ff df b1 	bl      c00000000007ecf0 <.inchar>
> c000000000080d44:	2f 83 00 66 	cmpwi   cr7,r3,102
> c000000000080d48:	7c 7a 1b 78 	mr      r26,r3
> c000000000080d4c:	41 9e 15 50 	beq-    cr7,c00000000008229c <.xmon_core+0x1dec>
> c000000000080d50:	41 9d 10 f0 	bgt-    cr7,c000000000081e40 <.xmon_core+0x1990>
> c000000000080d54:	2f 83 00 64 	cmpwi   cr7,r3,100
> c000000000080d58:	41 9e 16 10 	beq-    cr7,c000000000082368 <.xmon_core+0x1eb8>
> c000000000080d5c:	3d 40 80 00 	lis     r10,-32768
> c000000000080d60:	e9 0f 01 08 	ld      r8,264(r15)
> c000000000080d64:	3d 20 80 00 	lis     r9,-32768
> c000000000080d68:	79 4a 07 c6 	rldicr  r10,r10,32,31
> c000000000080d6c:	79 29 07 c6 	rldicr  r9,r9,32,31
> c000000000080d70:	61 4a 40 20 	ori     r10,r10,16416
> c000000000080d74:	61 29 00 20 	ori     r9,r9,32
> c000000000080d78:	7d 0a 50 38 	and     r10,r8,r10
> c000000000080d7c:	7f aa 48 00 	cmpd    cr7,r10,r9
> c000000000080d80:	41 9e 21 4c 	beq-    cr7,c000000000082ecc <.xmon_core+0x2a1c>
> c000000000080d84:	e9 41 02 a0 	ld      r10,672(r1)
> c000000000080d88:	61 08 04 00 	ori     r8,r8,1024
> c000000000080d8c:	f9 0a 01 08 	std     r8,264(r10)
> c000000000080d90:	3c e2 ff d4 	addis   r7,r2,-44
> c000000000080d94:	3f e2 00 0f 	addis   r31,r2,15
> c000000000080d98:	3b ff 3e 10 	addi    r31,r31,15888
> c000000000080d9c:	3c c0 fc 00 	lis     r6,-1024
> c000000000080da0:	3b 07 99 c8 	addi    r24,r7,-26168
> c000000000080da4:	3c e0 fc 00 	lis     r7,-1024
> c000000000080da8:	7f fb fb 78 	mr      r27,r31
> c000000000080dac:	3d 02 ff ed 	addis   r8,r2,-19
> c000000000080db0:	3d 42 ff d4 	addis   r10,r2,-44
> c000000000080db4:	3d 22 ff d4 	addis   r9,r2,-44
> c000000000080db8:	60 da 07 be 	ori     r26,r6,1982
> c000000000080dbc:	60 f7 07 fe 	ori     r23,r7,2046
> c000000000080dc0:	3c c0 7c 00 	lis     r6,31744
> c000000000080dc4:	3c e0 4c 00 	lis     r7,19456
> c000000000080dc8:	3b ff 00 08 	addi    r31,r31,8
> c000000000080dcc:	60 d9 01 24 	ori     r25,r6,292
> c000000000080dd0:	60 f6 00 24 	ori     r22,r7,36
> c000000000080dd4:	3a a8 44 e8 	addi    r21,r8,17640
> c000000000080dd8:	3a 8a 9a 10 	addi    r20,r10,-26096
> c000000000080ddc:	3a 69 99 88 	addi    r19,r9,-26232
> c000000000080de0:	3b db 20 08 	addi    r30,r27,8200
> c000000000080de4:	48 00 00 18 	b       c000000000080dfc <.xmon_core+0x94c>
> c000000000080de8:	60 00 00 00 	nop
> c000000000080dec:	60 00 00 00 	nop
> 
> 
> c000000000080df0:	3b ff 00 20 	addi    r31,r31,32
> c000000000080df4:	7f bf f0 00 	cmpd    cr7,r31,r30
> c000000000080df8:	41 9e 00 50 	beq-    cr7,c000000000080e48 <.xmon_core+0x998>
> c000000000080dfc:	81 3f 00 14 	lwz     r9,20(r31)
> c000000000080e00:	71 26 00 0a 	andi.   r6,r9,10
> c000000000080e04:	41 82 ff ec 	beq+    c000000000080df0 <.xmon_core+0x940>
> c000000000080e08:	3b bf 00 08 	addi    r29,r31,8
> c000000000080e0c:	e8 7f 00 00 	ld      r3,0(r31)
> c000000000080e10:	38 a0 00 04 	li      r5,4
> c000000000080e14:	7f a4 eb 78 	mr      r4,r29
> c000000000080e18:	4b ff b5 a9 	bl      c00000000007c3c0 <.mread>
> c000000000080e1c:	2f 83 00 04 	cmpwi   cr7,r3,4
> c000000000080e20:	41 9e 0a b0 	beq-    cr7,c0000000000818d0 <.xmon_core+0x1420>
> c000000000080e24:	e8 9f 00 00 	ld      r4,0(r31)
> c000000000080e28:	7e 63 9b 78 	mr      r3,r19
> c000000000080e2c:	48 00 2a 15 	bl      c000000000083840 <.xmon_printf>
> c000000000080e30:	60 00 00 00 	nop
> c000000000080e34:	39 20 00 00 	li      r9,0
> c000000000080e38:	91 3f 00 14 	stw     r9,20(r31)
> c000000000080e3c:	3b ff 00 20 	addi    r31,r31,32
> c000000000080e40:	7f bf f0 00 	cmpd    cr7,r31,r30
> c000000000080e44:	40 9e ff b8 	bne+    cr7,c000000000080dfc <.xmon_core+0x94c>
> c000000000080e48:	39 20 00 00 	li      r9,0
> c000000000080e4c:	91 3b 66 50 	stw     r9,26192(r27)
> c000000000080e50:	7c 00 04 ac 	sync    
> c000000000080e54:	3d 22 00 09 	addis   r9,r2,9
> c000000000080e58:	39 40 00 00 	li      r10,0
> c000000000080e5c:	f9 49 2f 00 	std     r10,12032(r9)
> c000000000080e60:	4b ff f8 f0 	b       c000000000080750 <.xmon_core+0x2a0>
> c000000000080e64:	60 00 00 00 	nop
> c000000000080e68:	60 00 00 00 	nop
> c000000000080e6c:	60 00 00 00 	nop
> 
> /*
> 1620 static void super_regs(void)
> 1621 {
> 1622         int cmd;
> 1623         unsigned long val;
> 1624 
> 1625         cmd = skipbl();
> 1626         if (cmd == '\n') {
> 1627                 unsigned long sp, toc;
> 1628                 asm("mr %0,1" : "=r" (sp) :);
> 1629                 asm("mr %0,2" : "=r" (toc) :);
> 1630 
> 1631                 printf("msr  = "REG"  sprg0= "REG"\n",
> 1632                        mfmsr(), mfspr(SPRN_SPRG0));
> 1633                 printf("pvr  = "REG"  sprg1= "REG"\n",
> 1634                        mfspr(SPRN_PVR), mfspr(SPRN_SPRG1));
> 1635                 printf("dec  = "REG"  sprg2= "REG"\n",
> 1636                        mfspr(SPRN_DEC), mfspr(SPRN_SPRG2));
> 1637                 printf("sp   = "REG"  sprg3= "REG"\n", sp, mfspr(SPRN_SPRG3));
> 1638                 printf("toc  = "REG"  dar  = "REG"\n", toc, mfspr(SPRN_DAR));
> 1639 
> 1640                 return;
> 1641         }
> 1642 
> 1643         scanhex(&regno);
> 1644         switch (cmd) {
> */
> c000000000080e70:	4b ff e4 f1 	bl      c00000000007f360 <.skipbl>
> c000000000080e74:	2f 83 00 0a 	cmpwi   cr7,r3,10
> c000000000080e78:	7c 7c 1b 78 	mr      r28,r3
> c000000000080e7c:	41 9e 14 68 	beq-    cr7,c0000000000822e4 <.xmon_core+0x1e34>
> c000000000080e80:	3b 5f 3e 10 	addi    r26,r31,15888
> c000000000080e84:	38 7a 66 d8 	addi    r3,r26,26328
> c000000000080e88:	4b ff e5 39 	bl      c00000000007f3c0 <.scanhex>
> c000000000080e8c:	2f 9c 00 72 	cmpwi   cr7,r28,114
> c000000000080e90:	41 9e 09 e0 	beq-    cr7,c000000000081870 <.xmon_core+0x13c0>
> c000000000080e94:	2f 9c 00 77 	cmpwi   cr7,r28,119
> c000000000080e98:	41 9e 09 b4 	beq-    cr7,c00000000008184c <.xmon_core+0x139c>
> c000000000080e9c:	4b ff de e5 	bl      c00000000007ed80 <.scannl>
> c000000000080ea0:	4b ff fb 70 	b       c000000000080a10 <.xmon_core+0x560>
> c000000000080ea4:	60 00 00 00 	nop
> c000000000080ea8:	60 00 00 00 	nop
> c000000000080eac:	60 00 00 00 	nop
> 
> 
> c000000000080eb0:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000080eb4:	38 63 92 48 	addi    r3,r3,-28088
> c000000000080eb8:	48 00 2a 29 	bl      c0000000000838e0 <.xmon_puts>
> c000000000080ebc:	60 00 00 00 	nop
> 
> 
> c000000000080ec0:	4b ff fb 50 	b       c000000000080a10 <.xmon_core+0x560>
> c000000000080ec4:	60 00 00 00 	nop
> c000000000080ec8:	60 00 00 00 	nop
> c000000000080ecc:	60 00 00 00 	nop
> 
> 
> c000000000080ed0:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000080ed4:	38 63 92 30 	addi    r3,r3,-28112
> c000000000080ed8:	48 00 29 69 	bl      c000000000083840 <.xmon_printf>
> c000000000080edc:	60 00 00 00 	nop
> c000000000080ee0:	3c 60 00 1e 	lis     r3,30
> c000000000080ee4:	60 63 84 80 	ori     r3,r3,33920
> c000000000080ee8:	4b f9 c4 29 	bl      c00000000001d310 <.udelay>
> c000000000080eec:	60 00 00 00 	nop
> c000000000080ef0:	4b ff fe a0 	b       c000000000080d90 <.xmon_core+0x8e0>
> c000000000080ef4:	60 00 00 00 	nop
> c000000000080ef8:	60 00 00 00 	nop
> c000000000080efc:	60 00 00 00 	nop
> 
> 
> c000000000080f00:	38 7f 3e 10 	addi    r3,r31,15888
> c000000000080f04:	38 63 25 f0 	addi    r3,r3,9712
> c000000000080f08:	4b ff e4 b9 	bl      c00000000007f3c0 <.scanhex>
> c000000000080f0c:	2f a3 00 00 	cmpdi   cr7,r3,0
> c000000000080f10:	41 9e fb 00 	beq+    cr7,c000000000080a10 <.xmon_core+0x560>
> c000000000080f14:	3e e2 ff ed 	addis   r23,r2,-19
> c000000000080f18:	3b 97 44 e8 	addi    r28,r23,17640
> c000000000080f1c:	38 7c 00 58 	addi    r3,r28,88
> c000000000080f20:	4b ff e4 a1 	bl      c00000000007f3c0 <.scanhex>
> c000000000080f24:	2f a3 00 00 	cmpdi   cr7,r3,0
> c000000000080f28:	41 9e fa e8 	beq+    cr7,c000000000080a10 <.xmon_core+0x560>
> c000000000080f2c:	e9 3c 00 58 	ld      r9,88(r28)
> c000000000080f30:	2f a9 00 00 	cmpdi   cr7,r9,0
> c000000000080f34:	41 9e 20 ac 	beq-    cr7,c000000000082fe0 <.xmon_core+0x2b30>
> c000000000080f38:	3b 40 ff ff 	li      r26,-1
> c000000000080f3c:	3e c2 ff b1 	addis   r22,r2,-79
> c000000000080f40:	3b 80 00 00 	li      r28,0
> c000000000080f44:	7b 5a 04 20 	clrldi  r26,r26,48
> c000000000080f48:	3b 20 00 00 	li      r25,0
> c000000000080f4c:	3a d6 08 f0 	addi    r22,r22,2288
> c000000000080f50:	48 00 00 48 	b       c000000000080f98 <.xmon_core+0xae8>
> c000000000080f54:	60 00 00 00 	nop
> c000000000080f58:	60 00 00 00 	nop
> c000000000080f5c:	60 00 00 00 	nop
> 
> 
> c000000000080f60:	89 21 01 60 	lbz     r9,352(r1)
> c000000000080f64:	39 57 44 e8 	addi    r10,r23,17640
> c000000000080f68:	3b 9c 00 01 	addi    r28,r28,1
> c000000000080f6c:	e9 4a 00 58 	ld      r10,88(r10)
> c000000000080f70:	7b 9c 00 20 	clrldi  r28,r28,32
> c000000000080f74:	7d 29 d2 78 	xor     r9,r9,r26
> c000000000080f78:	7b 5a c2 02 	rldicl  r26,r26,56,8
> c000000000080f7c:	79 29 0d e8 	rldic   r9,r9,1,55
> c000000000080f80:	7f bc 50 40 	cmpld   cr7,r28,r10
> c000000000080f84:	7d 36 4a 14 	add     r9,r22,r9
> c000000000080f88:	7f 99 e3 78 	mr      r25,r28
> c000000000080f8c:	a1 29 01 78 	lhz     r9,376(r9)
> c000000000080f90:	7d 3a d2 78 	xor     r26,r9,r26
> c000000000080f94:	40 9c 1c 14 	bge-    cr7,c000000000082ba8 <.xmon_core+0x26f8>
> c000000000080f98:	3b 1f 3e 10 	addi    r24,r31,15888
> c000000000080f9c:	38 81 01 60 	addi    r4,r1,352
> c000000000080fa0:	e8 78 25 f0 	ld      r3,9712(r24)
> c000000000080fa4:	38 a0 00 01 	li      r5,1
> c000000000080fa8:	7c 79 1a 14 	add     r3,r25,r3
> c000000000080fac:	4b ff b4 15 	bl      c00000000007c3c0 <.mread>
> c000000000080fb0:	2f a3 00 00 	cmpdi   cr7,r3,0
> c000000000080fb4:	40 9e ff ac 	bne+    cr7,c000000000080f60 <.xmon_core+0xab0>
> c000000000080fb8:	e8 98 25 f0 	ld      r4,9712(r24)
> c000000000080fbc:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000080fc0:	38 63 98 f0 	addi    r3,r3,-26384
> c000000000080fc4:	7c 99 22 14 	add     r4,r25,r4
> c000000000080fc8:	48 00 28 79 	bl      c000000000083840 <.xmon_printf>
> c000000000080fcc:	60 00 00 00 	nop
> c000000000080fd0:	7f 44 07 b4 	extsw   r4,r26
> c000000000080fd4:	3c 62 ff d3 	addis   r3,r2,-45
> c000000000080fd8:	38 63 8a b8 	addi    r3,r3,-30024
> c000000000080fdc:	48 00 28 65 	bl      c000000000083840 <.xmon_printf>
> c000000000080fe0:	60 00 00 00 	nop
> c000000000080fe4:	4b ff fa 2c 	b       c000000000080a10 <.xmon_core+0x560>
> c000000000080fe8:	60 00 00 00 	nop
> c000000000080fec:	60 00 00 00 	nop
> 
> 
> c000000000080ff0:	4b ff dd 01 	bl      c00000000007ecf0 <.inchar>
> c000000000080ff4:	2f 83 00 72 	cmpwi   cr7,r3,114
> c000000000080ff8:	41 9e 1a e4 	beq-    cr7,c000000000082adc <.xmon_core+0x262c>
> c000000000080ffc:	2f 83 00 68 	cmpwi   cr7,r3,104
> c000000000081000:	41 9e 1b 3c 	beq-    cr7,c000000000082b3c <.xmon_core+0x268c>
> c000000000081004:	2f 83 00 70 	cmpwi   cr7,r3,112
> c000000000081008:	40 9e fa 08 	bne+    cr7,c000000000080a10 <.xmon_core+0x560>
> c00000000008100c:	3d 22 00 0b 	addis   r9,r2,11
> c000000000081010:	39 29 6a 30 	addi    r9,r9,27184
> c000000000081014:	e9 29 01 30 	ld      r9,304(r9)
> c000000000081018:	e9 49 00 00 	ld      r10,0(r9)
> c00000000008101c:	f8 41 00 28 	std     r2,40(r1)
> c000000000081020:	7d 49 03 a6 	mtctr   r10
> c000000000081024:	e8 49 00 08 	ld      r2,8(r9)
> c000000000081028:	4e 80 04 21 	bctrl
> c00000000008102c:	e8 41 00 28 	ld      r2,40(r1)
> c000000000081030:	4b ff f9 e0 	b       c000000000080a10 <.xmon_core+0x560>
> c000000000081034:	60 00 00 00 	nop
> c000000000081038:	60 00 00 00 	nop
> c00000000008103c:	60 00 00 00 	nop
> 
> 
> c000000000081040:	4b ff ef e1 	bl      c000000000080020 <.dump_segments>
> c000000000081044:	4b ff f9 cc 	b       c000000000080a10 <.xmon_core+0x560>
> c000000000081048:	60 00 00 00 	nop
> c00000000008104c:	60 00 00 00 	nop
> 
> 
> c000000000081050:	4b ff ec 31 	bl      c00000000007fc80 <.proccall>
> c000000000081054:	4b ff f9 bc 	b       c000000000080a10 <.xmon_core+0x560>
> c000000000081058:	60 00 00 00 	nop
> c00000000008105c:	60 00 00 00 	nop
> 
> c000000000081060:	4b ff dc 91 	bl      c00000000007ecf0 <.inchar>
> c000000000081064:	39 23 ff 9c 	addi    r9,r3,-100
> c000000000081068:	7c 7c 1b 78 	mr      r28,r3
> c00000000008106c:	2b 89 00 16 	cmplwi  cr7,r9,22
> c000000000081070:	40 9d 09 80 	ble-    cr7,c0000000000819f0 <.xmon_core+0x1540>
> c000000000081074:	3b 5f 3e 10 	addi    r26,r31,15888
> c000000000081078:	38 7a 25 f0 	addi    r3,r26,9712
> c00000000008107c:	93 9a 24 d8 	stw     r28,9432(r26)
> c000000000081080:	4b ff e3 41 	bl      c00000000007f3c0 <.scanhex>
> c000000000081084:	4b ff e2 dd 	bl      c00000000007f360 <.skipbl>
> c000000000081088:	2f 83 00 3f 	cmpwi   cr7,r3,63
> c00000000008108c:	41 9e 1e fc 	beq-    cr7,c000000000082f88 <.xmon_core+0x2ad8>
> c000000000081090:	3d 22 ff d4 	addis   r9,r2,-44
> c000000000081094:	90 7a 24 d8 	stw     r3,9432(r26)
> c000000000081098:	39 29 8d f8 	addi    r9,r9,-29192
> c00000000008109c:	3f 82 ff ed 	addis   r28,r2,-19
> c0000000000810a0:	f9 3a 26 38 	std     r9,9784(r26)
> c0000000000810a4:	3a c0 00 04 	li      r22,4
> c0000000000810a8:	3a e0 00 02 	li      r23,2
> c0000000000810ac:	3b 40 00 01 	li      r26,1
> c0000000000810b0:	3b 00 00 08 	li      r24,8
> c0000000000810b4:	3b 20 00 00 	li      r25,0
> c0000000000810b8:	60 00 00 00 	nop
> c0000000000810bc:	60 00 00 00 	nop
> c0000000000810c0:	4b ff e2 a1 	bl      c00000000007f360 <.skipbl>
> c0000000000810c4:	2f 83 00 0a 	cmpwi   cr7,r3,10
> c0000000000810c8:	41 9e 00 3c 	beq-    cr7,c000000000081104 <.xmon_core+0xc54>
> c0000000000810cc:	2f 83 00 6c 	cmpwi   cr7,r3,108
> c0000000000810d0:	41 9e 08 80 	beq-    cr7,c000000000081950 <.xmon_core+0x14a0>
> c0000000000810d4:	41 9d 07 cc 	bgt-    cr7,c0000000000818a0 <.xmon_core+0x13f0>
> c0000000000810d8:	2f 83 00 62 	cmpwi   cr7,r3,98
> c0000000000810dc:	41 9e 08 94 	beq-    cr7,c000000000081970 <.xmon_core+0x14c0>
> c0000000000810e0:	2f 83 00 64 	cmpwi   cr7,r3,100
> c0000000000810e4:	41 9e 08 7c 	beq-    cr7,c000000000081960 <.xmon_core+0x14b0>
> c0000000000810e8:	2f 83 00 2e 	cmpwi   cr7,r3,46
> c0000000000810ec:	40 9e ff d4 	bne+    cr7,c0000000000810c0 <.xmon_core+0xc10>
> c0000000000810f0:	39 3f 3e 10 	addi    r9,r31,15888
> c0000000000810f4:	93 29 66 d4 	stw     r25,26324(r9)
> c0000000000810f8:	4b ff e2 69 	bl      c00000000007f360 <.skipbl>
> c0000000000810fc:	2f 83 00 0a 	cmpwi   cr7,r3,10
> c000000000081100:	40 9e ff cc 	bne+    cr7,c0000000000810cc <.xmon_core+0xc1c>
> c000000000081104:	3d 42 ff ed 	addis   r10,r2,-19
> c000000000081108:	39 4a 44 e8 	addi    r10,r10,17640
> c00000000008110c:	81 2a 00 40 	lwz     r9,64(r10)
> c000000000081110:	2f 89 00 00 	cmpwi   cr7,r9,0
> c000000000081114:	40 9d 1b 28 	ble-    cr7,c000000000082c3c <.xmon_core+0x278c>
> c000000000081118:	2f 89 00 08 	cmpwi   cr7,r9,8
> c00000000008111c:	41 9d 18 ac 	bgt-    cr7,c0000000000829c8 <.xmon_core+0x2518>
> c000000000081120:	3d 42 ff d4 	addis   r10,r2,-44
> c000000000081124:	fb 61 01 c0 	std     r27,448(r1)
> c000000000081128:	39 4a 8e 10 	addi    r10,r10,-29168
> c00000000008112c:	fb c1 01 c8 	std     r30,456(r1)
> c000000000081130:	f9 41 01 b8 	std     r10,440(r1)
> c000000000081134:	39 3f 3e 10 	addi    r9,r31,15888
> c000000000081138:	3c e2 ff d4 	addis   r7,r2,-44
> c00000000008113c:	3e c2 ff d5 	addis   r22,r2,-43
> c000000000081140:	e8 89 25 f0 	ld      r4,9712(r9)
> c000000000081144:	3d 02 ff b1 	addis   r8,r2,-79
> c000000000081148:	3f 02 ff d4 	addis   r24,r2,-44
> c00000000008114c:	7d 3c 4b 78 	mr      r28,r9
> c000000000081150:	3f 42 ff ed 	addis   r26,r2,-19
> c000000000081154:	39 c7 8e 00 	addi    r14,r7,-29184
> c000000000081158:	3a d6 f5 50 	addi    r22,r22,-2736
> c00000000008115c:	3a 68 08 f0 	addi    r19,r8,2288
> c000000000081160:	3b 18 86 58 	addi    r24,r24,-31144
> c000000000081164:	3e e2 ff 33 	addis   r23,r2,-205
> c000000000081168:	81 3c 66 d4 	lwz     r9,26324(r28)
> c00000000008116c:	2f 89 00 00 	cmpwi   cr7,r9,0
> c000000000081170:	41 9e 1a 00 	beq-    cr7,c000000000082b70 <.xmon_core+0x26c0>
> c000000000081174:	80 bc 66 d0 	lwz     r5,26320(r28)
> c000000000081178:	39 20 ff ae 	li      r9,-82
> c00000000008117c:	7d c3 73 78 	mr      r3,r14
> c000000000081180:	7c a5 00 34 	cntlzw  r5,r5
> c000000000081184:	54 a5 d9 7e 	rlwinm  r5,r5,27,5,31
> c000000000081188:	78 a5 00 20 	clrldi  r5,r5,32
> c00000000008118c:	7c a5 00 d0 	neg     r5,r5
> c000000000081190:	7c a5 48 38 	and     r5,r5,r9
> c000000000081194:	38 a5 00 72 	addi    r5,r5,114
> c000000000081198:	48 00 26 a9 	bl      c000000000083840 <.xmon_printf>
> c00000000008119c:	60 00 00 00 	nop
> c0000000000811a0:	81 3c 66 d4 	lwz     r9,26324(r28)
> c0000000000811a4:	2f 89 00 00 	cmpwi   cr7,r9,0
> c0000000000811a8:	40 9e 00 a8 	bne-    cr7,c000000000081250 <.xmon_core+0xda0>
> c0000000000811ac:	81 3c 66 d0 	lwz     r9,26320(r28)
> c0000000000811b0:	2f 89 00 00 	cmpwi   cr7,r9,0
> c0000000000811b4:	40 9e 18 88 	bne-    cr7,c000000000082a3c <.xmon_core+0x258c>
> c0000000000811b8:	38 60 00 20 	li      r3,32
> c0000000000811bc:	48 00 23 95 	bl      c000000000083550 <.xmon_putchar>
> c0000000000811c0:	60 00 00 00 	nop
> c0000000000811c4:	e9 21 01 60 	ld      r9,352(r1)
> c0000000000811c8:	2f a9 00 00 	cmpdi   cr7,r9,0
> c0000000000811cc:	41 9e 1e 20 	beq-    cr7,c000000000082fec <.xmon_core+0x2b3c>
> c0000000000811d0:	3a a1 01 27 	addi    r21,r1,295
> c0000000000811d4:	3b 60 00 01 	li      r27,1
> c0000000000811d8:	60 00 00 00 	nop
> c0000000000811dc:	60 00 00 00 	nop
> c0000000000811e0:	8c 95 00 01 	lbzu    r4,1(r21)
> c0000000000811e4:	7f 03 c3 78 	mr      r3,r24
> c0000000000811e8:	7f 79 07 b4 	extsw   r25,r27
> c0000000000811ec:	48 00 26 55 	bl      c000000000083840 <.xmon_printf>
> c0000000000811f0:	60 00 00 00 	nop
> c0000000000811f4:	e9 21 01 60 	ld      r9,352(r1)
> c0000000000811f8:	7f a9 d8 40 	cmpld   cr7,r9,r27
> c0000000000811fc:	3b 7b 00 01 	addi    r27,r27,1
> c000000000081200:	41 9d ff e0 	bgt+    cr7,c0000000000811e0 <.xmon_core+0xd30>
> c000000000081204:	39 3a 44 e8 	addi    r9,r26,17640
> c000000000081208:	81 29 00 40 	lwz     r9,64(r9)
> c00000000008120c:	7f 89 c8 00 	cmpw    cr7,r9,r25
> c000000000081210:	40 9d 00 40 	ble-    cr7,c000000000081250 <.xmon_core+0xda0>
> c000000000081214:	60 00 00 00 	nop
> c000000000081218:	60 00 00 00 	nop
> c00000000008121c:	60 00 00 00 	nop
> c000000000081220:	e9 3c 21 4a 	lwa     r9,8520(r28)
> c000000000081224:	7e c3 b3 78 	mr      r3,r22
> c000000000081228:	79 29 1f 24 	rldicr  r9,r9,3,60
> c00000000008122c:	7c 93 48 2a 	ldx     r4,r19,r9
> c000000000081230:	48 00 26 11 	bl      c000000000083840 <.xmon_printf>
> c000000000081234:	60 00 00 00 	nop
> c000000000081238:	39 3a 44 e8 	addi    r9,r26,17640
> c00000000008123c:	81 49 00 40 	lwz     r10,64(r9)
> c000000000081240:	39 39 00 01 	addi    r9,r25,1
> c000000000081244:	7d 39 07 b4 	extsw   r25,r9
> c000000000081248:	7f 8a 48 00 	cmpw    cr7,r10,r9
> c00000000008124c:	41 9d ff d4 	bgt+    cr7,c000000000081220 <.xmon_core+0xd70>
> c000000000081250:	38 60 00 20 	li      r3,32
> c000000000081254:	3b 20 00 00 	li      r25,0
> c000000000081258:	48 00 22 f9 	bl      c000000000083550 <.xmon_putchar>
> c00000000008125c:	60 00 00 00 	nop
> c000000000081260:	39 3a 44 e8 	addi    r9,r26,17640
> c000000000081264:	3b 60 00 00 	li      r27,0
> c000000000081268:	ea 89 00 42 	lwa     r20,64(r9)
> c00000000008126c:	3a a0 00 0a 	li      r21,10
> c000000000081270:	3b c0 00 0d 	li      r30,13
> c000000000081274:	60 00 00 00 	nop
> c000000000081278:	60 00 00 00 	nop
> c00000000008127c:	60 00 00 00 	nop
> c000000000081280:	38 61 01 60 	addi    r3,r1,352
> c000000000081284:	4b ff e1 3d 	bl      c00000000007f3c0 <.scanhex>
> c000000000081288:	2f a3 00 00 	cmpdi   cr7,r3,0
> c00000000008128c:	41 9e 00 6c 	beq-    cr7,c0000000000812f8 <.xmon_core+0xe48>
> c000000000081290:	39 3a 44 e8 	addi    r9,r26,17640
> c000000000081294:	80 e9 00 40 	lwz     r7,64(r9)
> c000000000081298:	2f 87 00 00 	cmpwi   cr7,r7,0
> c00000000008129c:	7c e5 07 b4 	extsw   r5,r7
> c0000000000812a0:	40 9d 00 38 	ble-    cr7,c0000000000812d8 <.xmon_core+0xe28>
> c0000000000812a4:	e8 c1 01 60 	ld      r6,352(r1)
> c0000000000812a8:	39 01 01 27 	addi    r8,r1,295
> c0000000000812ac:	78 e7 18 28 	rldic   r7,r7,3,32
> c0000000000812b0:	7f 69 db 78 	mr      r9,r27
> c0000000000812b4:	60 00 00 00 	nop
> c0000000000812b8:	60 00 00 00 	nop
> c0000000000812bc:	60 00 00 00 	nop
> c0000000000812c0:	39 49 00 08 	addi    r10,r9,8
> c0000000000812c4:	7c c9 4c 36 	srd     r9,r6,r9
> c0000000000812c8:	7f 8a 38 40 	cmplw   cr7,r10,r7
> c0000000000812cc:	9d 28 00 01 	stbu    r9,1(r8)
> c0000000000812d0:	79 49 00 20 	clrldi  r9,r10,32
> c0000000000812d4:	40 9e ff ec 	bne+    cr7,c0000000000812c0 <.xmon_core+0xe10>
> c0000000000812d8:	81 3c 66 d0 	lwz     r9,26320(r28)
> c0000000000812dc:	2f 89 00 00 	cmpwi   cr7,r9,0
> c0000000000812e0:	41 9e 13 90 	beq-    cr7,c000000000082670 <.xmon_core+0x21c0>
> c0000000000812e4:	e8 7c 25 f0 	ld      r3,9712(r28)
> c0000000000812e8:	38 81 01 28 	addi    r4,r1,296
> c0000000000812ec:	4b ff b9 35 	bl      c00000000007cc20 <.mwrite>
> c0000000000812f0:	39 3a 44 e8 	addi    r9,r26,17640
> c0000000000812f4:	ea 89 00 42 	lwa     r20,64(r9)
> c0000000000812f8:	4b ff e0 69 	bl      c00000000007f360 <.skipbl>
> c0000000000812fc:	2f 83 00 0a 	cmpwi   cr7,r3,10
> c000000000081300:	41 9e 18 98 	beq-    cr7,c000000000082b98 <.xmon_core+0x26e8>
> c000000000081304:	38 63 00 01 	addi    r3,r3,1
> c000000000081308:	7f 74 db 78 	mr      r20,r27
> c00000000008130c:	2b 83 00 79 	cmplwi  cr7,r3,121
> c000000000081310:	41 9d ff 70 	bgt+    cr7,c000000000081280 <.xmon_core+0xdd0>
> c000000000081314:	39 37 fa 44 	addi    r9,r23,-1468
> c000000000081318:	78 63 17 88 	rldic   r3,r3,2,30
> c00000000008131c:	7d 49 1a aa 	lwax    r10,r9,r3
> c000000000081320:	7d 2a 4a 14 	add     r9,r10,r9
> c000000000081324:	7d 29 03 a6 	mtctr   r9
> c000000000081328:	4e 80 04 20 	bctr
> c00000000008132c:	00 00 13 14 	.long 0x1314
> c000000000081330:	ff ff ff 54 	.long 0xffffff54
> c000000000081334:	ff ff ff 54 	.long 0xffffff54
> c000000000081338:	ff ff ff 54 	.long 0xffffff54
> c00000000008133c:	ff ff ff 54 	.long 0xffffff54
> c000000000081340:	ff ff ff 54 	.long 0xffffff54
> c000000000081344:	ff ff ff 54 	.long 0xffffff54
> c000000000081348:	ff ff ff 54 	.long 0xffffff54
> c00000000008134c:	ff ff ff 54 	.long 0xffffff54
> c000000000081350:	ff ff ff 54 	.long 0xffffff54
> c000000000081354:	ff ff ff 54 	.long 0xffffff54
> c000000000081358:	ff ff ff 54 	.long 0xffffff54
> c00000000008135c:	ff ff ff 54 	.long 0xffffff54
> c000000000081360:	ff ff ff 54 	.long 0xffffff54
> c000000000081364:	ff ff ff 54 	.long 0xffffff54
> c000000000081368:	ff ff ff 54 	.long 0xffffff54
> c00000000008136c:	ff ff ff 54 	.long 0xffffff54
> c000000000081370:	ff ff ff 54 	.long 0xffffff54
> c000000000081374:	ff ff ff 54 	.long 0xffffff54
> c000000000081378:	ff ff ff 54 	.long 0xffffff54
> c00000000008137c:	ff ff ff 54 	.long 0xffffff54
> c000000000081380:	ff ff ff 54 	.long 0xffffff54
> c000000000081384:	ff ff ff 54 	.long 0xffffff54
> c000000000081388:	ff ff ff 54 	.long 0xffffff54
> c00000000008138c:	ff ff ff 54 	.long 0xffffff54
> c000000000081390:	ff ff ff 54 	.long 0xffffff54
> c000000000081394:	ff ff ff 54 	.long 0xffffff54
> c000000000081398:	ff ff ff 54 	.long 0xffffff54
> c00000000008139c:	ff ff ff 54 	.long 0xffffff54
> c0000000000813a0:	ff ff ff 54 	.long 0xffffff54
> c0000000000813a4:	ff ff ff 54 	.long 0xffffff54
> c0000000000813a8:	ff ff ff 54 	.long 0xffffff54
> c0000000000813ac:	ff ff ff 54 	.long 0xffffff54
> c0000000000813b0:	ff ff ff 54 	.long 0xffffff54
> c0000000000813b4:	ff ff ff 54 	.long 0xffffff54
> c0000000000813b8:	ff ff ff 54 	.long 0xffffff54
> c0000000000813bc:	ff ff ff 54 	.long 0xffffff54
> c0000000000813c0:	ff ff ff 54 	.long 0xffffff54
> c0000000000813c4:	ff ff ff 54 	.long 0xffffff54
> c0000000000813c8:	ff ff ff 54 	.long 0xffffff54
> c0000000000813cc:	00 00 12 48 	.long 0x1248
> c0000000000813d0:	ff ff ff 54 	.long 0xffffff54
> c0000000000813d4:	ff ff ff 54 	.long 0xffffff54
> c0000000000813d8:	ff ff ff 54 	.long 0xffffff54
> c0000000000813dc:	ff ff ff 54 	.long 0xffffff54
> c0000000000813e0:	00 00 12 2c 	.long 0x122c
> c0000000000813e4:	ff ff ff 54 	.long 0xffffff54
> c0000000000813e8:	00 00 12 1c 	.long 0x121c
> c0000000000813ec:	00 00 11 e0 	.long 0x11e0
> c0000000000813f0:	ff ff ff 54 	.long 0xffffff54
> c0000000000813f4:	ff ff ff 54 	.long 0xffffff54
> c0000000000813f8:	ff ff ff 54 	.long 0xffffff54
> c0000000000813fc:	ff ff ff 54 	.long 0xffffff54
> c000000000081400:	ff ff ff 54 	.long 0xffffff54
> c000000000081404:	ff ff ff 54 	.long 0xffffff54
> c000000000081408:	ff ff ff 54 	.long 0xffffff54
> c00000000008140c:	ff ff ff 54 	.long 0xffffff54
> c000000000081410:	ff ff ff 54 	.long 0xffffff54
> c000000000081414:	ff ff ff 54 	.long 0xffffff54
> c000000000081418:	ff ff ff 54 	.long 0xffffff54
> c00000000008141c:	ff ff ff 54 	.long 0xffffff54
> c000000000081420:	00 00 11 a0 	.long 0x11a0
> c000000000081424:	ff ff ff 54 	.long 0xffffff54
> c000000000081428:	00 00 11 74 	.long 0x1174
> c00000000008142c:	00 00 11 60 	.long 0x1160
> c000000000081430:	ff ff ff 54 	.long 0xffffff54
> c000000000081434:	ff ff ff 54 	.long 0xffffff54
> c000000000081438:	ff ff ff 54 	.long 0xffffff54
> c00000000008143c:	ff ff ff 54 	.long 0xffffff54
> c000000000081440:	ff ff ff 54 	.long 0xffffff54
> c000000000081444:	ff ff ff 54 	.long 0xffffff54
> c000000000081448:	ff ff ff 54 	.long 0xffffff54
> c00000000008144c:	ff ff ff 54 	.long 0xffffff54
> c000000000081450:	ff ff ff 54 	.long 0xffffff54
> c000000000081454:	ff ff ff 54 	.long 0xffffff54
> c000000000081458:	ff ff ff 54 	.long 0xffffff54
> c00000000008145c:	ff ff ff 54 	.long 0xffffff54
> c000000000081460:	ff ff ff 54 	.long 0xffffff54
> c000000000081464:	ff ff ff 54 	.long 0xffffff54
> c000000000081468:	ff ff ff 54 	.long 0xffffff54
> c00000000008146c:	ff ff ff 54 	.long 0xffffff54
> c000000000081470:	ff ff ff 54 	.long 0xffffff54
> c000000000081474:	ff ff ff 54 	.long 0xffffff54
> c000000000081478:	ff ff ff 54 	.long 0xffffff54
> c00000000008147c:	ff ff ff 54 	.long 0xffffff54
> c000000000081480:	ff ff ff 54 	.long 0xffffff54
> c000000000081484:	ff ff ff 54 	.long 0xffffff54
> c000000000081488:	ff ff ff 54 	.long 0xffffff54
> c00000000008148c:	ff ff ff 54 	.long 0xffffff54
> c000000000081490:	ff ff ff 54 	.long 0xffffff54
> c000000000081494:	ff ff ff 54 	.long 0xffffff54
> c000000000081498:	ff ff ff 54 	.long 0xffffff54
> c00000000008149c:	ff ff ff 54 	.long 0xffffff54
> c0000000000814a0:	00 00 11 3c 	.long 0x113c
> c0000000000814a4:	ff ff ff 54 	.long 0xffffff54
> c0000000000814a8:	00 00 11 20 	.long 0x1120
> c0000000000814ac:	ff ff ff 54 	.long 0xffffff54
> c0000000000814b0:	ff ff ff 54 	.long 0xffffff54
> c0000000000814b4:	ff ff ff 54 	.long 0xffffff54
> c0000000000814b8:	00 00 11 0c 	.long 0x110c
> c0000000000814bc:	ff ff ff 54 	.long 0xffffff54
> c0000000000814c0:	ff ff ff 54 	.long 0xffffff54
> c0000000000814c4:	ff ff ff 54 	.long 0xffffff54
> c0000000000814c8:	ff ff ff 54 	.long 0xffffff54
> c0000000000814cc:	ff ff ff 54 	.long 0xffffff54
> c0000000000814d0:	ff ff ff 54 	.long 0xffffff54
> c0000000000814d4:	ff ff ff 54 	.long 0xffffff54
> c0000000000814d8:	ff ff ff 54 	.long 0xffffff54
> c0000000000814dc:	ff ff ff 54 	.long 0xffffff54
> c0000000000814e0:	00 00 10 f8 	.long 0x10f8
> c0000000000814e4:	00 00 10 e4 	.long 0x10e4
> c0000000000814e8:	00 00 10 d4 	.long 0x10d4
> c0000000000814ec:	ff ff ff 54 	.long 0xffffff54
> c0000000000814f0:	ff ff ff 54 	.long 0xffffff54
> c0000000000814f4:	ff ff ff 54 	.long 0xffffff54
> c0000000000814f8:	00 00 10 bc 	.long 0x10bc
> c0000000000814fc:	ff ff ff 54 	.long 0xffffff54
> c000000000081500:	ff ff ff 54 	.long 0xffffff54
> c000000000081504:	00 00 10 a8 	.long 0x10a8
> c000000000081508:	00 00 11 0c 	.long 0x110c
> c00000000008150c:	00 00 11 cc 	.long 0x11cc
> c000000000081510:	00 00 13 14 	.long 0x1314
> c000000000081514:	60 00 00 00 	nop
> c000000000081518:	60 00 00 00 	nop
> c00000000008151c:	60 00 00 00 	nop
> c000000000081520:	4b ff e9 a1 	bl      c00000000007fec0 <.symbol_lookup>
> c000000000081524:	4b ff f4 ec 	b       c000000000080a10 <.xmon_core+0x560>
> c000000000081528:	60 00 00 00 	nop
> c00000000008152c:	60 00 00 00 	nop
> 
> 
> c000000000081530:	4b ff e5 d1 	bl      c00000000007fb00 <.cacheflush>
> c000000000081534:	4b ff f4 dc 	b       c000000000080a10 <.xmon_core+0x560>
> c000000000081538:	60 00 00 00 	nop
> c00000000008153c:	60 00 00 00 	nop
> 
> 
> c000000000081540:	7d e3 7b 78 	mr      r3,r15
> c000000000081544:	4b ff db 1d 	bl      c00000000007f060 <.excprint>
> c000000000081548:	4b ff f4 c8 	b       c000000000080a10 <.xmon_core+0x560>
> c00000000008154c:	60 00 00 00 	nop
> 
> 
> c000000000081550:	4b ff d7 a1 	bl      c00000000007ecf0 <.inchar>
> c000000000081554:	2f 83 00 70 	cmpwi   cr7,r3,112
> c000000000081558:	7c 7c 1b 78 	mr      r28,r3
> c00000000008155c:	41 9e 15 ac 	beq-    cr7,c000000000082b08 <.xmon_core+0x2658>
> c000000000081560:	78 69 00 20 	clrldi  r9,r3,32
> c000000000081564:	39 49 ff d0 	addi    r10,r9,-48
> c000000000081568:	2b 8a 00 09 	cmplwi  cr7,r10,9
> c00000000008156c:	40 9d 04 74 	ble-    cr7,c0000000000819e0 <.xmon_core+0x1530>
> c000000000081570:	39 49 ff 9f 	addi    r10,r9,-97
> c000000000081574:	2b 8a 00 05 	cmplwi  cr7,r10,5
> c000000000081578:	40 9d 0b e8 	ble-    cr7,c000000000082160 <.xmon_core+0x1cb0>
> c00000000008157c:	39 29 ff bf 	addi    r9,r9,-65
> c000000000081580:	2b 89 00 05 	cmplwi  cr7,r9,5
> c000000000081584:	41 9d 04 48 	bgt-    cr7,c0000000000819cc <.xmon_core+0x151c>
> c000000000081588:	2f 9c 00 64 	cmpwi   cr7,r28,100
> c00000000008158c:	40 9e 04 54 	bne-    cr7,c0000000000819e0 <.xmon_core+0x1530>
> c000000000081590:	3b 5f 3e 10 	addi    r26,r31,15888
> c000000000081594:	38 7a 25 f0 	addi    r3,r26,9712
> c000000000081598:	4b ff de 29 	bl      c00000000007f3c0 <.scanhex>
> c00000000008159c:	81 3a 24 d8 	lwz     r9,9432(r26)
> c0000000000815a0:	2f 89 00 0a 	cmpwi   cr7,r9,10
> c0000000000815a4:	41 9e 00 0c 	beq-    cr7,c0000000000815b0 <.xmon_core+0x1100>
> c0000000000815a8:	39 20 00 00 	li      r9,0
> c0000000000815ac:	91 3a 24 d8 	stw     r9,9432(r26)
> c0000000000815b0:	2f 9c 00 69 	cmpwi   cr7,r28,105
> c0000000000815b4:	41 9e 12 30 	beq-    cr7,c0000000000827e4 <.xmon_core+0x2334>
> c0000000000815b8:	2f 9c 00 6c 	cmpwi   cr7,r28,108
> c0000000000815bc:	41 9e 15 d4 	beq-    cr7,c000000000082b90 <.xmon_core+0x26e0>
> c0000000000815c0:	2f 9c 00 72 	cmpwi   cr7,r28,114
> c0000000000815c4:	3f 82 ff ed 	addis   r28,r2,-19
> c0000000000815c8:	3b 9c 44 e8 	addi    r28,r28,17640
> c0000000000815cc:	38 7c 00 50 	addi    r3,r28,80
> c0000000000815d0:	41 9e 0b a8 	beq-    cr7,c000000000082178 <.xmon_core+0x1cc8>
> c0000000000815d4:	4b ff dd ed 	bl      c00000000007f3c0 <.scanhex>
> c0000000000815d8:	e8 9c 00 50 	ld      r4,80(r28)
> c0000000000815dc:	2f a4 00 00 	cmpdi   cr7,r4,0
> c0000000000815e0:	40 9e 0a 10 	bne-    cr7,c000000000081ff0 <.xmon_core+0x1b40>
> c0000000000815e4:	39 20 00 40 	li      r9,64
> c0000000000815e8:	38 80 00 40 	li      r4,64
> c0000000000815ec:	f9 3c 00 50 	std     r9,80(r28)
> c0000000000815f0:	3b 9f 3e 10 	addi    r28,r31,15888
> c0000000000815f4:	e8 7c 25 f0 	ld      r3,9712(r28)
> c0000000000815f8:	4b ff d2 99 	bl      c00000000007e890 <.prdump>
> c0000000000815fc:	3d 22 ff ed 	addis   r9,r2,-19
> c000000000081600:	e9 5c 25 f0 	ld      r10,9712(r28)
> c000000000081604:	39 29 44 e8 	addi    r9,r9,17640
> c000000000081608:	e9 09 00 50 	ld      r8,80(r9)
> c00000000008160c:	3d 22 ff db 	addis   r9,r2,-37
> c000000000081610:	39 29 df 10 	addi    r9,r9,-8432
> c000000000081614:	7d 48 52 14 	add     r10,r8,r10
> c000000000081618:	f9 3c 26 38 	std     r9,9784(r28)
> c00000000008161c:	f9 5c 25 f0 	std     r10,9712(r28)
> c000000000081620:	4b ff f3 f0 	b       c000000000080a10 <.xmon_core+0x560>
> c000000000081624:	60 00 00 00 	nop
> c000000000081628:	60 00 00 00 	nop
> c00000000008162c:	60 00 00 00 	nop
> 
> 
> c000000000081630:	38 61 01 60 	addi    r3,r1,352
> c000000000081634:	4b ff dd 8d 	bl      c00000000007f3c0 <.scanhex>
> c000000000081638:	2f a3 00 00 	cmpdi   cr7,r3,0
> c00000000008163c:	41 9e 08 1c 	beq-    cr7,c000000000081e58 <.xmon_core+0x19a8>
> c000000000081640:	e8 81 01 60 	ld      r4,352(r1)
> c000000000081644:	39 3f 3e 10 	addi    r9,r31,15888
> c000000000081648:	39 09 24 e8 	addi    r8,r9,9448
> c00000000008164c:	7c 8a 36 70 	srawi   r10,r4,6
> c000000000081650:	7d 4a 01 94 	addze   r10,r10
> c000000000081654:	7d 4a 07 b4 	extsw   r10,r10
> c000000000081658:	79 4a 1f 24 	rldicr  r10,r10,3,60
> c00000000008165c:	7d 08 50 2a 	ldx     r8,r8,r10
> c000000000081660:	78 8a 06 a0 	clrldi  r10,r4,58
> c000000000081664:	7d 0a 54 36 	srd     r10,r8,r10
> c000000000081668:	79 48 07 e1 	clrldi. r8,r10,63
> c00000000008166c:	41 82 10 44 	beq-    c0000000000826b0 <.xmon_core+0x2200>
> c000000000081670:	3d 02 ff ed 	addis   r8,r2,-19
> c000000000081674:	38 e0 00 00 	li      r7,0
> c000000000081678:	39 48 44 e8 	addi    r10,r8,17640
> c00000000008167c:	f8 ea 00 28 	std     r7,40(r10)
> c000000000081680:	7c 00 04 ac 	sync    
> c000000000081684:	e8 e1 01 60 	ld      r7,352(r1)
> c000000000081688:	90 e9 66 54 	stw     r7,26196(r9)
> c00000000008168c:	e9 2a 00 28 	ld      r9,40(r10)
> c000000000081690:	2f a9 00 00 	cmpdi   cr7,r9,0
> c000000000081694:	40 9e 00 30 	bne-    cr7,c0000000000816c4 <.xmon_core+0x1214>
> c000000000081698:	3d 40 00 98 	lis     r10,152
> c00000000008169c:	61 46 96 7f 	ori     r6,r10,38527
> c0000000000816a0:	7c c9 03 a6 	mtctr   r6
> c0000000000816a4:	48 00 00 10 	b       c0000000000816b4 <.xmon_core+0x1204>
> c0000000000816a8:	60 00 00 00 	nop
> c0000000000816ac:	60 00 00 00 	nop
> 
> 
> c0000000000816b0:	42 40 13 e0 	bdz-    c000000000082a90 <.xmon_core+0x25e0>
> c0000000000816b4:	39 28 44 e8 	addi    r9,r8,17640
> c0000000000816b8:	e9 49 00 28 	ld      r10,40(r9)
> c0000000000816bc:	2f aa 00 00 	cmpdi   cr7,r10,0
> c0000000000816c0:	41 9e ff f0 	beq+    cr7,c0000000000816b0 <.xmon_core+0x1200>
> c0000000000816c4:	3b 80 00 01 	li      r28,1
> c0000000000816c8:	4b ff f0 74 	b       c00000000008073c <.xmon_core+0x28c>
> c0000000000816cc:	60 00 00 00 	nop
> 
> 
> c0000000000816d0:	3d 22 ff d4 	addis   r9,r2,-44
> c0000000000816d4:	39 29 9a 90 	addi    r9,r9,-25968
> c0000000000816d8:	e8 69 00 00 	ld      r3,0(r9)
> c0000000000816dc:	e8 89 00 08 	ld      r4,8(r9)
> c0000000000816e0:	e8 a9 00 10 	ld      r5,16(r9)
> c0000000000816e4:	e8 c9 00 18 	ld      r6,24(r9)
> c0000000000816e8:	e8 e9 00 20 	ld      r7,32(r9)
> c0000000000816ec:	e9 09 00 28 	ld      r8,40(r9)
> c0000000000816f0:	81 49 00 30 	lwz     r10,48(r9)
> c0000000000816f4:	89 29 00 34 	lbz     r9,52(r9)
> c0000000000816f8:	f8 61 01 28 	std     r3,296(r1)
> c0000000000816fc:	f8 81 01 30 	std     r4,304(r1)
> c000000000081700:	f8 a1 01 38 	std     r5,312(r1)
> c000000000081704:	f8 c1 01 40 	std     r6,320(r1)
> c000000000081708:	f8 e1 01 48 	std     r7,328(r1)
> c00000000008170c:	f9 01 01 50 	std     r8,336(r1)
> c000000000081710:	91 41 01 58 	stw     r10,344(r1)
> c000000000081714:	99 21 01 5c 	stb     r9,348(r1)
> c000000000081718:	4b ff d5 d9 	bl      c00000000007ecf0 <.inchar>
> c00000000008171c:	2f 83 00 64 	cmpwi   cr7,r3,100
> c000000000081720:	41 9e 09 c4 	beq-    cr7,c0000000000820e4 <.xmon_core+0x1c34>
> c000000000081724:	2f 83 00 69 	cmpwi   cr7,r3,105
> c000000000081728:	41 9e 09 38 	beq-    cr7,c000000000082060 <.xmon_core+0x1bb0>
> c00000000008172c:	2f 83 00 63 	cmpwi   cr7,r3,99
> c000000000081730:	41 9e 08 d8 	beq-    cr7,c000000000082008 <.xmon_core+0x1b58>
> c000000000081734:	3b 9f 3e 10 	addi    r28,r31,15888
> c000000000081738:	90 7c 24 d8 	stw     r3,9432(r28)
> c00000000008173c:	4b ff dc 25 	bl      c00000000007f360 <.skipbl>
> c000000000081740:	2f 83 00 3f 	cmpwi   cr7,r3,63
> c000000000081744:	7c 69 1b 78 	mr      r9,r3
> c000000000081748:	41 9e 14 80 	beq-    cr7,c000000000082bc8 <.xmon_core+0x2718>
> c00000000008174c:	38 61 01 60 	addi    r3,r1,352
> c000000000081750:	91 3c 24 d8 	stw     r9,9432(r28)
> c000000000081754:	4b ff dc 6d 	bl      c00000000007f3c0 <.scanhex>
> c000000000081758:	2f a3 00 00 	cmpdi   cr7,r3,0
> c00000000008175c:	40 9e 11 30 	bne-    cr7,c00000000008288c <.xmon_core+0x23dc>
> c000000000081760:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000081764:	38 63 98 a8 	addi    r3,r3,-26456
> c000000000081768:	48 00 20 d9 	bl      c000000000083840 <.xmon_printf>
> c00000000008176c:	60 00 00 00 	nop
> c000000000081770:	81 3c 66 fc 	lwz     r9,26364(r28)
> c000000000081774:	2f 89 00 00 	cmpwi   cr7,r9,0
> c000000000081778:	40 9e 12 d8 	bne-    cr7,c000000000082a50 <.xmon_core+0x25a0>
> c00000000008177c:	3b 3f 3e 10 	addi    r25,r31,15888
> c000000000081780:	3e c2 ff d4 	addis   r22,r2,-44
> c000000000081784:	3e e2 ff d8 	addis   r23,r2,-40
> c000000000081788:	3f 02 ff d5 	addis   r24,r2,-43
> c00000000008178c:	3b 99 00 08 	addi    r28,r25,8
> c000000000081790:	3b 40 00 00 	li      r26,0
> c000000000081794:	3a d6 98 e0 	addi    r22,r22,-26400
> c000000000081798:	3a f7 b7 38 	addi    r23,r23,-18632
> c00000000008179c:	3b 18 0e 68 	addi    r24,r24,3688
> c0000000000817a0:	3e 82 ff d3 	addis   r20,r2,-45
> c0000000000817a4:	3e a2 ff d4 	addis   r21,r2,-44
> c0000000000817a8:	3b 39 20 08 	addi    r25,r25,8200
> c0000000000817ac:	48 00 00 34 	b       c0000000000817e0 <.xmon_core+0x1330>
> 
> 
> c0000000000817b0:	38 b5 8a a0 	addi    r5,r21,-30048
> c0000000000817b4:	7e c3 b3 78 	mr      r3,r22
> c0000000000817b8:	48 00 20 89 	bl      c000000000083840 <.xmon_printf>
> c0000000000817bc:	60 00 00 00 	nop
> c0000000000817c0:	e8 7c 00 00 	ld      r3,0(r28)
> c0000000000817c4:	7e e4 bb 78 	mr      r4,r23
> c0000000000817c8:	7f 05 c3 78 	mr      r5,r24
> c0000000000817cc:	4b ff aa 95 	bl      c00000000007c260 <.xmon_print_symbol>
> c0000000000817d0:	3b 9c 00 20 	addi    r28,r28,32
> c0000000000817d4:	3b 5a 00 20 	addi    r26,r26,32
> c0000000000817d8:	7f bc c8 40 	cmpld   cr7,r28,r25
> c0000000000817dc:	40 9c f2 34 	bge+    cr7,c000000000080a10 <.xmon_core+0x560>
> c0000000000817e0:	81 3c 00 14 	lwz     r9,20(r28)
> c0000000000817e4:	2f 89 00 00 	cmpwi   cr7,r9,0
> c0000000000817e8:	41 9e ff e8 	beq+    cr7,c0000000000817d0 <.xmon_core+0x1320>
> c0000000000817ec:	79 26 ff e3 	rldicl. r6,r9,63,63
> c0000000000817f0:	7f 44 2e 74 	sradi   r4,r26,5
> c0000000000817f4:	38 84 00 01 	addi    r4,r4,1
> c0000000000817f8:	40 82 ff b8 	bne+    c0000000000817b0 <.xmon_core+0x1300>
> c0000000000817fc:	38 b4 a1 88 	addi    r5,r20,-24184
> c000000000081800:	4b ff ff b4 	b       c0000000000817b4 <.xmon_core+0x1304>
> c000000000081804:	60 00 00 00 	nop
> c000000000081808:	60 00 00 00 	nop
> c00000000008180c:	60 00 00 00 	nop
> 
> 
> c000000000081810:	38 61 01 60 	addi    r3,r1,352
> c000000000081814:	4b ff db ad 	bl      c00000000007f3c0 <.scanhex>
> c000000000081818:	2f a3 00 00 	cmpdi   cr7,r3,0
> c00000000008181c:	40 9e 06 04 	bne-    cr7,c000000000081e20 <.xmon_core+0x1970>
> c000000000081820:	e8 6f 00 08 	ld      r3,8(r15)
> c000000000081824:	e8 8f 01 20 	ld      r4,288(r15)
> c000000000081828:	e8 af 01 00 	ld      r5,256(r15)
> c00000000008182c:	4b ff af 55 	bl      c00000000007c780 <.xmon_show_stack>
> c000000000081830:	4b ff d5 51 	bl      c00000000007ed80 <.scannl>
> c000000000081834:	4b ff f1 dc 	b       c000000000080a10 <.xmon_core+0x560>
> c000000000081838:	60 00 00 00 	nop
> c00000000008183c:	60 00 00 00 	nop
> 
> 
> c000000000081840:	7d e3 7b 78 	mr      r3,r15
> c000000000081844:	4b ff df cd 	bl      c00000000007f810 <.prregs>
> c000000000081848:	4b ff f1 c8 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> /*
> 1645         case 'w':
> 1646                 val = read_spr(regno);
> 1647                 scanhex(&val);
> 1648                 write_spr(regno, val);
> 1649                 /* fall through */
> 1650         case 'r':
> 1651                 printf("spr %lx = %lx\n", regno, read_spr(regno));
> 1652                 break;
> 1653         }
> 1654         scannl();
> 1655 }
> */
> c00000000008184c:	e8 7a 66 de 	lwa     r3,26332(r26)
> c000000000081850:	4b ff b6 71 	bl      c00000000007cec0 <.read_spr>
> c000000000081854:	7c 29 0b 78 	mr      r9,r1
> c000000000081858:	f8 69 01 61 	stdu    r3,352(r9)
> c00000000008185c:	7d 23 4b 78 	mr      r3,r9
> c000000000081860:	4b ff db 61 	bl      c00000000007f3c0 <.scanhex>
> c000000000081864:	e8 7a 66 de 	lwa     r3,26332(r26)
> c000000000081868:	e8 81 01 60 	ld      r4,352(r1)
> c00000000008186c:	4b ff b5 75 	bl      c00000000007cde0 <.write_spr>
> c000000000081870:	39 3f 3e 10 	addi    r9,r31,15888
> c000000000081874:	eb 89 66 d8 	ld      r28,26328(r9)
> c000000000081878:	7f 83 07 b4 	extsw   r3,r28
> c00000000008187c:	4b ff b6 45 	bl      c00000000007cec0 <.read_spr>
> c000000000081880:	7f 84 e3 78 	mr      r4,r28
> c000000000081884:	7c 65 1b 78 	mr      r5,r3
> c000000000081888:	3c 62 ff d4 	addis   r3,r2,-44
> c00000000008188c:	38 63 91 c8 	addi    r3,r3,-28216
> c000000000081890:	48 00 1f b1 	bl      c000000000083840 <.xmon_printf>
> c000000000081894:	60 00 00 00 	nop
> c000000000081898:	4b ff d4 e9 	bl      c00000000007ed80 <.scannl>
> c00000000008189c:	4b ff f1 74 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c0000000000818a0:	2f 83 00 72 	cmpwi   cr7,r3,114
> c0000000000818a4:	41 9e 00 ec 	beq-    cr7,c000000000081990 <.xmon_core+0x14e0>
> c0000000000818a8:	2f 83 00 77 	cmpwi   cr7,r3,119
> c0000000000818ac:	41 9e 00 d4 	beq-    cr7,c000000000081980 <.xmon_core+0x14d0>
> c0000000000818b0:	2f 83 00 6e 	cmpwi   cr7,r3,110
> c0000000000818b4:	40 9e f8 0c 	bne+    cr7,c0000000000810c0 <.xmon_core+0xc10>
> c0000000000818b8:	39 3f 3e 10 	addi    r9,r31,15888
> c0000000000818bc:	93 49 66 d4 	stw     r26,26324(r9)
> c0000000000818c0:	4b ff f8 00 	b       c0000000000810c0 <.xmon_core+0xc10>
> c0000000000818c4:	60 00 00 00 	nop
> c0000000000818c8:	60 00 00 00 	nop
> c0000000000818cc:	60 00 00 00 	nop
> 
> 
> c0000000000818d0:	81 3f 00 08 	lwz     r9,8(r31)
> c0000000000818d4:	7d 2a d0 38 	and     r10,r9,r26
> c0000000000818d8:	7f 8a c8 00 	cmpw    cr7,r10,r25
> c0000000000818dc:	41 9e 05 24 	beq-    cr7,c000000000081e00 <.xmon_core+0x1950>
> c0000000000818e0:	7d 29 b8 38 	and     r9,r9,r23
> c0000000000818e4:	7f 89 b0 00 	cmpw    cr7,r9,r22
> c0000000000818e8:	41 9e 05 18 	beq-    cr7,c000000000081e00 <.xmon_core+0x1950>
> c0000000000818ec:	7c 00 e8 6c 	dcbst   0,r29
> c0000000000818f0:	7c 00 04 ac 	sync    
> c0000000000818f4:	7c 00 ef ac 	icbi    0,r29
> c0000000000818f8:	4c 00 01 2c 	isync
> c0000000000818fc:	81 3f 00 14 	lwz     r9,20(r31)
> c000000000081900:	79 27 ff e3 	rldicl. r7,r9,63,63
> c000000000081904:	40 82 f4 ec 	bne+    c000000000080df0 <.xmon_core+0x940>
> c000000000081908:	e8 7f 00 00 	ld      r3,0(r31)
> c00000000008190c:	7e a4 ab 78 	mr      r4,r21
> c000000000081910:	38 a0 00 04 	li      r5,4
> c000000000081914:	4b ff b3 0d 	bl      c00000000007cc20 <.mwrite>
> c000000000081918:	2f 83 00 04 	cmpwi   cr7,r3,4
> c00000000008191c:	41 9e 0f 50 	beq-    cr7,c00000000008286c <.xmon_core+0x23bc>
> c000000000081920:	e8 9f 00 00 	ld      r4,0(r31)
> c000000000081924:	7e 83 a3 78 	mr      r3,r20
> c000000000081928:	48 00 1f 19 	bl      c000000000083840 <.xmon_printf>
> c00000000008192c:	60 00 00 00 	nop
> c000000000081930:	81 3f 00 14 	lwz     r9,20(r31)
> c000000000081934:	55 29 e0 7e 	rlwinm  r9,r9,28,1,31
> c000000000081938:	55 29 20 3e 	rotlwi  r9,r9,4
> c00000000008193c:	91 3f 00 14 	stw     r9,20(r31)
> c000000000081940:	4b ff f4 b0 	b       c000000000080df0 <.xmon_core+0x940>
> c000000000081944:	60 00 00 00 	nop
> c000000000081948:	60 00 00 00 	nop
> c00000000008194c:	60 00 00 00 	nop
> 
> 
> c000000000081950:	39 3c 44 e8 	addi    r9,r28,17640
> c000000000081954:	92 c9 00 40 	stw     r22,64(r9)
> c000000000081958:	4b ff f7 68 	b       c0000000000810c0 <.xmon_core+0xc10>
> c00000000008195c:	60 00 00 00 	nop
> 
> 
> c000000000081960:	39 3c 44 e8 	addi    r9,r28,17640
> c000000000081964:	93 09 00 40 	stw     r24,64(r9)
> c000000000081968:	4b ff f7 58 	b       c0000000000810c0 <.xmon_core+0xc10>
> c00000000008196c:	60 00 00 00 	nop
> 
> 
> c000000000081970:	39 3c 44 e8 	addi    r9,r28,17640
> c000000000081974:	93 49 00 40 	stw     r26,64(r9)
> c000000000081978:	4b ff f7 48 	b       c0000000000810c0 <.xmon_core+0xc10>
> c00000000008197c:	60 00 00 00 	nop
> 
> 
> c000000000081980:	39 3c 44 e8 	addi    r9,r28,17640
> c000000000081984:	92 e9 00 40 	stw     r23,64(r9)
> c000000000081988:	4b ff f7 38 	b       c0000000000810c0 <.xmon_core+0xc10>
> c00000000008198c:	60 00 00 00 	nop
> 
> 
> c000000000081990:	39 5f 3e 10 	addi    r10,r31,15888
> c000000000081994:	81 2a 66 d0 	lwz     r9,26320(r10)
> c000000000081998:	7d 29 00 34 	cntlzw  r9,r9
> c00000000008199c:	55 29 d9 7e 	rlwinm  r9,r9,27,5,31
> c0000000000819a0:	91 2a 66 d0 	stw     r9,26320(r10)
> c0000000000819a4:	4b ff f7 1c 	b       c0000000000810c0 <.xmon_core+0xc10>
> c0000000000819a8:	60 00 00 00 	nop
> c0000000000819ac:	60 00 00 00 	nop
> 
> /*
>  796                 xmon_no_auto_backtrace = 1;
>  797                 xmon_show_stack(excp->gpr[1], excp->link, excp->nip);
> */
> c0000000000819b0:	e8 6f 00 08 	ld      r3,8(r15)
> c0000000000819b4:	e8 8f 01 20 	ld      r4,288(r15)
> c0000000000819b8:	39 40 00 01 	li      r10,1
> c0000000000819bc:	e8 af 01 00 	ld      r5,256(r15)
> c0000000000819c0:	91 49 24 e0 	stw     r10,9440(r9)
> c0000000000819c4:	4b ff ad bd 	bl      c00000000007c780 <.xmon_show_stack>
> c0000000000819c8:	4b ff f0 3c 	b       c000000000080a04 <.xmon_core+0x554>
> 
> 
> c0000000000819cc:	2f 83 00 0a 	cmpwi   cr7,r3,10
> c0000000000819d0:	40 be fb c0 	bne-    cr7,c000000000081590 <.xmon_core+0x10e0>
> c0000000000819d4:	60 00 00 00 	nop
> c0000000000819d8:	60 00 00 00 	nop
> c0000000000819dc:	60 00 00 00 	nop
> 
> 
> c0000000000819e0:	39 3f 3e 10 	addi    r9,r31,15888
> c0000000000819e4:	93 89 24 d8 	stw     r28,9432(r9)
> c0000000000819e8:	4b ff fb a8 	b       c000000000081590 <.xmon_core+0x10e0>
> c0000000000819ec:	60 00 00 00 	nop
> 
> 
> c0000000000819f0:	3d 42 ff 33 	addis   r10,r2,-205
> c0000000000819f4:	79 29 17 88 	rldic   r9,r9,2,30
> c0000000000819f8:	39 4a 01 24 	addi    r10,r10,292
> c0000000000819fc:	7d 2a 4a aa 	lwax    r9,r10,r9
> c000000000081a00:	7d 49 52 14 	add     r10,r9,r10
> c000000000081a04:	7d 49 03 a6 	mtctr   r10
> c000000000081a08:	4e 80 04 20 	bctr
> c000000000081a0c:	00 00 02 d4 	.long 0x2d4
> c000000000081a10:	ff ff f6 68 	.long 0xfffff668
> c000000000081a14:	ff ff f6 68 	.long 0xfffff668
> c000000000081a18:	ff ff f6 68 	.long 0xfffff668
> c000000000081a1c:	ff ff f6 68 	.long 0xfffff668
> c000000000081a20:	00 00 02 c4 	.long 0x2c4
> c000000000081a24:	ff ff f6 68 	.long 0xfffff668
> c000000000081a28:	ff ff f6 68 	.long 0xfffff668
> c000000000081a2c:	00 00 01 8c 	.long 0x18c
> c000000000081a30:	00 00 02 d4 	.long 0x2d4
> c000000000081a34:	ff ff f6 68 	.long 0xfffff668
> c000000000081a38:	ff ff f6 68 	.long 0xfffff668
> c000000000081a3c:	ff ff f6 68 	.long 0xfffff668
> c000000000081a40:	ff ff f6 68 	.long 0xfffff668
> c000000000081a44:	ff ff f6 68 	.long 0xfffff668
> c000000000081a48:	00 00 02 d4 	.long 0x2d4
> c000000000081a4c:	ff ff f6 68 	.long 0xfffff668
> c000000000081a50:	ff ff f6 68 	.long 0xfffff668
> c000000000081a54:	ff ff f6 68 	.long 0xfffff668
> c000000000081a58:	ff ff f6 68 	.long 0xfffff668
> c000000000081a5c:	ff ff f6 68 	.long 0xfffff668
> c000000000081a60:	ff ff f6 68 	.long 0xfffff668
> c000000000081a64:	00 00 00 5c 	.long 0x5c
> c000000000081a68:	3b 9f 3e 10 	addi    r28,r31,15888
> c000000000081a6c:	38 7c 66 b0 	addi    r3,r28,26288
> c000000000081a70:	4b ff d9 51 	bl      c00000000007f3c0 <.scanhex>
> c000000000081a74:	81 3c 24 d8 	lwz     r9,9432(r28)
> c000000000081a78:	2f 89 00 0a 	cmpwi   cr7,r9,10
> c000000000081a7c:	41 9e 00 0c 	beq-    cr7,c000000000081a88 <.xmon_core+0x15d8>
> c000000000081a80:	39 20 00 00 	li      r9,0
> c000000000081a84:	91 3c 24 d8 	stw     r9,9432(r28)
> c000000000081a88:	3c 62 ff ed 	addis   r3,r2,-19
> c000000000081a8c:	38 63 44 e8 	addi    r3,r3,17640
> c000000000081a90:	38 63 00 30 	addi    r3,r3,48
> c000000000081a94:	4b ff d9 2d 	bl      c00000000007f3c0 <.scanhex>
> c000000000081a98:	39 3f 3e 10 	addi    r9,r31,15888
> c000000000081a9c:	81 49 24 d8 	lwz     r10,9432(r9)
> c000000000081aa0:	2f 8a 00 0a 	cmpwi   cr7,r10,10
> c000000000081aa4:	41 9e 00 0c 	beq-    cr7,c000000000081ab0 <.xmon_core+0x1600>
> c000000000081aa8:	39 40 00 00 	li      r10,0
> c000000000081aac:	91 49 24 d8 	stw     r10,9432(r9)
> c000000000081ab0:	3f 02 ff ed 	addis   r24,r2,-19
> c000000000081ab4:	3b 98 44 e8 	addi    r28,r24,17640
> c000000000081ab8:	38 7c 00 38 	addi    r3,r28,56
> c000000000081abc:	4b ff d9 05 	bl      c00000000007f3c0 <.scanhex>
> c000000000081ac0:	39 3f 3e 10 	addi    r9,r31,15888
> c000000000081ac4:	eb 49 66 b0 	ld      r26,26288(r9)
> c000000000081ac8:	e9 3c 00 38 	ld      r9,56(r28)
> c000000000081acc:	7b 5c 00 20 	clrldi  r28,r26,32
> c000000000081ad0:	7f a9 e0 40 	cmpld   cr7,r9,r28
> c000000000081ad4:	7f 9a e3 78 	mr      r26,r28
> c000000000081ad8:	40 9d ef 38 	ble+    cr7,c000000000080a10 <.xmon_core+0x560>
> c000000000081adc:	3e c2 ff d4 	addis   r22,r2,-44
> c000000000081ae0:	3e e2 ff d4 	addis   r23,r2,-44
> c000000000081ae4:	3a a0 00 00 	li      r21,0
> c000000000081ae8:	3a d6 8c 30 	addi    r22,r22,-29648
> c000000000081aec:	3a f7 8c 20 	addi    r23,r23,-29664
> c000000000081af0:	48 00 00 44 	b       c000000000081b34 <.xmon_core+0x1684>
> c000000000081af4:	60 00 00 00 	nop
> c000000000081af8:	60 00 00 00 	nop
> c000000000081afc:	60 00 00 00 	nop
> 
> 
> c000000000081b00:	40 9e 04 d4 	bne-    cr7,c000000000081fd4 <.xmon_core+0x1b24>
> c000000000081b04:	39 38 44 e8 	addi    r9,r24,17640
> c000000000081b08:	e8 89 00 30 	ld      r4,48(r9)
> c000000000081b0c:	7d 5c 22 14 	add     r10,r28,r4
> c000000000081b10:	7f aa e0 40 	cmpld   cr7,r10,r28
> c000000000081b14:	41 9c 00 64 	blt-    cr7,c000000000081b78 <.xmon_core+0x16c8>
> c000000000081b18:	7f 5a 22 14 	add     r26,r26,r4
> c000000000081b1c:	e9 29 00 38 	ld      r9,56(r9)
> c000000000081b20:	7f 35 cb 78 	mr      r21,r25
> c000000000081b24:	7b 5a 00 20 	clrldi  r26,r26,32
> c000000000081b28:	7f ba 48 40 	cmpld   cr7,r26,r9
> c000000000081b2c:	7f 5c d3 78 	mr      r28,r26
> c000000000081b30:	40 9c 00 48 	bge-    cr7,c000000000081b78 <.xmon_core+0x16c8>
> c000000000081b34:	7f 83 e3 78 	mr      r3,r28
> c000000000081b38:	38 81 01 60 	addi    r4,r1,352
> c000000000081b3c:	38 a0 00 01 	li      r5,1
> c000000000081b40:	4b ff a8 81 	bl      c00000000007c3c0 <.mread>
> c000000000081b44:	2f b5 00 00 	cmpdi   cr7,r21,0
> c000000000081b48:	7c 79 1b 79 	mr.     r25,r3
> c000000000081b4c:	41 82 ff b4 	beq+    c000000000081b00 <.xmon_core+0x1650>
> c000000000081b50:	40 9e ff b4 	bne+    cr7,c000000000081b04 <.xmon_core+0x1654>
> c000000000081b54:	7f 44 d3 78 	mr      r4,r26
> c000000000081b58:	7e e3 bb 78 	mr      r3,r23
> c000000000081b5c:	48 00 1c e5 	bl      c000000000083840 <.xmon_printf>
> c000000000081b60:	60 00 00 00 	nop
> c000000000081b64:	39 38 44 e8 	addi    r9,r24,17640
> c000000000081b68:	e8 89 00 30 	ld      r4,48(r9)
> c000000000081b6c:	7d 5c 22 14 	add     r10,r28,r4
> c000000000081b70:	7f aa e0 40 	cmpld   cr7,r10,r28
> c000000000081b74:	40 9c ff a4 	bge+    cr7,c000000000081b18 <.xmon_core+0x1668>
> c000000000081b78:	2f b9 00 00 	cmpdi   cr7,r25,0
> c000000000081b7c:	41 9e ee 94 	beq+    cr7,c000000000080a10 <.xmon_core+0x560>
> c000000000081b80:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000081b84:	7c 84 e0 50 	subf    r4,r4,r28
> c000000000081b88:	38 63 8c 30 	addi    r3,r3,-29648
> c000000000081b8c:	48 00 1c b5 	bl      c000000000083840 <.xmon_printf>
> c000000000081b90:	60 00 00 00 	nop
> c000000000081b94:	4b ff ee 7c 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c000000000081b98:	3b 9f 3e 10 	addi    r28,r31,15888
> c000000000081b9c:	3d 22 ff d4 	addis   r9,r2,-44
> c000000000081ba0:	39 29 8c 08 	addi    r9,r9,-29688
> c000000000081ba4:	38 7c 66 b0 	addi    r3,r28,26288
> c000000000081ba8:	f9 3c 26 38 	std     r9,9784(r28)
> c000000000081bac:	4b ff d8 15 	bl      c00000000007f3c0 <.scanhex>
> c000000000081bb0:	81 3c 24 d8 	lwz     r9,9432(r28)
> c000000000081bb4:	2f 89 00 0a 	cmpwi   cr7,r9,10
> c000000000081bb8:	41 9e 00 50 	beq-    cr7,c000000000081c08 <.xmon_core+0x1758>
> c000000000081bbc:	3b 40 00 00 	li      r26,0
> c000000000081bc0:	38 7c 66 c8 	addi    r3,r28,26312
> c000000000081bc4:	93 5c 24 d8 	stw     r26,9432(r28)
> c000000000081bc8:	4b ff d7 f9 	bl      c00000000007f3c0 <.scanhex>
> c000000000081bcc:	81 3c 24 d8 	lwz     r9,9432(r28)
> c000000000081bd0:	2f 89 00 0a 	cmpwi   cr7,r9,10
> c000000000081bd4:	41 9e 00 34 	beq-    cr7,c000000000081c08 <.xmon_core+0x1758>
> c000000000081bd8:	38 7c 26 40 	addi    r3,r28,9792
> c000000000081bdc:	93 5c 24 d8 	stw     r26,9432(r28)
> c000000000081be0:	4b ff d7 e1 	bl      c00000000007f3c0 <.scanhex>
> c000000000081be4:	81 3c 24 d8 	lwz     r9,9432(r28)
> c000000000081be8:	2f 89 00 0a 	cmpwi   cr7,r9,10
> c000000000081bec:	39 20 ff ff 	li      r9,-1
> c000000000081bf0:	91 3c 66 cc 	stw     r9,26316(r28)
> c000000000081bf4:	41 9e 00 08 	beq-    cr7,c000000000081bfc <.xmon_core+0x174c>
> c000000000081bf8:	93 5c 24 d8 	stw     r26,9432(r28)
> c000000000081bfc:	38 7f 3e 10 	addi    r3,r31,15888
> c000000000081c00:	38 63 66 cc 	addi    r3,r3,26316
> c000000000081c04:	4b ff d7 bd 	bl      c00000000007f3c0 <.scanhex>
> c000000000081c08:	39 3f 3e 10 	addi    r9,r31,15888
> c000000000081c0c:	83 89 66 b4 	lwz     r28,26292(r9)
> c000000000081c10:	81 29 66 c8 	lwz     r9,26312(r9)
> c000000000081c14:	7f 89 e0 40 	cmplw   cr7,r9,r28
> c000000000081c18:	40 9d ed f8 	ble+    cr7,c000000000080a10 <.xmon_core+0x560>
> c000000000081c1c:	3f 22 ff d4 	addis   r25,r2,-44
> c000000000081c20:	3b 40 00 00 	li      r26,0
> c000000000081c24:	3b 39 8c 10 	addi    r25,r25,-29680
> c000000000081c28:	48 00 00 20 	b       c000000000081c48 <.xmon_core+0x1798>
> c000000000081c2c:	60 00 00 00 	nop
> 
> 
> c000000000081c30:	39 3f 3e 10 	addi    r9,r31,15888
> c000000000081c34:	3b 9c 00 04 	addi    r28,r28,4
> c000000000081c38:	81 29 66 c8 	lwz     r9,26312(r9)
> c000000000081c3c:	7f 89 e0 40 	cmplw   cr7,r9,r28
> c000000000081c40:	7b 9c 00 20 	clrldi  r28,r28,32
> c000000000081c44:	40 9d ed cc 	ble+    cr7,c000000000080a10 <.xmon_core+0x560>
> c000000000081c48:	7f 83 e3 78 	mr      r3,r28
> c000000000081c4c:	38 81 01 28 	addi    r4,r1,296
> c000000000081c50:	38 a0 00 04 	li      r5,4
> c000000000081c54:	4b ff a7 6d 	bl      c00000000007c3c0 <.mread>
> c000000000081c58:	2f 83 00 04 	cmpwi   cr7,r3,4
> c000000000081c5c:	40 9e ff d4 	bne+    cr7,c000000000081c30 <.xmon_core+0x1780>
> c000000000081c60:	88 a1 01 28 	lbz     r5,296(r1)
> c000000000081c64:	89 21 01 29 	lbz     r9,297(r1)
> c000000000081c68:	89 01 01 2a 	lbz     r8,298(r1)
> c000000000081c6c:	89 41 01 2b 	lbz     r10,299(r1)
> c000000000081c70:	55 29 80 1e 	rlwinm  r9,r9,16,0,15
> c000000000081c74:	54 a5 c0 0e 	rlwinm  r5,r5,24,0,7
> c000000000081c78:	7c a5 4a 14 	add     r5,r5,r9
> c000000000081c7c:	55 08 40 2e 	rlwinm  r8,r8,8,0,23
> c000000000081c80:	39 3f 3e 10 	addi    r9,r31,15888
> c000000000081c84:	7c a5 42 14 	add     r5,r5,r8
> c000000000081c88:	7c a5 52 14 	add     r5,r5,r10
> c000000000081c8c:	e9 49 26 40 	ld      r10,9792(r9)
> c000000000081c90:	81 29 66 cc 	lwz     r9,26316(r9)
> c000000000081c94:	7c a5 07 b4 	extsw   r5,r5
> c000000000081c98:	7c aa 52 78 	xor     r10,r5,r10
> c000000000081c9c:	7d 46 48 39 	and.    r6,r10,r9
> c000000000081ca0:	40 82 ff 90 	bne+    c000000000081c30 <.xmon_core+0x1780>
> c000000000081ca4:	3b 5a 00 01 	addi    r26,r26,1
> c000000000081ca8:	7f 23 cb 78 	mr      r3,r25
> c000000000081cac:	7f 84 e3 78 	mr      r4,r28
> c000000000081cb0:	48 00 1b 91 	bl      c000000000083840 <.xmon_printf>
> c000000000081cb4:	60 00 00 00 	nop
> c000000000081cb8:	2b 9a 00 09 	cmplwi  cr7,r26,9
> c000000000081cbc:	7b 5a 00 20 	clrldi  r26,r26,32
> c000000000081cc0:	40 9d ff 70 	ble+    cr7,c000000000081c30 <.xmon_core+0x1780>
> c000000000081cc4:	4b ff ed 4c 	b       c000000000080a10 <.xmon_core+0x560>
> c000000000081cc8:	60 00 00 00 	nop
> c000000000081ccc:	60 00 00 00 	nop
> 
> 
> c000000000081cd0:	38 60 00 00 	li      r3,0
> c000000000081cd4:	48 38 ae 9d 	bl      c00000000040cb70 <.show_mem>
> c000000000081cd8:	60 00 00 00 	nop
> c000000000081cdc:	4b ff ed 34 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c000000000081ce0:	3b 5f 3e 10 	addi    r26,r31,15888
> c000000000081ce4:	38 7a 66 b0 	addi    r3,r26,26288
> c000000000081ce8:	4b ff d6 d9 	bl      c00000000007f3c0 <.scanhex>
> c000000000081cec:	81 3a 24 d8 	lwz     r9,9432(r26)
> c000000000081cf0:	2f 89 00 0a 	cmpwi   cr7,r9,10
> c000000000081cf4:	41 9e 00 0c 	beq-    cr7,c000000000081d00 <.xmon_core+0x1850>
> c000000000081cf8:	39 20 00 00 	li      r9,0
> c000000000081cfc:	91 3a 24 d8 	stw     r9,9432(r26)
> c000000000081d00:	2f 9c 00 73 	cmpwi   cr7,r28,115
> c000000000081d04:	38 7f 3e 10 	addi    r3,r31,15888
> c000000000081d08:	41 9e 0e a8 	beq-    cr7,c000000000082bb0 <.xmon_core+0x2700>
> c000000000081d0c:	38 63 26 48 	addi    r3,r3,9800
> c000000000081d10:	4b ff d6 b1 	bl      c00000000007f3c0 <.scanhex>
> c000000000081d14:	39 3f 3e 10 	addi    r9,r31,15888
> c000000000081d18:	81 49 24 d8 	lwz     r10,9432(r9)
> c000000000081d1c:	2f 8a 00 0a 	cmpwi   cr7,r10,10
> c000000000081d20:	41 9e 00 0c 	beq-    cr7,c000000000081d2c <.xmon_core+0x187c>
> c000000000081d24:	39 40 00 00 	li      r10,0
> c000000000081d28:	91 49 24 d8 	stw     r10,9432(r9)
> c000000000081d2c:	3b 5f 3e 10 	addi    r26,r31,15888
> c000000000081d30:	38 7a 66 b8 	addi    r3,r26,26296
> c000000000081d34:	4b ff d6 8d 	bl      c00000000007f3c0 <.scanhex>
> c000000000081d38:	2f 9c 00 6d 	cmpwi   cr7,r28,109
> c000000000081d3c:	41 9e 0e e8 	beq-    cr7,c000000000082c24 <.xmon_core+0x2774>
> c000000000081d40:	2f 9c 00 73 	cmpwi   cr7,r28,115
> c000000000081d44:	41 9e 0e c8 	beq-    cr7,c000000000082c0c <.xmon_core+0x275c>
> c000000000081d48:	2f 9c 00 64 	cmpwi   cr7,r28,100
> c000000000081d4c:	40 9e ec c4 	bne+    cr7,c000000000080a10 <.xmon_core+0x560>
> c000000000081d50:	81 3a 24 d8 	lwz     r9,9432(r26)
> c000000000081d54:	2f 89 00 0a 	cmpwi   cr7,r9,10
> c000000000081d58:	41 9e 00 0c 	beq-    cr7,c000000000081d64 <.xmon_core+0x18b4>
> c000000000081d5c:	39 20 00 00 	li      r9,0
> c000000000081d60:	91 3a 24 d8 	stw     r9,9432(r26)
> c000000000081d64:	3b 9f 3e 10 	addi    r28,r31,15888
> c000000000081d68:	38 7c 66 c0 	addi    r3,r28,26304
> c000000000081d6c:	4b ff d6 55 	bl      c00000000007f3c0 <.scanhex>
> c000000000081d70:	81 3c 66 bc 	lwz     r9,26300(r28)
> c000000000081d74:	e8 9c 66 b0 	ld      r4,26288(r28)
> c000000000081d78:	e8 dc 26 48 	ld      r6,9800(r28)
> c000000000081d7c:	82 dc 66 c4 	lwz     r22,26308(r28)
> c000000000081d80:	2f a9 00 00 	cmpdi   cr7,r9,0
> c000000000081d84:	41 9e ec 8c 	beq+    cr7,c000000000080a10 <.xmon_core+0x560>
> c000000000081d88:	39 29 ff ff 	addi    r9,r9,-1
> c000000000081d8c:	3a e4 00 01 	addi    r23,r4,1
> c000000000081d90:	79 29 00 20 	clrldi  r9,r9,32
> c000000000081d94:	3f 02 ff d4 	addis   r24,r2,-44
> c000000000081d98:	7e f7 4a 14 	add     r23,r23,r9
> c000000000081d9c:	3b 20 00 00 	li      r25,0
> c000000000081da0:	3b 18 8b c8 	addi    r24,r24,-29752
> c000000000081da4:	48 00 00 1c 	b       c000000000081dc0 <.xmon_core+0x1910>
> c000000000081da8:	60 00 00 00 	nop
> c000000000081dac:	60 00 00 00 	nop
> 
> 
> c000000000081db0:	7f ba b8 00 	cmpd    cr7,r26,r23
> c000000000081db4:	7f 44 d3 78 	mr      r4,r26
> c000000000081db8:	7f 86 e3 78 	mr      r6,r28
> c000000000081dbc:	41 9e 10 b0 	beq-    cr7,c000000000082e6c <.xmon_core+0x29bc>
> c000000000081dc0:	88 a4 00 00 	lbz     r5,0(r4)
> c000000000081dc4:	88 e6 00 00 	lbz     r7,0(r6)
> c000000000081dc8:	3b 44 00 01 	addi    r26,r4,1
> c000000000081dcc:	3b 86 00 01 	addi    r28,r6,1
> c000000000081dd0:	7f 85 38 40 	cmplw   cr7,r5,r7
> c000000000081dd4:	41 9e ff dc 	beq+    cr7,c000000000081db0 <.xmon_core+0x1900>
> c000000000081dd8:	39 39 00 01 	addi    r9,r25,1
> c000000000081ddc:	7f 96 48 40 	cmplw   cr7,r22,r9
> c000000000081de0:	79 39 00 20 	clrldi  r25,r9,32
> c000000000081de4:	41 9c ff cc 	blt+    cr7,c000000000081db0 <.xmon_core+0x1900>
> c000000000081de8:	7f 03 c3 78 	mr      r3,r24
> c000000000081dec:	48 00 1a 55 	bl      c000000000083840 <.xmon_printf>
> c000000000081df0:	60 00 00 00 	nop
> c000000000081df4:	4b ff ff bc 	b       c000000000081db0 <.xmon_core+0x1900>
> c000000000081df8:	60 00 00 00 	nop
> c000000000081dfc:	60 00 00 00 	nop
> 
> 
> c000000000081e00:	e8 9f 00 00 	ld      r4,0(r31)
> c000000000081e04:	7f 03 c3 78 	mr      r3,r24
> c000000000081e08:	48 00 1a 39 	bl      c000000000083840 <.xmon_printf>
> c000000000081e0c:	60 00 00 00 	nop
> c000000000081e10:	39 20 00 00 	li      r9,0
> c000000000081e14:	91 3f 00 14 	stw     r9,20(r31)
> c000000000081e18:	4b ff ef d8 	b       c000000000080df0 <.xmon_core+0x940>
> 
> 
> c000000000081e1c:	60 00 00 00 	nop
> c000000000081e20:	e8 61 01 60 	ld      r3,352(r1)
> c000000000081e24:	38 80 00 00 	li      r4,0
> c000000000081e28:	38 a0 00 00 	li      r5,0
> c000000000081e2c:	4b ff a9 55 	bl      c00000000007c780 <.xmon_show_stack>
> c000000000081e30:	4b ff cf 51 	bl      c00000000007ed80 <.scannl>
> c000000000081e34:	4b ff eb dc 	b       c000000000080a10 <.xmon_core+0x560>
> c000000000081e38:	60 00 00 00 	nop
> c000000000081e3c:	60 00 00 00 	nop
> 
> 
> /*
> 3213         case 's':
> 3214                 stop_spus();
> 3215                 break;
> 3216         case 'r':
> 3217                 restart_spus();
> 3218                 break;
> */
> c000000000081e40:	2f 83 00 72 	cmpwi   cr7,r3,114
> c000000000081e44:	41 9e 03 2c 	beq-    cr7,c000000000082170 <.xmon_core+0x1cc0>
> c000000000081e48:	2f 83 00 73 	cmpwi   cr7,r3,115
> c000000000081e4c:	40 9e ef 10 	bne+    cr7,c000000000080d5c <.xmon_core+0x8ac>		; for default, return -1
> c000000000081e50:	4b ff b1 81 	bl      c00000000007cfd0 <.stop_spus>
> c000000000081e54:	4b ff eb bc 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c000000000081e58:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000081e5c:	3b 40 ff ff 	li      r26,-1
> c000000000081e60:	38 63 99 08 	addi    r3,r3,-26360
> c000000000081e64:	3a ff 3e 10 	addi    r23,r31,15888
> c000000000081e68:	48 00 19 d9 	bl      c000000000083840 <.xmon_printf>
> c000000000081e6c:	60 00 00 00 	nop
> c000000000081e70:	39 40 ff ff 	li      r10,-1
> c000000000081e74:	3d 22 ff b3 	addis   r9,r2,-77
> c000000000081e78:	f9 41 01 60 	std     r10,352(r1)
> c000000000081e7c:	39 29 19 68 	addi    r9,r9,6504
> c000000000081e80:	3e a2 ff db 	addis   r21,r2,-37
> c000000000081e84:	3e 82 ff d6 	addis   r20,r2,-42
> c000000000081e88:	38 80 ff ff 	li      r4,-1
> c000000000081e8c:	eb 09 00 00 	ld      r24,0(r9)
> c000000000081e90:	3b 80 00 00 	li      r28,0
> c000000000081e94:	7b 5a 00 20 	clrldi  r26,r26,32
> c000000000081e98:	3f 22 00 09 	addis   r25,r2,9
> c000000000081e9c:	3a f7 24 e8 	addi    r23,r23,9448
> c000000000081ea0:	3a c0 00 00 	li      r22,0
> c000000000081ea4:	3a b5 e4 50 	addi    r21,r21,-7088
> c000000000081ea8:	3a 94 8f d0 	addi    r20,r20,-28720
> c000000000081eac:	60 00 00 00 	nop
> c000000000081eb0:	38 a4 00 01 	addi    r5,r4,1
> c000000000081eb4:	7f 03 c3 78 	mr      r3,r24
> c000000000081eb8:	38 80 08 00 	li      r4,2048
> c000000000081ebc:	7c a5 07 b4 	extsw   r5,r5
> c000000000081ec0:	48 39 62 81 	bl      c000000000418140 <.find_next_bit>
> c000000000081ec4:	60 00 00 00 	nop
> c000000000081ec8:	39 39 33 b8 	addi    r9,r25,13240
> c000000000081ecc:	e9 29 00 02 	lwa     r9,0(r9)
> c000000000081ed0:	7c 64 d0 38 	and     r4,r3,r26
> c000000000081ed4:	f8 81 01 60 	std     r4,352(r1)
> c000000000081ed8:	7f a4 48 40 	cmpld   cr7,r4,r9
> c000000000081edc:	40 9c 00 68 	bge-    cr7,c000000000081f44 <.xmon_core+0x1a94>
> c000000000081ee0:	7c 69 36 70 	srawi   r9,r3,6
> c000000000081ee4:	7d 29 01 94 	addze   r9,r9
> c000000000081ee8:	78 63 06 a0 	clrldi  r3,r3,58
> c000000000081eec:	7d 29 07 b4 	extsw   r9,r9
> c000000000081ef0:	79 29 1f 24 	rldicr  r9,r9,3,60
> c000000000081ef4:	7d 37 48 2a 	ldx     r9,r23,r9
> c000000000081ef8:	7d 23 1c 36 	srd     r3,r9,r3
> c000000000081efc:	78 67 07 e1 	clrldi. r7,r3,63
> c000000000081f00:	41 82 00 80 	beq-    c000000000081f80 <.xmon_core+0x1ad0>
> c000000000081f04:	2f bc 00 00 	cmpdi   cr7,r28,0
> c000000000081f08:	41 9e 00 b8 	beq-    cr7,c000000000081fc0 <.xmon_core+0x1b10>
> c000000000081f0c:	38 a4 00 01 	addi    r5,r4,1
> c000000000081f10:	7f 03 c3 78 	mr      r3,r24
> c000000000081f14:	38 80 08 00 	li      r4,2048
> c000000000081f18:	7c a5 07 b4 	extsw   r5,r5
> c000000000081f1c:	48 39 62 25 	bl      c000000000418140 <.find_next_bit>
> c000000000081f20:	60 00 00 00 	nop
> c000000000081f24:	39 39 33 b8 	addi    r9,r25,13240
> c000000000081f28:	3b 9c 00 01 	addi    r28,r28,1
> c000000000081f2c:	7f 9c 07 b4 	extsw   r28,r28
> c000000000081f30:	e9 29 00 02 	lwa     r9,0(r9)
> c000000000081f34:	7c 64 d0 38 	and     r4,r3,r26
> c000000000081f38:	f8 81 01 60 	std     r4,352(r1)
> c000000000081f3c:	7f a4 48 40 	cmpld   cr7,r4,r9
> c000000000081f40:	41 9c ff a0 	blt+    cr7,c000000000081ee0 <.xmon_core+0x1a30>
> c000000000081f44:	2f 9c 00 01 	cmpwi   cr7,r28,1
> c000000000081f48:	40 9d 00 18 	ble-    cr7,c000000000081f60 <.xmon_core+0x1ab0>
> c000000000081f4c:	3c 62 ff db 	addis   r3,r2,-37
> c000000000081f50:	38 80 07 ff 	li      r4,2047
> c000000000081f54:	38 63 e4 50 	addi    r3,r3,-7088
> c000000000081f58:	48 00 18 e9 	bl      c000000000083840 <.xmon_printf>
> c000000000081f5c:	60 00 00 00 	nop
> c000000000081f60:	3c 62 ff d5 	addis   r3,r2,-43
> c000000000081f64:	38 63 0e 68 	addi    r3,r3,3688
> c000000000081f68:	48 00 18 d9 	bl      c000000000083840 <.xmon_printf>
> c000000000081f6c:	60 00 00 00 	nop
> c000000000081f70:	4b ff ea a0 	b       c000000000080a10 <.xmon_core+0x560>
> c000000000081f74:	60 00 00 00 	nop
> c000000000081f78:	60 00 00 00 	nop
> c000000000081f7c:	60 00 00 00 	nop
> 
> 
> c000000000081f80:	2f 9c 00 01 	cmpwi   cr7,r28,1
> c000000000081f84:	40 9d 00 2c 	ble-    cr7,c000000000081fb0 <.xmon_core+0x1b00>
> c000000000081f88:	38 84 ff ff 	addi    r4,r4,-1
> c000000000081f8c:	7e a3 ab 78 	mr      r3,r21
> c000000000081f90:	48 00 18 b1 	bl      c000000000083840 <.xmon_printf>
> c000000000081f94:	60 00 00 00 	nop
> c000000000081f98:	7e dc b3 78 	mr      r28,r22
> c000000000081f9c:	e8 81 01 60 	ld      r4,352(r1)
> c000000000081fa0:	4b ff ff 10 	b       c000000000081eb0 <.xmon_core+0x1a00>
> c000000000081fa4:	60 00 00 00 	nop
> c000000000081fa8:	60 00 00 00 	nop
> c000000000081fac:	60 00 00 00 	nop
> 
> 
> c000000000081fb0:	7e dc b3 78 	mr      r28,r22
> c000000000081fb4:	4b ff fe fc 	b       c000000000081eb0 <.xmon_core+0x1a00>
> c000000000081fb8:	60 00 00 00 	nop
> c000000000081fbc:	60 00 00 00 	nop
> 
> 
> c000000000081fc0:	7e 83 a3 78 	mr      r3,r20
> c000000000081fc4:	48 00 18 7d 	bl      c000000000083840 <.xmon_printf>
> c000000000081fc8:	60 00 00 00 	nop
> 
> 
> c000000000081fcc:	e8 81 01 60 	ld      r4,352(r1)
> c000000000081fd0:	4b ff ff 3c 	b       c000000000081f0c <.xmon_core+0x1a5c>
> 
> 
> c000000000081fd4:	39 38 44 e8 	addi    r9,r24,17640
> c000000000081fd8:	7e c3 b3 78 	mr      r3,r22
> c000000000081fdc:	e8 89 00 30 	ld      r4,48(r9)
> c000000000081fe0:	7c 84 e0 50 	subf    r4,r4,r28
> c000000000081fe4:	48 00 18 5d 	bl      c000000000083840 <.xmon_printf>
> c000000000081fe8:	60 00 00 00 	nop
> c000000000081fec:	4b ff fb 18 	b       c000000000081b04 <.xmon_core+0x1654>
> 
> 
> c000000000081ff0:	3d 20 00 02 	lis     r9,2
> c000000000081ff4:	7f a4 48 40 	cmpld   cr7,r4,r9
> c000000000081ff8:	40 9d f5 f8 	ble+    cr7,c0000000000815f0 <.xmon_core+0x1140>
> c000000000081ffc:	f9 3c 00 50 	std     r9,80(r28)
> c000000000082000:	3c 80 00 02 	lis     r4,2
> c000000000082004:	4b ff f5 ec 	b       c0000000000815f0 <.xmon_core+0x1140>
> 
> 
> c000000000082008:	38 61 01 60 	addi    r3,r1,352
> c00000000008200c:	4b ff d3 b5 	bl      c00000000007f3c0 <.scanhex>
> c000000000082010:	2f a3 00 00 	cmpdi   cr7,r3,0
> c000000000082014:	40 9e 07 54 	bne-    cr7,c000000000082768 <.xmon_core+0x22b8>
> c000000000082018:	38 e0 01 00 	li      r7,256
> c00000000008201c:	39 3f 3e 10 	addi    r9,r31,15888
> c000000000082020:	7c e9 03 a6 	mtctr   r7
> c000000000082024:	39 29 00 1c 	addi    r9,r9,28
> c000000000082028:	39 40 00 00 	li      r10,0
> c00000000008202c:	60 00 00 00 	nop
> c000000000082030:	91 49 00 00 	stw     r10,0(r9)
> c000000000082034:	39 29 00 20 	addi    r9,r9,32
> c000000000082038:	42 00 ff f8 	bdnz+   c000000000082030 <.xmon_core+0x1b80>
> c00000000008203c:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000082040:	39 3f 3e 10 	addi    r9,r31,15888
> c000000000082044:	39 40 00 00 	li      r10,0
> c000000000082048:	38 63 97 18 	addi    r3,r3,-26856
> c00000000008204c:	f9 49 67 08 	std     r10,26376(r9)
> c000000000082050:	91 49 66 fc 	stw     r10,26364(r9)
> c000000000082054:	48 00 17 ed 	bl      c000000000083840 <.xmon_printf>
> c000000000082058:	60 00 00 00 	nop
> c00000000008205c:	4b ff e9 b4 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c000000000082060:	3d 22 00 0b 	addis   r9,r2,11
> c000000000082064:	39 29 69 18 	addi    r9,r9,26904
> c000000000082068:	e9 29 00 00 	ld      r9,0(r9)
> c00000000008206c:	e9 29 00 10 	ld      r9,16(r9)
> c000000000082070:	79 26 e7 e1 	rldicl. r6,r9,28,63
> c000000000082074:	41 82 07 5c 	beq-    c0000000000827d0 <.xmon_core+0x2320>
> c000000000082078:	39 5f 3e 10 	addi    r10,r31,15888
> c00000000008207c:	e9 2a 67 08 	ld      r9,26376(r10)
> c000000000082080:	2f a9 00 00 	cmpdi   cr7,r9,0
> c000000000082084:	41 9e 00 18 	beq-    cr7,c00000000008209c <.xmon_core+0x1bec>
> c000000000082088:	81 09 00 14 	lwz     r8,20(r9)
> c00000000008208c:	55 08 00 3a 	rlwinm  r8,r8,0,0,29
> c000000000082090:	91 09 00 14 	stw     r8,20(r9)
> c000000000082094:	39 20 00 00 	li      r9,0
> c000000000082098:	f9 2a 67 08 	std     r9,26376(r10)
> c00000000008209c:	38 61 01 60 	addi    r3,r1,352
> c0000000000820a0:	4b ff d3 21 	bl      c00000000007f3c0 <.scanhex>
> c0000000000820a4:	2f a3 00 00 	cmpdi   cr7,r3,0
> c0000000000820a8:	41 9e e9 68 	beq+    cr7,c000000000080a10 <.xmon_core+0x560>
> c0000000000820ac:	e8 61 01 60 	ld      r3,352(r1)
> c0000000000820b0:	4b ff aa 41 	bl      c00000000007caf0 <.check_bp_loc>
> c0000000000820b4:	2f a3 00 00 	cmpdi   cr7,r3,0
> c0000000000820b8:	41 9e e9 58 	beq+    cr7,c000000000080a10 <.xmon_core+0x560>
> c0000000000820bc:	e8 61 01 60 	ld      r3,352(r1)
> c0000000000820c0:	4b ff 9a 11 	bl      c00000000007bad0 <.new_breakpoint>
> c0000000000820c4:	2c 23 00 00 	cmpdi   r3,0
> c0000000000820c8:	41 82 e9 48 	beq+    c000000000080a10 <.xmon_core+0x560>
> c0000000000820cc:	81 03 00 14 	lwz     r8,20(r3)
> c0000000000820d0:	39 5f 3e 10 	addi    r10,r31,15888
> c0000000000820d4:	f8 6a 67 08 	std     r3,26376(r10)
> c0000000000820d8:	61 08 00 03 	ori     r8,r8,3
> c0000000000820dc:	91 03 00 14 	stw     r8,20(r3)
> c0000000000820e0:	4b ff e9 30 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c0000000000820e4:	4b ff cc 0d 	bl      c00000000007ecf0 <.inchar>
> c0000000000820e8:	3b 40 00 05 	li      r26,5
> c0000000000820ec:	2f 83 00 72 	cmpwi   cr7,r3,114
> c0000000000820f0:	41 9e 00 1c 	beq-    cr7,c00000000008210c <.xmon_core+0x1c5c>
> c0000000000820f4:	2f 83 00 77 	cmpwi   cr7,r3,119
> c0000000000820f8:	3b 40 00 06 	li      r26,6
> c0000000000820fc:	41 9e 00 10 	beq-    cr7,c00000000008210c <.xmon_core+0x1c5c>
> c000000000082100:	39 3f 3e 10 	addi    r9,r31,15888
> c000000000082104:	3b 40 00 07 	li      r26,7
> c000000000082108:	90 69 24 d8 	stw     r3,9432(r9)
> c00000000008210c:	3b 9f 3e 10 	addi    r28,r31,15888
> c000000000082110:	39 20 00 00 	li      r9,0
> c000000000082114:	38 7c 66 e8 	addi    r3,r28,26344
> c000000000082118:	f9 3c 66 e8 	std     r9,26344(r28)
> c00000000008211c:	91 3c 66 fc 	stw     r9,26364(r28)
> c000000000082120:	4b ff d2 a1 	bl      c00000000007f3c0 <.scanhex>
> c000000000082124:	2f a3 00 00 	cmpdi   cr7,r3,0
> c000000000082128:	41 9e e8 e8 	beq+    cr7,c000000000080a10 <.xmon_core+0x560>
> c00000000008212c:	3d 20 bf ff 	lis     r9,-16385
> c000000000082130:	e9 5c 66 e8 	ld      r10,26344(r28)
> c000000000082134:	61 29 ff ff 	ori     r9,r9,65535
> c000000000082138:	79 29 07 c6 	rldicr  r9,r9,32,31
> c00000000008213c:	65 29 ff ff 	oris    r9,r9,65535
> c000000000082140:	61 29 ff ff 	ori     r9,r9,65535
> c000000000082144:	7f aa 48 40 	cmpld   cr7,r10,r9
> c000000000082148:	40 9d 0d 74 	ble-    cr7,c000000000082ebc <.xmon_core+0x2a0c>
> c00000000008214c:	79 4a 07 24 	rldicr  r10,r10,0,60
> c000000000082150:	63 5a 00 10 	ori     r26,r26,16
> c000000000082154:	f9 5c 66 e8 	std     r10,26344(r28)
> c000000000082158:	93 5c 66 fc 	stw     r26,26364(r28)
> c00000000008215c:	4b ff e8 b4 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c000000000082160:	2f 83 00 66 	cmpwi   cr7,r3,102
> c000000000082164:	41 9e f4 2c 	beq+    cr7,c000000000081590 <.xmon_core+0x10e0>
> c000000000082168:	4b ff f4 20 	b       c000000000081588 <.xmon_core+0x10d8>
> c00000000008216c:	60 00 00 00 	nop
> 
> /*
> 3216         case 'r':
> 3217                 restart_spus();
> 3218                 break;
> */
> c000000000082170:	4b ff b0 41 	bl      c00000000007d1b0 <.restart_spus>
> c000000000082174:	4b ff e8 9c 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c000000000082178:	4b ff d2 49 	bl      c00000000007f3c0 <.scanhex>
> c00000000008217c:	ea bc 00 50 	ld      r21,80(r28)
> c000000000082180:	39 3f 3e 10 	addi    r9,r31,15888
> c000000000082184:	2f b5 00 00 	cmpdi   cr7,r21,0
> c000000000082188:	40 9e 09 dc 	bne-    cr7,c000000000082b64 <.xmon_core+0x26b4>
> c00000000008218c:	39 40 00 40 	li      r10,64
> c000000000082190:	ea 69 25 f0 	ld      r19,9712(r9)
> c000000000082194:	3a a0 00 40 	li      r21,64
> c000000000082198:	f9 5c 00 50 	std     r10,80(r28)
> c00000000008219c:	3e c2 ff d5 	addis   r22,r2,-43
> c0000000000821a0:	3e e2 ff b1 	addis   r23,r2,-79
> c0000000000821a4:	3f 02 ff d4 	addis   r24,r2,-44
> c0000000000821a8:	3b 21 01 28 	addi    r25,r1,296
> c0000000000821ac:	3a 00 00 00 	li      r16,0
> c0000000000821b0:	3a d6 f5 50 	addi    r22,r22,-2736
> c0000000000821b4:	3a f7 08 f0 	addi    r23,r23,2288
> c0000000000821b8:	3b 18 86 58 	addi    r24,r24,-31144
> c0000000000821bc:	60 00 00 00 	nop
> c0000000000821c0:	2f b5 00 10 	cmpdi   cr7,r21,16
> c0000000000821c4:	7e ba ab 78 	mr      r26,r21
> c0000000000821c8:	40 9d 00 08 	ble-    cr7,c0000000000821d0 <.xmon_core+0x1d20>
> c0000000000821cc:	3b 40 00 10 	li      r26,16
> c0000000000821d0:	7e 63 9b 78 	mr      r3,r19
> c0000000000821d4:	7f 24 cb 78 	mr      r4,r25
> c0000000000821d8:	7f 45 07 b4 	extsw   r5,r26
> c0000000000821dc:	7e 1c 83 78 	mr      r28,r16
> c0000000000821e0:	4b ff a1 e1 	bl      c00000000007c3c0 <.mread>
> c0000000000821e4:	7c 6e 1b 78 	mr      r14,r3
> c0000000000821e8:	7c 74 1b 78 	mr      r20,r3
> c0000000000821ec:	7e 73 1a 14 	add     r19,r19,r3
> c0000000000821f0:	48 00 00 2c 	b       c00000000008221c <.xmon_core+0x1d6c>
> c0000000000821f4:	60 00 00 00 	nop
> c0000000000821f8:	60 00 00 00 	nop
> c0000000000821fc:	60 00 00 00 	nop
> 
> 
> c000000000082200:	7c 99 e0 ae 	lbzx    r4,r25,r28
> c000000000082204:	7f 03 c3 78 	mr      r3,r24
> c000000000082208:	3b 9c 00 01 	addi    r28,r28,1
> c00000000008220c:	48 00 16 35 	bl      c000000000083840 <.xmon_printf>
> c000000000082210:	60 00 00 00 	nop
> c000000000082214:	7f ba e0 00 	cmpd    cr7,r26,r28
> c000000000082218:	40 9d 00 34 	ble-    cr7,c00000000008224c <.xmon_core+0x1d9c>
> c00000000008221c:	7f b4 e0 00 	cmpd    cr7,r20,r28
> c000000000082220:	41 9d ff e0 	bgt+    cr7,c000000000082200 <.xmon_core+0x1d50>
> c000000000082224:	39 3f 3e 10 	addi    r9,r31,15888
> c000000000082228:	7e c3 b3 78 	mr      r3,r22
> c00000000008222c:	e9 29 21 4a 	lwa     r9,8520(r9)
> c000000000082230:	3b 9c 00 01 	addi    r28,r28,1
> c000000000082234:	79 29 1f 24 	rldicr  r9,r9,3,60
> c000000000082238:	7c 97 48 2a 	ldx     r4,r23,r9
> c00000000008223c:	48 00 16 05 	bl      c000000000083840 <.xmon_printf>
> c000000000082240:	60 00 00 00 	nop
> c000000000082244:	7f ba e0 00 	cmpd    cr7,r26,r28
> c000000000082248:	41 9d ff d4 	bgt+    cr7,c00000000008221c <.xmon_core+0x1d6c>
> c00000000008224c:	7f ba 70 00 	cmpd    cr7,r26,r14
> c000000000082250:	7e ba a8 50 	subf    r21,r26,r21
> c000000000082254:	41 9d 00 0c 	bgt-    cr7,c000000000082260 <.xmon_core+0x1db0>
> c000000000082258:	2f b5 00 00 	cmpdi   cr7,r21,0
> c00000000008225c:	41 9d ff 64 	bgt+    cr7,c0000000000821c0 <.xmon_core+0x1d10>
> c000000000082260:	3c 62 ff d5 	addis   r3,r2,-43
> c000000000082264:	38 63 0e 68 	addi    r3,r3,3688
> c000000000082268:	48 00 15 d9 	bl      c000000000083840 <.xmon_printf>
> c00000000008226c:	60 00 00 00 	nop
> c000000000082270:	3d 42 ff ed 	addis   r10,r2,-19
> c000000000082274:	39 3f 3e 10 	addi    r9,r31,15888
> c000000000082278:	39 4a 44 e8 	addi    r10,r10,17640
> c00000000008227c:	e9 09 25 f0 	ld      r8,9712(r9)
> c000000000082280:	e8 ea 00 50 	ld      r7,80(r10)
> c000000000082284:	3d 42 ff d4 	addis   r10,r2,-44
> c000000000082288:	39 4a 91 20 	addi    r10,r10,-28384
> c00000000008228c:	7d 07 42 14 	add     r8,r7,r8
> c000000000082290:	f9 49 26 38 	std     r10,9784(r9)
> c000000000082294:	f9 09 25 f0 	std     r8,9712(r9)
> c000000000082298:	4b ff e7 78 	b       c000000000080a10 <.xmon_core+0x560>
> /*
> 3223         case 'f':
> 3224                 scanhex(&num);
> 3225                 if (num >= XMON_NUM_SPUS || !spu_info[num].spu) {
> 3226                         printf("*** Error: invalid spu number\n");
> 3227                         return 0;
> 3228                 }
> 3229 
> 3230                 switch (cmd) {
> 3231                 case 'f':
> 3232                         dump_spu_fields(spu_info[num].spu);
> 3233                         break;
> 3234                 default:
> 3235                         dump_spu_ls(num, subcmd);
> 3236                         break;
> 3237                 }
> 3238 
> 3239                 break;
> */
> c00000000008229c:	3b 20 00 00 	li      r25,0
> c0000000000822a0:	3b 9f 3e 10 	addi    r28,r31,15888
> c0000000000822a4:	38 7c 66 e0 	addi    r3,r28,26336
> c0000000000822a8:	4b ff d1 19 	bl      c00000000007f3c0 <.scanhex>
> c0000000000822ac:	e9 3c 66 e0 	ld      r9,26336(r28)
> c0000000000822b0:	2b a9 00 0f 	cmpldi  cr7,r9,15
> c0000000000822b4:	41 9d 01 0c 	bgt-    cr7,c0000000000823c0 <.xmon_core+0x1f10>
> c0000000000822b8:	1d 49 00 28 	mulli   r10,r9,40
> c0000000000822bc:	7f 9c 52 14 	add     r28,r28,r10
> c0000000000822c0:	e8 7c 21 50 	ld      r3,8528(r28)
> c0000000000822c4:	2f a3 00 00 	cmpdi   cr7,r3,0
> c0000000000822c8:	41 9e 00 f8 	beq-    cr7,c0000000000823c0 <.xmon_core+0x1f10>
> c0000000000822cc:	2f 9a 00 66 	cmpwi   cr7,r26,102		; 102 = 'f'
> c0000000000822d0:	41 9e 05 b4 	beq-    cr7,c000000000082884 <.xmon_core+0x23d4>
> c0000000000822d4:	7d 23 4b 78 	mr      r3,r9
> c0000000000822d8:	7f 24 cb 78 	mr      r4,r25
> c0000000000822dc:	4b ff df e5 	bl      c0000000000802c0 <.dump_spu_ls>
> c0000000000822e0:	4b ff e7 30 	b       c000000000080a10 <.xmon_core+0x560>
> 
> /*
> 1627                 unsigned long sp, toc;
> 1628                 asm("mr %0,1" : "=r" (sp) :);
> 1629                 asm("mr %0,2" : "=r" (toc) :);
> 1630 
> 1631                 printf("msr  = "REG"  sprg0= "REG"\n",
> 1632                        mfmsr(), mfspr(SPRN_SPRG0));
> 1633                 printf("pvr  = "REG"  sprg1= "REG"\n",
> 1634                        mfspr(SPRN_PVR), mfspr(SPRN_SPRG1));
> 1635                 printf("dec  = "REG"  sprg2= "REG"\n",
> 1636                        mfspr(SPRN_DEC), mfspr(SPRN_SPRG2));
> 1637                 printf("sp   = "REG"  sprg3= "REG"\n", sp, mfspr(SPRN_SPRG3));
> 1638                 printf("toc  = "REG"  dar  = "REG"\n", toc, mfspr(SPRN_DAR));
> 1639 
> 1640                 return;
> */
> c0000000000822e4:	7c 3a 0b 78 	mr      r26,r1
> c0000000000822e8:	7c 5c 13 78 	mr      r28,r2
> c0000000000822ec:	7c 80 00 a6 	mfmsr   r4
> c0000000000822f0:	7c b0 42 a6 	mfsprg  r5,0
> c0000000000822f4:	3c 62 ff d4 	addis   r3,r2,-44
> c0000000000822f8:	38 63 91 28 	addi    r3,r3,-28376
> c0000000000822fc:	48 00 15 45 	bl      c000000000083840 <.xmon_printf>
> c000000000082300:	60 00 00 00 	nop
> c000000000082304:	7c 9f 42 a6 	mfpvr   r4
> c000000000082308:	7c b1 42 a6 	mfsprg  r5,1
> c00000000008230c:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000082310:	38 63 91 48 	addi    r3,r3,-28344
> c000000000082314:	48 00 15 2d 	bl      c000000000083840 <.xmon_printf>
> c000000000082318:	60 00 00 00 	nop
> c00000000008231c:	7c 96 02 a6 	mfdec   r4
> c000000000082320:	7c b2 42 a6 	mfsprg  r5,2
> c000000000082324:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000082328:	38 63 91 68 	addi    r3,r3,-28312
> c00000000008232c:	48 00 15 15 	bl      c000000000083840 <.xmon_printf>
> c000000000082330:	60 00 00 00 	nop
> c000000000082334:	7c b3 42 a6 	mfsprg  r5,3
> c000000000082338:	3c 62 ff d4 	addis   r3,r2,-44
> c00000000008233c:	7f 44 d3 78 	mr      r4,r26
> c000000000082340:	38 63 91 88 	addi    r3,r3,-28280
> c000000000082344:	48 00 14 fd 	bl      c000000000083840 <.xmon_printf>
> c000000000082348:	60 00 00 00 	nop
> c00000000008234c:	7c b3 02 a6 	mfdar   r5
> c000000000082350:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000082354:	7f 84 e3 78 	mr      r4,r28
> c000000000082358:	38 63 91 a8 	addi    r3,r3,-28248
> c00000000008235c:	48 00 14 e5 	bl      c000000000083840 <.xmon_printf>
> c000000000082360:	60 00 00 00 	nop
> c000000000082364:	4b ff e6 ac 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c000000000082368:	4b ff c9 89 	bl      c00000000007ecf0 <.inchar>
> c00000000008236c:	78 69 00 20 	clrldi  r9,r3,32
> c000000000082370:	7c 79 1b 78 	mr      r25,r3
> c000000000082374:	39 49 ff d0 	addi    r10,r9,-48
> c000000000082378:	2b 8a 00 09 	cmplwi  cr7,r10,9
> c00000000008237c:	40 9d 00 24 	ble-    cr7,c0000000000823a0 <.xmon_core+0x1ef0>
> c000000000082380:	39 49 ff 9f 	addi    r10,r9,-97
> c000000000082384:	2b 8a 00 05 	cmplwi  cr7,r10,5
> c000000000082388:	40 9d 00 18 	ble-    cr7,c0000000000823a0 <.xmon_core+0x1ef0>
> c00000000008238c:	39 29 ff bf 	addi    r9,r9,-65
> c000000000082390:	2b 89 00 05 	cmplwi  cr7,r9,5
> c000000000082394:	40 9d 00 0c 	ble-    cr7,c0000000000823a0 <.xmon_core+0x1ef0>
> c000000000082398:	2f 83 00 0a 	cmpwi   cr7,r3,10
> c00000000008239c:	40 9e ff 04 	bne+    cr7,c0000000000822a0 <.xmon_core+0x1df0>
> c0000000000823a0:	3b 9f 3e 10 	addi    r28,r31,15888
> c0000000000823a4:	39 3f 3e 10 	addi    r9,r31,15888
> c0000000000823a8:	38 7c 66 e0 	addi    r3,r28,26336
> c0000000000823ac:	93 29 24 d8 	stw     r25,9432(r9)
> c0000000000823b0:	4b ff d0 11 	bl      c00000000007f3c0 <.scanhex>
> c0000000000823b4:	e9 3c 66 e0 	ld      r9,26336(r28)
> c0000000000823b8:	2b a9 00 0f 	cmpldi  cr7,r9,15
> c0000000000823bc:	40 9d fe fc 	ble+    cr7,c0000000000822b8 <.xmon_core+0x1e08>
> c0000000000823c0:	3c 62 ff d4 	addis   r3,r2,-44
> c0000000000823c4:	38 63 91 d8 	addi    r3,r3,-28200
> c0000000000823c8:	48 00 14 79 	bl      c000000000083840 <.xmon_printf>
> c0000000000823cc:	60 00 00 00 	nop
> c0000000000823d0:	4b ff e6 40 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c0000000000823d4:	39 3a 44 e8 	addi    r9,r26,17640
> c0000000000823d8:	39 40 00 08 	li      r10,8
> c0000000000823dc:	91 49 00 40 	stw     r10,64(r9)
> c0000000000823e0:	7f 74 db 78 	mr      r20,r27
> c0000000000823e4:	4b ff ee 9c 	b       c000000000081280 <.xmon_core+0xdd0>
> 
> 
> c0000000000823e8:	81 3c 66 d0 	lwz     r9,26320(r28)
> c0000000000823ec:	7f 74 db 78 	mr      r20,r27
> c0000000000823f0:	7d 29 00 34 	cntlzw  r9,r9
> c0000000000823f4:	55 29 d9 7e 	rlwinm  r9,r9,27,5,31
> c0000000000823f8:	91 3c 66 d0 	stw     r9,26320(r28)
> c0000000000823fc:	4b ff ee 84 	b       c000000000081280 <.xmon_core+0xdd0>
> 
> 
> c000000000082400:	39 20 00 01 	li      r9,1
> c000000000082404:	7f 74 db 78 	mr      r20,r27
> c000000000082408:	91 3c 66 d4 	stw     r9,26324(r28)
> c00000000008240c:	4b ff ee 74 	b       c000000000081280 <.xmon_core+0xdd0>
> 
> 
> c000000000082410:	3c c2 00 0f 	addis   r6,r2,15
> c000000000082414:	7f 74 db 78 	mr      r20,r27
> c000000000082418:	38 66 64 00 	addi    r3,r6,25600
> c00000000008241c:	4b ff cf a5 	bl      c00000000007f3c0 <.scanhex>
> c000000000082420:	4b ff ee 60 	b       c000000000081280 <.xmon_core+0xdd0>
> 
> 
> c000000000082424:	39 3a 44 e8 	addi    r9,r26,17640
> c000000000082428:	39 40 00 04 	li      r10,4
> c00000000008242c:	91 49 00 40 	stw     r10,64(r9)
> c000000000082430:	7f 74 db 78 	mr      r20,r27
> c000000000082434:	4b ff ee 4c 	b       c000000000081280 <.xmon_core+0xdd0>
> 
> 
> c000000000082438:	39 3a 44 e8 	addi    r9,r26,17640
> c00000000008243c:	39 40 00 01 	li      r10,1
> c000000000082440:	91 49 00 40 	stw     r10,64(r9)
> c000000000082444:	7f 74 db 78 	mr      r20,r27
> c000000000082448:	4b ff ee 38 	b       c000000000081280 <.xmon_core+0xdd0>
> 
> 
> c00000000008244c:	39 3a 44 e8 	addi    r9,r26,17640
> c000000000082450:	e9 5c 25 f0 	ld      r10,9712(r28)
> c000000000082454:	7f 74 db 78 	mr      r20,r27
> c000000000082458:	e9 29 00 42 	lwa     r9,64(r9)
> c00000000008245c:	7d 29 50 50 	subf    r9,r9,r10
> c000000000082460:	f9 3c 25 f0 	std     r9,9712(r28)
> c000000000082464:	4b ff ee 1c 	b       c000000000081280 <.xmon_core+0xdd0>
> 
> 
> c000000000082468:	2f 99 00 00 	cmpwi   cr7,r25,0
> c00000000008246c:	41 9c 07 70 	blt-    cr7,c000000000082bdc <.xmon_core+0x272c>
> c000000000082470:	e9 5c 25 f0 	ld      r10,9712(r28)
> c000000000082474:	39 20 00 10 	li      r9,16
> c000000000082478:	3b 20 ff fc 	li      r25,-4
> c00000000008247c:	7d 29 50 50 	subf    r9,r9,r10
> c000000000082480:	7f 74 db 78 	mr      r20,r27
> c000000000082484:	f9 3c 25 f0 	std     r9,9712(r28)
> c000000000082488:	4b ff ed f8 	b       c000000000081280 <.xmon_core+0xdd0>
> 
> 
> c00000000008248c:	e8 61 01 b8 	ld      r3,440(r1)
> c000000000082490:	7f 74 db 78 	mr      r20,r27
> c000000000082494:	48 00 13 ad 	bl      c000000000083840 <.xmon_printf>
> c000000000082498:	60 00 00 00 	nop
> c00000000008249c:	4b ff ed e4 	b       c000000000081280 <.xmon_core+0xdd0>
> 
> 
> c0000000000824a0:	39 3a 44 e8 	addi    r9,r26,17640
> c0000000000824a4:	38 61 01 60 	addi    r3,r1,352
> c0000000000824a8:	e9 29 00 42 	lwa     r9,64(r9)
> c0000000000824ac:	7f 74 db 78 	mr      r20,r27
> c0000000000824b0:	f9 21 01 60 	std     r9,352(r1)
> c0000000000824b4:	4b ff cf 0d 	bl      c00000000007f3c0 <.scanhex>
> c0000000000824b8:	e9 3c 25 f0 	ld      r9,9712(r28)
> c0000000000824bc:	e9 41 01 60 	ld      r10,352(r1)
> c0000000000824c0:	7d 2a 4a 14 	add     r9,r10,r9
> c0000000000824c4:	f9 3c 25 f0 	std     r9,9712(r28)
> c0000000000824c8:	4b ff ed b8 	b       c000000000081280 <.xmon_core+0xdd0>
> 
> 
> c0000000000824cc:	39 3a 44 e8 	addi    r9,r26,17640
> c0000000000824d0:	38 61 01 60 	addi    r3,r1,352
> c0000000000824d4:	e9 29 00 42 	lwa     r9,64(r9)
> c0000000000824d8:	7f 74 db 78 	mr      r20,r27
> c0000000000824dc:	f9 21 01 60 	std     r9,352(r1)
> c0000000000824e0:	4b ff ce e1 	bl      c00000000007f3c0 <.scanhex>
> c0000000000824e4:	e9 5c 25 f0 	ld      r10,9712(r28)
> c0000000000824e8:	e9 21 01 60 	ld      r9,352(r1)
> c0000000000824ec:	7d 29 50 50 	subf    r9,r9,r10
> c0000000000824f0:	f9 3c 25 f0 	std     r9,9712(r28)
> c0000000000824f4:	4b ff ed 8c 	b       c000000000081280 <.xmon_core+0xdd0>
> 
> 
> c0000000000824f8:	39 3a 44 e8 	addi    r9,r26,17640
> c0000000000824fc:	39 40 00 02 	li      r10,2
> c000000000082500:	91 49 00 40 	stw     r10,64(r9)
> c000000000082504:	7f 74 db 78 	mr      r20,r27
> c000000000082508:	4b ff ed 78 	b       c000000000081280 <.xmon_core+0xdd0>
> 
> 
> c00000000008250c:	2f 99 00 00 	cmpwi   cr7,r25,0
> c000000000082510:	40 9d 06 a8 	ble-    cr7,c000000000082bb8 <.xmon_core+0x2708>
> c000000000082514:	39 20 00 01 	li      r9,1
> c000000000082518:	e9 1c 25 f0 	ld      r8,9712(r28)
> c00000000008251c:	7d 2a c8 30 	slw     r10,r9,r25
> c000000000082520:	3b 39 00 04 	addi    r25,r25,4
> c000000000082524:	7d 29 c8 30 	slw     r9,r9,r25
> c000000000082528:	7d 4a 07 b4 	extsw   r10,r10
> c00000000008252c:	7d 4a 40 50 	subf    r10,r10,r8
> c000000000082530:	7f 39 07 b4 	extsw   r25,r25
> c000000000082534:	7d 29 07 b4 	extsw   r9,r9
> c000000000082538:	7d 2a 4a 14 	add     r9,r10,r9
> c00000000008253c:	7f 74 db 78 	mr      r20,r27
> c000000000082540:	f9 3c 25 f0 	std     r9,9712(r28)
> c000000000082544:	4b ff ed 3c 	b       c000000000081280 <.xmon_core+0xdd0>
> 
> 
> c000000000082548:	39 20 00 00 	li      r9,0
> c00000000008254c:	7f 74 db 78 	mr      r20,r27
> c000000000082550:	91 3c 66 d4 	stw     r9,26324(r28)
> c000000000082554:	4b ff ed 2c 	b       c000000000081280 <.xmon_core+0xdd0>
> 
> 
> c000000000082558:	39 3a 44 e8 	addi    r9,r26,17640
> c00000000008255c:	7f 74 db 78 	mr      r20,r27
> c000000000082560:	e9 49 00 42 	lwa     r10,64(r9)
> c000000000082564:	e9 3c 25 f0 	ld      r9,9712(r28)
> c000000000082568:	7d 2a 4a 14 	add     r9,r10,r9
> c00000000008256c:	f9 3c 25 f0 	std     r9,9712(r28)
> c000000000082570:	4b ff ed 10 	b       c000000000081280 <.xmon_core+0xdd0>
> 
> 
> c000000000082574:	4b ff c7 7d 	bl      c00000000007ecf0 <.inchar>
> c000000000082578:	3a 00 00 09 	li      r16,9
> c00000000008257c:	3a 80 00 08 	li      r20,8
> c000000000082580:	2f a3 00 5c 	cmpdi   cr7,r3,92
> c000000000082584:	f8 61 01 60 	std     r3,352(r1)
> c000000000082588:	41 9e 00 8c 	beq-    cr7,c000000000082614 <.xmon_core+0x2164>
> c00000000008258c:	60 00 00 00 	nop
> c000000000082590:	2f a3 00 27 	cmpdi   cr7,r3,39
> c000000000082594:	41 9e 00 f4 	beq-    cr7,c000000000082688 <.xmon_core+0x21d8>
> c000000000082598:	39 3a 44 e8 	addi    r9,r26,17640
> c00000000008259c:	80 e9 00 40 	lwz     r7,64(r9)
> c0000000000825a0:	2f 87 00 00 	cmpwi   cr7,r7,0
> c0000000000825a4:	7c e5 07 b4 	extsw   r5,r7
> c0000000000825a8:	40 9d 00 30 	ble-    cr7,c0000000000825d8 <.xmon_core+0x2128>
> c0000000000825ac:	e8 c1 01 60 	ld      r6,352(r1)
> c0000000000825b0:	39 01 01 27 	addi    r8,r1,295
> c0000000000825b4:	78 e7 18 28 	rldic   r7,r7,3,32
> c0000000000825b8:	7f 69 db 78 	mr      r9,r27
> c0000000000825bc:	60 00 00 00 	nop
> c0000000000825c0:	39 49 00 08 	addi    r10,r9,8
> c0000000000825c4:	7c c9 4c 36 	srd     r9,r6,r9
> c0000000000825c8:	7f 8a 38 40 	cmplw   cr7,r10,r7
> c0000000000825cc:	9d 28 00 01 	stbu    r9,1(r8)
> c0000000000825d0:	79 49 00 20 	clrldi  r9,r10,32
> c0000000000825d4:	40 9e ff ec 	bne+    cr7,c0000000000825c0 <.xmon_core+0x2110>
> c0000000000825d8:	81 3c 66 d0 	lwz     r9,26320(r28)
> c0000000000825dc:	2f 89 00 00 	cmpwi   cr7,r9,0
> c0000000000825e0:	41 9e 00 70 	beq-    cr7,c000000000082650 <.xmon_core+0x21a0>
> c0000000000825e4:	e8 7c 25 f0 	ld      r3,9712(r28)
> c0000000000825e8:	38 81 01 28 	addi    r4,r1,296
> c0000000000825ec:	4b ff a6 35 	bl      c00000000007cc20 <.mwrite>
> c0000000000825f0:	39 3a 44 e8 	addi    r9,r26,17640
> c0000000000825f4:	e9 49 00 42 	lwa     r10,64(r9)
> c0000000000825f8:	e9 3c 25 f0 	ld      r9,9712(r28)
> c0000000000825fc:	7d 2a 4a 14 	add     r9,r10,r9
> c000000000082600:	f9 3c 25 f0 	std     r9,9712(r28)
> c000000000082604:	4b ff c6 ed 	bl      c00000000007ecf0 <.inchar>
> c000000000082608:	2f a3 00 5c 	cmpdi   cr7,r3,92
> c00000000008260c:	f8 61 01 60 	std     r3,352(r1)
> c000000000082610:	40 9e ff 80 	bne+    cr7,c000000000082590 <.xmon_core+0x20e0>
> c000000000082614:	4b ff c6 dd 	bl      c00000000007ecf0 <.inchar>
> c000000000082618:	7e a9 ab 78 	mr      r9,r21
> c00000000008261c:	2f 83 00 6e 	cmpwi   cr7,r3,110
> c000000000082620:	41 9e 00 18 	beq-    cr7,c000000000082638 <.xmon_core+0x2188>
> c000000000082624:	41 9d 02 28 	bgt-    cr7,c00000000008284c <.xmon_core+0x239c>
> c000000000082628:	2f 83 00 62 	cmpwi   cr7,r3,98
> c00000000008262c:	7e 89 a3 78 	mr      r9,r20
> c000000000082630:	41 9e 00 08 	beq-    cr7,c000000000082638 <.xmon_core+0x2188>
> c000000000082634:	7c 69 1b 78 	mr      r9,r3
> c000000000082638:	f9 21 01 60 	std     r9,352(r1)
> c00000000008263c:	4b ff ff 5c 	b       c000000000082598 <.xmon_core+0x20e8>
> 
> 
> c000000000082640:	eb 61 01 c0 	ld      r27,448(r1)
> c000000000082644:	eb c1 01 c8 	ld      r30,456(r1)
> c000000000082648:	4b ff c7 39 	bl      c00000000007ed80 <.scannl>
> c00000000008264c:	4b ff e3 c4 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c000000000082650:	7c a4 2b 78 	mr      r4,r5
> c000000000082654:	38 61 01 28 	addi    r3,r1,296
> c000000000082658:	f8 a1 01 d0 	std     r5,464(r1)
> c00000000008265c:	4b ff c7 75 	bl      c00000000007edd0 <.byterev>
> c000000000082660:	e8 a1 01 d0 	ld      r5,464(r1)
> c000000000082664:	4b ff ff 80 	b       c0000000000825e4 <.xmon_core+0x2134>
> c000000000082668:	60 00 00 00 	nop
> c00000000008266c:	60 00 00 00 	nop
> 
> 
> c000000000082670:	7c a4 2b 78 	mr      r4,r5
> c000000000082674:	38 61 01 28 	addi    r3,r1,296
> c000000000082678:	f8 a1 01 d0 	std     r5,464(r1)
> c00000000008267c:	4b ff c7 55 	bl      c00000000007edd0 <.byterev>
> c000000000082680:	e8 a1 01 d0 	ld      r5,464(r1)
> c000000000082684:	4b ff ec 60 	b       c0000000000812e4 <.xmon_core+0xe34>
> 
> 
> c000000000082688:	39 3a 44 e8 	addi    r9,r26,17640
> c00000000008268c:	ea 89 00 42 	lwa     r20,64(r9)
> c000000000082690:	e9 3c 25 f0 	ld      r9,9712(r28)
> c000000000082694:	7d 34 48 50 	subf    r9,r20,r9
> c000000000082698:	f9 3c 25 f0 	std     r9,9712(r28)
> c00000000008269c:	4b ff eb e4 	b       c000000000081280 <.xmon_core+0xdd0>
> 
> 
> c0000000000826a0:	3d 22 00 09 	addis   r9,r2,9
> c0000000000826a4:	3b 80 00 01 	li      r28,1
> c0000000000826a8:	e9 29 2f 00 	ld      r9,12032(r9)
> c0000000000826ac:	4b ff e0 20 	b       c0000000000806cc <.xmon_core+0x21c>
> 
> 
> c0000000000826b0:	7e 43 93 78 	mr      r3,r18
> c0000000000826b4:	48 00 11 8d 	bl      c000000000083840 <.xmon_printf>
> c0000000000826b8:	60 00 00 00 	nop
> c0000000000826bc:	4b ff e3 54 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> /*
>  747                 brk.address = dabr.address;
>  748                 brk.type = (dabr.enabled & HW_BRK_TYPE_DABR) | HW_BRK_TYPE_PRIV_ALL;
>  749                 brk.len = 8;
>  750                 set_breakpoint(&brk);
> */
> c0000000000826c0:	55 29 07 7e 	clrlwi  r9,r9,29
> c0000000000826c4:	e9 4a 66 e8 	ld      r10,26344(r10)
> c0000000000826c8:	38 61 01 28 	addi    r3,r1,296
> c0000000000826cc:	61 29 00 38 	ori     r9,r9,56
> c0000000000826d0:	b1 21 01 30 	sth     r9,304(r1)
> c0000000000826d4:	39 20 00 08 	li      r9,8
> c0000000000826d8:	f9 41 01 28 	std     r10,296(r1)
> c0000000000826dc:	b1 21 01 32 	sth     r9,306(r1)
> c0000000000826e0:	4b f9 18 a1 	bl      c000000000013f80 <.set_breakpoint>
> c0000000000826e4:	60 00 00 00 	nop
> c0000000000826e8:	4b ff e0 e8 	b       c0000000000807d0 <.xmon_core+0x320>
> 
> 
> /*
>  533         if ((regs->msr & (MSR_IR|MSR_PR|MSR_64BIT)) == (MSR_IR|MSR_64BIT)) {
>  534                 bp = at_breakpoint(regs->nip);
>  535                 if (bp != NULL) {
>  536                         int stepped = emulate_step(regs, bp->instr[0]);
>  537                         if (stepped == 0) {
>  538                                 regs->nip = (unsigned long) &bp->instr[0];
>  539                                 atomic_inc(&bp->ref_count);
>  540                         } else if (stepped < 0) {
>  541                                 printf("Couldn't single-step %s instruction\n",
>  542                                     (IS_RFID(bp->instr[0])? "rfid": "mtmsrd"));
>  543                         }
>  544                 }
>  545         }
> */
> c0000000000826ec:	e8 e1 02 a0 	ld      r7,672(r1)
> c0000000000826f0:	3b ea 00 08 	addi    r31,r10,8
> c0000000000826f4:	39 4a 20 08 	addi    r10,r10,8200
> c0000000000826f8:	e9 07 01 00 	ld      r8,256(r7)
> c0000000000826fc:	48 00 00 10 	b       c00000000008270c <.xmon_core+0x225c>
> c000000000082700:	3b ff 00 20 	addi    r31,r31,32
> c000000000082704:	7f bf 50 00 	cmpd    cr7,r31,r10
> c000000000082708:	41 9e e0 b4 	beq+    cr7,c0000000000807bc <.xmon_core+0x30c>
> c00000000008270c:	81 3f 00 14 	lwz     r9,20(r31)
> c000000000082710:	2f 89 00 00 	cmpwi   cr7,r9,0
> c000000000082714:	41 9e ff ec 	beq+    cr7,c000000000082700 <.xmon_core+0x2250>
> c000000000082718:	e9 3f 00 00 	ld      r9,0(r31)
> c00000000008271c:	7f a8 48 00 	cmpd    cr7,r8,r9
> c000000000082720:	40 9e ff e0 	bne+    cr7,c000000000082700 <.xmon_core+0x2250>
> c000000000082724:	2f bf 00 00 	cmpdi   cr7,r31,0
> c000000000082728:	41 be e0 94 	beq-    cr7,c0000000000807bc <.xmon_core+0x30c>
> c00000000008272c:	80 9f 00 08 	lwz     r4,8(r31)
> c000000000082730:	e8 61 02 a0 	ld      r3,672(r1)
> c000000000082734:	48 79 b0 ed 	bl      c00000000081d820 <.emulate_step>
> c000000000082738:	60 00 00 00 	nop
> c00000000008273c:	2c 23 00 00 	cmpdi   r3,0
> c000000000082740:	40 82 05 08 	bne-    c000000000082c48 <.xmon_core+0x2798>
> c000000000082744:	e9 01 02 a0 	ld      r8,672(r1)
> c000000000082748:	39 3f 00 08 	addi    r9,r31,8
> c00000000008274c:	f9 28 01 00 	std     r9,256(r8)
> c000000000082750:	39 3f 00 10 	addi    r9,r31,16
> c000000000082754:	7d 40 48 28 	lwarx   r10,0,r9
> c000000000082758:	31 4a 00 01 	addic   r10,r10,1
> c00000000008275c:	7d 40 49 2d 	stwcx.  r10,0,r9
> c000000000082760:	40 a2 ff f4 	bne-    c000000000082754 <.xmon_core+0x22a4>
> c000000000082764:	4b ff e0 58 	b       c0000000000807bc <.xmon_core+0x30c>
> 
> 
> c000000000082768:	e8 81 01 60 	ld      r4,352(r1)
> c00000000008276c:	39 24 ff ff 	addi    r9,r4,-1
> c000000000082770:	2b a9 00 ff 	cmpldi  cr7,r9,255
> c000000000082774:	40 9d 02 70 	ble-    cr7,c0000000000829e4 <.xmon_core+0x2534>
> c000000000082778:	39 5f 3e 10 	addi    r10,r31,15888
> c00000000008277c:	3b 8a 00 08 	addi    r28,r10,8
> c000000000082780:	39 4a 20 08 	addi    r10,r10,8200
> c000000000082784:	48 00 00 18 	b       c00000000008279c <.xmon_core+0x22ec>
> c000000000082788:	60 00 00 00 	nop
> c00000000008278c:	60 00 00 00 	nop
> 
> 
> c000000000082790:	3b 9c 00 20 	addi    r28,r28,32
> c000000000082794:	7f bc 50 00 	cmpd    cr7,r28,r10
> c000000000082798:	41 9e 00 24 	beq-    cr7,c0000000000827bc <.xmon_core+0x230c>
> c00000000008279c:	81 3c 00 14 	lwz     r9,20(r28)
> c0000000000827a0:	2f 89 00 00 	cmpwi   cr7,r9,0
> c0000000000827a4:	41 9e ff ec 	beq+    cr7,c000000000082790 <.xmon_core+0x22e0>
> c0000000000827a8:	e9 3c 00 00 	ld      r9,0(r28)
> c0000000000827ac:	7f a4 48 00 	cmpd    cr7,r4,r9
> c0000000000827b0:	40 9e ff e0 	bne+    cr7,c000000000082790 <.xmon_core+0x22e0>
> c0000000000827b4:	2f bc 00 00 	cmpdi   cr7,r28,0
> c0000000000827b8:	40 be 02 3c 	bne+    cr7,c0000000000829f4 <.xmon_core+0x2544>
> c0000000000827bc:	3c 62 ff d4 	addis   r3,r2,-44
> c0000000000827c0:	38 63 97 38 	addi    r3,r3,-26824
> c0000000000827c4:	48 00 10 7d 	bl      c000000000083840 <.xmon_printf>
> c0000000000827c8:	60 00 00 00 	nop
> c0000000000827cc:	4b ff e2 44 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c0000000000827d0:	3c 62 ff d4 	addis   r3,r2,-44
> c0000000000827d4:	38 63 9a 50 	addi    r3,r3,-26032
> c0000000000827d8:	48 00 10 69 	bl      c000000000083840 <.xmon_printf>
> c0000000000827dc:	60 00 00 00 	nop
> c0000000000827e0:	4b ff e2 30 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c0000000000827e4:	3f 82 ff ed 	addis   r28,r2,-19
> c0000000000827e8:	3b 9c 44 e8 	addi    r28,r28,17640
> c0000000000827ec:	38 7c 00 48 	addi    r3,r28,72
> c0000000000827f0:	4b ff cb d1 	bl      c00000000007f3c0 <.scanhex>
> c0000000000827f4:	e9 3c 00 48 	ld      r9,72(r28)
> c0000000000827f8:	2f a9 00 00 	cmpdi   cr7,r9,0
> c0000000000827fc:	41 9e 01 d8 	beq-    cr7,c0000000000829d4 <.xmon_core+0x2524>
> c000000000082800:	3d 40 00 02 	lis     r10,2
> c000000000082804:	7d 24 4b 78 	mr      r4,r9
> c000000000082808:	7f a9 50 40 	cmpld   cr7,r9,r10
> c00000000008280c:	40 9d 00 0c 	ble-    cr7,c000000000082818 <.xmon_core+0x2368>
> c000000000082810:	f9 5c 00 48 	std     r10,72(r28)
> c000000000082814:	3c 80 00 02 	lis     r4,2
> c000000000082818:	3b 9f 3e 10 	addi    r28,r31,15888
> c00000000008281c:	3d 22 ff f7 	addis   r9,r2,-9
> c000000000082820:	38 c9 b4 68 	addi    r6,r9,-19352
> c000000000082824:	e8 7c 25 f0 	ld      r3,9712(r28)
> c000000000082828:	38 a0 00 01 	li      r5,1
> c00000000008282c:	4b ff 9d 35 	bl      c00000000007c560 <.generic_inst_dump>
> c000000000082830:	e9 5c 25 f0 	ld      r10,9712(r28)
> c000000000082834:	3d 22 ff d4 	addis   r9,r2,-44
> c000000000082838:	39 29 91 18 	addi    r9,r9,-28392
> c00000000008283c:	7c 63 52 14 	add     r3,r3,r10
> c000000000082840:	f9 3c 26 38 	std     r9,9784(r28)
> c000000000082844:	f8 7c 25 f0 	std     r3,9712(r28)
> c000000000082848:	4b ff e1 c8 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c00000000008284c:	2f 83 00 72 	cmpwi   cr7,r3,114
> c000000000082850:	7f c9 f3 78 	mr      r9,r30
> c000000000082854:	41 9e fd e4 	beq+    cr7,c000000000082638 <.xmon_core+0x2188>
> c000000000082858:	2f 83 00 74 	cmpwi   cr7,r3,116
> c00000000008285c:	7e 09 83 78 	mr      r9,r16
> c000000000082860:	41 9e fd d8 	beq+    cr7,c000000000082638 <.xmon_core+0x2188>
> c000000000082864:	7c 69 1b 78 	mr      r9,r3
> c000000000082868:	4b ff fd d0 	b       c000000000082638 <.xmon_core+0x2188>
> 
> 
> c00000000008286c:	e9 3f 00 00 	ld      r9,0(r31)
> c000000000082870:	7c 00 48 6c 	dcbst   0,r9
> c000000000082874:	7c 00 04 ac 	sync    
> c000000000082878:	7c 00 4f ac 	icbi    0,r9
> c00000000008287c:	4c 00 01 2c 	isync
> c000000000082880:	4b ff e5 70 	b       c000000000080df0 <.xmon_core+0x940>
> 
> 
> /*
> 3232                         dump_spu_fields(spu_info[num].spu);
> 3233                         break;
> */
> c000000000082884:	4b ff aa ed 	bl      c00000000007d370 <.dump_spu_fields>
> c000000000082888:	4b ff e1 88 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c00000000008288c:	e8 61 01 60 	ld      r3,352(r1)
> c000000000082890:	4b ff a2 61 	bl      c00000000007caf0 <.check_bp_loc>
> c000000000082894:	2f a3 00 00 	cmpdi   cr7,r3,0
> c000000000082898:	41 9e e1 78 	beq+    cr7,c000000000080a10 <.xmon_core+0x560>
> c00000000008289c:	e8 61 01 60 	ld      r3,352(r1)
> c0000000000828a0:	4b ff 92 31 	bl      c00000000007bad0 <.new_breakpoint>
> c0000000000828a4:	2c 23 00 00 	cmpdi   r3,0
> c0000000000828a8:	41 82 e1 68 	beq+    c000000000080a10 <.xmon_core+0x560>
> c0000000000828ac:	81 43 00 14 	lwz     r10,20(r3)
> c0000000000828b0:	61 4a 00 08 	ori     r10,r10,8
> c0000000000828b4:	91 43 00 14 	stw     r10,20(r3)
> c0000000000828b8:	4b ff e1 58 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> /*
>  395                 secondary = !(xmon_taken && cpu == xmon_owner);
>  396                 goto cmdloop;
> */
> c0000000000828bc:	3d 02 ff ed 	addis   r8,r2,-19
> c0000000000828c0:	39 08 44 e8 	addi    r8,r8,17640
> c0000000000828c4:	e9 08 00 28 	ld      r8,40(r8)
> c0000000000828c8:	2f a8 00 00 	cmpdi   cr7,r8,0
> c0000000000828cc:	40 9e 05 c0 	bne-    cr7,c000000000082e8c <.xmon_core+0x29dc>
> c0000000000828d0:	80 e1 01 90 	lwz     r7,400(r1)
> c0000000000828d4:	39 40 00 01 	li      r10,1
> c0000000000828d8:	3b 80 00 01 	li      r28,1
> c0000000000828dc:	7d 4a 38 36 	sld     r10,r10,r7
> c0000000000828e0:	f9 41 01 80 	std     r10,384(r1)
> c0000000000828e4:	4b ff dd e8 	b       c0000000000806cc <.xmon_core+0x21c>
> 
> 
> /*
>  659 static struct bpt *at_breakpoint(unsigned long pc)
>  660 {
>  661         int i;
>  662         struct bpt *bp;
>  663 
>  664         bp = bpts;
>  665         for (i = 0; i < NBPTS; ++i, ++bp)
>  666                 if (bp->enabled && pc == bp->address)
>  667                         return bp;
>  668         return NULL;
>  669 }
> */
> c0000000000828e8:	e9 21 02 a0 	ld      r9,672(r1)
> c0000000000828ec:	38 ca 00 08 	addi    r6,r10,8
> c0000000000828f0:	39 4a 20 08 	addi    r10,r10,8200
> c0000000000828f4:	f8 c1 01 70 	std     r6,368(r1)
> c0000000000828f8:	e9 09 01 00 	ld      r8,256(r9)
> c0000000000828fc:	7c c9 33 78 	mr      r9,r6
> c000000000082900:	48 00 00 1c 	b       c00000000008291c <.xmon_core+0x246c>
> c000000000082904:	60 00 00 00 	nop
> c000000000082908:	60 00 00 00 	nop
> c00000000008290c:	60 00 00 00 	nop
> c000000000082910:	39 29 00 20 	addi    r9,r9,32
> c000000000082914:	7f a9 50 00 	cmpd    cr7,r9,r10
> c000000000082918:	41 9e 05 f8 	beq-    cr7,c000000000082f10 <.xmon_core+0x2a60>
> c00000000008291c:	80 c9 00 14 	lwz     r6,20(r9)
> c000000000082920:	2f 86 00 00 	cmpwi   cr7,r6,0
> c000000000082924:	41 9e ff ec 	beq+    cr7,c000000000082910 <.xmon_core+0x2460>
> c000000000082928:	e8 c9 00 00 	ld      r6,0(r9)
> c00000000008292c:	7f a8 30 00 	cmpd    cr7,r8,r6
> c000000000082930:	40 9e ff e0 	bne+    cr7,c000000000082910 <.xmon_core+0x2460>
> c000000000082934:	2f a9 00 00 	cmpdi   cr7,r9,0
> c000000000082938:	f9 21 01 70 	std     r9,368(r1)		; 368(r1) = bp
> c00000000008293c:	41 be df e4 	beq-    cr7,c000000000080920 <.xmon_core+0x470>
> /*
>  409                 get_output_lock();
>  410                 excprint(regs);
>  411                 if (bp) {
>  412                         printf("cpu 0x%x stopped at breakpoint 0x%x (",
>  413                                cpu, BP_NUM(bp));
>  414                         xmon_print_symbol(regs->nip, " ", ")\n");
>  415                 }
>  416                 if (unrecoverable_excp(regs))
>  417                         printf("WARNING: exception is not recoverable, "
>  418                                "can't continue\n");
> */
> c000000000082940:	4b ff 8f 21 	bl      c00000000007b860 <.get_output_lock>
> c000000000082944:	e8 61 02 a0 	ld      r3,672(r1)		; 672(r1) = regs
> c000000000082948:	4b ff c7 19 	bl      c00000000007f060 <.excprint>
> c00000000008294c:	e8 c1 01 70 	ld      r6,368(r1)
> c000000000082950:	2f a6 00 00 	cmpdi   cr7,r6,0		; check bp
> c000000000082954:	41 9e 00 4c 	beq-    cr7,c0000000000829a0 <.xmon_core+0x24f0>
> c000000000082958:	3c a2 00 0f 	addis   r5,r2,15
> c00000000008295c:	e8 81 01 78 	ld      r4,376(r1)
> c000000000082960:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000082964:	38 a5 3e 10 	addi    r5,r5,15888
> c000000000082968:	38 63 8b 18 	addi    r3,r3,-29928
> c00000000008296c:	38 a5 00 08 	addi    r5,r5,8
> c000000000082970:	7c a5 30 50 	subf    r5,r5,r6
> c000000000082974:	7c a5 2e 74 	sradi   r5,r5,5
> c000000000082978:	38 a5 00 01 	addi    r5,r5,1
> c00000000008297c:	48 00 0e c5 	bl      c000000000083840 <.xmon_printf>
> c000000000082980:	60 00 00 00 	nop
> c000000000082984:	e8 e1 02 a0 	ld      r7,672(r1)
> c000000000082988:	3c 82 ff d8 	addis   r4,r2,-40
> c00000000008298c:	3c a2 ff da 	addis   r5,r2,-38
> c000000000082990:	38 84 a6 70 	addi    r4,r4,-22928
> c000000000082994:	38 a5 96 70 	addi    r5,r5,-27024
> c000000000082998:	e8 67 01 00 	ld      r3,256(r7)
> c00000000008299c:	4b ff 98 c5 	bl      c00000000007c260 <.xmon_print_symbol>
> c0000000000829a0:	e9 01 02 a0 	ld      r8,672(r1)
> c0000000000829a4:	e9 28 01 08 	ld      r9,264(r8)
> c0000000000829a8:	79 2a ff e3 	rldicl. r10,r9,63,63		; check unrecoverable_excp(regs)
> c0000000000829ac:	41 82 05 50 	beq-    c000000000082efc <.xmon_core+0x2a4c>
> 									; == "if (bp || unrecoverable_excp(regs))"
> c0000000000829b0:	3d 22 00 0f 	addis   r9,r2,15
> c0000000000829b4:	39 40 00 00 	li      r10,0
> c0000000000829b8:	38 c0 00 00 	li      r6,0
> c0000000000829bc:	91 49 3e 10 	stw     r10,15888(r9)		; release_output_lock();
> c0000000000829c0:	f8 c1 02 a8 	std     r6,680(r1)		/* fromipi = 0; */
> c0000000000829c4:	4b ff dc 80 	b       c000000000080644 <.xmon_core+0x194>
> 
> 
> c0000000000829c8:	39 20 00 08 	li      r9,8
> c0000000000829cc:	91 2a 00 40 	stw     r9,64(r10)
> c0000000000829d0:	4b ff e7 50 	b       c000000000081120 <.xmon_core+0xc70>
> 
> 
> c0000000000829d4:	39 20 00 10 	li      r9,16
> c0000000000829d8:	38 80 00 10 	li      r4,16
> c0000000000829dc:	f9 3c 00 48 	std     r9,72(r28)
> c0000000000829e0:	4b ff fe 38 	b       c000000000082818 <.xmon_core+0x2368>
> 
> 
> c0000000000829e4:	3b 9f 3e 10 	addi    r28,r31,15888
> c0000000000829e8:	79 29 2e a4 	rldicr  r9,r9,5,58
> c0000000000829ec:	3b 9c 00 08 	addi    r28,r28,8
> c0000000000829f0:	7f 9c 4a 14 	add     r28,r28,r9
> c0000000000829f4:	38 9f 3e 10 	addi    r4,r31,15888
> c0000000000829f8:	3c 62 ff d4 	addis   r3,r2,-44
> c0000000000829fc:	38 84 00 08 	addi    r4,r4,8
> c000000000082a00:	38 63 97 50 	addi    r3,r3,-26800
> c000000000082a04:	7c 84 e0 50 	subf    r4,r4,r28
> c000000000082a08:	7c 84 2e 74 	sradi   r4,r4,5
> c000000000082a0c:	38 84 00 01 	addi    r4,r4,1
> c000000000082a10:	48 00 0e 31 	bl      c000000000083840 <.xmon_printf>
> c000000000082a14:	60 00 00 00 	nop
> c000000000082a18:	3c 82 ff d8 	addis   r4,r2,-40
> c000000000082a1c:	3c a2 ff da 	addis   r5,r2,-38
> c000000000082a20:	e8 7c 00 00 	ld      r3,0(r28)
> c000000000082a24:	38 84 a6 70 	addi    r4,r4,-22928
> c000000000082a28:	38 a5 96 70 	addi    r5,r5,-27024
> c000000000082a2c:	4b ff 98 35 	bl      c00000000007c260 <.xmon_print_symbol>
> c000000000082a30:	39 20 00 00 	li      r9,0
> c000000000082a34:	91 3c 00 14 	stw     r9,20(r28)
> c000000000082a38:	4b ff df d8 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c000000000082a3c:	39 3a 44 e8 	addi    r9,r26,17640
> c000000000082a40:	38 61 01 28 	addi    r3,r1,296
> c000000000082a44:	e8 89 00 42 	lwa     r4,64(r9)
> c000000000082a48:	4b ff c3 89 	bl      c00000000007edd0 <.byterev>
> c000000000082a4c:	4b ff e7 6c 	b       c0000000000811b8 <.xmon_core+0xd08>
> 
> 
> c000000000082a50:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000082a54:	e8 9c 66 e8 	ld      r4,26344(r28)
> c000000000082a58:	38 63 98 c8 	addi    r3,r3,-26424
> c000000000082a5c:	48 00 0d e5 	bl      c000000000083840 <.xmon_printf>
> c000000000082a60:	60 00 00 00 	nop
> c000000000082a64:	81 3c 66 fc 	lwz     r9,26364(r28)
> c000000000082a68:	79 28 07 e1 	clrldi. r8,r9,63
> c000000000082a6c:	7d 29 07 b4 	extsw   r9,r9
> c000000000082a70:	40 82 05 58 	bne-    c000000000082fc8 <.xmon_core+0x2b18>
> c000000000082a74:	79 2a ff e3 	rldicl. r10,r9,63,63
> c000000000082a78:	40 82 05 3c 	bne-    c000000000082fb4 <.xmon_core+0x2b04>
> c000000000082a7c:	3c 62 ff d9 	addis   r3,r2,-39
> c000000000082a80:	38 63 80 a0 	addi    r3,r3,-32608
> c000000000082a84:	48 00 0d bd 	bl      c000000000083840 <.xmon_printf>
> c000000000082a88:	60 00 00 00 	nop
> c000000000082a8c:	4b ff ec f0 	b       c00000000008177c <.xmon_core+0x12cc>
> 
> 
> c000000000082a90:	39 29 00 28 	addi    r9,r9,40
> c000000000082a94:	39 40 00 01 	li      r10,1
> c000000000082a98:	7c 20 04 ac 	lwsync
> c000000000082a9c:	7d 00 48 a8 	ldarx   r8,0,r9
> c000000000082aa0:	7d 07 53 78 	or      r7,r8,r10
> c000000000082aa4:	7c e0 49 ad 	stdcx.  r7,0,r9
> c000000000082aa8:	40 a2 ff f4 	bne-    c000000000082a9c <.xmon_core+0x25ec>
> c000000000082aac:	7c 00 04 ac 	sync    
> c000000000082ab0:	79 09 07 e1 	clrldi. r9,r8,63
> c000000000082ab4:	40 82 ec 10 	bne+    c0000000000816c4 <.xmon_core+0x1214>
> c000000000082ab8:	7c 00 04 ac 	sync    
> c000000000082abc:	a1 4d 00 0a 	lhz     r10,10(r13)
> c000000000082ac0:	e8 81 01 60 	ld      r4,352(r1)
> c000000000082ac4:	39 3f 3e 10 	addi    r9,r31,15888
> c000000000082ac8:	e8 61 01 b0 	ld      r3,432(r1)
> c000000000082acc:	91 49 66 54 	stw     r10,26196(r9)
> c000000000082ad0:	48 00 0d 71 	bl      c000000000083840 <.xmon_printf>
> c000000000082ad4:	60 00 00 00 	nop
> c000000000082ad8:	4b ff df 38 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c000000000082adc:	3d 22 00 0b 	addis   r9,r2,11
> c000000000082ae0:	38 60 00 00 	li      r3,0
> c000000000082ae4:	39 29 6a 30 	addi    r9,r9,27184
> c000000000082ae8:	e9 29 01 28 	ld      r9,296(r9)
> c000000000082aec:	e9 49 00 00 	ld      r10,0(r9)
> c000000000082af0:	f8 41 00 28 	std     r2,40(r1)
> c000000000082af4:	7d 49 03 a6 	mtctr   r10
> c000000000082af8:	e8 49 00 08 	ld      r2,8(r9)
> c000000000082afc:	4e 80 04 21 	bctrl
> c000000000082b00:	e8 41 00 28 	ld      r2,40(r1)
> c000000000082b04:	4b ff df 0c 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> /*
> 2081 static void dump_pacas(void)
> 2082 {
> 2083         unsigned long num;
> 2084         int c;
> 2085 
> 2086         c = inchar();
> 2087         if (c == 'a') {
> 2088                 dump_all_pacas();
> 2089                 return;
> 2090         }
> 2091 
> 2092         termch = c;     \* Put c back, it wasn't 'a' *\
> 2093 
> 2094         if (scanhex(&num))
> 2095                 dump_one_paca(num);
> */
> c000000000082b08:	4b ff c1 e9 	bl      c00000000007ecf0 <.inchar>
> c000000000082b0c:	2f 83 00 61 	cmpwi   cr7,r3,97
> c000000000082b10:	7c 69 1b 78 	mr      r9,r3
> c000000000082b14:	41 9e 04 08 	beq-    cr7,c000000000082f1c <.xmon_core+0x2a6c>
> c000000000082b18:	3b 9f 3e 10 	addi    r28,r31,15888
> c000000000082b1c:	38 61 01 60 	addi    r3,r1,352		; r3 = &num
> c000000000082b20:	91 3c 24 d8 	stw     r9,9432(r28)
> c000000000082b24:	4b ff c8 9d 	bl      c00000000007f3c0 <.scanhex>
> c000000000082b28:	2f a3 00 00 	cmpdi   cr7,r3,0
> c000000000082b2c:	41 9e 03 c4 	beq-    cr7,c000000000082ef0 <.xmon_core+0x2a40>
> c000000000082b30:	e8 61 01 66 	lwa     r3,356(r1)		; r3 = (int) num
> c000000000082b34:	4b ff 90 7d 	bl      c00000000007bbb0 <.dump_one_paca>
> c000000000082b38:	4b ff de d8 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c000000000082b3c:	3d 22 00 0b 	addis   r9,r2,11
> c000000000082b40:	39 29 6a 30 	addi    r9,r9,27184
> c000000000082b44:	e9 29 01 38 	ld      r9,312(r9)
> c000000000082b48:	e9 49 00 00 	ld      r10,0(r9)
> c000000000082b4c:	f8 41 00 28 	std     r2,40(r1)
> c000000000082b50:	7d 49 03 a6 	mtctr   r10
> c000000000082b54:	e8 49 00 08 	ld      r2,8(r9)
> c000000000082b58:	4e 80 04 21 	bctrl
> c000000000082b5c:	e8 41 00 28 	ld      r2,40(r1)
> c000000000082b60:	4b ff de b0 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c000000000082b64:	ea 69 25 f0 	ld      r19,9712(r9)
> c000000000082b68:	41 9d f6 34 	bgt+    cr7,c00000000008219c <.xmon_core+0x1cec>
> c000000000082b6c:	4b ff f6 f4 	b       c000000000082260 <.xmon_core+0x1db0>
> 
> 
> c000000000082b70:	39 3a 44 e8 	addi    r9,r26,17640
> c000000000082b74:	7c 83 23 78 	mr      r3,r4
> c000000000082b78:	e8 a9 00 42 	lwa     r5,64(r9)
> c000000000082b7c:	38 81 01 28 	addi    r4,r1,296
> c000000000082b80:	4b ff 98 41 	bl      c00000000007c3c0 <.mread>
> c000000000082b84:	e8 9c 25 f0 	ld      r4,9712(r28)
> c000000000082b88:	f8 61 01 60 	std     r3,352(r1)
> c000000000082b8c:	4b ff e5 e8 	b       c000000000081174 <.xmon_core+0xcc4>
> 
> 
> c000000000082b90:	4b ff c0 11 	bl      c00000000007eba0 <.dump_log_buf>
> c000000000082b94:	4b ff de 7c 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c000000000082b98:	e8 9c 25 f0 	ld      r4,9712(r28)
> c000000000082b9c:	7c 94 22 14 	add     r4,r20,r4
> c000000000082ba0:	f8 9c 25 f0 	std     r4,9712(r28)
> c000000000082ba4:	4b ff e5 c4 	b       c000000000081168 <.xmon_core+0xcb8>
> 
> 
> c000000000082ba8:	7f 44 07 b4 	extsw   r4,r26
> c000000000082bac:	4b ff e4 28 	b       c000000000080fd4 <.xmon_core+0xb24>
> 
> 
> c000000000082bb0:	38 63 26 40 	addi    r3,r3,9792
> c000000000082bb4:	4b ff f1 5c 	b       c000000000081d10 <.xmon_core+0x1860>
> 
> 
> c000000000082bb8:	e9 5c 25 f0 	ld      r10,9712(r28)
> c000000000082bbc:	39 20 00 10 	li      r9,16
> c000000000082bc0:	3b 20 00 04 	li      r25,4
> c000000000082bc4:	4b ff f9 74 	b       c000000000082538 <.xmon_core+0x2088>
> 
> 
> c000000000082bc8:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000082bcc:	38 63 97 68 	addi    r3,r3,-26776
> c000000000082bd0:	48 00 0c 71 	bl      c000000000083840 <.xmon_printf>
> c000000000082bd4:	60 00 00 00 	nop
> c000000000082bd8:	4b ff de 38 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c000000000082bdc:	7d 19 00 d0 	neg     r8,r25
> c000000000082be0:	39 20 00 01 	li      r9,1
> c000000000082be4:	e9 5c 25 f0 	ld      r10,9712(r28)
> c000000000082be8:	3b 39 ff fc 	addi    r25,r25,-4
> c000000000082bec:	7d 28 40 30 	slw     r8,r9,r8
> c000000000082bf0:	7c f9 00 d0 	neg     r7,r25
> c000000000082bf4:	7d 08 07 b4 	extsw   r8,r8
> c000000000082bf8:	7d 29 38 30 	slw     r9,r9,r7
> c000000000082bfc:	7d 48 52 14 	add     r10,r8,r10
> c000000000082c00:	7f 39 07 b4 	extsw   r25,r25
> c000000000082c04:	7d 29 07 b4 	extsw   r9,r9
> c000000000082c08:	4b ff f8 74 	b       c00000000008247c <.xmon_core+0x1fcc>
> 
> 
> c000000000082c0c:	e8 9a 26 46 	lwa     r4,9796(r26)
> c000000000082c10:	e8 7a 66 b0 	ld      r3,26288(r26)
> c000000000082c14:	e8 ba 66 b8 	ld      r5,26296(r26)
> c000000000082c18:	4b fc c7 dd 	bl      c00000000004f3f4 <.memset>
> c000000000082c1c:	60 00 00 00 	nop
> c000000000082c20:	4b ff dd f0 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c000000000082c24:	e8 7a 66 b0 	ld      r3,26288(r26)
> c000000000082c28:	e8 9a 26 48 	ld      r4,9800(r26)
> c000000000082c2c:	e8 ba 66 b8 	ld      r5,26296(r26)
> c000000000082c30:	4b fc c8 c1 	bl      c00000000004f4f0 <.memmove>
> c000000000082c34:	60 00 00 00 	nop
> c000000000082c38:	4b ff dd d8 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c000000000082c3c:	39 20 00 01 	li      r9,1
> c000000000082c40:	91 2a 00 40 	stw     r9,64(r10)
> c000000000082c44:	4b ff e4 dc 	b       c000000000081120 <.xmon_core+0xc70>
> 
> 
> c000000000082c48:	2f 83 00 00 	cmpwi   cr7,r3,0
> c000000000082c4c:	40 9c db 70 	bge+    cr7,c0000000000807bc <.xmon_core+0x30c>
> c000000000082c50:	81 5f 00 08 	lwz     r10,8(r31)
> c000000000082c54:	3d 20 fc 00 	lis     r9,-1024
> c000000000082c58:	61 29 07 fe 	ori     r9,r9,2046
> c000000000082c5c:	7d 4a 48 38 	and     r10,r10,r9
> c000000000082c60:	6d 49 4c 00 	xoris   r9,r10,19456
> c000000000082c64:	2f 89 00 24 	cmpwi   cr7,r9,36
> c000000000082c68:	41 9e 03 8c 	beq-    cr7,c000000000082ff4 <.xmon_core+0x2b44>
> c000000000082c6c:	3c 82 ff d4 	addis   r4,r2,-44
> c000000000082c70:	38 84 8a 98 	addi    r4,r4,-30056
> c000000000082c74:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000082c78:	38 63 91 f8 	addi    r3,r3,-28168
> c000000000082c7c:	48 00 0b c5 	bl      c000000000083840 <.xmon_printf>
> c000000000082c80:	60 00 00 00 	nop
> c000000000082c84:	4b ff db 38 	b       c0000000000807bc <.xmon_core+0x30c>
> 
> 
> c000000000082c88:	3d 22 ff b3 	addis   r9,r2,-77
> c000000000082c8c:	38 80 08 00 	li      r4,2048
> c000000000082c90:	39 29 19 60 	addi    r9,r9,6496
> c000000000082c94:	e8 69 00 00 	ld      r3,0(r9)
> c000000000082c98:	48 39 26 59 	bl      c0000000004152f0 <.__bitmap_weight>
> c000000000082c9c:	60 00 00 00 	nop
> c000000000082ca0:	e9 41 01 78 	ld      r10,376(r1)
> c000000000082ca4:	7c 7e 1b 78 	mr      r30,r3
> c000000000082ca8:	91 5d 66 54 	stw     r10,26196(r29)
> c000000000082cac:	7c 00 04 ac 	sync    
> c000000000082cb0:	2f 83 00 01 	cmpwi   cr7,r3,1
> c000000000082cb4:	40 9d 00 3c 	ble-    cr7,c000000000082cf0 <.xmon_core+0x2840>
> c000000000082cb8:	3f e0 05 f5 	lis     r31,1525
> c000000000082cbc:	4b fb 55 b5 	bl      c000000000038270 <.smp_send_debugger_break>
> c000000000082cc0:	60 00 00 00 	nop
> c000000000082cc4:	63 ff e1 00 	ori     r31,r31,57600
> c000000000082cc8:	3b bd 24 e8 	addi    r29,r29,9448
> c000000000082ccc:	48 00 00 0c 	b       c000000000082cd8 <.xmon_core+0x2828>
> 
> 
> c000000000082cd0:	37 ff ff ff 	addic.  r31,r31,-1
> c000000000082cd4:	41 82 00 1c 	beq-    c000000000082cf0 <.xmon_core+0x2840>
> c000000000082cd8:	7f a3 eb 78 	mr      r3,r29
> c000000000082cdc:	38 80 08 00 	li      r4,2048
> c000000000082ce0:	48 39 26 11 	bl      c0000000004152f0 <.__bitmap_weight>
> c000000000082ce4:	60 00 00 00 	nop
> c000000000082ce8:	7f 83 f0 40 	cmplw   cr7,r3,r30
> c000000000082cec:	41 9c ff e4 	blt+    cr7,c000000000082cd0 <.xmon_core+0x2820>
> c000000000082cf0:	3f e2 00 0f 	addis   r31,r2,15
> c000000000082cf4:	3f 42 ff d4 	addis   r26,r2,-44
> c000000000082cf8:	3b ff 3e 10 	addi    r31,r31,15888
> c000000000082cfc:	3f 62 ff ed 	addis   r27,r2,-19
> c000000000082d00:	7f fd fb 78 	mr      r29,r31
> c000000000082d04:	3b 5a 8b 78 	addi    r26,r26,-29832
> c000000000082d08:	3b ff 00 08 	addi    r31,r31,8
> c000000000082d0c:	3b dd 20 08 	addi    r30,r29,8200
> c000000000082d10:	48 00 00 1c 	b       c000000000082d2c <.xmon_core+0x287c>
> c000000000082d14:	60 00 00 00 	nop
> c000000000082d18:	60 00 00 00 	nop
> c000000000082d1c:	60 00 00 00 	nop
> 
> 
> c000000000082d20:	3b ff 00 20 	addi    r31,r31,32
> c000000000082d24:	7f bf f0 00 	cmpd    cr7,r31,r30
> c000000000082d28:	41 9e 00 4c 	beq-    cr7,c000000000082d74 <.xmon_core+0x28c4>
> c000000000082d2c:	81 3f 00 14 	lwz     r9,20(r31)
> c000000000082d30:	71 29 00 0a 	andi.   r9,r9,10
> c000000000082d34:	2f 89 00 08 	cmpwi   cr7,r9,8
> c000000000082d38:	40 9e ff e8 	bne+    cr7,c000000000082d20 <.xmon_core+0x2870>
> c000000000082d3c:	e8 7f 00 00 	ld      r3,0(r31)
> c000000000082d40:	38 81 01 60 	addi    r4,r1,352
> c000000000082d44:	38 a0 00 04 	li      r5,4
> c000000000082d48:	4b ff 96 79 	bl      c00000000007c3c0 <.mread>
> c000000000082d4c:	2f 83 00 04 	cmpwi   cr7,r3,4
> c000000000082d50:	41 9e 00 e0 	beq-    cr7,c000000000082e30 <.xmon_core+0x2980>
> c000000000082d54:	e9 3f 00 00 	ld      r9,0(r31)
> c000000000082d58:	7c 00 48 6c 	dcbst   0,r9
> c000000000082d5c:	7c 00 04 ac 	sync    
> c000000000082d60:	7c 00 4f ac 	icbi    0,r9
> c000000000082d64:	4c 00 01 2c 	isync
> c000000000082d68:	3b ff 00 20 	addi    r31,r31,32
> c000000000082d6c:	7f bf f0 00 	cmpd    cr7,r31,r30
> c000000000082d70:	40 9e ff bc 	bne+    cr7,c000000000082d2c <.xmon_core+0x287c>
> c000000000082d74:	3c 62 ff d3 	addis   r3,r2,-45
> c000000000082d78:	38 63 c5 c8 	addi    r3,r3,-14904
> c000000000082d7c:	4b fa 38 85 	bl      c000000000026600 <.rtas_token>
> c000000000082d80:	60 00 00 00 	nop
> c000000000082d84:	78 63 00 20 	clrldi  r3,r3,32
> c000000000082d88:	2f 83 ff ff 	cmpwi   cr7,r3,-1
> c000000000082d8c:	90 7d 66 58 	stw     r3,26200(r29)
> c000000000082d90:	41 9e 00 48 	beq-    cr7,c000000000082dd8 <.xmon_core+0x2928>
> c000000000082d94:	3c 60 40 00 	lis     r3,16384
> c000000000082d98:	39 5d 66 70 	addi    r10,r29,26224
> c000000000082d9c:	78 63 07 c6 	rldicr  r3,r3,32,31
> c000000000082da0:	39 00 00 03 	li      r8,3
> c000000000082da4:	60 63 66 58 	ori     r3,r3,26200
> c000000000082da8:	39 20 00 00 	li      r9,0
> c000000000082dac:	91 1d 66 5c 	stw     r8,26204(r29)
> c000000000082db0:	f9 5d 66 a8 	std     r10,26280(r29)
> c000000000082db4:	39 00 00 01 	li      r8,1
> c000000000082db8:	39 40 23 28 	li      r10,9000
> c000000000082dbc:	7c 7d 1a 14 	add     r3,r29,r3
> c000000000082dc0:	91 1d 66 60 	stw     r8,26208(r29)
> c000000000082dc4:	91 5d 66 64 	stw     r10,26212(r29)
> c000000000082dc8:	91 3d 66 68 	stw     r9,26216(r29)
> c000000000082dcc:	91 3d 66 6c 	stw     r9,26220(r29)
> c000000000082dd0:	4b f8 77 2d 	bl      c00000000000a4fc <.enter_rtas>
> c000000000082dd4:	60 00 00 00 	nop
> c000000000082dd8:	e8 c1 01 70 	ld      r6,368(r1)
> c000000000082ddc:	2f a6 00 00 	cmpdi   cr7,r6,0
> c000000000082de0:	41 9e 01 bc 	beq-    cr7,c000000000082f9c <.xmon_core+0x2aec>
> c000000000082de4:	e9 01 02 a0 	ld      r8,672(r1)
> c000000000082de8:	3d 22 ff f7 	addis   r9,r2,-9
> c000000000082dec:	38 80 00 01 	li      r4,1
> c000000000082df0:	38 c9 b4 68 	addi    r6,r9,-19352
> c000000000082df4:	38 a0 00 00 	li      r5,0
> c000000000082df8:	e8 68 01 00 	ld      r3,256(r8)
> c000000000082dfc:	4b ff 97 65 	bl      c00000000007c560 <.generic_inst_dump>
> c000000000082e00:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000082e04:	38 63 8b a0 	addi    r3,r3,-29792
> c000000000082e08:	48 00 0a 39 	bl      c000000000083840 <.xmon_printf>
> c000000000082e0c:	60 00 00 00 	nop
> c000000000082e10:	7c 00 04 ac 	sync    
> c000000000082e14:	3d 22 00 0f 	addis   r9,r2,15
> c000000000082e18:	39 40 00 01 	li      r10,1
> c000000000082e1c:	39 29 3e 10 	addi    r9,r9,15888
> c000000000082e20:	91 49 66 50 	stw     r10,26192(r9)
> c000000000082e24:	3d 22 00 09 	addis   r9,r2,9
> c000000000082e28:	e9 29 2f 00 	ld      r9,12032(r9)
> c000000000082e2c:	4b ff d8 a0 	b       c0000000000806cc <.xmon_core+0x21c>
> 
> 
> c000000000082e30:	81 3b 44 e8 	lwz     r9,17640(r27)
> c000000000082e34:	81 41 01 60 	lwz     r10,352(r1)
> c000000000082e38:	7f 8a 48 00 	cmpw    cr7,r10,r9
> c000000000082e3c:	40 9e ff 18 	bne+    cr7,c000000000082d54 <.xmon_core+0x28a4>
> c000000000082e40:	e8 7f 00 00 	ld      r3,0(r31)
> c000000000082e44:	38 9f 00 08 	addi    r4,r31,8
> c000000000082e48:	38 a0 00 04 	li      r5,4
> c000000000082e4c:	4b ff 9d d5 	bl      c00000000007cc20 <.mwrite>
> c000000000082e50:	2f 83 00 04 	cmpwi   cr7,r3,4
> c000000000082e54:	41 9e ff 00 	beq+    cr7,c000000000082d54 <.xmon_core+0x28a4>
> c000000000082e58:	e8 9f 00 00 	ld      r4,0(r31)
> c000000000082e5c:	7f 43 d3 78 	mr      r3,r26
> c000000000082e60:	48 00 09 e1 	bl      c000000000083840 <.xmon_printf>
> c000000000082e64:	60 00 00 00 	nop
> c000000000082e68:	4b ff fe b8 	b       c000000000082d20 <.xmon_core+0x2870>
> 
> 
> c000000000082e6c:	7f 96 c8 40 	cmplw   cr7,r22,r25
> c000000000082e70:	40 9c db a0 	bge+    cr7,c000000000080a10 <.xmon_core+0x560>
> c000000000082e74:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000082e78:	7f 24 cb 78 	mr      r4,r25
> c000000000082e7c:	38 63 8b e8 	addi    r3,r3,-29720
> c000000000082e80:	48 00 09 c1 	bl      c000000000083840 <.xmon_printf>
> c000000000082e84:	60 00 00 00 	nop
> c000000000082e88:	4b ff db 88 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c000000000082e8c:	e9 01 01 78 	ld      r8,376(r1)
> c000000000082e90:	81 4a 66 54 	lwz     r10,26196(r10)
> c000000000082e94:	80 c1 01 90 	lwz     r6,400(r1)
> c000000000082e98:	7d 4a 42 78 	xor     r10,r10,r8
> c000000000082e9c:	39 00 00 01 	li      r8,1
> c000000000082ea0:	7d 4a 00 34 	cntlzw  r10,r10
> c000000000082ea4:	7d 08 30 36 	sld     r8,r8,r6
> c000000000082ea8:	f9 01 01 80 	std     r8,384(r1)
> c000000000082eac:	55 4a d9 7e 	rlwinm  r10,r10,27,5,31
> c000000000082eb0:	69 4a 00 01 	xori    r10,r10,1
> c000000000082eb4:	7d 5c 07 b4 	extsw   r28,r10
> c000000000082eb8:	4b ff d8 14 	b       c0000000000806cc <.xmon_core+0x21c>
> 
> 
> c000000000082ebc:	38 61 01 28 	addi    r3,r1,296
> c000000000082ec0:	48 00 09 81 	bl      c000000000083840 <.xmon_printf>
> c000000000082ec4:	60 00 00 00 	nop
> c000000000082ec8:	4b ff db 48 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> /*
>  859                 case 's':
>  860                         if (do_spu_cmd() == 0)
>  861                                 break;
>  862                         if (do_step(excp))
>  863                                 return cmd;
>  864                         break;
> */
> c000000000082ecc:	e8 6f 01 00 	ld      r3,256(r15)
> c000000000082ed0:	38 81 01 60 	addi    r4,r1,352
> c000000000082ed4:	38 a0 00 04 	li      r5,4
> c000000000082ed8:	4b ff 94 e9 	bl      c00000000007c3c0 <.mread>
> c000000000082edc:	2f 83 00 04 	cmpwi   cr7,r3,4
> c000000000082ee0:	41 9e 01 20 	beq-    cr7,c000000000083000 <.xmon_core+0x2b50>
> c000000000082ee4:	e9 21 02 a0 	ld      r9,672(r1)
> c000000000082ee8:	e9 09 01 08 	ld      r8,264(r9)
> c000000000082eec:	4b ff de 98 	b       c000000000080d84 <.xmon_core+0x8d4>
> 
> 
> /*
> 2096         else
> 2097                 dump_one_paca(xmon_owner);
> 2098 }
> */
> c000000000082ef0:	e8 7c 66 56 	lwa     r3,26196(r28)
> c000000000082ef4:	4b ff 8c bd 	bl      c00000000007bbb0 <.dump_one_paca>
> c000000000082ef8:	4b ff db 18 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> /*
>  417                         printf("WARNING: exception is not recoverable, "
>  418                                "can't continue\n");
> */
> c000000000082efc:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000082f00:	38 63 8b 40 	addi    r3,r3,-29888
> c000000000082f04:	48 00 09 3d 	bl      c000000000083840 <.xmon_printf>
> c000000000082f08:	60 00 00 00 	nop
> c000000000082f0c:	4b ff fa a4 	b       c0000000000829b0 <.xmon_core+0x2500>
> 
> 
> /*
>  668         return NULL;
>  669 }
> */
> c000000000082f10:	39 00 00 00 	li      r8,0
> c000000000082f14:	f9 01 01 70 	std     r8,368(r1)
> c000000000082f18:	4b ff da 08 	b       c000000000080920 <.xmon_core+0x470>
> 
> 
> /*
> 2068 static void dump_all_pacas(void)
> 2069 {
> 2070         int cpu;
> 2071 
> 2072         if (num_possible_cpus() == 0) {
> 2073                 printf("No possible cpus, use 'dp #' to dump individual cpus\n");
> 2074                 return;
> 2075         }
> 2077         for_each_possible_cpu(cpu)
> 2078                 dump_one_paca(cpu);
> 2079 }
> */
> c000000000082f1c:	3d 22 ff b3 	addis   r9,r2,-77
> c000000000082f20:	38 80 08 00 	li      r4,2048
> c000000000082f24:	39 29 19 68 	addi    r9,r9,6504
> c000000000082f28:	3b 80 ff ff 	li      r28,-1
> c000000000082f2c:	3f 22 00 09 	addis   r25,r2,9
> c000000000082f30:	eb 49 00 00 	ld      r26,0(r9)
> c000000000082f34:	7f 43 d3 78 	mr      r3,r26
> c000000000082f38:	48 39 23 b9 	bl      c0000000004152f0 <.__bitmap_weight>
> c000000000082f3c:	60 00 00 00 	nop
> c000000000082f40:	2f a3 00 00 	cmpdi   cr7,r3,0
> c000000000082f44:	40 9e 00 14 	bne-    cr7,c000000000082f58 <.xmon_core+0x2aa8>
> c000000000082f48:	48 00 00 e4 	b       c00000000008302c <.xmon_core+0x2b7c>
> c000000000082f4c:	60 00 00 00 	nop
> c000000000082f50:	7f 83 e3 78 	mr      r3,r28
> c000000000082f54:	4b ff 8c 5d 	bl      c00000000007bbb0 <.dump_one_paca>
> c000000000082f58:	38 bc 00 01 	addi    r5,r28,1
> c000000000082f5c:	7f 43 d3 78 	mr      r3,r26
> c000000000082f60:	38 80 08 00 	li      r4,2048
> c000000000082f64:	7c a5 07 b4 	extsw   r5,r5
> c000000000082f68:	48 39 51 d9 	bl      c000000000418140 <.find_next_bit>
> c000000000082f6c:	60 00 00 00 	nop
> c000000000082f70:	39 39 33 b8 	addi    r9,r25,13240
> c000000000082f74:	81 29 00 00 	lwz     r9,0(r9)
> c000000000082f78:	7c 7c 07 b4 	extsw   r28,r3
> c000000000082f7c:	7f 89 e0 00 	cmpw    cr7,r9,r28
> c000000000082f80:	41 9d ff d0 	bgt+    cr7,c000000000082f50 <.xmon_core+0x2aa0>
> c000000000082f84:	4b ff da 8c 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c000000000082f88:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000082f8c:	38 63 8c 38 	addi    r3,r3,-29640
> c000000000082f90:	48 00 08 b1 	bl      c000000000083840 <.xmon_printf>
> c000000000082f94:	60 00 00 00 	nop
> c000000000082f98:	4b ff da 78 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> c000000000082f9c:	e8 e1 02 a0 	ld      r7,672(r1)
> c000000000082fa0:	e9 27 01 40 	ld      r9,320(r7)
> c000000000082fa4:	79 29 06 e4 	rldicr  r9,r9,0,59
> c000000000082fa8:	2f a9 0d 00 	cmpdi   cr7,r9,3328
> c000000000082fac:	40 9e fe 54 	bne+    cr7,c000000000082e00 <.xmon_core+0x2950>
> c000000000082fb0:	4b ff fe 34 	b       c000000000082de4 <.xmon_core+0x2934>
> 
> 
> c000000000082fb4:	3c 62 ff d9 	addis   r3,r2,-39
> c000000000082fb8:	38 63 ae e8 	addi    r3,r3,-20760
> c000000000082fbc:	48 00 08 85 	bl      c000000000083840 <.xmon_printf>
> c000000000082fc0:	60 00 00 00 	nop
> c000000000082fc4:	4b ff fa b8 	b       c000000000082a7c <.xmon_core+0x25cc>
> 
> 
> c000000000082fc8:	3c 62 ff da 	addis   r3,r2,-38
> c000000000082fcc:	38 63 35 20 	addi    r3,r3,13600
> c000000000082fd0:	48 00 08 71 	bl      c000000000083840 <.xmon_printf>
> c000000000082fd4:	60 00 00 00 	nop
> c000000000082fd8:	e9 3c 66 fe 	lwa     r9,26364(r28)
> c000000000082fdc:	4b ff fa 98 	b       c000000000082a74 <.xmon_core+0x25c4>
> 
> 
> c000000000082fe0:	38 80 ff ff 	li      r4,-1
> c000000000082fe4:	78 84 04 20 	clrldi  r4,r4,48
> c000000000082fe8:	4b ff df ec 	b       c000000000080fd4 <.xmon_core+0xb24>
> 
> 
> c000000000082fec:	3b 20 00 00 	li      r25,0
> c000000000082ff0:	4b ff e2 14 	b       c000000000081204 <.xmon_core+0xd54>
> 
> 
> c000000000082ff4:	3c 82 ff d4 	addis   r4,r2,-44
> c000000000082ff8:	38 84 8a 90 	addi    r4,r4,-30064
> c000000000082ffc:	4b ff fc 78 	b       c000000000082c74 <.xmon_core+0x27c4>
> 
> 
> /* static int do_step(struct pt_regs *regs) */
> /* { */
> c000000000083000:	80 81 01 60 	lwz     r4,352(r1)
> c000000000083004:	7d e3 7b 78 	mr      r3,r15
> c000000000083008:	48 79 a8 19 	bl      c00000000081d820 <.emulate_step>
> c00000000008300c:	60 00 00 00 	nop
> c000000000083010:	2f 83 00 00 	cmpwi   cr7,r3,0
> c000000000083014:	41 9c 00 dc 	blt-    cr7,c0000000000830f0 <.xmon_core+0x2c40>
> c000000000083018:	2f a3 00 00 	cmpdi   cr7,r3,0
> c00000000008301c:	40 9e 00 80 	bne-    cr7,c00000000008309c <.xmon_core+0x2bec>
> c000000000083020:	e8 e1 02 a0 	ld      r7,672(r1)
> c000000000083024:	e9 07 01 08 	ld      r8,264(r7)
> c000000000083028:	4b ff dd 5c 	b       c000000000080d84 <.xmon_core+0x8d4>
> /* } */
> 
> 
> /*
> 3269 2073                 printf("No possible cpus, use 'dp #' to dump individual cpus\n");
> 3270 2074                 return;
> */
> c00000000008302c:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000083030:	38 63 90 e0 	addi    r3,r3,-28448
> c000000000083034:	48 00 08 0d 	bl      c000000000083840 <.xmon_printf>
> c000000000083038:	60 00 00 00 	nop
> c00000000008303c:	4b ff d9 d4 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> /*
>  377         if (cpumask_test_cpu(cpu, &cpus_in_xmon)) {
>  378                 get_output_lock();
>  379                 excprint(regs);
>  380                 printf("cpu 0x%x: Exception %lx %s in xmon, "
>  381                        "returning to main loop\n",
>  382                        cpu, regs->trap, getvecname(TRAP(regs)));
>  383                 release_output_lock();
>  384                 longjmp(xmon_fault_jmp[cpu], 1);
>  385         }
> */
> c000000000083040:	4b ff 88 21 	bl      c00000000007b860 <.get_output_lock>
> c000000000083044:	e8 61 02 a0 	ld      r3,672(r1)
> c000000000083048:	4b ff c0 19 	bl      c00000000007f060 <.excprint>
> c00000000008304c:	e9 21 02 a0 	ld      r9,672(r1)
> c000000000083050:	eb a9 01 40 	ld      r29,320(r9)
> c000000000083054:	7b a3 06 e4 	rldicr  r3,r29,0,59
> c000000000083058:	4b ff 88 a9 	bl      c00000000007b900 <.getvecname>
> c00000000008305c:	e8 81 01 78 	ld      r4,376(r1)
> c000000000083060:	7f a5 eb 78 	mr      r5,r29
> c000000000083064:	7c 66 1b 78 	mr      r6,r3
> c000000000083068:	3c 62 ff d4 	addis   r3,r2,-44
> c00000000008306c:	38 63 8a a8 	addi    r3,r3,-30040
> c000000000083070:	48 00 07 d1 	bl      c000000000083840 <.xmon_printf>
> c000000000083074:	60 00 00 00 	nop
> c000000000083078:	e9 41 01 78 	ld      r10,376(r1)
> c00000000008307c:	38 80 00 01 	li      r4,1
> c000000000083080:	79 49 1f 24 	rldicr  r9,r10,3,60
> c000000000083084:	7f de 4a 14 	add     r30,r30,r9
> c000000000083088:	39 20 00 00 	li      r9,0
> c00000000008308c:	e8 7e 26 50 	ld      r3,9808(r30)
> c000000000083090:	91 3f 3e 10 	stw     r9,15888(r31)
> c000000000083094:	4b f9 e5 c9 	bl      c00000000002165c <.longjmp>
> c000000000083098:	60 00 00 00 	nop
> 
> 
> /*
>  946                                 regs->trap = 0xd00 | (regs->trap & 1);
>  947                                 printf("stepped to ");
>  948                                 xmon_print_symbol(regs->nip, " ", "\n");
>  949                                 ppc_inst_dump(regs->nip, 1, 0);
>  950                                 return 0;
> */
> c00000000008309c:	e9 2f 01 40 	ld      r9,320(r15)
> c0000000000830a0:	3c 62 ff d4 	addis   r3,r2,-44
> c0000000000830a4:	38 63 92 20 	addi    r3,r3,-28128
> c0000000000830a8:	79 29 07 e0 	clrldi  r9,r9,63
> c0000000000830ac:	61 29 0d 00 	ori     r9,r9,3328
> c0000000000830b0:	f9 2f 01 40 	std     r9,320(r15)
> c0000000000830b4:	48 00 07 8d 	bl      c000000000083840 <.xmon_printf>
> c0000000000830b8:	60 00 00 00 	nop
> c0000000000830bc:	e8 6f 01 00 	ld      r3,256(r15)
> c0000000000830c0:	3c 82 ff d8 	addis   r4,r2,-40
> c0000000000830c4:	3c a2 ff d5 	addis   r5,r2,-43
> c0000000000830c8:	38 84 a6 70 	addi    r4,r4,-22928
> c0000000000830cc:	38 a5 0e 68 	addi    r5,r5,3688
> c0000000000830d0:	4b ff 91 91 	bl      c00000000007c260 <.xmon_print_symbol>
> c0000000000830d4:	3d 22 ff f7 	addis   r9,r2,-9
> c0000000000830d8:	e8 6f 01 00 	ld      r3,256(r15)
> c0000000000830dc:	38 80 00 01 	li      r4,1
> c0000000000830e0:	38 c9 b4 68 	addi    r6,r9,-19352
> c0000000000830e4:	38 a0 00 00 	li      r5,0
> c0000000000830e8:	4b ff 94 79 	bl      c00000000007c560 <.generic_inst_dump>
> c0000000000830ec:	4b ff d9 24 	b       c000000000080a10 <.xmon_core+0x560>
> 
> 
> /*
>  941                                 printf("Couldn't single-step %s instruction\n",
>  942                                        (IS_RFID(instr)? "rfid": "mtmsrd"));
>  943                                 return 0;
> */
> c0000000000830f0:	3d 20 fc 00 	lis     r9,-1024
> c0000000000830f4:	81 41 01 60 	lwz     r10,352(r1)
> c0000000000830f8:	61 29 07 fe 	ori     r9,r9,2046
> c0000000000830fc:	7d 4a 48 38 	and     r10,r10,r9
> c000000000083100:	6d 49 4c 00 	xoris   r9,r10,19456
> c000000000083104:	2f 89 00 24 	cmpwi   cr7,r9,36
> c000000000083108:	41 9e 00 20 	beq-    cr7,c000000000083128 <.xmon_core+0x2c78>
> c00000000008310c:	3c 82 ff d4 	addis   r4,r2,-44
> c000000000083110:	38 84 8a 98 	addi    r4,r4,-30056
> c000000000083114:	3c 62 ff d4 	addis   r3,r2,-44
> c000000000083118:	38 63 91 f8 	addi    r3,r3,-28168
> c00000000008311c:	48 00 07 25 	bl      c000000000083840 <.xmon_printf>
> c000000000083120:	60 00 00 00 	nop
> c000000000083124:	4b ff d8 ec 	b       c000000000080a10 <.xmon_core+0x560>
> c000000000083128:	3c 82 ff d4 	addis   r4,r2,-44
> c00000000008312c:	38 84 8a 90 	addi    r4,r4,-30064
> c000000000083130:	4b ff ff e4 	b       c000000000083114 <.xmon_core+0x2c64>
> c000000000083134:	60 00 00 00 	nop
> c000000000083138:	60 00 00 00 	nop
> c00000000008313c:	60 00 00 00 	nop
> 
> 
> 
> On 07/26/2013 12:11 PM, Chen Gang wrote:
>> On 07/24/2013 08:38 AM, Chen Gang wrote:
>>> On 07/23/2013 09:58 PM, Michael Ellerman wrote:
>>>> On Mon, Jul 22, 2013 at 03:02:53PM +0800, Chen Gang wrote:
>>>>> Hello Maintainers:
>>>>>
>>>>> With allmodconfig and EXTRA_CFLAGS=-W", it reports warnings below:
>>>>
>>>>>
>>>>> arch/powerpc/xmon/xmon.c:3027:6: warning: variable ‘i’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Wclobbered]
>>>>> arch/powerpc/xmon/xmon.c:3068:6: warning: variable ‘i’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Wclobbered]
>>>>
>>>> In both these cases we are inside the body of a for loop and we do a
>>>> if (setjmp) / else block. Although looking at the source the value of i
>>>> is not modified by the setjmp, I guess it's possible that the compiler
>>>> might reorder the increment of i inside the setjmp and loose the value
>>>> when we longjmp.
>>>>
>>>
>>> I should continue to confirm the details based on your valuable
>>> information, thanks.
>>>
>>>
>>
>>
>> For stop_spus() and restart_spus(), at least now, the related warnings
>> are not issue: the variable 'i' is stored in stack "120(r1)".
>>
>> The related warning:
>>
>>   arch/powerpc/xmon/xmon.c:3027:6: warning: variable ‘i’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Wclobbered]
>>   arch/powerpc/xmon/xmon.c:3068:6: warning: variable ‘i’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Wclobbered]
>>
>> The related source code:
>>
>> 3024 static void stop_spus(void)
>> 3025 {
>> 3026         struct spu *spu;
>> 3027         int i;
>> 3028         u64 tmp;
>> 3029 
>> 3030         for (i = 0; i < XMON_NUM_SPUS; i++) { /* XMON_NUM_SPUS == 16 */
>> 3031                 if (!spu_info[i].spu)
>> 3032                         continue;
>> 3033 
>> 3034                 if (setjmp(bus_error_jmp) == 0) {
>> 3035                         catch_memory_errors = 1;
>> 3036                         sync();
>> 3037 
>> 3038                         spu = spu_info[i].spu;
>> 3039 
>> 3040                         spu_info[i].saved_spu_runcntl_RW =
>> 3041                                 in_be32(&spu->problem->spu_runcntl_RW);
>> 3042 
>> 3043                         tmp = spu_mfc_sr1_get(spu);
>> 3044                         spu_info[i].saved_mfc_sr1_RW = tmp;
>> 3045 
>> 3046                         tmp &= ~MFC_STATE1_MASTER_RUN_CONTROL_MASK;
>> 3047                         spu_mfc_sr1_set(spu, tmp);
>> 3048 
>> 3049                         sync();
>> 3050                         __delay(200);
>> 3051 
>> 3052                         spu_info[i].stopped_ok = 1;
>> 3053 
>> 3054                         printf("Stopped spu %.2d (was %s)\n", i,
>> 3055                                         spu_info[i].saved_spu_runcntl_RW ?
>> 3056                                         "running" : "stopped");
>> 3057                 } else {
>> 3058                         catch_memory_errors = 0;
>> 3059                         printf("*** Error stopping spu %.2d\n", i);
>> 3060                 }
>> 3061                 catch_memory_errors = 0;
>> 3062         }
>> 3063 }
>> 3064 
>>
>>
>>
>> The related disassembly code:
>>
>>   "make ARCH=powerpc EXTRA_CFLAGS=-W"
>>   "powerpc64-linux-gnu-objdump -d vmlinux.o > vmlinux.S"
>>   "gcc version 4.7.1 20120606 (Red Hat 4.7.1-0.1.20120606) (GCC)"
>>   "GNU objdump version 2.23.51.0.3-1.fc16 20120918"
>>
>> c00000000007cfd0 <.stop_spus>:
>> /* { */
>> c00000000007cfd0:	7c 08 02 a6 	mflr    r0
>> c00000000007cfd4:	fb c1 ff f0 	std     r30,-16(r1)
>> c00000000007cfd8:	fb e1 ff f8 	std     r31,-8(r1)
>> c00000000007cfdc:	3d 22 00 0f 	addis   r9,r2,15
>> c00000000007cfe0:	39 29 3e 10 	addi    r9,r9,15888
>> c00000000007cfe4:	3d 02 ff d4 	addis   r8,r2,-44
>> c00000000007cfe8:	39 29 21 50 	addi    r9,r9,8528
>> c00000000007cfec:	3d 42 ff d4 	addis   r10,r2,-44
>> c00000000007cff0:	39 08 83 f8 	addi    r8,r8,-31752
>> c00000000007cff4:	39 4a 83 d8 	addi    r10,r10,-31784
>> c00000000007cff8:	f8 01 00 10 	std     r0,16(r1)
>> c00000000007cffc:	f8 21 ff 51 	stdu    r1,-176(r1)
>> c00000000007d000:	f9 21 00 70 	std     r9,112(r1)
>> c00000000007d004:	39 20 00 00 	li      r9,0
>> c00000000007d008:	f9 21 00 78 	std     r9,120(r1)	; i = 0;
>> c00000000007d00c:	f9 01 00 88 	std     r8,136(r1)
>> c00000000007d010:	f9 41 00 90 	std     r10,144(r1)
>> c00000000007d014:	48 00 01 28 	b       c00000000007d13c <.stop_spus+0x16c>
>> c00000000007d018:	60 00 00 00 	nop
>> c00000000007d01c:	60 00 00 00 	nop
>>
>>
>> /*	 	if (setjmp(bus_error_jmp) == 0) { */
>> c00000000007d020:	3d 22 00 0f 	addis   r9,r2,15
>> c00000000007d024:	39 40 00 01 	li      r10,1
>> c00000000007d028:	39 29 3e 10 	addi    r9,r9,15888
>> c00000000007d02c:	91 49 20 c0 	stw     r10,8384(r9)
>> c00000000007d030:	7c 00 04 ac 	sync    
>> c00000000007d034:	4c 00 01 2c 	isync
>> c00000000007d038:	e9 01 00 80 	ld      r8,128(r1)
>> c00000000007d03c:	eb e8 00 00 	ld      r31,0(r8)
>> c00000000007d040:	e9 3f 00 20 	ld      r9,32(r31)
>> c00000000007d044:	7c 00 04 ac 	sync    
>> c00000000007d048:	81 29 40 1c 	lwz     r9,16412(r9)
>> c00000000007d04c:	0c 09 00 00 	twi     0,r9,0
>> c00000000007d050:	4c 00 01 2c 	isync
>> c00000000007d054:	91 28 00 10 	stw     r9,16(r8)
>> c00000000007d058:	3d 22 00 0f 	addis   r9,r2,15
>> c00000000007d05c:	3b c9 f5 e8 	addi    r30,r9,-2584
>> c00000000007d060:	7f e3 fb 78 	mr      r3,r31
>> c00000000007d064:	e9 3e 00 00 	ld      r9,0(r30)
>> c00000000007d068:	e9 29 00 60 	ld      r9,96(r9)
>> c00000000007d06c:	e9 49 00 00 	ld      r10,0(r9)
>> c00000000007d070:	f8 41 00 28 	std     r2,40(r1)
>> c00000000007d074:	7d 49 03 a6 	mtctr   r10
>> c00000000007d078:	e8 49 00 08 	ld      r2,8(r9)
>> c00000000007d07c:	4e 80 04 21 	bctrl
>> c00000000007d080:	e8 41 00 28 	ld      r2,40(r1)
>> c00000000007d084:	e9 01 00 80 	ld      r8,128(r1)
>> c00000000007d088:	e9 3e 00 00 	ld      r9,0(r30)
>> c00000000007d08c:	f8 68 00 08 	std     r3,8(r8)
>> c00000000007d090:	7c 64 1b 78 	mr      r4,r3
>> c00000000007d094:	78 84 d0 42 	rldicl  r4,r4,58,1
>> c00000000007d098:	7f e3 fb 78 	mr      r3,r31
>> c00000000007d09c:	78 84 30 00 	rotldi  r4,r4,6
>> c00000000007d0a0:	e9 29 00 58 	ld      r9,88(r9)
>> c00000000007d0a4:	e9 49 00 00 	ld      r10,0(r9)
>> c00000000007d0a8:	f8 41 00 28 	std     r2,40(r1)
>> c00000000007d0ac:	7d 49 03 a6 	mtctr   r10
>> c00000000007d0b0:	e8 49 00 08 	ld      r2,8(r9)
>> c00000000007d0b4:	4e 80 04 21 	bctrl
>> c00000000007d0b8:	e8 41 00 28 	ld      r2,40(r1)
>> c00000000007d0bc:	7c 00 04 ac 	sync    
>> c00000000007d0c0:	4c 00 01 2c 	isync
>> c00000000007d0c4:	38 60 00 c8 	li      r3,200
>> c00000000007d0c8:	4b fa 01 e9 	bl      c00000000001d2b0 <.__delay>	; __delay(200)
>> c00000000007d0cc:	60 00 00 00 	nop
>> c00000000007d0d0:	e9 01 00 80 	ld      r8,128(r1)
>> c00000000007d0d4:	39 40 00 01 	li      r10,1
>> c00000000007d0d8:	81 28 00 10 	lwz     r9,16(r8)
>> c00000000007d0dc:	99 48 00 20 	stb     r10,32(r8)
>> c00000000007d0e0:	3d 02 ff d4 	addis   r8,r2,-44
>> c00000000007d0e4:	38 a8 83 c8 	addi    r5,r8,-31800
>> c00000000007d0e8:	2f 89 00 00 	cmpwi   cr7,r9,0
>> c00000000007d0ec:	40 9e 00 0c 	bne-    cr7,c00000000007d0f8 <.stop_spus+0x128>
>> c00000000007d0f0:	3d 22 ff d4 	addis   r9,r2,-44
>> c00000000007d0f4:	38 a9 83 d0 	addi    r5,r9,-31792
>> c00000000007d0f8:	e8 61 00 90 	ld      r3,144(r1)
>> c00000000007d0fc:	e8 81 00 78 	ld      r4,120(r1)		; 120(r1) = i
>> c00000000007d100:	48 00 67 41 	bl      c000000000083840 <.xmon_printf>
>> c00000000007d104:	60 00 00 00 	nop
>>
>>
>> /* 		catch_memory_errors = 0; */
>> c00000000007d108:	3d 22 00 0f 	addis   r9,r2,15
>> c00000000007d10c:	39 40 00 00 	li      r10,0
>> c00000000007d110:	39 29 3e 10 	addi    r9,r9,15888
>> c00000000007d114:	91 49 20 c0 	stw     r10,8384(r9)
>>
>>
>> /* 	for (i = 0; i < XMON_NUM_SPUS; i++) { */
>> c00000000007d118:	e9 01 00 78 	ld      r8,120(r1)		; 120(r1) = i;
>> c00000000007d11c:	39 28 00 01 	addi    r9,r8,1			; i++
>> c00000000007d120:	2f 89 00 10 	cmpwi   cr7,r9,16		; i < XMON_NUM_SPUS
>> c00000000007d124:	7d 29 07 b4 	extsw   r9,r9
>> c00000000007d128:	f9 21 00 78 	std     r9,120(r1)		; 120(r1) = i;
>> c00000000007d12c:	e9 21 00 70 	ld      r9,112(r1)		;
>> c00000000007d130:	39 29 00 28 	addi    r9,r9,40		; 112(r1) =  [i] for spu_info;
>> c00000000007d134:	f9 21 00 70 	std     r9,112(r1)		;
>> c00000000007d138:	41 9e 00 58 	beq-    cr7,c00000000007d190 <.stop_spus+0x1c0>
>>
>> /* 		if (!spu_info[i].spu) */
>> /*			continue; */
>> c00000000007d13c:	e9 01 00 70 	ld      r8,112(r1)
>> c00000000007d140:	3d 42 00 0f 	addis   r10,r2,15
>> c00000000007d144:	38 6a 5e 18 	addi    r3,r10,24088
>> c00000000007d148:	e9 28 00 00 	ld      r9,0(r8)
>> c00000000007d14c:	f9 01 00 80 	std     r8,128(r1)
>> c00000000007d150:	2f a9 00 00 	cmpdi   cr7,r9,0				
>> c00000000007d154:	41 9e ff c4 	beq+    cr7,c00000000007d118 <.stop_spus+0x148>
>>
>> /* 		if (setjmp(bus_error_jmp) == 0) { */
>> c00000000007d158:	4b fa 44 99 	bl      c0000000000215f0 <.setjmp>
>> c00000000007d15c:	60 00 00 00 	nop
>> c00000000007d160:	2f a3 00 00 	cmpdi   cr7,r3,0
>> c00000000007d164:	e8 81 00 78 	ld      r4,120(r1)	; 120(r1) = i for 2nd param of printf in exception processing after setjmp.
>> c00000000007d168:	e8 61 00 88 	ld      r3,136(r1)
>> c00000000007d16c:	41 9e fe b4 	beq+    cr7,c00000000007d020 <.stop_spus+0x50>
>>
>> /* 		} else { */
>> c00000000007d170:	3d 42 00 0f 	addis   r10,r2,15
>> c00000000007d174:	39 00 00 00 	li      r8,0
>> c00000000007d178:	39 4a 3e 10 	addi    r10,r10,15888
>> c00000000007d17c:	91 0a 20 c0 	stw     r8,8384(r10)				/* catch_memory_errors = 0; */
>> c00000000007d180:	48 00 66 c1 	bl      c000000000083840 <.xmon_printf>		/* called with correct i */
>> c00000000007d184:	60 00 00 00 	nop
>> c00000000007d188:	4b ff ff 80 	b       c00000000007d108 <.stop_spus+0x138>
>> c00000000007d18c:	60 00 00 00 	nop
>> /*	 } */
>>
>> c00000000007d190:	38 21 00 b0 	addi    r1,r1,176
>> c00000000007d194:	e8 01 00 10 	ld      r0,16(r1)
>> c00000000007d198:	eb c1 ff f0 	ld      r30,-16(r1)
>> c00000000007d19c:	eb e1 ff f8 	ld      r31,-8(r1)
>> c00000000007d1a0:	7c 08 03 a6 	mtlr    r0
>> c00000000007d1a4:	4e 80 00 20 	blr
>> c00000000007d1a8:	60 00 00 00 	nop
>> c00000000007d1ac:	60 00 00 00 	nop
>> /* } */
>>
>>
>> The related assembly code (they really save and restore 'r1'):
>>
>> _GLOBAL(setjmp)
>>         mflr    r0
>>         PPC_STL r0,0(r3)
>>         PPC_STL r1,SZL(r3)
>>         PPC_STL r2,2*SZL(r3)
>>         mfcr    r0
>>         PPC_STL r0,3*SZL(r3)
>>         PPC_STL r13,4*SZL(r3)
>>         PPC_STL r14,5*SZL(r3)
>>         PPC_STL r15,6*SZL(r3)
>>         PPC_STL r16,7*SZL(r3)
>>         PPC_STL r17,8*SZL(r3)
>>         PPC_STL r18,9*SZL(r3)
>>         PPC_STL r19,10*SZL(r3)
>>         PPC_STL r20,11*SZL(r3)
>>         PPC_STL r21,12*SZL(r3)
>>         PPC_STL r22,13*SZL(r3)
>>         PPC_STL r23,14*SZL(r3)
>>         PPC_STL r24,15*SZL(r3)
>>         PPC_STL r25,16*SZL(r3)
>>         PPC_STL r26,17*SZL(r3)
>>         PPC_STL r27,18*SZL(r3)
>>         PPC_STL r28,19*SZL(r3)
>>         PPC_STL r29,20*SZL(r3)
>>         PPC_STL r30,21*SZL(r3)
>>         PPC_STL r31,22*SZL(r3)
>>         li      r3,0
>>         blr
>>
>> _GLOBAL(longjmp)
>>         PPC_LCMPI r4,0
>>         bne     1f
>>         li      r4,1
>> 1:      PPC_LL  r13,4*SZL(r3)
>>         PPC_LL  r14,5*SZL(r3)
>>         PPC_LL  r15,6*SZL(r3)
>>         PPC_LL  r16,7*SZL(r3)
>>         PPC_LL  r17,8*SZL(r3)
>>         PPC_LL  r18,9*SZL(r3)
>>         PPC_LL  r19,10*SZL(r3)
>>         PPC_LL  r20,11*SZL(r3)
>>         PPC_LL  r21,12*SZL(r3)
>>         PPC_LL  r22,13*SZL(r3)
>>         PPC_LL  r23,14*SZL(r3)
>>         PPC_LL  r24,15*SZL(r3)
>>         PPC_LL  r25,16*SZL(r3)
>>         PPC_LL  r26,17*SZL(r3)
>>         PPC_LL  r27,18*SZL(r3)
>>         PPC_LL  r28,19*SZL(r3)
>>         PPC_LL  r29,20*SZL(r3)
>>         PPC_LL  r30,21*SZL(r3)
>>         PPC_LL  r31,22*SZL(r3)
>>         PPC_LL  r0,3*SZL(r3)
>>         mtcrf   0x38,r0
>>         PPC_LL  r0,0(r3)
>>         PPC_LL  r1,SZL(r3)
>>         PPC_LL  r2,2*SZL(r3)
>>         mtlr    r0
>>         mr      r3,r4
>>         blr
>>
>>
>>
>>
>> The same to resetart_spus()
>>
>>
>> 3065 static void restart_spus(void)
>> 3066 {
>> 3067         struct spu *spu;
>> 3068         int i;
>> 3069 
>> 3070         for (i = 0; i < XMON_NUM_SPUS; i++) {
>> 3071                 if (!spu_info[i].spu)
>> 3072                         continue;
>> 3073 
>> 3074                 if (!spu_info[i].stopped_ok) {
>> 3075                         printf("*** Error, spu %d was not successfully stopped"
>> 3076                                         ", not restarting\n", i);
>> 3077                         continue;
>> 3078                 }
>> 3079 
>> 3080                 if (setjmp(bus_error_jmp) == 0) {
>> 3081                         catch_memory_errors = 1;
>> 3082                         sync();
>> 3083 
>> 3084                         spu = spu_info[i].spu;
>> 3085                         spu_mfc_sr1_set(spu, spu_info[i].saved_mfc_sr1_RW);
>> 3086                         out_be32(&spu->problem->spu_runcntl_RW,
>> 3087                                         spu_info[i].saved_spu_runcntl_RW);
>> 3088 
>> 3089                         sync();
>> 3090                         __delay(200);
>> 3091 
>> 3092                         printf("Restarted spu %.2d\n", i);
>> 3093                 } else {
>> 3094                         catch_memory_errors = 0;
>> 3095                         printf("*** Error restarting spu %.2d\n", i);
>> 3096                 }
>> 3097                 catch_memory_errors = 0;
>> 3098         }
>> 3099 }
>> 3100 
>>
>> c00000000007d1b0 <.restart_spus>:
>> /* { */
>> c00000000007d1b0:	7c 08 02 a6 	mflr    r0
>> c00000000007d1b4:	fb e1 ff f8 	std     r31,-8(r1)
>> c00000000007d1b8:	3d 22 00 0f 	addis   r9,r2,15
>> c00000000007d1bc:	3c e2 ff d4 	addis   r7,r2,-44
>> c00000000007d1c0:	39 29 3e 10 	addi    r9,r9,15888
>> c00000000007d1c4:	3d 02 ff d4 	addis   r8,r2,-44
>> c00000000007d1c8:	39 29 21 50 	addi    r9,r9,8528
>> c00000000007d1cc:	3d 42 ff d4 	addis   r10,r2,-44
>> c00000000007d1d0:	38 e7 84 70 	addi    r7,r7,-31632
>> c00000000007d1d4:	39 08 84 58 	addi    r8,r8,-31656
>> c00000000007d1d8:	f8 01 00 10 	std     r0,16(r1)
>> c00000000007d1dc:	39 4a 84 18 	addi    r10,r10,-31720
>> c00000000007d1e0:	f8 21 ff 51 	stdu    r1,-176(r1)
>> c00000000007d1e4:	f9 21 00 70 	std     r9,112(r1)
>> c00000000007d1e8:	39 20 00 00 	li      r9,0
>> c00000000007d1ec:	f9 21 00 78 	std     r9,120(r1)		; i = 0;
>> c00000000007d1f0:	f8 e1 00 88 	std     r7,136(r1)
>> c00000000007d1f4:	f9 01 00 98 	std     r8,152(r1)
>> c00000000007d1f8:	f9 41 00 90 	std     r10,144(r1)
>> c00000000007d1fc:	48 00 00 34 	b       c00000000007d230 <.restart_spus+0x80>
>>
>> /*		if (!spu_info[i].stopped_ok) { */
>> /*			printf(....); */
>> /*			continue; */
>> c00000000007d200:	e8 61 00 90 	ld      r3,144(r1)
>> c00000000007d204:	48 00 66 3d 	bl      c000000000083840 <.xmon_printf>
>> c00000000007d208:	60 00 00 00 	nop
>>
>> /*	for (i = 0; i < XMON_NUM_SPUS; i++) { */
>> c00000000007d20c:	e9 01 00 78 	ld      r8,120(r1)
>> c00000000007d210:	39 28 00 01 	addi    r9,r8,1		; i++
>> c00000000007d214:	2f 89 00 10 	cmpwi   cr7,r9,16	; i < XMON_NUM_SPUS
>> c00000000007d218:	7d 29 07 b4 	extsw   r9,r9
>> c00000000007d21c:	f9 21 00 78 	std     r9,120(r1)
>> c00000000007d220:	e9 21 00 70 	ld      r9,112(r1)
>> c00000000007d224:	39 29 00 28 	addi    r9,r9,40
>> c00000000007d228:	f9 21 00 70 	std     r9,112(r1)
>> c00000000007d22c:	41 9e 01 0c 	beq-    cr7,c00000000007d338 <.restart_spus+0x188>
>>
>> /*		if (!spu_info[i].spu) */
>> /*			continue; */
>> c00000000007d230:	e9 01 00 70 	ld      r8,112(r1)
>> c00000000007d234:	3d 42 00 0f 	addis   r10,r2,15
>> c00000000007d238:	e8 81 00 78 	ld      r4,120(r1) 	; i as 2nd parameter for xmon_printf().
>> c00000000007d23c:	38 6a 5e 18 	addi    r3,r10,24088
>> c00000000007d240:	e9 28 00 00 	ld      r9,0(r8)
>> c00000000007d244:	f9 01 00 80 	std     r8,128(r1)
>> c00000000007d248:	2f a9 00 00 	cmpdi   cr7,r9,0
>> c00000000007d24c:	41 9e ff c0 	beq+    cr7,c00000000007d20c <.restart_spus+0x5c>
>>
>> /*		if (!spu_info[i].stopped_ok) { */
>> c00000000007d250:	89 28 00 20 	lbz     r9,32(r8)
>> c00000000007d254:	2f 89 00 00 	cmpwi   cr7,r9,0
>> c00000000007d258:	41 9e ff a8 	beq+    cr7,c00000000007d200 <.restart_spus+0x50>
>> /*		} */
>>
>> /*		if (setjmp(bus_error_jmp) == 0) { */
>> c00000000007d25c:	4b fa 43 95 	bl      c0000000000215f0 <.setjmp>
>> c00000000007d260:	60 00 00 00 	nop
>> c00000000007d264:	2f a3 00 00 	cmpdi   cr7,r3,0
>> c00000000007d268:	e8 81 00 78 	ld      r4,120(r1)	; i as 2nd parameter for xmon_printf() after setjmp().
>> c00000000007d26c:	e8 61 00 88 	ld      r3,136(r1)
>> c00000000007d270:	40 9e 00 e0 	bne-    cr7,c00000000007d350 <.restart_spus+0x1a0>
>>
>> c00000000007d274:	3d 22 00 0f 	addis   r9,r2,15
>> c00000000007d278:	39 40 00 01 	li      r10,1
>> c00000000007d27c:	39 29 3e 10 	addi    r9,r9,15888
>> c00000000007d280:	91 49 20 c0 	stw     r10,8384(r9)
>> c00000000007d284:	7c 00 04 ac 	sync    
>> c00000000007d288:	4c 00 01 2c 	isync
>> c00000000007d28c:	3d 02 00 0f 	addis   r8,r2,15
>> c00000000007d290:	e9 41 00 80 	ld      r10,128(r1)
>> c00000000007d294:	39 28 f5 e8 	addi    r9,r8,-2584
>> c00000000007d298:	eb ea 00 00 	ld      r31,0(r10)
>> c00000000007d29c:	e8 8a 00 08 	ld      r4,8(r10)
>> c00000000007d2a0:	e9 29 00 00 	ld      r9,0(r9)
>> c00000000007d2a4:	7f e3 fb 78 	mr      r3,r31
>> c00000000007d2a8:	e9 29 00 58 	ld      r9,88(r9)
>> c00000000007d2ac:	e9 49 00 00 	ld      r10,0(r9)
>> c00000000007d2b0:	f8 41 00 28 	std     r2,40(r1)
>> c00000000007d2b4:	7d 49 03 a6 	mtctr   r10
>> c00000000007d2b8:	e8 49 00 08 	ld      r2,8(r9)
>> c00000000007d2bc:	4e 80 04 21 	bctrl
>> c00000000007d2c0:	e8 41 00 28 	ld      r2,40(r1)
>> c00000000007d2c4:	e9 01 00 80 	ld      r8,128(r1)
>> c00000000007d2c8:	e9 3f 00 20 	ld      r9,32(r31)
>> c00000000007d2cc:	81 48 00 10 	lwz     r10,16(r8)
>> c00000000007d2d0:	7c 00 04 ac 	sync    
>> c00000000007d2d4:	91 49 40 1c 	stw     r10,16412(r9)
>> c00000000007d2d8:	39 20 00 01 	li      r9,1
>> c00000000007d2dc:	99 2d 02 74 	stb     r9,628(r13)
>> c00000000007d2e0:	7c 00 04 ac 	sync    
>> c00000000007d2e4:	4c 00 01 2c 	isync
>> c00000000007d2e8:	38 60 00 c8 	li      r3,200
>> c00000000007d2ec:	4b f9 ff c5 	bl      c00000000001d2b0 <.__delay>
>> c00000000007d2f0:	60 00 00 00 	nop
>> c00000000007d2f4:	e8 61 00 98 	ld      r3,152(r1)
>> c00000000007d2f8:	e8 81 00 78 	ld      r4,120(r1)
>> c00000000007d2fc:	48 00 65 45 	bl      c000000000083840 <.xmon_printf>
>> c00000000007d300:	60 00 00 00 	nop
>> /*		} */
>>
>> /*	for (i = 0; i < XMON_NUM_SPUS; i++) { */
>> c00000000007d304:	e9 01 00 78 	ld      r8,120(r1)
>> c00000000007d308:	3d 22 00 0f 	addis   r9,r2,15
>> c00000000007d30c:	39 40 00 00 	li      r10,0
>> c00000000007d310:	39 29 3e 10 	addi    r9,r9,15888
>> c00000000007d314:	91 49 20 c0 	stw     r10,8384(r9)		; catch_memory_errors = 0;
>> c00000000007d318:	39 28 00 01 	addi    r9,r8,1
>> c00000000007d31c:	2f 89 00 10 	cmpwi   cr7,r9,16		; i < XMON_NUM_SPUS
>> c00000000007d320:	7d 29 07 b4 	extsw   r9,r9
>> c00000000007d324:	f9 21 00 78 	std     r9,120(r1)		; i++;
>> c00000000007d328:	e9 21 00 70 	ld      r9,112(r1)
>> c00000000007d32c:	39 29 00 28 	addi    r9,r9,40		; [i] for spu_info
>> c00000000007d330:	f9 21 00 70 	std     r9,112(r1)
>> c00000000007d334:	40 9e fe fc 	bne+    cr7,c00000000007d230 <.restart_spus+0x80>
>>
>> /* 	} */
>> c00000000007d338:	38 21 00 b0 	addi    r1,r1,176
>> c00000000007d33c:	e8 01 00 10 	ld      r0,16(r1)
>> c00000000007d340:	eb e1 ff f8 	ld      r31,-8(r1)
>> c00000000007d344:	7c 08 03 a6 	mtlr    r0
>> c00000000007d348:	4e 80 00 20 	blr
>> c00000000007d34c:	60 00 00 00 	nop
>> /* } */
>>
>> /*		} else { */
>> c00000000007d350:	3d 42 00 0f 	addis   r10,r2,15
>> c00000000007d354:	39 00 00 00 	li      r8,0
>> c00000000007d358:	39 4a 3e 10 	addi    r10,r10,15888
>> c00000000007d35c:	91 0a 20 c0 	stw     r8,8384(r10)		; catch_memory_errors = 0;
>> c00000000007d360:	48 00 64 e1 	bl      c000000000083840 <.xmon_printf>
>> c00000000007d364:	60 00 00 00 	nop
>> c00000000007d368:	4b ff ff 9c 	b       c00000000007d304 <.restart_spus+0x154>
>> c00000000007d36c:	60 00 00 00 	nop
>>
>>
>>
>>>>> arch/powerpc/xmon/xmon.c:352:48: warning: argument ‘fromipi’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Wclobbered]
>>>>
>>>> This one I can't see, but I assume it's a similar case.
>>>>
>>>
>>> OK, I should continue for it.
>>>
>>>
>>>>> Excuse me, I am not quite sure about it whether can cause issue or not.
>>>>
>>>> I've never seen it get stuck in those loops or anything, but I guess
>>>> it's possible.
>>>>
>>>
>>> OK, I should make the confirmation.
>>>
>>>> The first thing to do would be to analyse the generated assembler code
>>>> to determine if there really is any possiblity of the value being
>>>> clobbered, or if it's just a theoretical bug.
>>>>
>>>
>>> Thank you for your valuable information again.
>>>
>>> Excuse me, I have to do another things within this month, so I should
>>> provide the confirmation within next month (2013-08-31), is it OK (no
>>> reply means OK).
>>>
>>> Welcome any suggestions or completions.
>>>
>>>
>>> Thanks.
>>>
>>
>>
> 
> 


-- 
Chen Gang


More information about the Linuxppc-dev mailing list