All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chen Gang <gang.chen@asianux.com>
To: Michael Ellerman <michael@ellerman.id.au>
Cc: Michael Neuling <mikey@neuling.org>,
	"paulus@samba.org" <paulus@samba.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
	jovi.zhangwei@huawei.com
Subject: Re: [Suggestion] powerpc: xmon: about 'longjmp' related warning.
Date: Fri, 26 Jul 2013 19:47:45 +0800	[thread overview]
Message-ID: <51F261E1.7080701@asianux.com> (raw)
In-Reply-To: <51F26164.1070801@asianux.com>

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

  reply	other threads:[~2013-07-26 11:48 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-22  7:02 [Suggestion] powerpc: xmon: about 'longjmp' related warning Chen Gang
2013-07-23 13:58 ` Michael Ellerman
2013-07-24  0:38   ` Chen Gang
2013-07-26  4:11     ` Chen Gang
2013-07-26 11:45       ` Chen Gang
2013-07-26 11:47         ` Chen Gang [this message]
2013-07-26 11:55         ` Chen Gang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51F261E1.7080701@asianux.com \
    --to=gang.chen@asianux.com \
    --cc=akpm@linux-foundation.org \
    --cc=jovi.zhangwei@huawei.com \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=michael@ellerman.id.au \
    --cc=mikey@neuling.org \
    --cc=paulus@samba.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.