From 2fd467ce3ca96391f787d4e5f8c56878321da160 Mon Sep 17 00:00:00 2001 From: Stefan Reinauer Date: Thu, 3 Nov 2005 08:13:39 +0000 Subject: reverting rev 2082 git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2083 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/cpu/ppc/ppc970/Config.lb | 9 +- src/cpu/ppc/ppc970/clock.c | 27 - src/cpu/ppc/ppc970/ppc970.inc | 920 +++---- src/cpu/ppc/ppc970/ppc970excp.S | 11 - src/cpu/ppc/ppc970/ppc970lib.S | 5027 --------------------------------------- 5 files changed, 366 insertions(+), 5628 deletions(-) delete mode 100644 src/cpu/ppc/ppc970/clock.c delete mode 100755 src/cpu/ppc/ppc970/ppc970excp.S delete mode 100755 src/cpu/ppc/ppc970/ppc970lib.S (limited to 'src/cpu/ppc') diff --git a/src/cpu/ppc/ppc970/Config.lb b/src/cpu/ppc/ppc970/Config.lb index 3c6a3bc247..60da7f2b71 100644 --- a/src/cpu/ppc/ppc970/Config.lb +++ b/src/cpu/ppc/ppc970/Config.lb @@ -11,12 +11,5 @@ uses USE_DCACHE_RAM ## default USE_DCACHE_RAM=0 -initinclude "EXCEPTION_VECTOR_TABLE" cpu/ppc/ppc970/ppc970excp.S -initinclude "PROCESSOR_INIT" cpu/ppc/ppc970/ppc970.inc - -object clock.o -initobject clock.o -initobject ppc970lib.S - -dir /cpu/simple_init +initinclude "FAMILY_INIT" cpu/ppc/ppc970/ppc970.inc diff --git a/src/cpu/ppc/ppc970/clock.c b/src/cpu/ppc/ppc970/clock.c deleted file mode 100644 index bb600c6d5b..0000000000 --- a/src/cpu/ppc/ppc970/clock.c +++ /dev/null @@ -1,27 +0,0 @@ -#include - -static int PLL_multiplier[] = { - 25, /* 0000 - 2.5x */ - 75, /* 0001 - 7.5x */ - 70, /* 0010 - 7x */ - 10, /* 0011 - bypass */ - 20, /* 0100 - 2x */ - 65, /* 0101 - 6.5x */ - 100, /* 0110 - 10x */ - 45, /* 0111 - 4.5x */ - 30, /* 1000 - 3x */ - 55, /* 1001 - 5.5x */ - 40, /* 1010 - 4x */ - 50, /* 1011 - 5x */ - 80, /* 1100 - 8x */ - 60, /* 1101 - 6x */ - 35, /* 1110 - 3.5x */ - 0, /* 1111 - off */ -}; - -unsigned long -get_timer_freq(void) -{ - unsigned long clock = CONFIG_SYS_CLK_FREQ * 1000000; - return clock * PLL_multiplier[ppc_gethid1() >> 28] / 10; -} diff --git a/src/cpu/ppc/ppc970/ppc970.inc b/src/cpu/ppc/ppc970/ppc970.inc index 8ee70c78b7..b9a4013aad 100644 --- a/src/cpu/ppc/ppc970/ppc970.inc +++ b/src/cpu/ppc/ppc970/ppc970.inc @@ -1,555 +1,365 @@ - -#include - -/******** init_core.s ***************/ -/*----------------------------------------------------------------------------+ -| Local defines. -+----------------------------------------------------------------------------*/ -#define INITIAL_SLB_VSID_VAL 0x0000000000000C00 -#define INITIAL_SLB_ESID_VAL 0x0000000008000000 -#define INITIAL_SLB_INVA_VAL 0x0000000000000000 - -/*----------------------------------------------------------------------------+ -| Init_core. Assumption: hypervisor on, 64-bit on, HID1[10]=0, HID4[23]=0. -| Data cahability must be turned on. Instruction cahability must be off. -+----------------------------------------------------------------------------*/ -function_prolog(init_core) - /*--------------------------------------------------------------------+ - | Set time base to 0. - +--------------------------------------------------------------------*/ - addi r4,r0,0x0000 - mtspr SPR_TBU_WRITE,r4 - mtspr SPR_TBL_WRITE,r4 - /*--------------------------------------------------------------------+ - | Set HID1[10] to 0 (instruction cache off) and set HID4[23] to 0 (data - | cache on), set HID4[DC_SET1] and HID4[DC_SET2] to 0. - +--------------------------------------------------------------------*/ - LOAD_64BIT_VAL(r4,HID1_EN_IC) - nor r4,r4,r4 - mfspr r5,SPR_HID1 - isync - and r5,r5,r4 - mtspr SPR_HID1,r5 - mtspr SPR_HID1,r5 - isync - LOAD_64BIT_VAL(r4,HID4_RM_CI|HID4_DC_SET1|HID4_DC_SET2) - nor r4,r4,r4 - mfspr r5,SPR_HID4 - LOAD_64BIT_VAL(r6,HID4_L1DC_FLSH) - isync - and r5,r5,r4 - or r5,r5,r6 - sync - mtspr SPR_HID4,r5 - isync - /*--------------------------------------------------------------------+ - | Clear the flash invalidate L1 data cache bit in HID4. - +--------------------------------------------------------------------*/ - nor r6,r6,r6 - and r5,r5,r6 - sync - mtspr SPR_HID4,r5 - isync - /*--------------------------------------------------------------------+ - | Clear and set up some registers. - +--------------------------------------------------------------------*/ - addi r4,r0,0x0000 - mtxer r4 - /*--------------------------------------------------------------------+ - | Invalidate SLB. First load SLB with known values then perform - | invalidate. Invalidate will clear the D-ERAT and I-ERAT. The SLB - | is 64 entry fully associative. On power on D-ERAT and I-ERAT are all - | set to invalid values. - +--------------------------------------------------------------------*/ - addi r5,r0,SLB_SIZE - mtctr r5 - LOAD_64BIT_VAL(r6,INITIAL_SLB_VSID_VAL) - LOAD_64BIT_VAL(r7,INITIAL_SLB_ESID_VAL) - addis r8,r0,0x1000 -..slbl: slbmte r6,r7 - addi r6,r6,0x1000 - add r7,r7,r8 - addi r7,r7,0x0001 - bdnz ..slbl - mtctr r5 - LOAD_64BIT_VAL(r6,INITIAL_SLB_INVA_VAL) -..slbi: slbie r6 - add r6,r6,r8 - bdnz ..slbi - /*--------------------------------------------------------------------+ - | Load SLB. Following is the initial memory map. - | Entry(6) ESID(36) VSID - | 0x0 0x000000000 0x0000000000000 (large page cachable) - | 0x1 0x00000000F 0x000000000000F (small non-cachable, G) - | at 0x00000000 there will be 32MB mapped (SDRAM) - | at 0xF8000000 there will be 16MB mapped (NB) - | at 0xF4000000 there will be 64KB mapped (I/O space) - | at 0xFF000000 there will be 16MB or 1MB mapped (FLASH) - +--------------------------------------------------------------------*/ - addi r6,r0,0x0100 - addis r7,r0,0x0800 - slbmte r6,r7 - addi r6,r0,0x0000 - ori r6,r6,0xF000 - addi r7,r0,0x0001 - oris r7,r7,0xF800 - slbmte r6,r7 - /*--------------------------------------------------------------------+ - | Invalidate all 1024 instruction and data TLBs (4 way) - +--------------------------------------------------------------------*/ - addi r8,r0,0x0100 - mtspr ctr,r8 - addi r8,r0,0x0000 -..ivt: TLBIEL(r8) - addi r8,r8,0x1000 - bdnz ..ivt - ptesync - /*--------------------------------------------------------------------+ - | Dcbz the page table space. Calculate SDR1 address. Store SDR1 - | address in r30. - +--------------------------------------------------------------------*/ - mfspr r3,SPR_PIR - cmpi cr0,1,r3,0x0000 - bne ..cpu1_init_core - addis r3,r0,INITIAL_PAGE_TABLE_ADDR_CPU0@h - ori r3,r3,INITIAL_PAGE_TABLE_ADDR_CPU0@l - b ..skcpu -..cpu1_init_core: addis r3,r0,INITIAL_PAGE_TABLE_ADDR_CPU1@h - ori r3,r3,INITIAL_PAGE_TABLE_ADDR_CPU1@l -..skcpu:addis r4,r0,INITIAL_PAGE_TABLE_SIZE@h - ori r4,r4,INITIAL_PAGE_TABLE_SIZE@l - rlwinm r5,r4,14,14,31 - cntlzw r5,r5 - subfic r5,r5,31 - or r30,r3,r5 - bl .ppcDcbz_area - /*--------------------------------------------------------------------+ - | Setup 0x00000000FFFFFFFF mask in r29. - +--------------------------------------------------------------------*/ - addi r29,r0,0x0001 - rldicl r29,r29,32,31 - addi r29,r29,-1 - /*--------------------------------------------------------------------+ - | Setup 32MB of addresses in DRAM in page table (2 large PTE). The - | parameters to p_ptegg are: r3 = lp, r4 = ea, r5 = sdr1, r6 = vsid. - +--------------------------------------------------------------------*/ - addi r3,r0,0x0001 - addi r4,r0,0x0000 - ori r5,r30,0x0000 - addi r6,r0,0x0000 - bl .p_ptegg - addi r4,r0,0x0001 - stw r4,0x0004(r3) - addi r4,r0,0x0180 - stw r4,0x000C(r3) - /*--------------------------------------------------------------------+ - | Second 32MB is mapped here. - +--------------------------------------------------------------------*/ - addi r3,r0,0x0001 - addis r4,r0,0x0100 - ori r5,r30,0x0000 - addi r6,r0,0x0000 - bl .p_ptegg - addi r4,r0,0x0101 - stw r4,0x0004(r3) - addis r4,r0,0x0100 - ori r4,r4,0x0180 - stw r4,0x000C(r3) - /*--------------------------------------------------------------------+ - | Setup 64KB of addresses in I/O space (0xF4000000). - +--------------------------------------------------------------------*/ - addi r3,r0,0x0010 - mtctr r3 - addis r31,r0,0xF400 - and r31,r31,r29 -..aF4: addi r3,r0,0x0000 - ori r4,r31,0x0000 - ori r5,r30,0x0000 - addi r6,r0,0x000F - bl .p_ptegg - addi r6,r3,0x0080 -..aF4a: lwz r4,0x0004(r3) - cmpli cr0,1,r4,0x0000 - beq ..aF4s - addi r3,r3,0x0010 - cmp cr0,1,r3,r6 - blt ..aF4a -..aF4h: b ..aF4h -..aF4s: rlwinm r4,r31,16,4,24 - ori r4,r4,0x0001 - stw r4,0x0004(r3) - ori r4,r31,0x01AC - stw r4,0x000C(r3) - addi r31,r31,0x1000 - bdnz ..aF4 - /*--------------------------------------------------------------------+ - | Setup 16MB of addresses in NB register space (0xF8000000). - +--------------------------------------------------------------------*/ - addi r3,r0,0x1000 - mtctr r3 - addis r31,r0,0xF800 - and r31,r31,r29 -..aF8: addi r3,r0,0x0000 - ori r4,r31,0x0000 - ori r5,r30,0x0000 - addi r6,r0,0x000F - bl .p_ptegg - addi r6,r3,0x0080 -..aF8a: lwz r4,0x0004(r3) - cmpli cr0,1,r4,0x0000 - beq ..aF8s - addi r3,r3,0x0010 - cmp cr0,1,r3,r6 - blt ..aF8a -..aF8h: b ..aF8h -..aF8s: rlwinm r4,r31,16,4,24 - ori r4,r4,0x0001 - stw r4,0x0004(r3) - ori r4,r31,0x01AC - stw r4,0x000C(r3) - addi r31,r31,0x1000 - bdnz ..aF8 - /*--------------------------------------------------------------------+ - | Setup 16MB or 1MB of addresses in ROM (at 0xFF000000 or 0xFFF00000). - +--------------------------------------------------------------------*/ - mfspr r3,SPR_HIOR - LOAD_64BIT_VAL(r4,BOOT_BASE_AS) - cmpd cr0,r3,r4 - beq ..big - addi r3,r0,0x0100 - mtctr r3 - addis r31,r0,0xFFF0 - b ..done -..big: addi r3,r0,0x1000 - mtctr r3 - addis r31,r0,0xFF00 -..done: and r31,r31,r29 -..aFF: addi r3,r0,0x0000 - ori r4,r31,0x0000 - ori r5,r30,0x0000 - addi r6,r0,0x000F - bl .p_ptegg - addi r6,r3,0x0080 -..aFFa: lwz r4,0x0004(r3) - cmpli cr0,1,r4,0x0000 - beq ..aFFs - addi r3,r3,0x0010 - cmp cr0,1,r3,r6 - blt ..aFFa -..aFFh: b ..aFFh -..aFFs: rlwinm r4,r31,16,4,24 - ori r4,r4,0x0001 - stw r4,0x0004(r3) - ori r4,r31,0x01A3 - stw r4,0x000C(r3) - addi r31,r31,0x1000 - bdnz ..aFF - /*--------------------------------------------------------------------+ - | Synchronize after setting up page table. - +--------------------------------------------------------------------*/ - ptesync - /*--------------------------------------------------------------------+ - | Set the SDR1 register. - +--------------------------------------------------------------------*/ - mtspr SPR_SDR1,r30 - /*--------------------------------------------------------------------+ - | Clear SRR0, SRR1. - +--------------------------------------------------------------------*/ - addi r0,r0,0x0000 - mtspr SPR_SRR0,r0 - mtspr SPR_SRR1,r0 - /*--------------------------------------------------------------------+ - | Setup for subsequent MSR[ME] initialization to enable machine checks - | and translation. - +--------------------------------------------------------------------*/ - mfmsr r3 - ori r3,r3,(MSR_ME|MSR_IS|MSR_DS|MSR_FP) - mtsrr1 r3 - mtmsrd r3,0 - isync - /*--------------------------------------------------------------------+ - | Setup HID registers (HID0, HID1, HID4, HID5). When HIOR is set to - | 0 HID0 external time base bit is inherited from current HID0. When - | HIOR is set to FLASH_BASE_INTEL_AS then HID0 external time base bit - | is set to 1 in order to indicate that the tiembase is driven by - | external source. When HIOR is greater than FLASH_BASE_INTEL_AS then - | HID0 external time base bit is set to 0 in order to indicate that the - | tiembase is driven from internal clock. - +--------------------------------------------------------------------*/ - LOAD_64BIT_VAL(r6,HID0_EXT_TB_EN) - LOAD_64BIT_VAL(r7,FLASH_BASE_INTEL_AS) - mfspr r5,SPR_HIOR - cmpdi cr0,r5,0x0000 - beq ..hior0 - cmpd cr0,r5,r7 - beq ..hiorl - addi r8,r0,0x0000 - b ..hiors -..hiorl:ori r8,r6,0x0000 - b ..hiors -..hior0:mfspr r5,SPR_HID0 - and r8,r5,r6 -..hiors:LOAD_64BIT_VAL(r4,HID0_PREFEAR) - andc r4,r4,r6 - or r4,r4,r8 - sync - mtspr SPR_HID0,r4 - mfspr r4,SPR_HID0 - mfspr r4,SPR_HID0 - mfspr r4,SPR_HID0 - mfspr r4,SPR_HID0 - mfspr r4,SPR_HID0 - mfspr r4,SPR_HID0 - LOAD_64BIT_VAL(r4,HID1_PREFEAR) - mtspr SPR_HID1,r4 - mtspr SPR_HID1,r4 - isync - LOAD_64BIT_VAL(r4,HID4_PREFEAR) - sync - mtspr SPR_HID4,r4 - isync - sync - LOAD_64BIT_VAL(r4,HID5_PREFEAR) - mtspr SPR_HID5,r4 - isync - /*--------------------------------------------------------------------+ - | Synchronize memory accesses (sync). - +--------------------------------------------------------------------*/ - sync - LOAD_64BIT_VAL(r0,.init_chip) - mfspr r1,SPR_HIOR - or r0,r0,r1 - eieio - mtspr SPR_SRR0,r0 - rfid - function_epilog(init_core) - - -/******** init_chip.s ***************/ -/*----------------------------------------------------------------------------+ -| Local defines. -+----------------------------------------------------------------------------*/ -#define CPU1_DELAY 0x00010000 - -/*----------------------------------------------------------------------------+ -| Init_chip. -+----------------------------------------------------------------------------*/ - function_prolog(init_chip) - /*--------------------------------------------------------------------+ - | Skip if CPU1. - +--------------------------------------------------------------------*/ - mfspr r3,SPR_PIR - cmpi cr0,1,r3,0x0000 - bne ..cpu1 - /*--------------------------------------------------------------------+ - | Initialize the stack in the data cache for the "C" code that gets - | called. - +--------------------------------------------------------------------*/ - addis r3,r0,BOOT_STACK_ADDR@h - ori r3,r3,BOOT_STACK_ADDR@l - addis r4,r0,BOOT_STACK_SIZE@h - ori r4,r4,BOOT_STACK_SIZE@l - add r1,r3,r4 - bl .ppcDcbz_area - addi r1,r1,-stack_frame_min - addi r5,r0,0x0000 - std r5,stack_frame_bc(r1) - /*--------------------------------------------------------------------+ - | Load TOC. Can't use ld since the TOC value might not be aligned on - | double word boundary. - +--------------------------------------------------------------------*/ - bl ..ot_init_chip - .quad .TOC.@tocbase -..ot_init_chip: mflr r3 - lwz r2,0x0000(r3) - lwz r3,0x0004(r3) - rldicr r2,r2,32,31 - or r2,r2,r3 - mfspr r3,SPR_HIOR - or r2,r2,r3 - /*--------------------------------------------------------------------+ - | Code for chip initialization code goes here. Subtractive decoding - | allows access to specified registers. - +--------------------------------------------------------------------*/ - bl .super_io_setup - /*--------------------------------------------------------------------+ - | Setup default serial port using default baud rate. - +--------------------------------------------------------------------*/ -// bl .sinit_default_no_global - /*--------------------------------------------------------------------+ - | Enable SDRAM only if running from FLASH. - +--------------------------------------------------------------------*/ - mflr r3 - LOAD_64BIT_VAL(r4,BOOT_BASE_AS) - cmpld cr0,r3,r4 - blt ..skip - bl memory_init - /*--------------------------------------------------------------------+ - | Check the memory where PIBS data section will be placed. - +--------------------------------------------------------------------*/ -..skip: bl ..skip_data - .string "\nMemory check failed at 0x%x, expected 0x%x, actual 0x%x" - .align 2 -..skip_data: - addis r3,r0,MEM_CHK_START_ADDR@h - ori r3,r3,MEM_CHK_START_ADDR@l - addis r4,r0,MEM_CHK_SIZE@h - ori r4,r4,MEM_CHK_SIZE@l - mflr r5 -// bl mem_check - /*--------------------------------------------------------------------+ - | Initialize RAM area that holds boot information for CPU1. - +--------------------------------------------------------------------*/ - LOAD_64BIT_VAL(r31,CPU1_DATA_STRUCT_ADDR) - addi r3,r0,0x0000 - std r3,CPU1_DATA_STRUCT_VALID_OFF(r31) - /*--------------------------------------------------------------------+ - | DCBZ area stack is left in the cache since there is no way to - | invalidate data cache. This area will be written to memory at some - | point. Main memory should be functional at this point. - +--------------------------------------------------------------------*/ - b .init_data - /*--------------------------------------------------------------------+ - | CPU1 will spin waiting for the CPU0 to initialize the system. CPU1 - | then will check if the image for CPU1 has been loaded. If the image - | for CPU1 has been loaded CPU1 will jump to that image. If the image - | for CPU1 has not been loaded CPU1 will spin waiting for the image to - | be loaded. - +--------------------------------------------------------------------*/ -..cpu1: LOAD_64BIT_VAL(r31,NB_HW_INIT_STATE_ASM) - lwz r30,0x0000(r31) - cmpi cr0,1,r30,0x0000 - beq ..cpu1 - /*--------------------------------------------------------------------+ - | Jump to SDRAM (cachable storage) and wait there. - +--------------------------------------------------------------------*/ - sync - ba ..loada - /*--------------------------------------------------------------------+ - | Wait for image valid indicator. - +--------------------------------------------------------------------*/ -..loada:LOAD_64BIT_VAL(r31,CPU1_DATA_STRUCT_ADDR) - ld r3,CPU1_DATA_STRUCT_VALID_OFF(r31) - cmpi cr0,1,r3,0x0000 - beq ..spin2 - ld r3,CPU1_DATA_STRUCT_SRR0_OFF(r31) - mtspr SPR_SRR0,r3 - ld r4,CPU1_DATA_STRUCT_SRR1_OFF(r31) - mtspr SPR_SRR1,r4 - ld r3,CPU1_DATA_STRUCT_R3_OFF(r31) - isync - rfid -..spin2:mfspr r29,tblr - LOAD_64BIT_VAL(r31,CPU1_DELAY) -..spin3:mfspr r30,tblr - subf r30,r29,r30 - cmp cr0,1,r30,r31 - blt ..spin3 - b ..loada - function_epilog(init_chip) - - -/******** init_data.s ***************/ -/*----------------------------------------------------------------------------+ -| Init_data. -+----------------------------------------------------------------------------*/ - function_prolog(init_data) - /*--------------------------------------------------------------------+ - | Check if we are running from FLASH. If running from FLASH copy 1M - | of FLASH to SDRAM. - +--------------------------------------------------------------------*/ - bl ..next -..next: mflr r3 - LOAD_64BIT_VAL(r4,BOOT_BASE_AS) - cmpld cr0,r3,r4 - blt ..sk_c - /*--------------------------------------------------------------------+ - | Perform the copy operation. This copies data starting from SPR_HIOR - | for number of bytes queal to __edata - __stext. - +--------------------------------------------------------------------*/ - LOAD_64BIT_VAL(r6,__stext) - addi r3,r6,-8 - mfspr r4,SPR_HIOR - addi r4,r4,-8 - LOAD_64BIT_VAL(r5,__edata); - sub r5,r5,r6 - rlwinm r5,r5,29,3,31 - addi r5,r5,0x0001 - mtctr r5 -..again1:ldu r6,0x0008(r4) - stdu r6,0x0008(r3) - bdnz ..again1 - /*--------------------------------------------------------------------+ - | Get the size of BSS into r6. - +--------------------------------------------------------------------*/ -..sk_c: LOAD_64BIT_VAL(r4,__sbss) - LOAD_64BIT_VAL(r5,__ebss) - sub r6,r5,r4 - /*--------------------------------------------------------------------+ - | Clear BSS. - +--------------------------------------------------------------------*/ - addi r8,r4,-1 - mtspr ctr,r6 - addi r9,r0,0x0000 -..bag: stbu r9,0x0001(r8) - bdnz ..bag - /*--------------------------------------------------------------------+ - | Synchronize. - +--------------------------------------------------------------------*/ - sync - ba .init_cenv - function_epilog(init_data) - - -/******** init_cenv.s ***************/ -/*----------------------------------------------------------------------------+ -| TOC entry for __initial_stack. -+----------------------------------------------------------------------------*/ -TOC_ENTRY(.LC0,__initial_stack) - -/*----------------------------------------------------------------------------+ -| Initial stack. -+----------------------------------------------------------------------------*/ - data_prolog(__initial_stack) - .space MY_MAIN_STACK_SIZE - data_epilog(__initial_stack) - -/*----------------------------------------------------------------------------+ -| Init_cenv. -+----------------------------------------------------------------------------*/ - function_prolog(init_cenv) - /*--------------------------------------------------------------------+ - | Load TOC. Can't use ld since the TOC value might not be aligned on - | double word boundary. R2 is loaded for the first time here when - | loaded by PIBS (second time when originally running from FLASH). - +--------------------------------------------------------------------*/ - bl ..ot - .quad .TOC.@tocbase -..ot: mflr r3 - lwz r2,0x0000(r3) - lwz r3,0x0004(r3) - rldicr r2,r2,32,31 - or r2,r2,r3 - /*--------------------------------------------------------------------+ - | Get the address and size of the stack. - +--------------------------------------------------------------------*/ - GETSYMADDR(r3,__initial_stack,.LC0) - addis r4,r0,MY_MAIN_STACK_SIZE@h - ori r4,r4,MY_MAIN_STACK_SIZE@l - /*--------------------------------------------------------------------+ - | Setup the stack, stack bust be quadword (128-bit) aligned. - +--------------------------------------------------------------------*/ - add r1,r3,r4 - addi r1,r1,-stack_frame_min - rldicr r1,r1,0,59 - addi r5,r0,0x0000 - std r5,stack_frame_bc(r1) - std r5,stack_frame_lr(r1) - /*--------------------------------------------------------------------+ - | Call the "C" function. - +--------------------------------------------------------------------*/ -// b .my_main - b .ppc_main -..spin: b ..spin - function_epilog(init_cenv) - +/*bsp_970fx/bootlib/init_core.s, pibs_970, pibs_970_1.0 1/14/05 14:58:41*/ +/*----------------------------------------------------------------------------+ +| COPYRIGHT I B M CORPORATION 2002, 2004 +| LICENSED MATERIAL - PROGRAM PROPERTY OF I B M +| US Government Users Restricted Rights - Use, duplication or +| disclosure restricted by GSA ADP Schedule Contract with +| IBM Corp. ++----------------------------------------------------------------------------*/ +/*----------------------------------------------------------------------------+ +| PPC970FX BSP for EPOS +| Author: Maciej P. Tyrlik +| Component: Boot library. +| File: init_core.s +| Purpose: Basic PPC405 core initialization. +| Changes: +| Date: Comment: +| ----- -------- +| 29-Jan-02 Created MPT +| 30-Jan-02 Completed MPT +| 19-Apr-02 Changed some instructions to macros so that new GCC AS worksMPT +| 23-Apr-02 Removed critical interrupt enabling after rfi MPT +| 31-Jul-02 Fixed data cache invalidate code MPT +| 01-Feb-03 Ported to Argan 7XXFX CRB +| 07-Aug-03 Ported to PPC7XXGX CRB +| 12-Sep-03 Removed PVR definitions, now in board include file MCG +| 16-Sep-03 Do not enable HID0[MUM] or L2CR[L2CE] if 7XXGX DD1.0 MCG +| 31-Oct-03 Enable cache for MV64460 integrated SRAM MCG +| 07-Jan-04 Initialize FPRs to avoid errata. MCG +| 10-Feb-04 Port to PPC970FX MPT ++----------------------------------------------------------------------------*/ + +#include + +/*----------------------------------------------------------------------------+ +| Local defines. ++----------------------------------------------------------------------------*/ +#define INITIAL_SLB_VSID_VAL 0x0000000000000C00 +#define INITIAL_SLB_ESID_VAL 0x0000000008000000 +#define INITIAL_SLB_INVA_VAL 0x0000000000000000 + +/*----------------------------------------------------------------------------+ +| Init_core. Assumption: hypervisor on, 64-bit on, HID1[10]=0, HID4[23]=0. +| Data cahability must be turned on. Instruction cahability must be off. ++----------------------------------------------------------------------------*/ + /*--------------------------------------------------------------------+ + | Set time base to 0. + +--------------------------------------------------------------------*/ + addi r4,r0,0x0000 + mtspr SPR_TBU_WRITE,r4 + mtspr SPR_TBL_WRITE,r4 + /*--------------------------------------------------------------------+ + | Set HID1[10] to 0 (instruction cache off) and set HID4[23] to 0 (data + | cache on), set HID4[DC_SET1] and HID4[DC_SET2] to 0. + +--------------------------------------------------------------------*/ + LOAD_64BIT_VAL(r4,HID1_EN_IC) + nor r4,r4,r4 + mfspr r5,SPR_HID1 + isync + and r5,r5,r4 + mtspr SPR_HID1,r5 + mtspr SPR_HID1,r5 + isync + LOAD_64BIT_VAL(r4,HID4_RM_CI|HID4_DC_SET1|HID4_DC_SET2) + nor r4,r4,r4 + mfspr r5,SPR_HID4 + LOAD_64BIT_VAL(r6,HID4_L1DC_FLSH) + isync + and r5,r5,r4 + or r5,r5,r6 + sync + mtspr SPR_HID4,r5 + isync + /*--------------------------------------------------------------------+ + | Clear the flash invalidate L1 data cache bit in HID4. + +--------------------------------------------------------------------*/ + nor r6,r6,r6 + and r5,r5,r6 + sync + mtspr SPR_HID4,r5 + isync + /*--------------------------------------------------------------------+ + | Clear and set up some registers. + +--------------------------------------------------------------------*/ + addi r4,r0,0x0000 + mtxer r4 + /*--------------------------------------------------------------------+ + | Invalidate SLB. First load SLB with known values then perform + | invalidate. Invalidate will clear the D-ERAT and I-ERAT. The SLB + | is 64 entry fully associative. On power on D-ERAT and I-ERAT are all + | set to invalid values. + +--------------------------------------------------------------------*/ + addi r5,r0,SLB_SIZE + mtctr r5 + LOAD_64BIT_VAL(r6,INITIAL_SLB_VSID_VAL) + LOAD_64BIT_VAL(r7,INITIAL_SLB_ESID_VAL) + addis r8,r0,0x1000 +0: slbmte r6,r7 + addi r6,r6,0x1000 + add r7,r7,r8 + addi r7,r7,0x0001 + bdnz 0b + mtctr r5 + LOAD_64BIT_VAL(r6,INITIAL_SLB_INVA_VAL) +1: slbie r6 + add r6,r6,r8 + bdnz 1b + /*--------------------------------------------------------------------+ + | Load SLB. Following is the initial memory map. + | Entry(6) ESID(36) VSID + | 0x0 0x000000000 0x0000000000000 (large page cachable) + | 0x1 0x00000000F 0x000000000000F (small non-cachable, G) + | at 0x00000000 there will be 48MB mapped (SDRAM) + | at 0xF8000000 there will be 16MB mapped (NB) + | at 0xF4000000 there will be 64KB mapped (I/O space) + | at 0xFF000000 there will be 16MB or 1MB mapped (FLASH) + +--------------------------------------------------------------------*/ + addi r6,r0,0x0100 + addis r7,r0,0x0800 + slbmte r6,r7 + addi r6,r0,0x0000 + ori r6,r6,0xF000 + addi r7,r0,0x0001 + oris r7,r7,0xF800 + slbmte r6,r7 + /*--------------------------------------------------------------------+ + | Invalidate all 1024 instruction and data TLBs (4 way) + +--------------------------------------------------------------------*/ + addi r8,r0,0x0100 + mtspr CTR,r8 + addi r8,r0,0x0000 +2: TLBIEL(r8) + addi r8,r8,0x1000 + bdnz 2b + ptesync + /*--------------------------------------------------------------------+ + | Dcbz the page table space. Calculate SDR1 address. Store SDR1 + | address in r30. + +--------------------------------------------------------------------*/ + mfspr r3,SPR_PIR + cmpi cr0,1,r3,0x0000 + bne 3f + addis r3,r0,INITIAL_PAGE_TABLE_ADDR_CPU0@h + ori r3,r3,INITIAL_PAGE_TABLE_ADDR_CPU0@l + b 4f +3: addis r3,r0,INITIAL_PAGE_TABLE_ADDR_CPU1@h + ori r3,r3,INITIAL_PAGE_TABLE_ADDR_CPU1@l +4: addis r4,r0,INITIAL_PAGE_TABLE_SIZE@h + ori r4,r4,INITIAL_PAGE_TABLE_SIZE@l + rlwinm r5,r4,14,14,31 + cntlzw r5,r5 + subfic r5,r5,31 + or r30,r3,r5 + bl .ppcDcbz_area + /*--------------------------------------------------------------------+ + | Setup 0x00000000FFFFFFFF mask in r29. + +--------------------------------------------------------------------*/ + addi r29,r0,0x0001 + rldicl r29,r29,32,31 + addi r29,r29,-1 + /*--------------------------------------------------------------------+ + | Setup 48MB of addresses in DRAM in page table (3 large PTE). The + | parameters to p_ptegg are: r3 = lp, r4 = ea, r5 = sdr1, r6 = vsid. + +--------------------------------------------------------------------*/ + addi r3,r0,0x0001 + addi r4,r0,0x0000 + ori r5,r30,0x0000 + addi r6,r0,0x0000 + bl .p_ptegg + addi r4,r0,0x0001 + stw r4,0x0004(r3) + addi r4,r0,0x0180 + stw r4,0x000C(r3) + /*--------------------------------------------------------------------+ + | Second 16MB is mapped here. + +--------------------------------------------------------------------*/ + addi r3,r0,0x0001 + addis r4,r0,0x0100 + ori r5,r30,0x0000 + addi r6,r0,0x0000 + bl .p_ptegg + addi r4,r0,0x0101 + stw r4,0x0004(r3) + addis r4,r0,0x0100 + ori r4,r4,0x0180 + stw r4,0x000C(r3) + /*--------------------------------------------------------------------+ + | Third 16MB is mapped here. + +--------------------------------------------------------------------*/ + addi r3,r0,0x0001 + addis r4,r0,0x0200 + ori r5,r30,0x0000 + addi r6,r0,0x0000 + bl .p_ptegg + addi r4,r0,0x0201 + stw r4,0x0004(r3) + addis r4,r0,0x0200 + ori r4,r4,0x0180 + stw r4,0x000C(r3) + /*--------------------------------------------------------------------+ + | Setup 64KB of addresses in I/O space (0xF4000000). + +--------------------------------------------------------------------*/ + addi r3,r0,0x0010 + mtctr r3 + addis r31,r0,0xF400 + and r31,r31,r29 +5: addi r3,r0,0x0000 + ori r4,r31,0x0000 + ori r5,r30,0x0000 + addi r6,r0,0x000F + bl .p_ptegg + addi r6,r3,0x0080 +6: lwz r4,0x0004(r3) + cmpli cr0,1,r4,0x0000 + beq 8f + addi r3,r3,0x0010 + cmp cr0,1,r3,r6 + blt 6b +7: b 7b +8: rlwinm r4,r31,16,4,24 + ori r4,r4,0x0001 + stw r4,0x0004(r3) + ori r4,r31,0x01AC + stw r4,0x000C(r3) + addi r31,r31,0x1000 + bdnz 5b + /*--------------------------------------------------------------------+ + | Setup 16MB of addresses in NB register space (0xF8000000). + +--------------------------------------------------------------------*/ + addi r3,r0,0x1000 + mtctr r3 + addis r31,r0,0xF800 + and r31,r31,r29 +9: addi r3,r0,0x0000 + ori r4,r31,0x0000 + ori r5,r30,0x0000 + addi r6,r0,0x000F + bl .p_ptegg + addi r6,r3,0x0080 +10: lwz r4,0x0004(r3) + cmpli cr0,1,r4,0x0000 + beq 12f + addi r3,r3,0x0010 + cmp cr0,1,r3,r6 + blt 10b +11: b 11b +12: rlwinm r4,r31,16,4,24 + ori r4,r4,0x0001 + stw r4,0x0004(r3) + ori r4,r31,0x01AC + stw r4,0x000C(r3) + addi r31,r31,0x1000 + bdnz 9b + /*--------------------------------------------------------------------+ + | Setup 16MB or 1MB of addresses in ROM (at 0xFF000000 or 0xFFF00000). + +--------------------------------------------------------------------*/ + mfspr r3,SPR_HIOR + LOAD_64BIT_VAL(r4,BOOT_BASE_AS) + cmpd cr0,r3,r4 + beq 13f + addi r3,r0,0x0100 + mtctr r3 + addis r31,r0,0xFFF0 + b 14f +13: addi r3,r0,0x1000 + mtctr r3 + addis r31,r0,0xFF00 +14: and r31,r31,r29 +15: addi r3,r0,0x0000 + ori r4,r31,0x0000 + ori r5,r30,0x0000 + addi r6,r0,0x000F + bl .p_ptegg + addi r6,r3,0x0080 +16: lwz r4,0x0004(r3) + cmpli cr0,1,r4,0x0000 + beq 18f + addi r3,r3,0x0010 + cmp cr0,1,r3,r6 + blt 16b +17: b 17b +18: rlwinm r4,r31,16,4,24 + ori r4,r4,0x0001 + stw r4,0x0004(r3) + ori r4,r31,0x01A3 + stw r4,0x000C(r3) + addi r31,r31,0x1000 + bdnz 15b + /*--------------------------------------------------------------------+ + | Synchronize after setting up page table. + +--------------------------------------------------------------------*/ + ptesync + /*--------------------------------------------------------------------+ + | Set the SDR1 register. + +--------------------------------------------------------------------*/ + mtspr SPR_SDR1,r30 + /*--------------------------------------------------------------------+ + | Clear SRR0, SRR1. + +--------------------------------------------------------------------*/ + addi r0,r0,0x0000 + mtspr SPR_SRR0,r0 + mtspr SPR_SRR1,r0 + /*--------------------------------------------------------------------+ + | Setup for subsequent MSR[ME] initialization to enable machine checks + | and translation. + +--------------------------------------------------------------------*/ + mfmsr r3 + ori r3,r3,(MSR_ME|MSR_IS|MSR_DS|MSR_FP) + mtsrr1 r3 + mtmsrd r3,0 + isync + /*--------------------------------------------------------------------+ + | Setup HID registers (HID0, HID1, HID4, HID5). When HIOR is set to + | 0 HID0 external time base bit is inherited from current HID0. When + | HIOR is set to FLASH_BASE_INTEL_AS then HID0 external time base bit + | is set to 1 in order to indicate that the tiembase is driven by + | external source. When HIOR is greater than FLASH_BASE_INTEL_AS then + | HID0 external time base bit is set to 0 in order to indicate that the + | tiembase is driven from internal clock. + +--------------------------------------------------------------------*/ + LOAD_64BIT_VAL(r6,HID0_EXT_TB_EN) + LOAD_64BIT_VAL(r7,FLASH_BASE_INTEL_AS) + mfspr r5,SPR_HIOR + cmpdi cr0,r5,0x0000 + beq 19f + cmpd cr0,r5,r7 + beq 20f + addi r8,r0,0x0000 + b 21f +20: ori r8,r6,0x0000 + b 21f +19: mfspr r5,SPR_HID0 + and r8,r5,r6 +21: LOAD_64BIT_VAL(r4,HID0_PREFEAR) + andc r4,r4,r6 + or r4,r4,r8 + sync + mtspr SPR_HID0,r4 + mfspr r4,SPR_HID0 + mfspr r4,SPR_HID0 + mfspr r4,SPR_HID0 + mfspr r4,SPR_HID0 + mfspr r4,SPR_HID0 + mfspr r4,SPR_HID0 + LOAD_64BIT_VAL(r4,HID1_PREFEAR) + mtspr SPR_HID1,r4 + mtspr SPR_HID1,r4 + isync + LOAD_64BIT_VAL(r4,HID4_PREFEAR) + sync + mtspr SPR_HID4,r4 + isync + sync + LOAD_64BIT_VAL(r4,HID5_PREFEAR) + mtspr SPR_HID5,r4 + isync + /*--------------------------------------------------------------------+ + | Synchronize memory accesses (sync). + +--------------------------------------------------------------------*/ + sync + LOAD_64BIT_VAL(r0,.init_chip) + mfspr r1,SPR_HIOR + or r0,r0,r1 + eieio + mtspr SPR_SRR0,r0 + rfid diff --git a/src/cpu/ppc/ppc970/ppc970excp.S b/src/cpu/ppc/ppc970/ppc970excp.S deleted file mode 100755 index f14eaa22c2..0000000000 --- a/src/cpu/ppc/ppc970/ppc970excp.S +++ /dev/null @@ -1,11 +0,0 @@ - -#include - -/*----------------------------------------------------------------------------+ -| Init_excp. The external interrupt vector should never be called before -| io_init() is called so it can be removed from this file. -+----------------------------------------------------------------------------*/ - function_prolog(init_excp) - .space 0x100 - b .init_core /* 0100 */ - function_epilog(init_excp) diff --git a/src/cpu/ppc/ppc970/ppc970lib.S b/src/cpu/ppc/ppc970/ppc970lib.S deleted file mode 100755 index 0d20e24a39..0000000000 --- a/src/cpu/ppc/ppc970/ppc970lib.S +++ /dev/null @@ -1,5027 +0,0 @@ - -#include "ppc970.h" - -/*----------------------------------------------------------------------------+ -| PpcMflr -+----------------------------------------------------------------------------*/ - function_prolog(ppcMflr) - mflr r3 - blr - function_epilog(ppcMflr) - -/*----------------------------------------------------------------------------+ -| Inbyte -+----------------------------------------------------------------------------*/ - function_prolog(inbyte) - lbz r3,0x0000(r3) - sync - blr - function_epilog(inbyte) - -/*----------------------------------------------------------------------------+ -| Outbyte -+----------------------------------------------------------------------------*/ - function_prolog(outbyte) - stb r4,0x0000(r3) - sync - blr - function_epilog(outbyte) - -/*----------------------------------------------------------------------------+ -| Inhalf -+----------------------------------------------------------------------------*/ - function_prolog(inhalf) - lhz r3,0x0000(r3) - sync - blr - function_epilog(inhalf) - -/*----------------------------------------------------------------------------+ -| Outhalf -+----------------------------------------------------------------------------*/ - function_prolog(outhalf) - sth r4,0x0000(r3) - sync - blr - function_epilog(outhalf) - -/*----------------------------------------------------------------------------+ -| Inhalf_brx (Load halfword byte-reverse indexed) -+----------------------------------------------------------------------------*/ - function_prolog(inhalf_brx) - lhbrx r3,r0,r3 - sync - blr - function_epilog(inhalf_brx) - -/*----------------------------------------------------------------------------+ -| Outhalf_brx (Store halfword byte-reverse indexed) -+----------------------------------------------------------------------------*/ - function_prolog(outhalf_brx) - sthbrx r4,r0,r3 - sync - blr - function_epilog(outhalf_brx) - -/*----------------------------------------------------------------------------+ -| Inword -+----------------------------------------------------------------------------*/ - function_prolog(inword) - ld r3,0x0000(r3) - sync - blr - function_epilog(inword) - -/*----------------------------------------------------------------------------+ -| Outword -+----------------------------------------------------------------------------*/ - function_prolog(outword) - std r4,0x0000(r3) - sync - blr - function_epilog(outword) - -/*----------------------------------------------------------------------------+ -| Inint -+----------------------------------------------------------------------------*/ - function_prolog(inint) - lwz r3,0x0000(r3) - sync - blr - function_epilog(inint) - -/*----------------------------------------------------------------------------+ -| Outint -+----------------------------------------------------------------------------*/ - function_prolog(outint) - stw r4,0x0000(r3) - sync - blr - function_epilog(outint) - -/*----------------------------------------------------------------------------+ -| Inint_brx (Load word byte-reverse indexed) -+----------------------------------------------------------------------------*/ - function_prolog(inint_brx) - lwbrx r3,r0,r3 - sync - blr - function_epilog(inint_brx) - -/*----------------------------------------------------------------------------+ -| Outint_brx (Store word byte-reverse indexed) -+----------------------------------------------------------------------------*/ - function_prolog(outint_brx) - stwbrx r4,r0,r3 - sync - blr - function_epilog(outint_brx) - -/*----------------------------------------------------------------------------+ -| PpcDflush. Assume addresses 0-2MB are cachable. Do a series of loads to -| fill the L2 using a memory range twice as large as the L2 in case a line -| between 0-2MB is dirty in the L2 to start. -+----------------------------------------------------------------------------*/ - function_prolog(ppcDflush) - mfmsr r9 - rlwinm r8,r9,0,17,15 - mtmsrd r8,1 - isync - /*--------------------------------------------------------------------+ - | Back to the initial start address. - +--------------------------------------------------------------------*/ - addi r3,r0,0x0000 - addis r4,r0,0x0000 - /*--------------------------------------------------------------------+ - | 2x number of blocks in 512KB L2 cache. - +--------------------------------------------------------------------*/ - ori r4,r4,0x2000 - mtctr r4 -..fl: lwz r6,0x0(r3) - addi r3,r3,128 - bdnz ..fl - sync - /*--------------------------------------------------------------------+ - | Now flush the last lines. - +--------------------------------------------------------------------*/ - addis r3,r0,0x0008 - ori r4,r4,0x1000 - mtctr r4 -..fl1: dcbf r0,r3 - addi r3,r3,123 - bdnz ..fl1 - /*--------------------------------------------------------------------+ - | No dirty lines should exist in the L2 at this point. - +--------------------------------------------------------------------*/ - mtmsrd r9,1 - isync - blr - function_epilog(ppcDflush) - -/*----------------------------------------------------------------------------+ -| PpcDcbz_area (dcbz: data cache block set to zero). Although the cache line -| in L2 is 128 bytes the dcbz instruction will only zero 32 bytes when HID5 -| bit 56 is set to 0. This function will work with HID5 bit 56 set to 0 or 1. -+----------------------------------------------------------------------------*/ - function_prolog(ppcDcbz_area) - rlwinm. r5,r4,0,27,31 - rlwinm r5,r4,27,5,31 - beq ..d_ran - addi r5,r5,0x0001 -..d_ran:mtctr r5 -..d_ag: dcbz r0,r3 - addi r3,r3,32 - bdnz ..d_ag - blr - function_epilog(ppcDcbz_area) - -/*----------------------------------------------------------------------------+ -| PpcTlbsync (tlbsync: TLB Synchronize) -+----------------------------------------------------------------------------*/ - function_prolog(ppcTlbsync) - tlbsync - blr - function_epilog(ppcTlbsync) - -/*----------------------------------------------------------------------------+ -| PpcTlbie (tlbie: TLB Invalidate Entry) -+----------------------------------------------------------------------------*/ - function_prolog(ppcTlbie) - cmpi cr0,1,r4,0x0000 - bne ..tlp - tlbie r3,0 - blr -..tlp: tlbie r3,1 - blr - function_epilog(ppcTlbie) - -/*----------------------------------------------------------------------------+ -| PpcAbend -+----------------------------------------------------------------------------*/ - function_prolog(ppcAbend) - .long 0x00000000 - function_epilog(ppcAbend) - -/*----------------------------------------------------------------------------+ -| PpcAndMsr -+----------------------------------------------------------------------------*/ - function_prolog(ppcAndMsr) - mfmsr r6 - and r7,r6,r3 - mtmsrd r7,0 - isync - ori r3,r6,0x000 - blr - function_epilog(ppcAndMsr) - -/*----------------------------------------------------------------------------+ -| PpcCntlzw (cntlzw: count leading zeros word) -+----------------------------------------------------------------------------*/ - function_prolog(ppcCntlzw) - cntlzw r3,r3 - blr - function_epilog(ppcCntlzw) - -/*----------------------------------------------------------------------------+ -| PpcCntlzd (cntlzd: count leading zeros double word) -+----------------------------------------------------------------------------*/ - function_prolog(ppcCntlzd) - cntlzd r3,r3 - blr - function_epilog(ppcCntlzd) - -/*----------------------------------------------------------------------------+ -| PpcDcbf (dcbf: data cache block flush) -+----------------------------------------------------------------------------*/ - function_prolog(ppcDcbf) - dcbf r0,r3 - blr - function_epilog(ppcDcbf) - -/*----------------------------------------------------------------------------+ -| PpcDcbst (dcbst: data cache block touch for store) -+----------------------------------------------------------------------------*/ - function_prolog(ppcDcbst) - dcbst r0,r3 - blr - function_epilog(ppcDcbst) - -/*----------------------------------------------------------------------------+ -| PpcDcbz (dcbz: data cache block set to zero) -+----------------------------------------------------------------------------*/ - function_prolog(ppcDcbz) - dcbz r0,r3 - blr - function_epilog(ppcDcbz) - -/*----------------------------------------------------------------------------+ -| PpcHalt (3 nop instructions + branch) -+----------------------------------------------------------------------------*/ - function_prolog(ppcHalt) - ori r0,r0,0x0000 - b .ppcHalt - function_epilog(ppcHalt) - -/*----------------------------------------------------------------------------+ -| PpcIcbi (icbi: instruction cache block invalidate) -+----------------------------------------------------------------------------*/ - function_prolog(ppcIcbi) - icbi r0,r3 - blr - function_epilog(ppcIcbi) - -/*----------------------------------------------------------------------------+ -| PpcIsync (isync: instruction synchronize) -+----------------------------------------------------------------------------*/ - function_prolog(ppcIsync) - isync - blr - function_epilog(ppcIsync) - -/*----------------------------------------------------------------------------+ -| PpcMfgpr1 -+----------------------------------------------------------------------------*/ - function_prolog(ppcMfgpr1) - addi r3,r1,0x0000 - blr - function_epilog(ppcMfgpr1) - -/*----------------------------------------------------------------------------+ -| PpcMfgpr2 -+----------------------------------------------------------------------------*/ - function_prolog(ppcMfgpr2) - addi r3,r2,0x0000 - blr - function_epilog(ppcMfgpr2) - -/*----------------------------------------------------------------------------+ -| PpcMtmsr -+----------------------------------------------------------------------------*/ - function_prolog(ppcMtmsr) - mtmsrd r3,0 - isync - blr - function_epilog(ppcMtmsr) - -/*----------------------------------------------------------------------------+ -| PpcMfmsr -+----------------------------------------------------------------------------*/ - function_prolog(ppcMfmsr) - mfmsr r3 - blr - function_epilog(ppcMfmsr) - -/*----------------------------------------------------------------------------+ -| PpcOrMsr -+----------------------------------------------------------------------------*/ - function_prolog(ppcOrMsr) - mfmsr r6 - or r7,r6,r3 - mtmsrd r7,0 - isync - ori r3,r6,0x000 - blr - function_epilog(ppcOrMsr) - -/*----------------------------------------------------------------------------+ -| PpcSync -+----------------------------------------------------------------------------*/ - function_prolog(ppcSync) - sync - blr - function_epilog(ppcSync) - -/*----------------------------------------------------------------------------+ -| PpcEieio -+----------------------------------------------------------------------------*/ - function_prolog(ppcEieio) - eieio - blr - function_epilog(ppcEieio) - -/*----------------------------------------------------------------------------+ -| PpcMthid0 -+----------------------------------------------------------------------------*/ - function_prolog(ppcMthid0) - sync - mtspr SPR_HID0,r3 - mfspr r3,SPR_HID0 - mfspr r3,SPR_HID0 - mfspr r3,SPR_HID0 - mfspr r3,SPR_HID0 - mfspr r3,SPR_HID0 - mfspr r3,SPR_HID0 - blr - function_epilog(ppcMthid0) - -/*----------------------------------------------------------------------------+ -| PpcMthid1 -+----------------------------------------------------------------------------*/ - function_prolog(ppcMthid1) - mtspr SPR_HID1,r3 - mtspr SPR_HID1,r3 - isync - blr - function_epilog(ppcMthid1) - -/*----------------------------------------------------------------------------+ -| PpcMthid4 -+----------------------------------------------------------------------------*/ - function_prolog(ppcMthid4) - sync - mtspr SPR_HID4,r3 - isync - blr - function_epilog(ppcMthid4) - -/*----------------------------------------------------------------------------+ -| PpcMthid5 -+----------------------------------------------------------------------------*/ - function_prolog(ppcMthid5) - mtspr SPR_HID5,r3 - blr - function_epilog(ppcMthid5) - -/*----------------------------------------------------------------------------+ -| PpcMftb -+----------------------------------------------------------------------------*/ - function_prolog(ppcMftb) - mfspr r6,tblr - std r6,0x0000(r3) - blr - function_epilog(ppcMftb) - -/*----------------------------------------------------------------------------+ -| PpcMttb -+----------------------------------------------------------------------------*/ - function_prolog(ppcMttb) - mfmsr r7 - lwz r6,0x0000(r3) - rlwinm r8,r7,0,17,15 - mtmsrd r8,1 - ori r5,r6,0x0000 - sradi r6,r6,32 - addi r4,r0,0x0000 - rldicl r6,r6,0,32 - mtspr SPR_TBL_WRITE,r4 - mtspr SPR_TBU_WRITE,r6 - mtspr SPR_TBL_WRITE,r5 - mtmsrd r7,1 - blr - function_epilog(ppcMttb) - -/*----------------------------------------------------------------------------+ -| PpcMtspr_any -+----------------------------------------------------------------------------*/ - function_prolog(ppcMtspr_any) - rlwinm r3,r3,3,19,29 - addi r3,r3,0x0010 - mflr r6 - bl ..sp_get_lr -..sp_get_lr: - mflr r5 - add r5,r5,r3 - mtlr r5 - blr - mtspr 0x000,r4 - b ..ppcMtspr_any_end - mtspr 0x001,r4 - b ..ppcMtspr_any_end - mtspr 0x002,r4 - b ..ppcMtspr_any_end - mtspr 0x003,r4 - b ..ppcMtspr_any_end - mtspr 0x004,r4 - b ..ppcMtspr_any_end - mtspr 0x005,r4 - b ..ppcMtspr_any_end - mtspr 0x006,r4 - b ..ppcMtspr_any_end - mtspr 0x007,r4 - b ..ppcMtspr_any_end - mtspr 0x008,r4 - b ..ppcMtspr_any_end - mtspr 0x009,r4 - b ..ppcMtspr_any_end - mtspr 0x00a,r4 - b ..ppcMtspr_any_end - mtspr 0x00b,r4 - b ..ppcMtspr_any_end - mtspr 0x00c,r4 - b ..ppcMtspr_any_end - mtspr 0x00d,r4 - b ..ppcMtspr_any_end - mtspr 0x00e,r4 - b ..ppcMtspr_any_end - mtspr 0x00f,r4 - b ..ppcMtspr_any_end - mtspr 0x010,r4 - b ..ppcMtspr_any_end - mtspr 0x011,r4 - b ..ppcMtspr_any_end - mtspr 0x012,r4 - b ..ppcMtspr_any_end - mtspr 0x013,r4 - b ..ppcMtspr_any_end - mtspr 0x014,r4 - b ..ppcMtspr_any_end - mtspr 0x015,r4 - b ..ppcMtspr_any_end - mtspr 0x016,r4 - b ..ppcMtspr_any_end - mtspr 0x017,r4 - b ..ppcMtspr_any_end - mtspr 0x018,r4 - b ..ppcMtspr_any_end - mtspr 0x019,r4 - b ..ppcMtspr_any_end - mtspr 0x01a,r4 - b ..ppcMtspr_any_end - mtspr 0x01b,r4 - b ..ppcMtspr_any_end - mtspr 0x01c,r4 - b ..ppcMtspr_any_end - mtspr 0x01d,r4 - b ..ppcMtspr_any_end - mtspr 0x01e,r4 - b ..ppcMtspr_any_end - mtspr 0x01f,r4 - b ..ppcMtspr_any_end - mtspr 0x020,r4 - b ..ppcMtspr_any_end - mtspr 0x021,r4 - b ..ppcMtspr_any_end - mtspr 0x022,r4 - b ..ppcMtspr_any_end - mtspr 0x023,r4 - b ..ppcMtspr_any_end - mtspr 0x024,r4 - b ..ppcMtspr_any_end - mtspr 0x025,r4 - b ..ppcMtspr_any_end - mtspr 0x026,r4 - b ..ppcMtspr_any_end - mtspr 0x027,r4 - b ..ppcMtspr_any_end - mtspr 0x028,r4 - b ..ppcMtspr_any_end - mtspr 0x029,r4 - b ..ppcMtspr_any_end - mtspr 0x02a,r4 - b ..ppcMtspr_any_end - mtspr 0x02b,r4 - b ..ppcMtspr_any_end - mtspr 0x02c,r4 - b ..ppcMtspr_any_end - mtspr 0x02d,r4 - b ..ppcMtspr_any_end - mtspr 0x02e,r4 - b ..ppcMtspr_any_end - mtspr 0x02f,r4 - b ..ppcMtspr_any_end - mtspr 0x030,r4 - b ..ppcMtspr_any_end - mtspr 0x031,r4 - b ..ppcMtspr_any_end - mtspr 0x032,r4 - b ..ppcMtspr_any_end - mtspr 0x033,r4 - b ..ppcMtspr_any_end - mtspr 0x034,r4 - b ..ppcMtspr_any_end - mtspr 0x035,r4 - b ..ppcMtspr_any_end - mtspr 0x036,r4 - b ..ppcMtspr_any_end - mtspr 0x037,r4 - b ..ppcMtspr_any_end - mtspr 0x038,r4 - b ..ppcMtspr_any_end - mtspr 0x039,r4 - b ..ppcMtspr_any_end - mtspr 0x03a,r4 - b ..ppcMtspr_any_end - mtspr 0x03b,r4 - b ..ppcMtspr_any_end - mtspr 0x03c,r4 - b ..ppcMtspr_any_end - mtspr 0x03d,r4 - b ..ppcMtspr_any_end - mtspr 0x03e,r4 - b ..ppcMtspr_any_end - mtspr 0x03f,r4 - b ..ppcMtspr_any_end - mtspr 0x040,r4 - b ..ppcMtspr_any_end - mtspr 0x041,r4 - b ..ppcMtspr_any_end - mtspr 0x042,r4 - b ..ppcMtspr_any_end - mtspr 0x043,r4 - b ..ppcMtspr_any_end - mtspr 0x044,r4 - b ..ppcMtspr_any_end - mtspr 0x045,r4 - b ..ppcMtspr_any_end - mtspr 0x046,r4 - b ..ppcMtspr_any_end - mtspr 0x047,r4 - b ..ppcMtspr_any_end - mtspr 0x048,r4 - b ..ppcMtspr_any_end - mtspr 0x049,r4 - b ..ppcMtspr_any_end - mtspr 0x04a,r4 - b ..ppcMtspr_any_end - mtspr 0x04b,r4 - b ..ppcMtspr_any_end - mtspr 0x04c,r4 - b ..ppcMtspr_any_end - mtspr 0x04d,r4 - b ..ppcMtspr_any_end - mtspr 0x04e,r4 - b ..ppcMtspr_any_end - mtspr 0x04f,r4 - b ..ppcMtspr_any_end - mtspr 0x050,r4 - b ..ppcMtspr_any_end - mtspr 0x051,r4 - b ..ppcMtspr_any_end - mtspr 0x052,r4 - b ..ppcMtspr_any_end - mtspr 0x053,r4 - b ..ppcMtspr_any_end - mtspr 0x054,r4 - b ..ppcMtspr_any_end - mtspr 0x055,r4 - b ..ppcMtspr_any_end - mtspr 0x056,r4 - b ..ppcMtspr_any_end - mtspr 0x057,r4 - b ..ppcMtspr_any_end - mtspr 0x058,r4 - b ..ppcMtspr_any_end - mtspr 0x059,r4 - b ..ppcMtspr_any_end - mtspr 0x05a,r4 - b ..ppcMtspr_any_end - mtspr 0x05b,r4 - b ..ppcMtspr_any_end - mtspr 0x05c,r4 - b ..ppcMtspr_any_end - mtspr 0x05d,r4 - b ..ppcMtspr_any_end - mtspr 0x05e,r4 - b ..ppcMtspr_any_end - mtspr 0x05f,r4 - b ..ppcMtspr_any_end - mtspr 0x060,r4 - b ..ppcMtspr_any_end - mtspr 0x061,r4 - b ..ppcMtspr_any_end - mtspr 0x062,r4 - b ..ppcMtspr_any_end - mtspr 0x063,r4 - b ..ppcMtspr_any_end - mtspr 0x064,r4 - b ..ppcMtspr_any_end - mtspr 0x065,r4 - b ..ppcMtspr_any_end - mtspr 0x066,r4 - b ..ppcMtspr_any_end - mtspr 0x067,r4 - b ..ppcMtspr_any_end - mtspr 0x068,r4 - b ..ppcMtspr_any_end - mtspr 0x069,r4 - b ..ppcMtspr_any_end - mtspr 0x06a,r4 - b ..ppcMtspr_any_end - mtspr 0x06b,r4 - b ..ppcMtspr_any_end - mtspr 0x06c,r4 - b ..ppcMtspr_any_end - mtspr 0x06d,r4 - b ..ppcMtspr_any_end - mtspr 0x06e,r4 - b ..ppcMtspr_any_end - mtspr 0x06f,r4 - b ..ppcMtspr_any_end - mtspr 0x070,r4 - b ..ppcMtspr_any_end - mtspr 0x071,r4 - b ..ppcMtspr_any_end - mtspr 0x072,r4 - b ..ppcMtspr_any_end - mtspr 0x073,r4 - b ..ppcMtspr_any_end - mtspr 0x074,r4 - b ..ppcMtspr_any_end - mtspr 0x075,r4 - b ..ppcMtspr_any_end - mtspr 0x076,r4 - b ..ppcMtspr_any_end - mtspr 0x077,r4 - b ..ppcMtspr_any_end - mtspr 0x078,r4 - b ..ppcMtspr_any_end - mtspr 0x079,r4 - b ..ppcMtspr_any_end - mtspr 0x07a,r4 - b ..ppcMtspr_any_end - mtspr 0x07b,r4 - b ..ppcMtspr_any_end - mtspr 0x07c,r4 - b ..ppcMtspr_any_end - mtspr 0x07d,r4 - b ..ppcMtspr_any_end - mtspr 0x07e,r4 - b ..ppcMtspr_any_end - mtspr 0x07f,r4 - b ..ppcMtspr_any_end - mtspr 0x080,r4 - b ..ppcMtspr_any_end - mtspr 0x081,r4 - b ..ppcMtspr_any_end - mtspr 0x082,r4 - b ..ppcMtspr_any_end - mtspr 0x083,r4 - b ..ppcMtspr_any_end - mtspr 0x084,r4 - b ..ppcMtspr_any_end - mtspr 0x085,r4 - b ..ppcMtspr_any_end - mtspr 0x086,r4 - b ..ppcMtspr_any_end - mtspr 0x087,r4 - b ..ppcMtspr_any_end - mtspr 0x088,r4 - b ..ppcMtspr_any_end - mtspr 0x089,r4 - b ..ppcMtspr_any_end - mtspr 0x08a,r4 - b ..ppcMtspr_any_end - mtspr 0x08b,r4 - b ..ppcMtspr_any_end - mtspr 0x08c,r4 - b ..ppcMtspr_any_end - mtspr 0x08d,r4 - b ..ppcMtspr_any_end - mtspr 0x08e,r4 - b ..ppcMtspr_any_end - mtspr 0x08f,r4 - b ..ppcMtspr_any_end - mtspr 0x090,r4 - b ..ppcMtspr_any_end - mtspr 0x091,r4 - b ..ppcMtspr_any_end - mtspr 0x092,r4 - b ..ppcMtspr_any_end - mtspr 0x093,r4 - b ..ppcMtspr_any_end - mtspr 0x094,r4 - b ..ppcMtspr_any_end - mtspr 0x095,r4 - b ..ppcMtspr_any_end - mtspr 0x096,r4 - b ..ppcMtspr_any_end - mtspr 0x097,r4 - b ..ppcMtspr_any_end - mtspr 0x098,r4 - b ..ppcMtspr_any_end - mtspr 0x099,r4 - b ..ppcMtspr_any_end - mtspr 0x09a,r4 - b ..ppcMtspr_any_end - mtspr 0x09b,r4 - b ..ppcMtspr_any_end - mtspr 0x09c,r4 - b ..ppcMtspr_any_end - mtspr 0x09d,r4 - b ..ppcMtspr_any_end - mtspr 0x09e,r4 - b ..ppcMtspr_any_end - mtspr 0x09f,r4 - b ..ppcMtspr_any_end - mtspr 0x0a0,r4 - b ..ppcMtspr_any_end - mtspr 0x0a1,r4 - b ..ppcMtspr_any_end - mtspr 0x0a2,r4 - b ..ppcMtspr_any_end - mtspr 0x0a3,r4 - b ..ppcMtspr_any_end - mtspr 0x0a4,r4 - b ..ppcMtspr_any_end - mtspr 0x0a5,r4 - b ..ppcMtspr_any_end - mtspr 0x0a6,r4 - b ..ppcMtspr_any_end - mtspr 0x0a7,r4 - b ..ppcMtspr_any_end - mtspr 0x0a8,r4 - b ..ppcMtspr_any_end - mtspr 0x0a9,r4 - b ..ppcMtspr_any_end - mtspr 0x0aa,r4 - b ..ppcMtspr_any_end - mtspr 0x0ab,r4 - b ..ppcMtspr_any_end - mtspr 0x0ac,r4 - b ..ppcMtspr_any_end - mtspr 0x0ad,r4 - b ..ppcMtspr_any_end - mtspr 0x0ae,r4 - b ..ppcMtspr_any_end - mtspr 0x0af,r4 - b ..ppcMtspr_any_end - mtspr 0x0b0,r4 - b ..ppcMtspr_any_end - mtspr 0x0b1,r4 - b ..ppcMtspr_any_end - mtspr 0x0b2,r4 - b ..ppcMtspr_any_end - mtspr 0x0b3,r4 - b ..ppcMtspr_any_end - mtspr 0x0b4,r4 - b ..ppcMtspr_any_end - mtspr 0x0b5,r4 - b ..ppcMtspr_any_end - mtspr 0x0b6,r4 - b ..ppcMtspr_any_end - mtspr 0x0b7,r4 - b ..ppcMtspr_any_end - mtspr 0x0b8,r4 - b ..ppcMtspr_any_end - mtspr 0x0b9,r4 - b ..ppcMtspr_any_end - mtspr 0x0ba,r4 - b ..ppcMtspr_any_end - mtspr 0x0bb,r4 - b ..ppcMtspr_any_end - mtspr 0x0bc,r4 - b ..ppcMtspr_any_end - mtspr 0x0bd,r4 - b ..ppcMtspr_any_end - mtspr 0x0be,r4 - b ..ppcMtspr_any_end - mtspr 0x0bf,r4 - b ..ppcMtspr_any_end - mtspr 0x0c0,r4 - b ..ppcMtspr_any_end - mtspr 0x0c1,r4 - b ..ppcMtspr_any_end - mtspr 0x0c2,r4 - b ..ppcMtspr_any_end - mtspr 0x0c3,r4 - b ..ppcMtspr_any_end - mtspr 0x0c4,r4 - b ..ppcMtspr_any_end - mtspr 0x0c5,r4 - b ..ppcMtspr_any_end - mtspr 0x0c6,r4 - b ..ppcMtspr_any_end - mtspr 0x0c7,r4 - b ..ppcMtspr_any_end - mtspr 0x0c8,r4 - b ..ppcMtspr_any_end - mtspr 0x0c9,r4 - b ..ppcMtspr_any_end - mtspr 0x0ca,r4 - b ..ppcMtspr_any_end - mtspr 0x0cb,r4 - b ..ppcMtspr_any_end - mtspr 0x0cc,r4 - b ..ppcMtspr_any_end - mtspr 0x0cd,r4 - b ..ppcMtspr_any_end - mtspr 0x0ce,r4 - b ..ppcMtspr_any_end - mtspr 0x0cf,r4 - b ..ppcMtspr_any_end - mtspr 0x0d0,r4 - b ..ppcMtspr_any_end - mtspr 0x0d1,r4 - b ..ppcMtspr_any_end - mtspr 0x0d2,r4 - b ..ppcMtspr_any_end - mtspr 0x0d3,r4 - b ..ppcMtspr_any_end - mtspr 0x0d4,r4 - b ..ppcMtspr_any_end - mtspr 0x0d5,r4 - b ..ppcMtspr_any_end - mtspr 0x0d6,r4 - b ..ppcMtspr_any_end - mtspr 0x0d7,r4 - b ..ppcMtspr_any_end - mtspr 0x0d8,r4 - b ..ppcMtspr_any_end - mtspr 0x0d9,r4 - b ..ppcMtspr_any_end - mtspr 0x0da,r4 - b ..ppcMtspr_any_end - mtspr 0x0db,r4 - b ..ppcMtspr_any_end - mtspr 0x0dc,r4 - b ..ppcMtspr_any_end - mtspr 0x0dd,r4 - b ..ppcMtspr_any_end - mtspr 0x0de,r4 - b ..ppcMtspr_any_end - mtspr 0x0df,r4 - b ..ppcMtspr_any_end - mtspr 0x0e0,r4 - b ..ppcMtspr_any_end - mtspr 0x0e1,r4 - b ..ppcMtspr_any_end - mtspr 0x0e2,r4 - b ..ppcMtspr_any_end - mtspr 0x0e3,r4 - b ..ppcMtspr_any_end - mtspr 0x0e4,r4 - b ..ppcMtspr_any_end - mtspr 0x0e5,r4 - b ..ppcMtspr_any_end - mtspr 0x0e6,r4 - b ..ppcMtspr_any_end - mtspr 0x0e7,r4 - b ..ppcMtspr_any_end - mtspr 0x0e8,r4 - b ..ppcMtspr_any_end - mtspr 0x0e9,r4 - b ..ppcMtspr_any_end - mtspr 0x0ea,r4 - b ..ppcMtspr_any_end - mtspr 0x0eb,r4 - b ..ppcMtspr_any_end - mtspr 0x0ec,r4 - b ..ppcMtspr_any_end - mtspr 0x0ed,r4 - b ..ppcMtspr_any_end - mtspr 0x0ee,r4 - b ..ppcMtspr_any_end - mtspr 0x0ef,r4 - b ..ppcMtspr_any_end - mtspr 0x0f0,r4 - b ..ppcMtspr_any_end - mtspr 0x0f1,r4 - b ..ppcMtspr_any_end - mtspr 0x0f2,r4 - b ..ppcMtspr_any_end - mtspr 0x0f3,r4 - b ..ppcMtspr_any_end - mtspr 0x0f4,r4 - b ..ppcMtspr_any_end - mtspr 0x0f5,r4 - b ..ppcMtspr_any_end - mtspr 0x0f6,r4 - b ..ppcMtspr_any_end - mtspr 0x0f7,r4 - b ..ppcMtspr_any_end - mtspr 0x0f8,r4 - b ..ppcMtspr_any_end - mtspr 0x0f9,r4 - b ..ppcMtspr_any_end - mtspr 0x0fa,r4 - b ..ppcMtspr_any_end - mtspr 0x0fb,r4 - b ..ppcMtspr_any_end - mtspr 0x0fc,r4 - b ..ppcMtspr_any_end - mtspr 0x0fd,r4 - b ..ppcMtspr_any_end - mtspr 0x0fe,r4 - b ..ppcMtspr_any_end - mtspr 0x0ff,r4 - b ..ppcMtspr_any_end - mtspr 0x100,r4 - b ..ppcMtspr_any_end - mtspr 0x101,r4 - b ..ppcMtspr_any_end - mtspr 0x102,r4 - b ..ppcMtspr_any_end - mtspr 0x103,r4 - b ..ppcMtspr_any_end - mtspr 0x104,r4 - b ..ppcMtspr_any_end - mtspr 0x105,r4 - b ..ppcMtspr_any_end - mtspr 0x106,r4 - b ..ppcMtspr_any_end - mtspr 0x107,r4 - b ..ppcMtspr_any_end - mtspr 0x108,r4 - b ..ppcMtspr_any_end - mtspr 0x109,r4 - b ..ppcMtspr_any_end - mtspr 0x10a,r4 - b ..ppcMtspr_any_end - mtspr 0x10b,r4 - b ..ppcMtspr_any_end - addi r3,r0,0x0000 - b ..ppcMtspr_any_end - addi r3,r0,0x0000 - b ..ppcMtspr_any_end - mtspr 0x10e,r4 - b ..ppcMtspr_any_end - mtspr 0x10f,r4 - b ..ppcMtspr_any_end - mtspr 0x110,r4 - b ..ppcMtspr_any_end - mtspr 0x111,r4 - b ..ppcMtspr_any_end - mtspr 0x112,r4 - b ..ppcMtspr_any_end - mtspr 0x113,r4 - b ..ppcMtspr_any_end - mtspr 0x114,r4 - b ..ppcMtspr_any_end - mtspr 0x115,r4 - b ..ppcMtspr_any_end - mtspr 0x116,r4 - b ..ppcMtspr_any_end - mtspr 0x117,r4 - b ..ppcMtspr_any_end - mtspr 0x118,r4 - b ..ppcMtspr_any_end - mtspr 0x119,r4 - b ..ppcMtspr_any_end - mtspr 0x11a,r4 - b ..ppcMtspr_any_end - mtspr 0x11b,r4 - b ..ppcMtspr_any_end - mtspr 0x11c,r4 - b ..ppcMtspr_any_end - mtspr 0x11d,r4 - b ..ppcMtspr_any_end - mtspr 0x11e,r4 - b ..ppcMtspr_any_end - addi r3,r0,0x0000 - b ..ppcMtspr_any_end - mtspr 0x120,r4 - b ..ppcMtspr_any_end - mtspr 0x121,r4 - b ..ppcMtspr_any_end - mtspr 0x122,r4 - b ..ppcMtspr_any_end - mtspr 0x123,r4 - b ..ppcMtspr_any_end - mtspr 0x124,r4 - b ..ppcMtspr_any_end - mtspr 0x125,r4 - b ..ppcMtspr_any_end - mtspr 0x126,r4 - b ..ppcMtspr_any_end - mtspr 0x127,r4 - b ..ppcMtspr_any_end - mtspr 0x128,r4 - b ..ppcMtspr_any_end - mtspr 0x129,r4 - b ..ppcMtspr_any_end - mtspr 0x12a,r4 - b ..ppcMtspr_any_end - mtspr 0x12b,r4 - b ..ppcMtspr_any_end - mtspr 0x12c,r4 - b ..ppcMtspr_any_end - mtspr 0x12d,r4 - b ..ppcMtspr_any_end - mtspr 0x12e,r4 - b ..ppcMtspr_any_end - mtspr 0x12f,r4 - b ..ppcMtspr_any_end - mtspr 0x130,r4 - b ..ppcMtspr_any_end - mtspr 0x131,r4 - b ..ppcMtspr_any_end - mtspr 0x132,r4 - b ..ppcMtspr_any_end - mtspr 0x133,r4 - b ..ppcMtspr_any_end - mtspr 0x134,r4 - b ..ppcMtspr_any_end - mtspr 0x135,r4 - b ..ppcMtspr_any_end - mtspr 0x136,r4 - b ..ppcMtspr_any_end - mtspr 0x137,r4 - b ..ppcMtspr_any_end - mtspr 0x138,r4 - b ..ppcMtspr_any_end - mtspr 0x139,r4 - b ..ppcMtspr_any_end - mtspr 0x13a,r4 - b ..ppcMtspr_any_end - mtspr 0x13b,r4 - b ..ppcMtspr_any_end - mtspr 0x13c,r4 - b ..ppcMtspr_any_end - mtspr 0x13d,r4 - b ..ppcMtspr_any_end - mtspr 0x13e,r4 - b ..ppcMtspr_any_end - mtspr 0x13f,r4 - b ..ppcMtspr_any_end - mtspr 0x140,r4 - b ..ppcMtspr_any_end - mtspr 0x141,r4 - b ..ppcMtspr_any_end - mtspr 0x142,r4 - b ..ppcMtspr_any_end - mtspr 0x143,r4 - b ..ppcMtspr_any_end - mtspr 0x144,r4 - b ..ppcMtspr_any_end - mtspr 0x145,r4 - b ..ppcMtspr_any_end - mtspr 0x146,r4 - b ..ppcMtspr_any_end - mtspr 0x147,r4 - b ..ppcMtspr_any_end - mtspr 0x148,r4 - b ..ppcMtspr_any_end - mtspr 0x149,r4 - b ..ppcMtspr_any_end - mtspr 0x14a,r4 - b ..ppcMtspr_any_end - mtspr 0x14b,r4 - b ..ppcMtspr_any_end - mtspr 0x14c,r4 - b ..ppcMtspr_any_end - mtspr 0x14d,r4 - b ..ppcMtspr_any_end - mtspr 0x14e,r4 - b ..ppcMtspr_any_end - mtspr 0x14f,r4 - b ..ppcMtspr_any_end - mtspr 0x150,r4 - b ..ppcMtspr_any_end - mtspr 0x151,r4 - b ..ppcMtspr_any_end - mtspr 0x152,r4 - b ..ppcMtspr_any_end - mtspr 0x153,r4 - b ..ppcMtspr_any_end - mtspr 0x154,r4 - b ..ppcMtspr_any_end - mtspr 0x155,r4 - b ..ppcMtspr_any_end - mtspr 0x156,r4 - b ..ppcMtspr_any_end - mtspr 0x157,r4 - b ..ppcMtspr_any_end - mtspr 0x158,r4 - b ..ppcMtspr_any_end - mtspr 0x159,r4 - b ..ppcMtspr_any_end - mtspr 0x15a,r4 - b ..ppcMtspr_any_end - mtspr 0x15b,r4 - b ..ppcMtspr_any_end - mtspr 0x15c,r4 - b ..ppcMtspr_any_end - mtspr 0x15d,r4 - b ..ppcMtspr_any_end - mtspr 0x15e,r4 - b ..ppcMtspr_any_end - mtspr 0x15f,r4 - b ..ppcMtspr_any_end - mtspr 0x160,r4 - b ..ppcMtspr_any_end - mtspr 0x161,r4 - b ..ppcMtspr_any_end - mtspr 0x162,r4 - b ..ppcMtspr_any_end - mtspr 0x163,r4 - b ..ppcMtspr_any_end - mtspr 0x164,r4 - b ..ppcMtspr_any_end - mtspr 0x165,r4 - b ..ppcMtspr_any_end - mtspr 0x166,r4 - b ..ppcMtspr_any_end - mtspr 0x167,r4 - b ..ppcMtspr_any_end - mtspr 0x168,r4 - b ..ppcMtspr_any_end - mtspr 0x169,r4 - b ..ppcMtspr_any_end - mtspr 0x16a,r4 - b ..ppcMtspr_any_end - mtspr 0x16b,r4 - b ..ppcMtspr_any_end - mtspr 0x16c,r4 - b ..ppcMtspr_any_end - mtspr 0x16d,r4 - b ..ppcMtspr_any_end - mtspr 0x16e,r4 - b ..ppcMtspr_any_end - mtspr 0x16f,r4 - b ..ppcMtspr_any_end - mtspr 0x170,r4 - b ..ppcMtspr_any_end - mtspr 0x171,r4 - b ..ppcMtspr_any_end - mtspr 0x172,r4 - b ..ppcMtspr_any_end - mtspr 0x173,r4 - b ..ppcMtspr_any_end - mtspr 0x174,r4 - b ..ppcMtspr_any_end - mtspr 0x175,r4 - b ..ppcMtspr_any_end - mtspr 0x176,r4 - b ..ppcMtspr_any_end - mtspr 0x177,r4 - b ..ppcMtspr_any_end - mtspr 0x178,r4 - b ..ppcMtspr_any_end - mtspr 0x179,r4 - b ..ppcMtspr_any_end - mtspr 0x17a,r4 - b ..ppcMtspr_any_end - mtspr 0x17b,r4 - b ..ppcMtspr_any_end - mtspr 0x17c,r4 - b ..ppcMtspr_any_end - mtspr 0x17d,r4 - b ..ppcMtspr_any_end - mtspr 0x17e,r4 - b ..ppcMtspr_any_end - mtspr 0x17f,r4 - b ..ppcMtspr_any_end - mtspr 0x180,r4 - b ..ppcMtspr_any_end - mtspr 0x181,r4 - b ..ppcMtspr_any_end - mtspr 0x182,r4 - b ..ppcMtspr_any_end - mtspr 0x183,r4 - b ..ppcMtspr_any_end - mtspr 0x184,r4 - b ..ppcMtspr_any_end - mtspr 0x185,r4 - b ..ppcMtspr_any_end - mtspr 0x186,r4 - b ..ppcMtspr_any_end - mtspr 0x187,r4 - b ..ppcMtspr_any_end - mtspr 0x188,r4 - b ..ppcMtspr_any_end - mtspr 0x189,r4 - b ..ppcMtspr_any_end - mtspr 0x18a,r4 - b ..ppcMtspr_any_end - mtspr 0x18b,r4 - b ..ppcMtspr_any_end - mtspr 0x18c,r4 - b ..ppcMtspr_any_end - mtspr 0x18d,r4 - b ..ppcMtspr_any_end - mtspr 0x18e,r4 - b ..ppcMtspr_any_end - mtspr 0x18f,r4 - b ..ppcMtspr_any_end - mtspr 0x190,r4 - b ..ppcMtspr_any_end - mtspr 0x191,r4 - b ..ppcMtspr_any_end - mtspr 0x192,r4 - b ..ppcMtspr_any_end - mtspr 0x193,r4 - b ..ppcMtspr_any_end - mtspr 0x194,r4 - b ..ppcMtspr_any_end - mtspr 0x195,r4 - b ..ppcMtspr_any_end - mtspr 0x196,r4 - b ..ppcMtspr_any_end - mtspr 0x197,r4 - b ..ppcMtspr_any_end - mtspr 0x198,r4 - b ..ppcMtspr_any_end - mtspr 0x199,r4 - b ..ppcMtspr_any_end - mtspr 0x19a,r4 - b ..ppcMtspr_any_end - mtspr 0x19b,r4 - b ..ppcMtspr_any_end - mtspr 0x19c,r4 - b ..ppcMtspr_any_end - mtspr 0x19d,r4 - b ..ppcMtspr_any_end - mtspr 0x19e,r4 - b ..ppcMtspr_any_end - mtspr 0x19f,r4 - b ..ppcMtspr_any_end - mtspr 0x1a0,r4 - b ..ppcMtspr_any_end - mtspr 0x1a1,r4 - b ..ppcMtspr_any_end - mtspr 0x1a2,r4 - b ..ppcMtspr_any_end - mtspr 0x1a3,r4 - b ..ppcMtspr_any_end - mtspr 0x1a4,r4 - b ..ppcMtspr_any_end - mtspr 0x1a5,r4 - b ..ppcMtspr_any_end - mtspr 0x1a6,r4 - b ..ppcMtspr_any_end - mtspr 0x1a7,r4 - b ..ppcMtspr_any_end - mtspr 0x1a8,r4 - b ..ppcMtspr_any_end - mtspr 0x1a9,r4 - b ..ppcMtspr_any_end - mtspr 0x1aa,r4 - b ..ppcMtspr_any_end - mtspr 0x1ab,r4 - b ..ppcMtspr_any_end - mtspr 0x1ac,r4 - b ..ppcMtspr_any_end - mtspr 0x1ad,r4 - b ..ppcMtspr_any_end - mtspr 0x1ae,r4 - b ..ppcMtspr_any_end - mtspr 0x1af,r4 - b ..ppcMtspr_any_end - mtspr 0x1b0,r4 - b ..ppcMtspr_any_end - mtspr 0x1b1,r4 - b ..ppcMtspr_any_end - mtspr 0x1b2,r4 - b ..ppcMtspr_any_end - mtspr 0x1b3,r4 - b ..ppcMtspr_any_end - mtspr 0x1b4,r4 - b ..ppcMtspr_any_end - mtspr 0x1b5,r4 - b ..ppcMtspr_any_end - mtspr 0x1b6,r4 - b ..ppcMtspr_any_end - mtspr 0x1b7,r4 - b ..ppcMtspr_any_end - mtspr 0x1b8,r4 - b ..ppcMtspr_any_end - mtspr 0x1b9,r4 - b ..ppcMtspr_any_end - mtspr 0x1ba,r4 - b ..ppcMtspr_any_end - mtspr 0x1bb,r4 - b ..ppcMtspr_any_end - mtspr 0x1bc,r4 - b ..ppcMtspr_any_end - mtspr 0x1bd,r4 - b ..ppcMtspr_any_end - mtspr 0x1be,r4 - b ..ppcMtspr_any_end - mtspr 0x1bf,r4 - b ..ppcMtspr_any_end - mtspr 0x1c0,r4 - b ..ppcMtspr_any_end - mtspr 0x1c1,r4 - b ..ppcMtspr_any_end - mtspr 0x1c2,r4 - b ..ppcMtspr_any_end - mtspr 0x1c3,r4 - b ..ppcMtspr_any_end - mtspr 0x1c4,r4 - b ..ppcMtspr_any_end - mtspr 0x1c5,r4 - b ..ppcMtspr_any_end - mtspr 0x1c6,r4 - b ..ppcMtspr_any_end - mtspr 0x1c7,r4 - b ..ppcMtspr_any_end - mtspr 0x1c8,r4 - b ..ppcMtspr_any_end - mtspr 0x1c9,r4 - b ..ppcMtspr_any_end - mtspr 0x1ca,r4 - b ..ppcMtspr_any_end - mtspr 0x1cb,r4 - b ..ppcMtspr_any_end - mtspr 0x1cc,r4 - b ..ppcMtspr_any_end - mtspr 0x1cd,r4 - b ..ppcMtspr_any_end - mtspr 0x1ce,r4 - b ..ppcMtspr_any_end - mtspr 0x1cf,r4 - b ..ppcMtspr_any_end - mtspr 0x1d0,r4 - b ..ppcMtspr_any_end - mtspr 0x1d1,r4 - b ..ppcMtspr_any_end - mtspr 0x1d2,r4 - b ..ppcMtspr_any_end - mtspr 0x1d3,r4 - b ..ppcMtspr_any_end - mtspr 0x1d4,r4 - b ..ppcMtspr_any_end - mtspr 0x1d5,r4 - b ..ppcMtspr_any_end - mtspr 0x1d6,r4 - b ..ppcMtspr_any_end - mtspr 0x1d7,r4 - b ..ppcMtspr_any_end - mtspr 0x1d8,r4 - b ..ppcMtspr_any_end - mtspr 0x1d9,r4 - b ..ppcMtspr_any_end - mtspr 0x1da,r4 - b ..ppcMtspr_any_end - mtspr 0x1db,r4 - b ..ppcMtspr_any_end - mtspr 0x1dc,r4 - b ..ppcMtspr_any_end - mtspr 0x1dd,r4 - b ..ppcMtspr_any_end - mtspr 0x1de,r4 - b ..ppcMtspr_any_end - mtspr 0x1df,r4 - b ..ppcMtspr_any_end - mtspr 0x1e0,r4 - b ..ppcMtspr_any_end - mtspr 0x1e1,r4 - b ..ppcMtspr_any_end - mtspr 0x1e2,r4 - b ..ppcMtspr_any_end - mtspr 0x1e3,r4 - b ..ppcMtspr_any_end - mtspr 0x1e4,r4 - b ..ppcMtspr_any_end - mtspr 0x1e5,r4 - b ..ppcMtspr_any_end - mtspr 0x1e6,r4 - b ..ppcMtspr_any_end - mtspr 0x1e7,r4 - b ..ppcMtspr_any_end - mtspr 0x1e8,r4 - b ..ppcMtspr_any_end - mtspr 0x1e9,r4 - b ..ppcMtspr_any_end - mtspr 0x1ea,r4 - b ..ppcMtspr_any_end - mtspr 0x1eb,r4 - b ..ppcMtspr_any_end - mtspr 0x1ec,r4 - b ..ppcMtspr_any_end - mtspr 0x1ed,r4 - b ..ppcMtspr_any_end - mtspr 0x1ee,r4 - b ..ppcMtspr_any_end - mtspr 0x1ef,r4 - b ..ppcMtspr_any_end - mtspr 0x1f0,r4 - b ..ppcMtspr_any_end - mtspr 0x1f1,r4 - b ..ppcMtspr_any_end - mtspr 0x1f2,r4 - b ..ppcMtspr_any_end - mtspr 0x1f3,r4 - b ..ppcMtspr_any_end - mtspr 0x1f4,r4 - b ..ppcMtspr_any_end - mtspr 0x1f5,r4 - b ..ppcMtspr_any_end - mtspr 0x1f6,r4 - b ..ppcMtspr_any_end - mtspr 0x1f7,r4 - b ..ppcMtspr_any_end - mtspr 0x1f8,r4 - b ..ppcMtspr_any_end - mtspr 0x1f9,r4 - b ..ppcMtspr_any_end - mtspr 0x1fa,r4 - b ..ppcMtspr_any_end - mtspr 0x1fb,r4 - b ..ppcMtspr_any_end - mtspr 0x1fc,r4 - b ..ppcMtspr_any_end - mtspr 0x1fd,r4 - b ..ppcMtspr_any_end - mtspr 0x1fe,r4 - b ..ppcMtspr_any_end - mtspr 0x1ff,r4 - b ..ppcMtspr_any_end - mtspr 0x200,r4 - b ..ppcMtspr_any_end - mtspr 0x201,r4 - b ..ppcMtspr_any_end - mtspr 0x202,r4 - b ..ppcMtspr_any_end - mtspr 0x203,r4 - b ..ppcMtspr_any_end - mtspr 0x204,r4 - b ..ppcMtspr_any_end - mtspr 0x205,r4 - b ..ppcMtspr_any_end - mtspr 0x206,r4 - b ..ppcMtspr_any_end - mtspr 0x207,r4 - b ..ppcMtspr_any_end - mtspr 0x208,r4 - b ..ppcMtspr_any_end - mtspr 0x209,r4 - b ..ppcMtspr_any_end - mtspr 0x20a,r4 - b ..ppcMtspr_any_end - mtspr 0x20b,r4 - b ..ppcMtspr_any_end - mtspr 0x20c,r4 - b ..ppcMtspr_any_end - mtspr 0x20d,r4 - b ..ppcMtspr_any_end - mtspr 0x20e,r4 - b ..ppcMtspr_any_end - mtspr 0x20f,r4 - b ..ppcMtspr_any_end - mtspr 0x210,r4 - b ..ppcMtspr_any_end - mtspr 0x211,r4 - b ..ppcMtspr_any_end - mtspr 0x212,r4 - b ..ppcMtspr_any_end - mtspr 0x213,r4 - b ..ppcMtspr_any_end - mtspr 0x214,r4 - b ..ppcMtspr_any_end - mtspr 0x215,r4 - b ..ppcMtspr_any_end - mtspr 0x216,r4 - b ..ppcMtspr_any_end - mtspr 0x217,r4 - b ..ppcMtspr_any_end - mtspr 0x218,r4 - b ..ppcMtspr_any_end - mtspr 0x219,r4 - b ..ppcMtspr_any_end - mtspr 0x21a,r4 - b ..ppcMtspr_any_end - mtspr 0x21b,r4 - b ..ppcMtspr_any_end - mtspr 0x21c,r4 - b ..ppcMtspr_any_end - mtspr 0x21d,r4 - b ..ppcMtspr_any_end - mtspr 0x21e,r4 - b ..ppcMtspr_any_end - mtspr 0x21f,r4 - b ..ppcMtspr_any_end - mtspr 0x220,r4 - b ..ppcMtspr_any_end - mtspr 0x221,r4 - b ..ppcMtspr_any_end - mtspr 0x222,r4 - b ..ppcMtspr_any_end - mtspr 0x223,r4 - b ..ppcMtspr_any_end - mtspr 0x224,r4 - b ..ppcMtspr_any_end - mtspr 0x225,r4 - b ..ppcMtspr_any_end - mtspr 0x226,r4 - b ..ppcMtspr_any_end - mtspr 0x227,r4 - b ..ppcMtspr_any_end - mtspr 0x228,r4 - b ..ppcMtspr_any_end - mtspr 0x229,r4 - b ..ppcMtspr_any_end - mtspr 0x22a,r4 - b ..ppcMtspr_any_end - mtspr 0x22b,r4 - b ..ppcMtspr_any_end - mtspr 0x22c,r4 - b ..ppcMtspr_any_end - mtspr 0x22d,r4 - b ..ppcMtspr_any_end - mtspr 0x22e,r4 - b ..ppcMtspr_any_end - mtspr 0x22f,r4 - b ..ppcMtspr_any_end - mtspr 0x230,r4 - b ..ppcMtspr_any_end - mtspr 0x231,r4 - b ..ppcMtspr_any_end - mtspr 0x232,r4 - b ..ppcMtspr_any_end - mtspr 0x233,r4 - b ..ppcMtspr_any_end - mtspr 0x234,r4 - b ..ppcMtspr_any_end - mtspr 0x235,r4 - b ..ppcMtspr_any_end - mtspr 0x236,r4 - b ..ppcMtspr_any_end - mtspr 0x237,r4 - b ..ppcMtspr_any_end - mtspr 0x238,r4 - b ..ppcMtspr_any_end - mtspr 0x239,r4 - b ..ppcMtspr_any_end - mtspr 0x23a,r4 - b ..ppcMtspr_any_end - mtspr 0x23b,r4 - b ..ppcMtspr_any_end - mtspr 0x23c,r4 - b ..ppcMtspr_any_end - mtspr 0x23d,r4 - b ..ppcMtspr_any_end - mtspr 0x23e,r4 - b ..ppcMtspr_any_end - mtspr 0x23f,r4 - b ..ppcMtspr_any_end - mtspr 0x240,r4 - b ..ppcMtspr_any_end - mtspr 0x241,r4 - b ..ppcMtspr_any_end - mtspr 0x242,r4 - b ..ppcMtspr_any_end - mtspr 0x243,r4 - b ..ppcMtspr_any_end - mtspr 0x244,r4 - b ..ppcMtspr_any_end - mtspr 0x245,r4 - b ..ppcMtspr_any_end - mtspr 0x246,r4 - b ..ppcMtspr_any_end - mtspr 0x247,r4 - b ..ppcMtspr_any_end - mtspr 0x248,r4 - b ..ppcMtspr_any_end - mtspr 0x249,r4 - b ..ppcMtspr_any_end - mtspr 0x24a,r4 - b ..ppcMtspr_any_end - mtspr 0x24b,r4 - b ..ppcMtspr_any_end - mtspr 0x24c,r4 - b ..ppcMtspr_any_end - mtspr 0x24d,r4 - b ..ppcMtspr_any_end - mtspr 0x24e,r4 - b ..ppcMtspr_any_end - mtspr 0x24f,r4 - b ..ppcMtspr_any_end - mtspr 0x250,r4 - b ..ppcMtspr_any_end - mtspr 0x251,r4 - b ..ppcMtspr_any_end - mtspr 0x252,r4 - b ..ppcMtspr_any_end - mtspr 0x253,r4 - b ..ppcMtspr_any_end - mtspr 0x254,r4 - b ..ppcMtspr_any_end - mtspr 0x255,r4 - b ..ppcMtspr_any_end - mtspr 0x256,r4 - b ..ppcMtspr_any_end - mtspr 0x257,r4 - b ..ppcMtspr_any_end - mtspr 0x258,r4 - b ..ppcMtspr_any_end - mtspr 0x259,r4 - b ..ppcMtspr_any_end - mtspr 0x25a,r4 - b ..ppcMtspr_any_end - mtspr 0x25b,r4 - b ..ppcMtspr_any_end - mtspr 0x25c,r4 - b ..ppcMtspr_any_end - mtspr 0x25d,r4 - b ..ppcMtspr_any_end - mtspr 0x25e,r4 - b ..ppcMtspr_any_end - mtspr 0x25f,r4 - b ..ppcMtspr_any_end - mtspr 0x260,r4 - b ..ppcMtspr_any_end - mtspr 0x261,r4 - b ..ppcMtspr_any_end - mtspr 0x262,r4 - b ..ppcMtspr_any_end - mtspr 0x263,r4 - b ..ppcMtspr_any_end - mtspr 0x264,r4 - b ..ppcMtspr_any_end - mtspr 0x265,r4 - b ..ppcMtspr_any_end - mtspr 0x266,r4 - b ..ppcMtspr_any_end - mtspr 0x267,r4 - b ..ppcMtspr_any_end - mtspr 0x268,r4 - b ..ppcMtspr_any_end - mtspr 0x269,r4 - b ..ppcMtspr_any_end - mtspr 0x26a,r4 - b ..ppcMtspr_any_end - mtspr 0x26b,r4 - b ..ppcMtspr_any_end - mtspr 0x26c,r4 - b ..ppcMtspr_any_end - mtspr 0x26d,r4 - b ..ppcMtspr_any_end - mtspr 0x26e,r4 - b ..ppcMtspr_any_end - mtspr 0x26f,r4 - b ..ppcMtspr_any_end - mtspr 0x270,r4 - b ..ppcMtspr_any_end - mtspr 0x271,r4 - b ..ppcMtspr_any_end - mtspr 0x272,r4 - b ..ppcMtspr_any_end - mtspr 0x273,r4 - b ..ppcMtspr_any_end - mtspr 0x274,r4 - b ..ppcMtspr_any_end - mtspr 0x275,r4 - b ..ppcMtspr_any_end - mtspr 0x276,r4 - b ..ppcMtspr_any_end - mtspr 0x277,r4 - b ..ppcMtspr_any_end - mtspr 0x278,r4 - b ..ppcMtspr_any_end - mtspr 0x279,r4 - b ..ppcMtspr_any_end - mtspr 0x27a,r4 - b ..ppcMtspr_any_end - mtspr 0x27b,r4 - b ..ppcMtspr_any_end - mtspr 0x27c,r4 - b ..ppcMtspr_any_end - mtspr 0x27d,r4 - b ..ppcMtspr_any_end - mtspr 0x27e,r4 - b ..ppcMtspr_any_end - mtspr 0x27f,r4 - b ..ppcMtspr_any_end - mtspr 0x280,r4 - b ..ppcMtspr_any_end - mtspr 0x281,r4 - b ..ppcMtspr_any_end - mtspr 0x282,r4 - b ..ppcMtspr_any_end - mtspr 0x283,r4 - b ..ppcMtspr_any_end - mtspr 0x284,r4 - b ..ppcMtspr_any_end - mtspr 0x285,r4 - b ..ppcMtspr_any_end - mtspr 0x286,r4 - b ..ppcMtspr_any_end - mtspr 0x287,r4 - b ..ppcMtspr_any_end - mtspr 0x288,r4 - b ..ppcMtspr_any_end - mtspr 0x289,r4 - b ..ppcMtspr_any_end - mtspr 0x28a,r4 - b ..ppcMtspr_any_end - mtspr 0x28b,r4 - b ..ppcMtspr_any_end - mtspr 0x28c,r4 - b ..ppcMtspr_any_end - mtspr 0x28d,r4 - b ..ppcMtspr_any_end - mtspr 0x28e,r4 - b ..ppcMtspr_any_end - mtspr 0x28f,r4 - b ..ppcMtspr_any_end - mtspr 0x290,r4 - b ..ppcMtspr_any_end - mtspr 0x291,r4 - b ..ppcMtspr_any_end - mtspr 0x292,r4 - b ..ppcMtspr_any_end - mtspr 0x293,r4 - b ..ppcMtspr_any_end - mtspr 0x294,r4 - b ..ppcMtspr_any_end - mtspr 0x295,r4 - b ..ppcMtspr_any_end - mtspr 0x296,r4 - b ..ppcMtspr_any_end - mtspr 0x297,r4 - b ..ppcMtspr_any_end - mtspr 0x298,r4 - b ..ppcMtspr_any_end - mtspr 0x299,r4 - b ..ppcMtspr_any_end - mtspr 0x29a,r4 - b ..ppcMtspr_any_end - mtspr 0x29b,r4 - b ..ppcMtspr_any_end - mtspr 0x29c,r4 - b ..ppcMtspr_any_end - mtspr 0x29d,r4 - b ..ppcMtspr_any_end - mtspr 0x29e,r4 - b ..ppcMtspr_any_end - mtspr 0x29f,r4 - b ..ppcMtspr_any_end - mtspr 0x2a0,r4 - b ..ppcMtspr_any_end - mtspr 0x2a1,r4 - b ..ppcMtspr_any_end - mtspr 0x2a2,r4 - b ..ppcMtspr_any_end - mtspr 0x2a3,r4 - b ..ppcMtspr_any_end - mtspr 0x2a4,r4 - b ..ppcMtspr_any_end - mtspr 0x2a5,r4 - b ..ppcMtspr_any_end - mtspr 0x2a6,r4 - b ..ppcMtspr_any_end - mtspr 0x2a7,r4 - b ..ppcMtspr_any_end - mtspr 0x2a8,r4 - b ..ppcMtspr_any_end - mtspr 0x2a9,r4 - b ..ppcMtspr_any_end - mtspr 0x2aa,r4 - b ..ppcMtspr_any_end - mtspr 0x2ab,r4 - b ..ppcMtspr_any_end - mtspr 0x2ac,r4 - b ..ppcMtspr_any_end - mtspr 0x2ad,r4 - b ..ppcMtspr_any_end - mtspr 0x2ae,r4 - b ..ppcMtspr_any_end - mtspr 0x2af,r4 - b ..ppcMtspr_any_end - mtspr 0x2b0,r4 - b ..ppcMtspr_any_end - mtspr 0x2b1,r4 - b ..ppcMtspr_any_end - mtspr 0x2b2,r4 - b ..ppcMtspr_any_end - mtspr 0x2b3,r4 - b ..ppcMtspr_any_end - mtspr 0x2b4,r4 - b ..ppcMtspr_any_end - mtspr 0x2b5,r4 - b ..ppcMtspr_any_end - mtspr 0x2b6,r4 - b ..ppcMtspr_any_end - mtspr 0x2b7,r4 - b ..ppcMtspr_any_end - mtspr 0x2b8,r4 - b ..ppcMtspr_any_end - mtspr 0x2b9,r4 - b ..ppcMtspr_any_end - mtspr 0x2ba,r4 - b ..ppcMtspr_any_end - mtspr 0x2bb,r4 - b ..ppcMtspr_any_end - mtspr 0x2bc,r4 - b ..ppcMtspr_any_end - mtspr 0x2bd,r4 - b ..ppcMtspr_any_end - mtspr 0x2be,r4 - b ..ppcMtspr_any_end - mtspr 0x2bf,r4 - b ..ppcMtspr_any_end - mtspr 0x2c0,r4 - b ..ppcMtspr_any_end - mtspr 0x2c1,r4 - b ..ppcMtspr_any_end - mtspr 0x2c2,r4 - b ..ppcMtspr_any_end - mtspr 0x2c3,r4 - b ..ppcMtspr_any_end - mtspr 0x2c4,r4 - b ..ppcMtspr_any_end - mtspr 0x2c5,r4 - b ..ppcMtspr_any_end - mtspr 0x2c6,r4 - b ..ppcMtspr_any_end - mtspr 0x2c7,r4 - b ..ppcMtspr_any_end - mtspr 0x2c8,r4 - b ..ppcMtspr_any_end - mtspr 0x2c9,r4 - b ..ppcMtspr_any_end - mtspr 0x2ca,r4 - b ..ppcMtspr_any_end - mtspr 0x2cb,r4 - b ..ppcMtspr_any_end - mtspr 0x2cc,r4 - b ..ppcMtspr_any_end - mtspr 0x2cd,r4 - b ..ppcMtspr_any_end - mtspr 0x2ce,r4 - b ..ppcMtspr_any_end - mtspr 0x2cf,r4 - b ..ppcMtspr_any_end - mtspr 0x2d0,r4 - b ..ppcMtspr_any_end - mtspr 0x2d1,r4 - b ..ppcMtspr_any_end - mtspr 0x2d2,r4 - b ..ppcMtspr_any_end - mtspr 0x2d3,r4 - b ..ppcMtspr_any_end - mtspr 0x2d4,r4 - b ..ppcMtspr_any_end - mtspr 0x2d5,r4 - b ..ppcMtspr_any_end - mtspr 0x2d6,r4 - b ..ppcMtspr_any_end - mtspr 0x2d7,r4 - b ..ppcMtspr_any_end - mtspr 0x2d8,r4 - b ..ppcMtspr_any_end - mtspr 0x2d9,r4 - b ..ppcMtspr_any_end - mtspr 0x2da,r4 - b ..ppcMtspr_any_end - mtspr 0x2db,r4 - b ..ppcMtspr_any_end - mtspr 0x2dc,r4 - b ..ppcMtspr_any_end - mtspr 0x2dd,r4 - b ..ppcMtspr_any_end - mtspr 0x2de,r4 - b ..ppcMtspr_any_end - mtspr 0x2df,r4 - b ..ppcMtspr_any_end - mtspr 0x2e0,r4 - b ..ppcMtspr_any_end - mtspr 0x2e1,r4 - b ..ppcMtspr_any_end - mtspr 0x2e2,r4 - b ..ppcMtspr_any_end - mtspr 0x2e3,r4 - b ..ppcMtspr_any_end - mtspr 0x2e4,r4 - b ..ppcMtspr_any_end - mtspr 0x2e5,r4 - b ..ppcMtspr_any_end - mtspr 0x2e6,r4 - b ..ppcMtspr_any_end - mtspr 0x2e7,r4 - b ..ppcMtspr_any_end - mtspr 0x2e8,r4 - b ..ppcMtspr_any_end - mtspr 0x2e9,r4 - b ..ppcMtspr_any_end - mtspr 0x2ea,r4 - b ..ppcMtspr_any_end - mtspr 0x2eb,r4 - b ..ppcMtspr_any_end - mtspr 0x2ec,r4 - b ..ppcMtspr_any_end - mtspr 0x2ed,r4 - b ..ppcMtspr_any_end - mtspr 0x2ee,r4 - b ..ppcMtspr_any_end - mtspr 0x2ef,r4 - b ..ppcMtspr_any_end - mtspr 0x2f0,r4 - b ..ppcMtspr_any_end - mtspr 0x2f1,r4 - b ..ppcMtspr_any_end - mtspr 0x2f2,r4 - b ..ppcMtspr_any_end - mtspr 0x2f3,r4 - b ..ppcMtspr_any_end - mtspr 0x2f4,r4 - b ..ppcMtspr_any_end - mtspr 0x2f5,r4 - b ..ppcMtspr_any_end - mtspr 0x2f6,r4 - b ..ppcMtspr_any_end - mtspr 0x2f7,r4 - b ..ppcMtspr_any_end - mtspr 0x2f8,r4 - b ..ppcMtspr_any_end - mtspr 0x2f9,r4 - b ..ppcMtspr_any_end - mtspr 0x2fa,r4 - b ..ppcMtspr_any_end - mtspr 0x2fb,r4 - b ..ppcMtspr_any_end - mtspr 0x2fc,r4 - b ..ppcMtspr_any_end - mtspr 0x2fd,r4 - b ..ppcMtspr_any_end - mtspr 0x2fe,r4 - b ..ppcMtspr_any_end - mtspr 0x2ff,r4 - b ..ppcMtspr_any_end - mtspr 0x300,r4 - b ..ppcMtspr_any_end - mtspr 0x301,r4 - b ..ppcMtspr_any_end - mtspr 0x302,r4 - b ..ppcMtspr_any_end - mtspr 0x303,r4 - b ..ppcMtspr_any_end - mtspr 0x304,r4 - b ..ppcMtspr_any_end - mtspr 0x305,r4 - b ..ppcMtspr_any_end - mtspr 0x306,r4 - b ..ppcMtspr_any_end - mtspr 0x307,r4 - b ..ppcMtspr_any_end - mtspr 0x308,r4 - b ..ppcMtspr_any_end - mtspr 0x309,r4 - b ..ppcMtspr_any_end - mtspr 0x30a,r4 - b ..ppcMtspr_any_end - mtspr 0x30b,r4 - b ..ppcMtspr_any_end - mtspr 0x30c,r4 - b ..ppcMtspr_any_end - mtspr 0x30d,r4 - b ..ppcMtspr_any_end - mtspr 0x30e,r4 - b ..ppcMtspr_any_end - mtspr 0x30f,r4 - b ..ppcMtspr_any_end - mtspr 0x310,r4 - b ..ppcMtspr_any_end - mtspr 0x311,r4 - b ..ppcMtspr_any_end - mtspr 0x312,r4 - b ..ppcMtspr_any_end - mtspr 0x313,r4 - b ..ppcMtspr_any_end - mtspr 0x314,r4 - b ..ppcMtspr_any_end - mtspr 0x315,r4 - b ..ppcMtspr_any_end - mtspr 0x316,r4 - b ..ppcMtspr_any_end - mtspr 0x317,r4 - b ..ppcMtspr_any_end - mtspr 0x318,r4 - b ..ppcMtspr_any_end - mtspr 0x319,r4 - b ..ppcMtspr_any_end - mtspr 0x31a,r4 - b ..ppcMtspr_any_end - mtspr 0x31b,r4 - b ..ppcMtspr_any_end - mtspr 0x31c,r4 - b ..ppcMtspr_any_end - mtspr 0x31d,r4 - b ..ppcMtspr_any_end - mtspr 0x31e,r4 - b ..ppcMtspr_any_end - mtspr 0x31f,r4 - b ..ppcMtspr_any_end - mtspr 0x320,r4 - b ..ppcMtspr_any_end - mtspr 0x321,r4 - b ..ppcMtspr_any_end - mtspr 0x322,r4 - b ..ppcMtspr_any_end - mtspr 0x323,r4 - b ..ppcMtspr_any_end - mtspr 0x324,r4 - b ..ppcMtspr_any_end - mtspr 0x325,r4 - b ..ppcMtspr_any_end - mtspr 0x326,r4 - b ..ppcMtspr_any_end - mtspr 0x327,r4 - b ..ppcMtspr_any_end - mtspr 0x328,r4 - b ..ppcMtspr_any_end - mtspr 0x329,r4 - b ..ppcMtspr_any_end - mtspr 0x32a,r4 - b ..ppcMtspr_any_end - mtspr 0x32b,r4 - b ..ppcMtspr_any_end - mtspr 0x32c,r4 - b ..ppcMtspr_any_end - mtspr 0x32d,r4 - b ..ppcMtspr_any_end - mtspr 0x32e,r4 - b ..ppcMtspr_any_end - mtspr 0x32f,r4 - b ..ppcMtspr_any_end - mtspr 0x330,r4 - b ..ppcMtspr_any_end - mtspr 0x331,r4 - b ..ppcMtspr_any_end - mtspr 0x332,r4 - b ..ppcMtspr_any_end - mtspr 0x333,r4 - b ..ppcMtspr_any_end - mtspr 0x334,r4 - b ..ppcMtspr_any_end - mtspr 0x335,r4 - b ..ppcMtspr_any_end - mtspr 0x336,r4 - b ..ppcMtspr_any_end - mtspr 0x337,r4 - b ..ppcMtspr_any_end - mtspr 0x338,r4 - b ..ppcMtspr_any_end - mtspr 0x339,r4 - b ..ppcMtspr_any_end - mtspr 0x33a,r4 - b ..ppcMtspr_any_end - mtspr 0x33b,r4 - b ..ppcMtspr_any_end - mtspr 0x33c,r4 - b ..ppcMtspr_any_end - mtspr 0x33d,r4 - b ..ppcMtspr_any_end - mtspr 0x33e,r4 - b ..ppcMtspr_any_end - mtspr 0x33f,r4 - b ..ppcMtspr_any_end - mtspr 0x340,r4 - b ..ppcMtspr_any_end - mtspr 0x341,r4 - b ..ppcMtspr_any_end - mtspr 0x342,r4 - b ..ppcMtspr_any_end - mtspr 0x343,r4 - b ..ppcMtspr_any_end - mtspr 0x344,r4 - b ..ppcMtspr_any_end - mtspr 0x345,r4 - b ..ppcMtspr_any_end - mtspr 0x346,r4 - b ..ppcMtspr_any_end - mtspr 0x347,r4 - b ..ppcMtspr_any_end - mtspr 0x348,r4 - b ..ppcMtspr_any_end - mtspr 0x349,r4 - b ..ppcMtspr_any_end - mtspr 0x34a,r4 - b ..ppcMtspr_any_end - mtspr 0x34b,r4 - b ..ppcMtspr_any_end - mtspr 0x34c,r4 - b ..ppcMtspr_any_end - mtspr 0x34d,r4 - b ..ppcMtspr_any_end - mtspr 0x34e,r4 - b ..ppcMtspr_any_end - mtspr 0x34f,r4 - b ..ppcMtspr_any_end - mtspr 0x350,r4 - b ..ppcMtspr_any_end - mtspr 0x351,r4 - b ..ppcMtspr_any_end - mtspr 0x352,r4 - b ..ppcMtspr_any_end - mtspr 0x353,r4 - b ..ppcMtspr_any_end - mtspr 0x354,r4 - b ..ppcMtspr_any_end - mtspr 0x355,r4 - b ..ppcMtspr_any_end - mtspr 0x356,r4 - b ..ppcMtspr_any_end - mtspr 0x357,r4 - b ..ppcMtspr_any_end - mtspr 0x358,r4 - b ..ppcMtspr_any_end - mtspr 0x359,r4 - b ..ppcMtspr_any_end - mtspr 0x35a,r4 - b ..ppcMtspr_any_end - mtspr 0x35b,r4 - b ..ppcMtspr_any_end - mtspr 0x35c,r4 - b ..ppcMtspr_any_end - mtspr 0x35d,r4 - b ..ppcMtspr_any_end - mtspr 0x35e,r4 - b ..ppcMtspr_any_end - mtspr 0x35f,r4 - b ..ppcMtspr_any_end - mtspr 0x360,r4 - b ..ppcMtspr_any_end - mtspr 0x361,r4 - b ..ppcMtspr_any_end - mtspr 0x362,r4 - b ..ppcMtspr_any_end - mtspr 0x363,r4 - b ..ppcMtspr_any_end - mtspr 0x364,r4 - b ..ppcMtspr_any_end - mtspr 0x365,r4 - b ..ppcMtspr_any_end - mtspr 0x366,r4 - b ..ppcMtspr_any_end - mtspr 0x367,r4 - b ..ppcMtspr_any_end - mtspr 0x368,r4 - b ..ppcMtspr_any_end - mtspr 0x369,r4 - b ..ppcMtspr_any_end - mtspr 0x36a,r4 - b ..ppcMtspr_any_end - mtspr 0x36b,r4 - b ..ppcMtspr_any_end - mtspr 0x36c,r4 - b ..ppcMtspr_any_end - mtspr 0x36d,r4 - b ..ppcMtspr_any_end - mtspr 0x36e,r4 - b ..ppcMtspr_any_end - mtspr 0x36f,r4 - b ..ppcMtspr_any_end - mtspr 0x370,r4 - b ..ppcMtspr_any_end - mtspr 0x371,r4 - b ..ppcMtspr_any_end - mtspr 0x372,r4 - b ..ppcMtspr_any_end - mtspr 0x373,r4 - b ..ppcMtspr_any_end - mtspr 0x374,r4 - b ..ppcMtspr_any_end - mtspr 0x375,r4 - b ..ppcMtspr_any_end - mtspr 0x376,r4 - b ..ppcMtspr_any_end - mtspr 0x377,r4 - b ..ppcMtspr_any_end - mtspr 0x378,r4 - b ..ppcMtspr_any_end - mtspr 0x379,r4 - b ..ppcMtspr_any_end - mtspr 0x37a,r4 - b ..ppcMtspr_any_end - mtspr 0x37b,r4 - b ..ppcMtspr_any_end - mtspr 0x37c,r4 - b ..ppcMtspr_any_end - mtspr 0x37d,r4 - b ..ppcMtspr_any_end - mtspr 0x37e,r4 - b ..ppcMtspr_any_end - mtspr 0x37f,r4 - b ..ppcMtspr_any_end - mtspr 0x380,r4 - b ..ppcMtspr_any_end - mtspr 0x381,r4 - b ..ppcMtspr_any_end - mtspr 0x382,r4 - b ..ppcMtspr_any_end - mtspr 0x383,r4 - b ..ppcMtspr_any_end - mtspr 0x384,r4 - b ..ppcMtspr_any_end - mtspr 0x385,r4 - b ..ppcMtspr_any_end - mtspr 0x386,r4 - b ..ppcMtspr_any_end - mtspr 0x387,r4 - b ..ppcMtspr_any_end - mtspr 0x388,r4 - b ..ppcMtspr_any_end - mtspr 0x389,r4 - b ..ppcMtspr_any_end - mtspr 0x38a,r4 - b ..ppcMtspr_any_end - mtspr 0x38b,r4 - b ..ppcMtspr_any_end - mtspr 0x38c,r4 - b ..ppcMtspr_any_end - mtspr 0x38d,r4 - b ..ppcMtspr_any_end - mtspr 0x38e,r4 - b ..ppcMtspr_any_end - mtspr 0x38f,r4 - b ..ppcMtspr_any_end - mtspr 0x390,r4 - b ..ppcMtspr_any_end - mtspr 0x391,r4 - b ..ppcMtspr_any_end - mtspr 0x392,r4 - b ..ppcMtspr_any_end - mtspr 0x393,r4 - b ..ppcMtspr_any_end - mtspr 0x394,r4 - b ..ppcMtspr_any_end - mtspr 0x395,r4 - b ..ppcMtspr_any_end - mtspr 0x396,r4 - b ..ppcMtspr_any_end - mtspr 0x397,r4 - b ..ppcMtspr_any_end - mtspr 0x398,r4 - b ..ppcMtspr_any_end - mtspr 0x399,r4 - b ..ppcMtspr_any_end - mtspr 0x39a,r4 - b ..ppcMtspr_any_end - mtspr 0x39b,r4 - b ..ppcMtspr_any_end - mtspr 0x39c,r4 - b ..ppcMtspr_any_end - mtspr 0x39d,r4 - b ..ppcMtspr_any_end - mtspr 0x39e,r4 - b ..ppcMtspr_any_end - mtspr 0x39f,r4 - b ..ppcMtspr_any_end - mtspr 0x3a0,r4 - b ..ppcMtspr_any_end - mtspr 0x3a1,r4 - b ..ppcMtspr_any_end - mtspr 0x3a2,r4 - b ..ppcMtspr_any_end - mtspr 0x3a3,r4 - b ..ppcMtspr_any_end - mtspr 0x3a4,r4 - b ..ppcMtspr_any_end - mtspr 0x3a5,r4 - b ..ppcMtspr_any_end - mtspr 0x3a6,r4 - b ..ppcMtspr_any_end - mtspr 0x3a7,r4 - b ..ppcMtspr_any_end - mtspr 0x3a8,r4 - b ..ppcMtspr_any_end - mtspr 0x3a9,r4 - b ..ppcMtspr_any_end - mtspr 0x3aa,r4 - b ..ppcMtspr_any_end - mtspr 0x3ab,r4 - b ..ppcMtspr_any_end - mtspr 0x3ac,r4 - b ..ppcMtspr_any_end - mtspr 0x3ad,r4 - b ..ppcMtspr_any_end - mtspr 0x3ae,r4 - b ..ppcMtspr_any_end - mtspr 0x3af,r4 - b ..ppcMtspr_any_end - mtspr 0x3b0,r4 - b ..ppcMtspr_any_end - mtspr 0x3b1,r4 - b ..ppcMtspr_any_end - mtspr 0x3b2,r4 - b ..ppcMtspr_any_end - mtspr 0x3b3,r4 - b ..ppcMtspr_any_end - mtspr 0x3b4,r4 - b ..ppcMtspr_any_end - mtspr 0x3b5,r4 - b ..ppcMtspr_any_end - mtspr 0x3b6,r4 - b ..ppcMtspr_any_end - mtspr 0x3b7,r4 - b ..ppcMtspr_any_end - mtspr 0x3b8,r4 - b ..ppcMtspr_any_end - mtspr 0x3b9,r4 - b ..ppcMtspr_any_end - mtspr 0x3ba,r4 - b ..ppcMtspr_any_end - mtspr 0x3bb,r4 - b ..ppcMtspr_any_end - mtspr 0x3bc,r4 - b ..ppcMtspr_any_end - mtspr 0x3bd,r4 - b ..ppcMtspr_any_end - mtspr 0x3be,r4 - b ..ppcMtspr_any_end - mtspr 0x3bf,r4 - b ..ppcMtspr_any_end - mtspr 0x3c0,r4 - b ..ppcMtspr_any_end - mtspr 0x3c1,r4 - b ..ppcMtspr_any_end - mtspr 0x3c2,r4 - b ..ppcMtspr_any_end - mtspr 0x3c3,r4 - b ..ppcMtspr_any_end - mtspr 0x3c4,r4 - b ..ppcMtspr_any_end - mtspr 0x3c5,r4 - b ..ppcMtspr_any_end - mtspr 0x3c6,r4 - b ..ppcMtspr_any_end - mtspr 0x3c7,r4 - b ..ppcMtspr_any_end - mtspr 0x3c8,r4 - b ..ppcMtspr_any_end - mtspr 0x3c9,r4 - b ..ppcMtspr_any_end - mtspr 0x3ca,r4 - b ..ppcMtspr_any_end - mtspr 0x3cb,r4 - b ..ppcMtspr_any_end - mtspr 0x3cc,r4 - b ..ppcMtspr_any_end - mtspr 0x3cd,r4 - b ..ppcMtspr_any_end - mtspr 0x3ce,r4 - b ..ppcMtspr_any_end - mtspr 0x3cf,r4 - b ..ppcMtspr_any_end - mtspr 0x3d0,r4 - b ..ppcMtspr_any_end - mtspr 0x3d1,r4 - b ..ppcMtspr_any_end - mtspr 0x3d2,r4 - b ..ppcMtspr_any_end - mtspr 0x3d3,r4 - b ..ppcMtspr_any_end - mtspr 0x3d4,r4 - b ..ppcMtspr_any_end - mtspr 0x3d5,r4 - b ..ppcMtspr_any_end - mtspr 0x3d6,r4 - b ..ppcMtspr_any_end - mtspr 0x3d7,r4 - b ..ppcMtspr_any_end - mtspr 0x3d8,r4 - b ..ppcMtspr_any_end - mtspr 0x3d9,r4 - b ..ppcMtspr_any_end - mtspr 0x3da,r4 - b ..ppcMtspr_any_end - mtspr 0x3db,r4 - b ..ppcMtspr_any_end - mtspr 0x3dc,r4 - b ..ppcMtspr_any_end - mtspr 0x3dd,r4 - b ..ppcMtspr_any_end - mtspr 0x3de,r4 - b ..ppcMtspr_any_end - mtspr 0x3df,r4 - b ..ppcMtspr_any_end - mtspr 0x3e0,r4 - b ..ppcMtspr_any_end - mtspr 0x3e1,r4 - b ..ppcMtspr_any_end - mtspr 0x3e2,r4 - b ..ppcMtspr_any_end - mtspr 0x3e3,r4 - b ..ppcMtspr_any_end - mtspr 0x3e4,r4 - b ..ppcMtspr_any_end - mtspr 0x3e5,r4 - b ..ppcMtspr_any_end - mtspr 0x3e6,r4 - b ..ppcMtspr_any_end - mtspr 0x3e7,r4 - b ..ppcMtspr_any_end - mtspr 0x3e8,r4 - b ..ppcMtspr_any_end - mtspr 0x3e9,r4 - b ..ppcMtspr_any_end - mtspr 0x3ea,r4 - b ..ppcMtspr_any_end - mtspr 0x3eb,r4 - b ..ppcMtspr_any_end - mtspr 0x3ec,r4 - b ..ppcMtspr_any_end - mtspr 0x3ed,r4 - b ..ppcMtspr_any_end - mtspr 0x3ee,r4 - b ..ppcMtspr_any_end - mtspr 0x3ef,r4 - b ..ppcMtspr_any_end - addi r3,r0,0x0000 - b ..ppcMtspr_any_end - addi r3,r0,0x0000 - b ..ppcMtspr_any_end - mtspr 0x3f2,r4 - b ..ppcMtspr_any_end - mtspr 0x3f3,r4 - b ..ppcMtspr_any_end - addi r3,r0,0x0000 - b ..ppcMtspr_any_end - mtspr 0x3f5,r4 - b ..ppcMtspr_any_end - addi r3,r0,0x0000 - b ..ppcMtspr_any_end - mtspr 0x3f7,r4 - b ..ppcMtspr_any_end - mtspr 0x3f8,r4 - b ..ppcMtspr_any_end - mtspr 0x3f9,r4 - b ..ppcMtspr_any_end - mtspr 0x3fa,r4 - b ..ppcMtspr_any_end - mtspr 0x3fb,r4 - b ..ppcMtspr_any_end - mtspr 0x3fc,r4 - b ..ppcMtspr_any_end - mtspr 0x3fd,r4 - b ..ppcMtspr_any_end - addi r3,r0,0x0000 - b ..ppcMtspr_any_end - addi r3,r0,0x0000 - b ..ppcMtspr_any_end -..ppcMtspr_any_end: - mtlr r6 - blr - function_epilog(ppcMtspr_any) - -/*----------------------------------------------------------------------------+ -| PpcMfspr_any -+----------------------------------------------------------------------------*/ - function_prolog(ppcMfspr_any) - rlwinm r3,r3,3,19,29 - addi r3,r3,0x0010 - mflr r6 - bl ..sp_gett_lr -..sp_gett_lr: - mflr r5 - add r5,r5,r3 - mtlr r5 - blr - mfspr r3,0x000 - b ..ppcMfspr_any_end - mfspr r3,0x001 - b ..ppcMfspr_any_end - mfspr r3,0x002 - b ..ppcMfspr_any_end - mfspr r3,0x003 - b ..ppcMfspr_any_end - mfspr r3,0x004 - b ..ppcMfspr_any_end - mfspr r3,0x005 - b ..ppcMfspr_any_end - mfspr r3,0x006 - b ..ppcMfspr_any_end - mfspr r3,0x007 - b ..ppcMfspr_any_end - mfspr r3,0x008 - b ..ppcMfspr_any_end - mfspr r3,0x009 - b ..ppcMfspr_any_end - mfspr r3,0x00a - b ..ppcMfspr_any_end - mfspr r3,0x00b - b ..ppcMfspr_any_end - mfspr r3,0x00c - b ..ppcMfspr_any_end - mfspr r3,0x00d - b ..ppcMfspr_any_end - mfspr r3,0x00e - b ..ppcMfspr_any_end - mfspr r3,0x00f - b ..ppcMfspr_any_end - mfspr r3,0x010 - b ..ppcMfspr_any_end - mfspr r3,0x011 - b ..ppcMfspr_any_end - mfspr r3,0x012 - b ..ppcMfspr_any_end - mfspr r3,0x013 - b ..ppcMfspr_any_end - mfspr r3,0x014 - b ..ppcMfspr_any_end - mfspr r3,0x015 - b ..ppcMfspr_any_end - mfspr r3,0x016 - b ..ppcMfspr_any_end - mfspr r3,0x017 - b ..ppcMfspr_any_end - mfspr r3,0x018 - b ..ppcMfspr_any_end - mfspr r3,0x019 - b ..ppcMfspr_any_end - mfspr r3,0x01a - b ..ppcMfspr_any_end - mfspr r3,0x01b - b ..ppcMfspr_any_end - mfspr r3,0x01c - b ..ppcMfspr_any_end - mfspr r3,0x01d - b ..ppcMfspr_any_end - mfspr r3,0x01e - b ..ppcMfspr_any_end - mfspr r3,0x01f - b ..ppcMfspr_any_end - mfspr r3,0x020 - b ..ppcMfspr_any_end - mfspr r3,0x021 - b ..ppcMfspr_any_end - mfspr r3,0x022 - b ..ppcMfspr_any_end - mfspr r3,0x023 - b ..ppcMfspr_any_end - mfspr r3,0x024 - b ..ppcMfspr_any_end - mfspr r3,0x025 - b ..ppcMfspr_any_end - mfspr r3,0x026 - b ..ppcMfspr_any_end - mfspr r3,0x027 - b ..ppcMfspr_any_end - mfspr r3,0x028 - b ..ppcMfspr_any_end - mfspr r3,0x029 - b ..ppcMfspr_any_end - mfspr r3,0x02a - b ..ppcMfspr_any_end - mfspr r3,0x02b - b ..ppcMfspr_any_end - mfspr r3,0x02c - b ..ppcMfspr_any_end - mfspr r3,0x02d - b ..ppcMfspr_any_end - mfspr r3,0x02e - b ..ppcMfspr_any_end - mfspr r3,0x02f - b ..ppcMfspr_any_end - mfspr r3,0x030 - b ..ppcMfspr_any_end - mfspr r3,0x031 - b ..ppcMfspr_any_end - mfspr r3,0x032 - b ..ppcMfspr_any_end - mfspr r3,0x033 - b ..ppcMfspr_any_end - mfspr r3,0x034 - b ..ppcMfspr_any_end - mfspr r3,0x035 - b ..ppcMfspr_any_end - mfspr r3,0x036 - b ..ppcMfspr_any_end - mfspr r3,0x037 - b ..ppcMfspr_any_end - mfspr r3,0x038 - b ..ppcMfspr_any_end - mfspr r3,0x039 - b ..ppcMfspr_any_end - mfspr r3,0x03a - b ..ppcMfspr_any_end - mfspr r3,0x03b - b ..ppcMfspr_any_end - mfspr r3,0x03c - b ..ppcMfspr_any_end - mfspr r3,0x03d - b ..ppcMfspr_any_end - mfspr r3,0x03e - b ..ppcMfspr_any_end - mfspr r3,0x03f - b ..ppcMfspr_any_end - mfspr r3,0x040 - b ..ppcMfspr_any_end - mfspr r3,0x041 - b ..ppcMfspr_any_end - mfspr r3,0x042 - b ..ppcMfspr_any_end - mfspr r3,0x043 - b ..ppcMfspr_any_end - mfspr r3,0x044 - b ..ppcMfspr_any_end - mfspr r3,0x045 - b ..ppcMfspr_any_end - mfspr r3,0x046 - b ..ppcMfspr_any_end - mfspr r3,0x047 - b ..ppcMfspr_any_end - mfspr r3,0x048 - b ..ppcMfspr_any_end - mfspr r3,0x049 - b ..ppcMfspr_any_end - mfspr r3,0x04a - b ..ppcMfspr_any_end - mfspr r3,0x04b - b ..ppcMfspr_any_end - mfspr r3,0x04c - b ..ppcMfspr_any_end - mfspr r3,0x04d - b ..ppcMfspr_any_end - mfspr r3,0x04e - b ..ppcMfspr_any_end - mfspr r3,0x04f - b ..ppcMfspr_any_end - mfspr r3,0x050 - b ..ppcMfspr_any_end - mfspr r3,0x051 - b ..ppcMfspr_any_end - mfspr r3,0x052 - b ..ppcMfspr_any_end - mfspr r3,0x053 - b ..ppcMfspr_any_end - mfspr r3,0x054 - b ..ppcMfspr_any_end - mfspr r3,0x055 - b ..ppcMfspr_any_end - mfspr r3,0x056 - b ..ppcMfspr_any_end - mfspr r3,0x057 - b ..ppcMfspr_any_end - mfspr r3,0x058 - b ..ppcMfspr_any_end - mfspr r3,0x059 - b ..ppcMfspr_any_end - mfspr r3,0x05a - b ..ppcMfspr_any_end - mfspr r3,0x05b - b ..ppcMfspr_any_end - mfspr r3,0x05c - b ..ppcMfspr_any_end - mfspr r3,0x05d - b ..ppcMfspr_any_end - mfspr r3,0x05e - b ..ppcMfspr_any_end - mfspr r3,0x05f - b ..ppcMfspr_any_end - mfspr r3,0x060 - b ..ppcMfspr_any_end - mfspr r3,0x061 - b ..ppcMfspr_any_end - mfspr r3,0x062 - b ..ppcMfspr_any_end - mfspr r3,0x063 - b ..ppcMfspr_any_end - mfspr r3,0x064 - b ..ppcMfspr_any_end - mfspr r3,0x065 - b ..ppcMfspr_any_end - mfspr r3,0x066 - b ..ppcMfspr_any_end - mfspr r3,0x067 - b ..ppcMfspr_any_end - mfspr r3,0x068 - b ..ppcMfspr_any_end - mfspr r3,0x069 - b ..ppcMfspr_any_end - mfspr r3,0x06a - b ..ppcMfspr_any_end - mfspr r3,0x06b - b ..ppcMfspr_any_end - mfspr r3,0x06c - b ..ppcMfspr_any_end - mfspr r3,0x06d - b ..ppcMfspr_any_end - mfspr r3,0x06e - b ..ppcMfspr_any_end - mfspr r3,0x06f - b ..ppcMfspr_any_end - mfspr r3,0x070 - b ..ppcMfspr_any_end - mfspr r3,0x071 - b ..ppcMfspr_any_end - mfspr r3,0x072 - b ..ppcMfspr_any_end - mfspr r3,0x073 - b ..ppcMfspr_any_end - mfspr r3,0x074 - b ..ppcMfspr_any_end - mfspr r3,0x075 - b ..ppcMfspr_any_end - mfspr r3,0x076 - b ..ppcMfspr_any_end - mfspr r3,0x077 - b ..ppcMfspr_any_end - mfspr r3,0x078 - b ..ppcMfspr_any_end - mfspr r3,0x079 - b ..ppcMfspr_any_end - mfspr r3,0x07a - b ..ppcMfspr_any_end - mfspr r3,0x07b - b ..ppcMfspr_any_end - mfspr r3,0x07c - b ..ppcMfspr_any_end - mfspr r3,0x07d - b ..ppcMfspr_any_end - mfspr r3,0x07e - b ..ppcMfspr_any_end - mfspr r3,0x07f - b ..ppcMfspr_any_end - mfspr r3,0x080 - b ..ppcMfspr_any_end - mfspr r3,0x081 - b ..ppcMfspr_any_end - mfspr r3,0x082 - b ..ppcMfspr_any_end - mfspr r3,0x083 - b ..ppcMfspr_any_end - mfspr r3,0x084 - b ..ppcMfspr_any_end - mfspr r3,0x085 - b ..ppcMfspr_any_end - mfspr r3,0x086 - b ..ppcMfspr_any_end - mfspr r3,0x087 - b ..ppcMfspr_any_end - mfspr r3,0x088 - b ..ppcMfspr_any_end - mfspr r3,0x089 - b ..ppcMfspr_any_end - mfspr r3,0x08a - b ..ppcMfspr_any_end - mfspr r3,0x08b - b ..ppcMfspr_any_end - mfspr r3,0x08c - b ..ppcMfspr_any_end - mfspr r3,0x08d - b ..ppcMfspr_any_end - mfspr r3,0x08e - b ..ppcMfspr_any_end - mfspr r3,0x08f - b ..ppcMfspr_any_end - mfspr r3,0x090 - b ..ppcMfspr_any_end - mfspr r3,0x091 - b ..ppcMfspr_any_end - mfspr r3,0x092 - b ..ppcMfspr_any_end - mfspr r3,0x093 - b ..ppcMfspr_any_end - mfspr r3,0x094 - b ..ppcMfspr_any_end - mfspr r3,0x095 - b ..ppcMfspr_any_end - mfspr r3,0x096 - b ..ppcMfspr_any_end - mfspr r3,0x097 - b ..ppcMfspr_any_end - mfspr r3,0x098 - b ..ppcMfspr_any_end - mfspr r3,0x099 - b ..ppcMfspr_any_end - mfspr r3,0x09a - b ..ppcMfspr_any_end - mfspr r3,0x09b - b ..ppcMfspr_any_end - mfspr r3,0x09c - b ..ppcMfspr_any_end - mfspr r3,0x09d - b ..ppcMfspr_any_end - mfspr r3,0x09e - b ..ppcMfspr_any_end - mfspr r3,0x09f - b ..ppcMfspr_any_end - mfspr r3,0x0a0 - b ..ppcMfspr_any_end - mfspr r3,0x0a1 - b ..ppcMfspr_any_end - mfspr r3,0x0a2 - b ..ppcMfspr_any_end - mfspr r3,0x0a3 - b ..ppcMfspr_any_end - mfspr r3,0x0a4 - b ..ppcMfspr_any_end - mfspr r3,0x0a5 - b ..ppcMfspr_any_end - mfspr r3,0x0a6 - b ..ppcMfspr_any_end - mfspr r3,0x0a7 - b ..ppcMfspr_any_end - mfspr r3,0x0a8 - b ..ppcMfspr_any_end - mfspr r3,0x0a9 - b ..ppcMfspr_any_end - mfspr r3,0x0aa - b ..ppcMfspr_any_end - mfspr r3,0x0ab - b ..ppcMfspr_any_end - mfspr r3,0x0ac - b ..ppcMfspr_any_end - mfspr r3,0x0ad - b ..ppcMfspr_any_end - mfspr r3,0x0ae - b ..ppcMfspr_any_end - mfspr r3,0x0af - b ..ppcMfspr_any_end - mfspr r3,0x0b0 - b ..ppcMfspr_any_end - mfspr r3,0x0b1 - b ..ppcMfspr_any_end - mfspr r3,0x0b2 - b ..ppcMfspr_any_end - mfspr r3,0x0b3 - b ..ppcMfspr_any_end - mfspr r3,0x0b4 - b ..ppcMfspr_any_end - mfspr r3,0x0b5 - b ..ppcMfspr_any_end - mfspr r3,0x0b6 - b ..ppcMfspr_any_end - mfspr r3,0x0b7 - b ..ppcMfspr_any_end - mfspr r3,0x0b8 - b ..ppcMfspr_any_end - mfspr r3,0x0b9 - b ..ppcMfspr_any_end - mfspr r3,0x0ba - b ..ppcMfspr_any_end - mfspr r3,0x0bb - b ..ppcMfspr_any_end - mfspr r3,0x0bc - b ..ppcMfspr_any_end - mfspr r3,0x0bd - b ..ppcMfspr_any_end - mfspr r3,0x0be - b ..ppcMfspr_any_end - mfspr r3,0x0bf - b ..ppcMfspr_any_end - mfspr r3,0x0c0 - b ..ppcMfspr_any_end - mfspr r3,0x0c1 - b ..ppcMfspr_any_end - mfspr r3,0x0c2 - b ..ppcMfspr_any_end - mfspr r3,0x0c3 - b ..ppcMfspr_any_end - mfspr r3,0x0c4 - b ..ppcMfspr_any_end - mfspr r3,0x0c5 - b ..ppcMfspr_any_end - mfspr r3,0x0c6 - b ..ppcMfspr_any_end - mfspr r3,0x0c7 - b ..ppcMfspr_any_end - mfspr r3,0x0c8 - b ..ppcMfspr_any_end - mfspr r3,0x0c9 - b ..ppcMfspr_any_end - mfspr r3,0x0ca - b ..ppcMfspr_any_end - mfspr r3,0x0cb - b ..ppcMfspr_any_end - mfspr r3,0x0cc - b ..ppcMfspr_any_end - mfspr r3,0x0cd - b ..ppcMfspr_any_end - mfspr r3,0x0ce - b ..ppcMfspr_any_end - mfspr r3,0x0cf - b ..ppcMfspr_any_end - mfspr r3,0x0d0 - b ..ppcMfspr_any_end - mfspr r3,0x0d1 - b ..ppcMfspr_any_end - mfspr r3,0x0d2 - b ..ppcMfspr_any_end - mfspr r3,0x0d3 - b ..ppcMfspr_any_end - mfspr r3,0x0d4 - b ..ppcMfspr_any_end - mfspr r3,0x0d5 - b ..ppcMfspr_any_end - mfspr r3,0x0d6 - b ..ppcMfspr_any_end - mfspr r3,0x0d7 - b ..ppcMfspr_any_end - mfspr r3,0x0d8 - b ..ppcMfspr_any_end - mfspr r3,0x0d9 - b ..ppcMfspr_any_end - mfspr r3,0x0da - b ..ppcMfspr_any_end - mfspr r3,0x0db - b ..ppcMfspr_any_end - mfspr r3,0x0dc - b ..ppcMfspr_any_end - mfspr r3,0x0dd - b ..ppcMfspr_any_end - mfspr r3,0x0de - b ..ppcMfspr_any_end - mfspr r3,0x0df - b ..ppcMfspr_any_end - mfspr r3,0x0e0 - b ..ppcMfspr_any_end - mfspr r3,0x0e1 - b ..ppcMfspr_any_end - mfspr r3,0x0e2 - b ..ppcMfspr_any_end - mfspr r3,0x0e3 - b ..ppcMfspr_any_end - mfspr r3,0x0e4 - b ..ppcMfspr_any_end - mfspr r3,0x0e5 - b ..ppcMfspr_any_end - mfspr r3,0x0e6 - b ..ppcMfspr_any_end - mfspr r3,0x0e7 - b ..ppcMfspr_any_end - mfspr r3,0x0e8 - b ..ppcMfspr_any_end - mfspr r3,0x0e9 - b ..ppcMfspr_any_end - mfspr r3,0x0ea - b ..ppcMfspr_any_end - mfspr r3,0x0eb - b ..ppcMfspr_any_end - mfspr r3,0x0ec - b ..ppcMfspr_any_end - mfspr r3,0x0ed - b ..ppcMfspr_any_end - mfspr r3,0x0ee - b ..ppcMfspr_any_end - mfspr r3,0x0ef - b ..ppcMfspr_any_end - mfspr r3,0x0f0 - b ..ppcMfspr_any_end - mfspr r3,0x0f1 - b ..ppcMfspr_any_end - mfspr r3,0x0f2 - b ..ppcMfspr_any_end - mfspr r3,0x0f3 - b ..ppcMfspr_any_end - mfspr r3,0x0f4 - b ..ppcMfspr_any_end - mfspr r3,0x0f5 - b ..ppcMfspr_any_end - mfspr r3,0x0f6 - b ..ppcMfspr_any_end - mfspr r3,0x0f7 - b ..ppcMfspr_any_end - mfspr r3,0x0f8 - b ..ppcMfspr_any_end - mfspr r3,0x0f9 - b ..ppcMfspr_any_end - mfspr r3,0x0fa - b ..ppcMfspr_any_end - mfspr r3,0x0fb - b ..ppcMfspr_any_end - mfspr r3,0x0fc - b ..ppcMfspr_any_end - mfspr r3,0x0fd - b ..ppcMfspr_any_end - mfspr r3,0x0fe - b ..ppcMfspr_any_end - mfspr r3,0x0ff - b ..ppcMfspr_any_end - mfspr r3,0x100 - b ..ppcMfspr_any_end - mfspr r3,0x101 - b ..ppcMfspr_any_end - mfspr r3,0x102 - b ..ppcMfspr_any_end - mfspr r3,0x103 - b ..ppcMfspr_any_end - mfspr r3,0x104 - b ..ppcMfspr_any_end - mfspr r3,0x105 - b ..ppcMfspr_any_end - mfspr r3,0x106 - b ..ppcMfspr_any_end - mfspr r3,0x107 - b ..ppcMfspr_any_end - mfspr r3,0x108 - b ..ppcMfspr_any_end - mfspr r3,0x109 - b ..ppcMfspr_any_end - mfspr r3,0x10a - b ..ppcMfspr_any_end - mfspr r3,0x10b - b ..ppcMfspr_any_end - mfspr r3,0x10c - b ..ppcMfspr_any_end - mfspr r3,0x10d - b ..ppcMfspr_any_end - mfspr r3,0x10e - b ..ppcMfspr_any_end - mfspr r3,0x10f - b ..ppcMfspr_any_end - mfspr r3,0x110 - b ..ppcMfspr_any_end - mfspr r3,0x111 - b ..ppcMfspr_any_end - mfspr r3,0x112 - b ..ppcMfspr_any_end - mfspr r3,0x113 - b ..ppcMfspr_any_end - mfspr r3,0x114 - b ..ppcMfspr_any_end - mfspr r3,0x115 - b ..ppcMfspr_any_end - mfspr r3,0x116 - b ..ppcMfspr_any_end - mfspr r3,0x117 - b ..ppcMfspr_any_end - mfspr r3,0x118 - b ..ppcMfspr_any_end - mfspr r3,0x119 - b ..ppcMfspr_any_end - mfspr r3,0x11a - b ..ppcMfspr_any_end - mfspr r3,0x11b - b ..ppcMfspr_any_end - addi r3,r0,0x0000 - b ..ppcMfspr_any_end - addi r3,r0,0x0000 - b ..ppcMfspr_any_end - mfspr r3,0x11e - b ..ppcMfspr_any_end - mfspr r3,0x11f - b ..ppcMfspr_any_end - mfspr r3,0x120 - b ..ppcMfspr_any_end - mfspr r3,0x121 - b ..ppcMfspr_any_end - mfspr r3,0x122 - b ..ppcMfspr_any_end - mfspr r3,0x123 - b ..ppcMfspr_any_end - mfspr r3,0x124 - b ..ppcMfspr_any_end - mfspr r3,0x125 - b ..ppcMfspr_any_end - mfspr r3,0x126 - b ..ppcMfspr_any_end - mfspr r3,0x127 - b ..ppcMfspr_any_end - mfspr r3,0x128 - b ..ppcMfspr_any_end - mfspr r3,0x129 - b ..ppcMfspr_any_end - mfspr r3,0x12a - b ..ppcMfspr_any_end - mfspr r3,0x12b - b ..ppcMfspr_any_end - mfspr r3,0x12c - b ..ppcMfspr_any_end - mfspr r3,0x12d - b ..ppcMfspr_any_end - mfspr r3,0x12e - b ..ppcMfspr_any_end - mfspr r3,0x12f - b ..ppcMfspr_any_end - mfspr r3,0x130 - b ..ppcMfspr_any_end - mfspr r3,0x131 - b ..ppcMfspr_any_end - mfspr r3,0x132 - b ..ppcMfspr_any_end - mfspr r3,0x133 - b ..ppcMfspr_any_end - mfspr r3,0x134 - b ..ppcMfspr_any_end - mfspr r3,0x135 - b ..ppcMfspr_any_end - mfspr r3,0x136 - b ..ppcMfspr_any_end - mfspr r3,0x137 - b ..ppcMfspr_any_end - mfspr r3,0x138 - b ..ppcMfspr_any_end - mfspr r3,0x139 - b ..ppcMfspr_any_end - mfspr r3,0x13a - b ..ppcMfspr_any_end - mfspr r3,0x13b - b ..ppcMfspr_any_end - mfspr r3,0x13c - b ..ppcMfspr_any_end - mfspr r3,0x13d - b ..ppcMfspr_any_end - mfspr r3,0x13e - b ..ppcMfspr_any_end - mfspr r3,0x13f - b ..ppcMfspr_any_end - mfspr r3,0x140 - b ..ppcMfspr_any_end - mfspr r3,0x141 - b ..ppcMfspr_any_end - mfspr r3,0x142 - b ..ppcMfspr_any_end - mfspr r3,0x143 - b ..ppcMfspr_any_end - mfspr r3,0x144 - b ..ppcMfspr_any_end - mfspr r3,0x145 - b ..ppcMfspr_any_end - mfspr r3,0x146 - b ..ppcMfspr_any_end - mfspr r3,0x147 - b ..ppcMfspr_any_end - mfspr r3,0x148 - b ..ppcMfspr_any_end - mfspr r3,0x149 - b ..ppcMfspr_any_end - mfspr r3,0x14a - b ..ppcMfspr_any_end - mfspr r3,0x14b - b ..ppcMfspr_any_end - mfspr r3,0x14c - b ..ppcMfspr_any_end - mfspr r3,0x14d - b ..ppcMfspr_any_end - mfspr r3,0x14e - b ..ppcMfspr_any_end - mfspr r3,0x14f - b ..ppcMfspr_any_end - mfspr r3,0x150 - b ..ppcMfspr_any_end - mfspr r3,0x151 - b ..ppcMfspr_any_end - mfspr r3,0x152 - b ..ppcMfspr_any_end - mfspr r3,0x153 - b ..ppcMfspr_any_end - mfspr r3,0x154 - b ..ppcMfspr_any_end - mfspr r3,0x155 - b ..ppcMfspr_any_end - mfspr r3,0x156 - b ..ppcMfspr_any_end - mfspr r3,0x157 - b ..ppcMfspr_any_end - mfspr r3,0x158 - b ..ppcMfspr_any_end - mfspr r3,0x159 - b ..ppcMfspr_any_end - mfspr r3,0x15a - b ..ppcMfspr_any_end - mfspr r3,0x15b - b ..ppcMfspr_any_end - mfspr r3,0x15c - b ..ppcMfspr_any_end - mfspr r3,0x15d - b ..ppcMfspr_any_end - mfspr r3,0x15e - b ..ppcMfspr_any_end - mfspr r3,0x15f - b ..ppcMfspr_any_end - mfspr r3,0x160 - b ..ppcMfspr_any_end - mfspr r3,0x161 - b ..ppcMfspr_any_end - mfspr r3,0x162 - b ..ppcMfspr_any_end - mfspr r3,0x163 - b ..ppcMfspr_any_end - mfspr r3,0x164 - b ..ppcMfspr_any_end - mfspr r3,0x165 - b ..ppcMfspr_any_end - mfspr r3,0x166 - b ..ppcMfspr_any_end - mfspr r3,0x167 - b ..ppcMfspr_any_end - mfspr r3,0x168 - b ..ppcMfspr_any_end - mfspr r3,0x169 - b ..ppcMfspr_any_end - mfspr r3,0x16a - b ..ppcMfspr_any_end - mfspr r3,0x16b - b ..ppcMfspr_any_end - mfspr r3,0x16c - b ..ppcMfspr_any_end - mfspr r3,0x16d - b ..ppcMfspr_any_end - mfspr r3,0x16e - b ..ppcMfspr_any_end - mfspr r3,0x16f - b ..ppcMfspr_any_end - mfspr r3,0x170 - b ..ppcMfspr_any_end - mfspr r3,0x171 - b ..ppcMfspr_any_end - mfspr r3,0x172 - b ..ppcMfspr_any_end - mfspr r3,0x173 - b ..ppcMfspr_any_end - mfspr r3,0x174 - b ..ppcMfspr_any_end - mfspr r3,0x175 - b ..ppcMfspr_any_end - mfspr r3,0x176 - b ..ppcMfspr_any_end - mfspr r3,0x177 - b ..ppcMfspr_any_end - mfspr r3,0x178 - b ..ppcMfspr_any_end - mfspr r3,0x179 - b ..ppcMfspr_any_end - mfspr r3,0x17a - b ..ppcMfspr_any_end - mfspr r3,0x17b - b ..ppcMfspr_any_end - mfspr r3,0x17c - b ..ppcMfspr_any_end - mfspr r3,0x17d - b ..ppcMfspr_any_end - mfspr r3,0x17e - b ..ppcMfspr_any_end - mfspr r3,0x17f - b ..ppcMfspr_any_end - mfspr r3,0x180 - b ..ppcMfspr_any_end - mfspr r3,0x181 - b ..ppcMfspr_any_end - mfspr r3,0x182 - b ..ppcMfspr_any_end - mfspr r3,0x183 - b ..ppcMfspr_any_end - mfspr r3,0x184 - b ..ppcMfspr_any_end - mfspr r3,0x185 - b ..ppcMfspr_any_end - mfspr r3,0x186 - b ..ppcMfspr_any_end - mfspr r3,0x187 - b ..ppcMfspr_any_end - mfspr r3,0x188 - b ..ppcMfspr_any_end - mfspr r3,0x189 - b ..ppcMfspr_any_end - mfspr r3,0x18a - b ..ppcMfspr_any_end - mfspr r3,0x18b - b ..ppcMfspr_any_end - mfspr r3,0x18c - b ..ppcMfspr_any_end - mfspr r3,0x18d - b ..ppcMfspr_any_end - mfspr r3,0x18e - b ..ppcMfspr_any_end - mfspr r3,0x18f - b ..ppcMfspr_any_end - mfspr r3,0x190 - b ..ppcMfspr_any_end - mfspr r3,0x191 - b ..ppcMfspr_any_end - mfspr r3,0x192 - b ..ppcMfspr_any_end - mfspr r3,0x193 - b ..ppcMfspr_any_end - mfspr r3,0x194 - b ..ppcMfspr_any_end - mfspr r3,0x195 - b ..ppcMfspr_any_end - mfspr r3,0x196 - b ..ppcMfspr_any_end - mfspr r3,0x197 - b ..ppcMfspr_any_end - mfspr r3,0x198 - b ..ppcMfspr_any_end - mfspr r3,0x199 - b ..ppcMfspr_any_end - mfspr r3,0x19a - b ..ppcMfspr_any_end - mfspr r3,0x19b - b ..ppcMfspr_any_end - mfspr r3,0x19c - b ..ppcMfspr_any_end - mfspr r3,0x19d - b ..ppcMfspr_any_end - mfspr r3,0x19e - b ..ppcMfspr_any_end - mfspr r3,0x19f - b ..ppcMfspr_any_end - mfspr r3,0x1a0 - b ..ppcMfspr_any_end - mfspr r3,0x1a1 - b ..ppcMfspr_any_end - mfspr r3,0x1a2 - b ..ppcMfspr_any_end - mfspr r3,0x1a3 - b ..ppcMfspr_any_end - mfspr r3,0x1a4 - b ..ppcMfspr_any_end - mfspr r3,0x1a5 - b ..ppcMfspr_any_end - mfspr r3,0x1a6 - b ..ppcMfspr_any_end - mfspr r3,0x1a7 - b ..ppcMfspr_any_end - mfspr r3,0x1a8 - b ..ppcMfspr_any_end - mfspr r3,0x1a9 - b ..ppcMfspr_any_end - mfspr r3,0x1aa - b ..ppcMfspr_any_end - mfspr r3,0x1ab - b ..ppcMfspr_any_end - mfspr r3,0x1ac - b ..ppcMfspr_any_end - mfspr r3,0x1ad - b ..ppcMfspr_any_end - mfspr r3,0x1ae - b ..ppcMfspr_any_end - mfspr r3,0x1af - b ..ppcMfspr_any_end - mfspr r3,0x1b0 - b ..ppcMfspr_any_end - mfspr r3,0x1b1 - b ..ppcMfspr_any_end - mfspr r3,0x1b2 - b ..ppcMfspr_any_end - mfspr r3,0x1b3 - b ..ppcMfspr_any_end - mfspr r3,0x1b4 - b ..ppcMfspr_any_end - mfspr r3,0x1b5 - b ..ppcMfspr_any_end - mfspr r3,0x1b6 - b ..ppcMfspr_any_end - mfspr r3,0x1b7 - b ..ppcMfspr_any_end - mfspr r3,0x1b8 - b ..ppcMfspr_any_end - mfspr r3,0x1b9 - b ..ppcMfspr_any_end - mfspr r3,0x1ba - b ..ppcMfspr_any_end - mfspr r3,0x1bb - b ..ppcMfspr_any_end - mfspr r3,0x1bc - b ..ppcMfspr_any_end - mfspr r3,0x1bd - b ..ppcMfspr_any_end - mfspr r3,0x1be - b ..ppcMfspr_any_end - mfspr r3,0x1bf - b ..ppcMfspr_any_end - mfspr r3,0x1c0 - b ..ppcMfspr_any_end - mfspr r3,0x1c1 - b ..ppcMfspr_any_end - mfspr r3,0x1c2 - b ..ppcMfspr_any_end - mfspr r3,0x1c3 - b ..ppcMfspr_any_end - mfspr r3,0x1c4 - b ..ppcMfspr_any_end - mfspr r3,0x1c5 - b ..ppcMfspr_any_end - mfspr r3,0x1c6 - b ..ppcMfspr_any_end - mfspr r3,0x1c7 - b ..ppcMfspr_any_end - mfspr r3,0x1c8 - b ..ppcMfspr_any_end - mfspr r3,0x1c9 - b ..ppcMfspr_any_end - mfspr r3,0x1ca - b ..ppcMfspr_any_end - mfspr r3,0x1cb - b ..ppcMfspr_any_end - mfspr r3,0x1cc - b ..ppcMfspr_any_end - mfspr r3,0x1cd - b ..ppcMfspr_any_end - mfspr r3,0x1ce - b ..ppcMfspr_any_end - mfspr r3,0x1cf - b ..ppcMfspr_any_end - mfspr r3,0x1d0 - b ..ppcMfspr_any_end - mfspr r3,0x1d1 - b ..ppcMfspr_any_end - mfspr r3,0x1d2 - b ..ppcMfspr_any_end - mfspr r3,0x1d3 - b ..ppcMfspr_any_end - mfspr r3,0x1d4 - b ..ppcMfspr_any_end - mfspr r3,0x1d5 - b ..ppcMfspr_any_end - mfspr r3,0x1d6 - b ..ppcMfspr_any_end - mfspr r3,0x1d7 - b ..ppcMfspr_any_end - mfspr r3,0x1d8 - b ..ppcMfspr_any_end - mfspr r3,0x1d9 - b ..ppcMfspr_any_end - mfspr r3,0x1da - b ..ppcMfspr_any_end - mfspr r3,0x1db - b ..ppcMfspr_any_end - mfspr r3,0x1dc - b ..ppcMfspr_any_end - mfspr r3,0x1dd - b ..ppcMfspr_any_end - mfspr r3,0x1de - b ..ppcMfspr_any_end - mfspr r3,0x1df - b ..ppcMfspr_any_end - mfspr r3,0x1e0 - b ..ppcMfspr_any_end - mfspr r3,0x1e1 - b ..ppcMfspr_any_end - mfspr r3,0x1e2 - b ..ppcMfspr_any_end - mfspr r3,0x1e3 - b ..ppcMfspr_any_end - mfspr r3,0x1e4 - b ..ppcMfspr_any_end - mfspr r3,0x1e5 - b ..ppcMfspr_any_end - mfspr r3,0x1e6 - b ..ppcMfspr_any_end - mfspr r3,0x1e7 - b ..ppcMfspr_any_end - mfspr r3,0x1e8 - b ..ppcMfspr_any_end - mfspr r3,0x1e9 - b ..ppcMfspr_any_end - mfspr r3,0x1ea - b ..ppcMfspr_any_end - mfspr r3,0x1eb - b ..ppcMfspr_any_end - mfspr r3,0x1ec - b ..ppcMfspr_any_end - mfspr r3,0x1ed - b ..ppcMfspr_any_end - mfspr r3,0x1ee - b ..ppcMfspr_any_end - mfspr r3,0x1ef - b ..ppcMfspr_any_end - mfspr r3,0x1f0 - b ..ppcMfspr_any_end - mfspr r3,0x1f1 - b ..ppcMfspr_any_end - mfspr r3,0x1f2 - b ..ppcMfspr_any_end - mfspr r3,0x1f3 - b ..ppcMfspr_any_end - mfspr r3,0x1f4 - b ..ppcMfspr_any_end - mfspr r3,0x1f5 - b ..ppcMfspr_any_end - mfspr r3,0x1f6 - b ..ppcMfspr_any_end - mfspr r3,0x1f7 - b ..ppcMfspr_any_end - mfspr r3,0x1f8 - b ..ppcMfspr_any_end - mfspr r3,0x1f9 - b ..ppcMfspr_any_end - mfspr r3,0x1fa - b ..ppcMfspr_any_end - mfspr r3,0x1fb - b ..ppcMfspr_any_end - mfspr r3,0x1fc - b ..ppcMfspr_any_end - mfspr r3,0x1fd - b ..ppcMfspr_any_end - mfspr r3,0x1fe - b ..ppcMfspr_any_end - mfspr r3,0x1ff - b ..ppcMfspr_any_end - mfspr r3,0x200 - b ..ppcMfspr_any_end - mfspr r3,0x201 - b ..ppcMfspr_any_end - mfspr r3,0x202 - b ..ppcMfspr_any_end - mfspr r3,0x203 - b ..ppcMfspr_any_end - mfspr r3,0x204 - b ..ppcMfspr_any_end - mfspr r3,0x205 - b ..ppcMfspr_any_end - mfspr r3,0x206 - b ..ppcMfspr_any_end - mfspr r3,0x207 - b ..ppcMfspr_any_end - mfspr r3,0x208 - b ..ppcMfspr_any_end - mfspr r3,0x209 - b ..ppcMfspr_any_end - mfspr r3,0x20a - b ..ppcMfspr_any_end - mfspr r3,0x20b - b ..ppcMfspr_any_end - mfspr r3,0x20c - b ..ppcMfspr_any_end - mfspr r3,0x20d - b ..ppcMfspr_any_end - mfspr r3,0x20e - b ..ppcMfspr_any_end - mfspr r3,0x20f - b ..ppcMfspr_any_end - mfspr r3,0x210 - b ..ppcMfspr_any_end - mfspr r3,0x211 - b ..ppcMfspr_any_end - mfspr r3,0x212 - b ..ppcMfspr_any_end - mfspr r3,0x213 - b ..ppcMfspr_any_end - mfspr r3,0x214 - b ..ppcMfspr_any_end - mfspr r3,0x215 - b ..ppcMfspr_any_end - mfspr r3,0x216 - b ..ppcMfspr_any_end - mfspr r3,0x217 - b ..ppcMfspr_any_end - mfspr r3,0x218 - b ..ppcMfspr_any_end - mfspr r3,0x219 - b ..ppcMfspr_any_end - mfspr r3,0x21a - b ..ppcMfspr_any_end - mfspr r3,0x21b - b ..ppcMfspr_any_end - mfspr r3,0x21c - b ..ppcMfspr_any_end - mfspr r3,0x21d - b ..ppcMfspr_any_end - mfspr r3,0x21e - b ..ppcMfspr_any_end - mfspr r3,0x21f - b ..ppcMfspr_any_end - mfspr r3,0x220 - b ..ppcMfspr_any_end - mfspr r3,0x221 - b ..ppcMfspr_any_end - mfspr r3,0x222 - b ..ppcMfspr_any_end - mfspr r3,0x223 - b ..ppcMfspr_any_end - mfspr r3,0x224 - b ..ppcMfspr_any_end - mfspr r3,0x225 - b ..ppcMfspr_any_end - mfspr r3,0x226 - b ..ppcMfspr_any_end - mfspr r3,0x227 - b ..ppcMfspr_any_end - mfspr r3,0x228 - b ..ppcMfspr_any_end - mfspr r3,0x229 - b ..ppcMfspr_any_end - mfspr r3,0x22a - b ..ppcMfspr_any_end - mfspr r3,0x22b - b ..ppcMfspr_any_end - mfspr r3,0x22c - b ..ppcMfspr_any_end - mfspr r3,0x22d - b ..ppcMfspr_any_end - mfspr r3,0x22e - b ..ppcMfspr_any_end - mfspr r3,0x22f - b ..ppcMfspr_any_end - mfspr r3,0x230 - b ..ppcMfspr_any_end - mfspr r3,0x231 - b ..ppcMfspr_any_end - mfspr r3,0x232 - b ..ppcMfspr_any_end - mfspr r3,0x233 - b ..ppcMfspr_any_end - mfspr r3,0x234 - b ..ppcMfspr_any_end - mfspr r3,0x235 - b ..ppcMfspr_any_end - mfspr r3,0x236 - b ..ppcMfspr_any_end - mfspr r3,0x237 - b ..ppcMfspr_any_end - mfspr r3,0x238 - b ..ppcMfspr_any_end - mfspr r3,0x239 - b ..ppcMfspr_any_end - mfspr r3,0x23a - b ..ppcMfspr_any_end - mfspr r3,0x23b - b ..ppcMfspr_any_end - mfspr r3,0x23c - b ..ppcMfspr_any_end - mfspr r3,0x23d - b ..ppcMfspr_any_end - mfspr r3,0x23e - b ..ppcMfspr_any_end - mfspr r3,0x23f - b ..ppcMfspr_any_end - mfspr r3,0x240 - b ..ppcMfspr_any_end - mfspr r3,0x241 - b ..ppcMfspr_any_end - mfspr r3,0x242 - b ..ppcMfspr_any_end - mfspr r3,0x243 - b ..ppcMfspr_any_end - mfspr r3,0x244 - b ..ppcMfspr_any_end - mfspr r3,0x245 - b ..ppcMfspr_any_end - mfspr r3,0x246 - b ..ppcMfspr_any_end - mfspr r3,0x247 - b ..ppcMfspr_any_end - mfspr r3,0x248 - b ..ppcMfspr_any_end - mfspr r3,0x249 - b ..ppcMfspr_any_end - mfspr r3,0x24a - b ..ppcMfspr_any_end - mfspr r3,0x24b - b ..ppcMfspr_any_end - mfspr r3,0x24c - b ..ppcMfspr_any_end - mfspr r3,0x24d - b ..ppcMfspr_any_end - mfspr r3,0x24e - b ..ppcMfspr_any_end - mfspr r3,0x24f - b ..ppcMfspr_any_end - mfspr r3,0x250 - b ..ppcMfspr_any_end - mfspr r3,0x251 - b ..ppcMfspr_any_end - mfspr r3,0x252 - b ..ppcMfspr_any_end - mfspr r3,0x253 - b ..ppcMfspr_any_end - mfspr r3,0x254 - b ..ppcMfspr_any_end - mfspr r3,0x255 - b ..ppcMfspr_any_end - mfspr r3,0x256 - b ..ppcMfspr_any_end - mfspr r3,0x257 - b ..ppcMfspr_any_end - mfspr r3,0x258 - b ..ppcMfspr_any_end - mfspr r3,0x259 - b ..ppcMfspr_any_end - mfspr r3,0x25a - b ..ppcMfspr_any_end - mfspr r3,0x25b - b ..ppcMfspr_any_end - mfspr r3,0x25c - b ..ppcMfspr_any_end - mfspr r3,0x25d - b ..ppcMfspr_any_end - mfspr r3,0x25e - b ..ppcMfspr_any_end - mfspr r3,0x25f - b ..ppcMfspr_any_end - mfspr r3,0x260 - b ..ppcMfspr_any_end - mfspr r3,0x261 - b ..ppcMfspr_any_end - mfspr r3,0x262 - b ..ppcMfspr_any_end - mfspr r3,0x263 - b ..ppcMfspr_any_end - mfspr r3,0x264 - b ..ppcMfspr_any_end - mfspr r3,0x265 - b ..ppcMfspr_any_end - mfspr r3,0x266 - b ..ppcMfspr_any_end - mfspr r3,0x267 - b ..ppcMfspr_any_end - mfspr r3,0x268 - b ..ppcMfspr_any_end - mfspr r3,0x269 - b ..ppcMfspr_any_end - mfspr r3,0x26a - b ..ppcMfspr_any_end - mfspr r3,0x26b - b ..ppcMfspr_any_end - mfspr r3,0x26c - b ..ppcMfspr_any_end - mfspr r3,0x26d - b ..ppcMfspr_any_end - mfspr r3,0x26e - b ..ppcMfspr_any_end - mfspr r3,0x26f - b ..ppcMfspr_any_end - mfspr r3,0x270 - b ..ppcMfspr_any_end - mfspr r3,0x271 - b ..ppcMfspr_any_end - mfspr r3,0x272 - b ..ppcMfspr_any_end - mfspr r3,0x273 - b ..ppcMfspr_any_end - mfspr r3,0x274 - b ..ppcMfspr_any_end - mfspr r3,0x275 - b ..ppcMfspr_any_end - mfspr r3,0x276 - b ..ppcMfspr_any_end - mfspr r3,0x277 - b ..ppcMfspr_any_end - mfspr r3,0x278 - b ..ppcMfspr_any_end - mfspr r3,0x279 - b ..ppcMfspr_any_end - mfspr r3,0x27a - b ..ppcMfspr_any_end - mfspr r3,0x27b - b ..ppcMfspr_any_end - mfspr r3,0x27c - b ..ppcMfspr_any_end - mfspr r3,0x27d - b ..ppcMfspr_any_end - mfspr r3,0x27e - b ..ppcMfspr_any_end - mfspr r3,0x27f - b ..ppcMfspr_any_end - mfspr r3,0x280 - b ..ppcMfspr_any_end - mfspr r3,0x281 - b ..ppcMfspr_any_end - mfspr r3,0x282 - b ..ppcMfspr_any_end - mfspr r3,0x283 - b ..ppcMfspr_any_end - mfspr r3,0x284 - b ..ppcMfspr_any_end - mfspr r3,0x285 - b ..ppcMfspr_any_end - mfspr r3,0x286 - b ..ppcMfspr_any_end - mfspr r3,0x287 - b ..ppcMfspr_any_end - mfspr r3,0x288 - b ..ppcMfspr_any_end - mfspr r3,0x289 - b ..ppcMfspr_any_end - mfspr r3,0x28a - b ..ppcMfspr_any_end - mfspr r3,0x28b - b ..ppcMfspr_any_end - mfspr r3,0x28c - b ..ppcMfspr_any_end - mfspr r3,0x28d - b ..ppcMfspr_any_end - mfspr r3,0x28e - b ..ppcMfspr_any_end - mfspr r3,0x28f - b ..ppcMfspr_any_end - mfspr r3,0x290 - b ..ppcMfspr_any_end - mfspr r3,0x291 - b ..ppcMfspr_any_end - mfspr r3,0x292 - b ..ppcMfspr_any_end - mfspr r3,0x293 - b ..ppcMfspr_any_end - mfspr r3,0x294 - b ..ppcMfspr_any_end - mfspr r3,0x295 - b ..ppcMfspr_any_end - mfspr r3,0x296 - b ..ppcMfspr_any_end - mfspr r3,0x297 - b ..ppcMfspr_any_end - mfspr r3,0x298 - b ..ppcMfspr_any_end - mfspr r3,0x299 - b ..ppcMfspr_any_end - mfspr r3,0x29a - b ..ppcMfspr_any_end - mfspr r3,0x29b - b ..ppcMfspr_any_end - mfspr r3,0x29c - b ..ppcMfspr_any_end - mfspr r3,0x29d - b ..ppcMfspr_any_end - mfspr r3,0x29e - b ..ppcMfspr_any_end - mfspr r3,0x29f - b ..ppcMfspr_any_end - mfspr r3,0x2a0 - b ..ppcMfspr_any_end - mfspr r3,0x2a1 - b ..ppcMfspr_any_end - mfspr r3,0x2a2 - b ..ppcMfspr_any_end - mfspr r3,0x2a3 - b ..ppcMfspr_any_end - mfspr r3,0x2a4 - b ..ppcMfspr_any_end - mfspr r3,0x2a5 - b ..ppcMfspr_any_end - mfspr r3,0x2a6 - b ..ppcMfspr_any_end - mfspr r3,0x2a7 - b ..ppcMfspr_any_end - mfspr r3,0x2a8 - b ..ppcMfspr_any_end - mfspr r3,0x2a9 - b ..ppcMfspr_any_end - mfspr r3,0x2aa - b ..ppcMfspr_any_end - mfspr r3,0x2ab - b ..ppcMfspr_any_end - mfspr r3,0x2ac - b ..ppcMfspr_any_end - mfspr r3,0x2ad - b ..ppcMfspr_any_end - mfspr r3,0x2ae - b ..ppcMfspr_any_end - mfspr r3,0x2af - b ..ppcMfspr_any_end - mfspr r3,0x2b0 - b ..ppcMfspr_any_end - mfspr r3,0x2b1 - b ..ppcMfspr_any_end - mfspr r3,0x2b2 - b ..ppcMfspr_any_end - mfspr r3,0x2b3 - b ..ppcMfspr_any_end - mfspr r3,0x2b4 - b ..ppcMfspr_any_end - mfspr r3,0x2b5 - b ..ppcMfspr_any_end - mfspr r3,0x2b6 - b ..ppcMfspr_any_end - mfspr r3,0x2b7 - b ..ppcMfspr_any_end - mfspr r3,0x2b8 - b ..ppcMfspr_any_end - mfspr r3,0x2b9 - b ..ppcMfspr_any_end - mfspr r3,0x2ba - b ..ppcMfspr_any_end - mfspr r3,0x2bb - b ..ppcMfspr_any_end - mfspr r3,0x2bc - b ..ppcMfspr_any_end - mfspr r3,0x2bd - b ..ppcMfspr_any_end - mfspr r3,0x2be - b ..ppcMfspr_any_end - mfspr r3,0x2bf - b ..ppcMfspr_any_end - mfspr r3,0x2c0 - b ..ppcMfspr_any_end - mfspr r3,0x2c1 - b ..ppcMfspr_any_end - mfspr r3,0x2c2 - b ..ppcMfspr_any_end - mfspr r3,0x2c3 - b ..ppcMfspr_any_end - mfspr r3,0x2c4 - b ..ppcMfspr_any_end - mfspr r3,0x2c5 - b ..ppcMfspr_any_end - mfspr r3,0x2c6 - b ..ppcMfspr_any_end - mfspr r3,0x2c7 - b ..ppcMfspr_any_end - mfspr r3,0x2c8 - b ..ppcMfspr_any_end - mfspr r3,0x2c9 - b ..ppcMfspr_any_end - mfspr r3,0x2ca - b ..ppcMfspr_any_end - mfspr r3,0x2cb - b ..ppcMfspr_any_end - mfspr r3,0x2cc - b ..ppcMfspr_any_end - mfspr r3,0x2cd - b ..ppcMfspr_any_end - mfspr r3,0x2ce - b ..ppcMfspr_any_end - mfspr r3,0x2cf - b ..ppcMfspr_any_end - mfspr r3,0x2d0 - b ..ppcMfspr_any_end - mfspr r3,0x2d1 - b ..ppcMfspr_any_end - mfspr r3,0x2d2 - b ..ppcMfspr_any_end - mfspr r3,0x2d3 - b ..ppcMfspr_any_end - mfspr r3,0x2d4 - b ..ppcMfspr_any_end - mfspr r3,0x2d5 - b ..ppcMfspr_any_end - mfspr r3,0x2d6 - b ..ppcMfspr_any_end - mfspr r3,0x2d7 - b ..ppcMfspr_any_end - mfspr r3,0x2d8 - b ..ppcMfspr_any_end - mfspr r3,0x2d9 - b ..ppcMfspr_any_end - mfspr r3,0x2da - b ..ppcMfspr_any_end - mfspr r3,0x2db - b ..ppcMfspr_any_end - mfspr r3,0x2dc - b ..ppcMfspr_any_end - mfspr r3,0x2dd - b ..ppcMfspr_any_end - mfspr r3,0x2de - b ..ppcMfspr_any_end - mfspr r3,0x2df - b ..ppcMfspr_any_end - mfspr r3,0x2e0 - b ..ppcMfspr_any_end - mfspr r3,0x2e1 - b ..ppcMfspr_any_end - mfspr r3,0x2e2 - b ..ppcMfspr_any_end - mfspr r3,0x2e3 - b ..ppcMfspr_any_end - mfspr r3,0x2e4 - b ..ppcMfspr_any_end - mfspr r3,0x2e5 - b ..ppcMfspr_any_end - mfspr r3,0x2e6 - b ..ppcMfspr_any_end - mfspr r3,0x2e7 - b ..ppcMfspr_any_end - mfspr r3,0x2e8 - b ..ppcMfspr_any_end - mfspr r3,0x2e9 - b ..ppcMfspr_any_end - mfspr r3,0x2ea - b ..ppcMfspr_any_end - mfspr r3,0x2eb - b ..ppcMfspr_any_end - mfspr r3,0x2ec - b ..ppcMfspr_any_end - mfspr r3,0x2ed - b ..ppcMfspr_any_end - mfspr r3,0x2ee - b ..ppcMfspr_any_end - mfspr r3,0x2ef - b ..ppcMfspr_any_end - mfspr r3,0x2f0 - b ..ppcMfspr_any_end - mfspr r3,0x2f1 - b ..ppcMfspr_any_end - mfspr r3,0x2f2 - b ..ppcMfspr_any_end - mfspr r3,0x2f3 - b ..ppcMfspr_any_end - mfspr r3,0x2f4 - b ..ppcMfspr_any_end - mfspr r3,0x2f5 - b ..ppcMfspr_any_end - mfspr r3,0x2f6 - b ..ppcMfspr_any_end - mfspr r3,0x2f7 - b ..ppcMfspr_any_end - mfspr r3,0x2f8 - b ..ppcMfspr_any_end - mfspr r3,0x2f9 - b ..ppcMfspr_any_end - mfspr r3,0x2fa - b ..ppcMfspr_any_end - mfspr r3,0x2fb - b ..ppcMfspr_any_end - mfspr r3,0x2fc - b ..ppcMfspr_any_end - mfspr r3,0x2fd - b ..ppcMfspr_any_end - mfspr r3,0x2fe - b ..ppcMfspr_any_end - mfspr r3,0x2ff - b ..ppcMfspr_any_end - mfspr r3,0x300 - b ..ppcMfspr_any_end - mfspr r3,0x301 - b ..ppcMfspr_any_end - mfspr r3,0x302 - b ..ppcMfspr_any_end - mfspr r3,0x303 - b ..ppcMfspr_any_end - mfspr r3,0x304 - b ..ppcMfspr_any_end - mfspr r3,0x305 - b ..ppcMfspr_any_end - mfspr r3,0x306 - b ..ppcMfspr_any_end - mfspr r3,0x307 - b ..ppcMfspr_any_end - mfspr r3,0x308 - b ..ppcMfspr_any_end - mfspr r3,0x309 - b ..ppcMfspr_any_end - mfspr r3,0x30a - b ..ppcMfspr_any_end - mfspr r3,0x30b - b ..ppcMfspr_any_end - mfspr r3,0x30c - b ..ppcMfspr_any_end - mfspr r3,0x30d - b ..ppcMfspr_any_end - mfspr r3,0x30e - b ..ppcMfspr_any_end - mfspr r3,0x30f - b ..ppcMfspr_any_end - mfspr r3,0x310 - b ..ppcMfspr_any_end - mfspr r3,0x311 - b ..ppcMfspr_any_end - mfspr r3,0x312 - b ..ppcMfspr_any_end - mfspr r3,0x313 - b ..ppcMfspr_any_end - mfspr r3,0x314 - b ..ppcMfspr_any_end - mfspr r3,0x315 - b ..ppcMfspr_any_end - mfspr r3,0x316 - b ..ppcMfspr_any_end - mfspr r3,0x317 - b ..ppcMfspr_any_end - mfspr r3,0x318 - b ..ppcMfspr_any_end - mfspr r3,0x319 - b ..ppcMfspr_any_end - mfspr r3,0x31a - b ..ppcMfspr_any_end - mfspr r3,0x31b - b ..ppcMfspr_any_end - mfspr r3,0x31c - b ..ppcMfspr_any_end - mfspr r3,0x31d - b ..ppcMfspr_any_end - mfspr r3,0x31e - b ..ppcMfspr_any_end - mfspr r3,0x31f - b ..ppcMfspr_any_end - mfspr r3,0x320 - b ..ppcMfspr_any_end - mfspr r3,0x321 - b ..ppcMfspr_any_end - mfspr r3,0x322 - b ..ppcMfspr_any_end - mfspr r3,0x323 - b ..ppcMfspr_any_end - mfspr r3,0x324 - b ..ppcMfspr_any_end - mfspr r3,0x325 - b ..ppcMfspr_any_end - mfspr r3,0x326 - b ..ppcMfspr_any_end - mfspr r3,0x327 - b ..ppcMfspr_any_end - mfspr r3,0x328 - b ..ppcMfspr_any_end - mfspr r3,0x329 - b ..ppcMfspr_any_end - mfspr r3,0x32a - b ..ppcMfspr_any_end - mfspr r3,0x32b - b ..ppcMfspr_any_end - mfspr r3,0x32c - b ..ppcMfspr_any_end - mfspr r3,0x32d - b ..ppcMfspr_any_end - mfspr r3,0x32e - b ..ppcMfspr_any_end - mfspr r3,0x32f - b ..ppcMfspr_any_end - mfspr r3,0x330 - b ..ppcMfspr_any_end - mfspr r3,0x331 - b ..ppcMfspr_any_end - mfspr r3,0x332 - b ..ppcMfspr_any_end - mfspr r3,0x333 - b ..ppcMfspr_any_end - mfspr r3,0x334 - b ..ppcMfspr_any_end - mfspr r3,0x335 - b ..ppcMfspr_any_end - mfspr r3,0x336 - b ..ppcMfspr_any_end - mfspr r3,0x337 - b ..ppcMfspr_any_end - mfspr r3,0x338 - b ..ppcMfspr_any_end - mfspr r3,0x339 - b ..ppcMfspr_any_end - mfspr r3,0x33a - b ..ppcMfspr_any_end - mfspr r3,0x33b - b ..ppcMfspr_any_end - mfspr r3,0x33c - b ..ppcMfspr_any_end - mfspr r3,0x33d - b ..ppcMfspr_any_end - mfspr r3,0x33e - b ..ppcMfspr_any_end - mfspr r3,0x33f - b ..ppcMfspr_any_end - mfspr r3,0x340 - b ..ppcMfspr_any_end - mfspr r3,0x341 - b ..ppcMfspr_any_end - mfspr r3,0x342 - b ..ppcMfspr_any_end - mfspr r3,0x343 - b ..ppcMfspr_any_end - mfspr r3,0x344 - b ..ppcMfspr_any_end - mfspr r3,0x345 - b ..ppcMfspr_any_end - mfspr r3,0x346 - b ..ppcMfspr_any_end - mfspr r3,0x347 - b ..ppcMfspr_any_end - mfspr r3,0x348 - b ..ppcMfspr_any_end - mfspr r3,0x349 - b ..ppcMfspr_any_end - mfspr r3,0x34a - b ..ppcMfspr_any_end - mfspr r3,0x34b - b ..ppcMfspr_any_end - mfspr r3,0x34c - b ..ppcMfspr_any_end - mfspr r3,0x34d - b ..ppcMfspr_any_end - mfspr r3,0x34e - b ..ppcMfspr_any_end - mfspr r3,0x34f - b ..ppcMfspr_any_end - mfspr r3,0x350 - b ..ppcMfspr_any_end - mfspr r3,0x351 - b ..ppcMfspr_any_end - mfspr r3,0x352 - b ..ppcMfspr_any_end - mfspr r3,0x353 - b ..ppcMfspr_any_end - mfspr r3,0x354 - b ..ppcMfspr_any_end - mfspr r3,0x355 - b ..ppcMfspr_any_end - mfspr r3,0x356 - b ..ppcMfspr_any_end - mfspr r3,0x357 - b ..ppcMfspr_any_end - mfspr r3,0x358 - b ..ppcMfspr_any_end - mfspr r3,0x359 - b ..ppcMfspr_any_end - mfspr r3,0x35a - b ..ppcMfspr_any_end - mfspr r3,0x35b - b ..ppcMfspr_any_end - mfspr r3,0x35c - b ..ppcMfspr_any_end - mfspr r3,0x35d - b ..ppcMfspr_any_end - mfspr r3,0x35e - b ..ppcMfspr_any_end - mfspr r3,0x35f - b ..ppcMfspr_any_end - mfspr r3,0x360 - b ..ppcMfspr_any_end - mfspr r3,0x361 - b ..ppcMfspr_any_end - mfspr r3,0x362 - b ..ppcMfspr_any_end - mfspr r3,0x363 - b ..ppcMfspr_any_end - mfspr r3,0x364 - b ..ppcMfspr_any_end - mfspr r3,0x365 - b ..ppcMfspr_any_end - mfspr r3,0x366 - b ..ppcMfspr_any_end - mfspr r3,0x367 - b ..ppcMfspr_any_end - mfspr r3,0x368 - b ..ppcMfspr_any_end - mfspr r3,0x369 - b ..ppcMfspr_any_end - mfspr r3,0x36a - b ..ppcMfspr_any_end - mfspr r3,0x36b - b ..ppcMfspr_any_end - mfspr r3,0x36c - b ..ppcMfspr_any_end - mfspr r3,0x36d - b ..ppcMfspr_any_end - mfspr r3,0x36e - b ..ppcMfspr_any_end - mfspr r3,0x36f - b ..ppcMfspr_any_end - mfspr r3,0x370 - b ..ppcMfspr_any_end - mfspr r3,0x371 - b ..ppcMfspr_any_end - mfspr r3,0x372 - b ..ppcMfspr_any_end - mfspr r3,0x373 - b ..ppcMfspr_any_end - mfspr r3,0x374 - b ..ppcMfspr_any_end - mfspr r3,0x375 - b ..ppcMfspr_any_end - mfspr r3,0x376 - b ..ppcMfspr_any_end - mfspr r3,0x377 - b ..ppcMfspr_any_end - mfspr r3,0x378 - b ..ppcMfspr_any_end - mfspr r3,0x379 - b ..ppcMfspr_any_end - mfspr r3,0x37a - b ..ppcMfspr_any_end - mfspr r3,0x37b - b ..ppcMfspr_any_end - mfspr r3,0x37c - b ..ppcMfspr_any_end - mfspr r3,0x37d - b ..ppcMfspr_any_end - mfspr r3,0x37e - b ..ppcMfspr_any_end - mfspr r3,0x37f - b ..ppcMfspr_any_end - mfspr r3,0x380 - b ..ppcMfspr_any_end - mfspr r3,0x381 - b ..ppcMfspr_any_end - mfspr r3,0x382 - b ..ppcMfspr_any_end - mfspr r3,0x383 - b ..ppcMfspr_any_end - mfspr r3,0x384 - b ..ppcMfspr_any_end - mfspr r3,0x385 - b ..ppcMfspr_any_end - mfspr r3,0x386 - b ..ppcMfspr_any_end - mfspr r3,0x387 - b ..ppcMfspr_any_end - mfspr r3,0x388 - b ..ppcMfspr_any_end - mfspr r3,0x389 - b ..ppcMfspr_any_end - mfspr r3,0x38a - b ..ppcMfspr_any_end - mfspr r3,0x38b - b ..ppcMfspr_any_end - mfspr r3,0x38c - b ..ppcMfspr_any_end - mfspr r3,0x38d - b ..ppcMfspr_any_end - mfspr r3,0x38e - b ..ppcMfspr_any_end - mfspr r3,0x38f - b ..ppcMfspr_any_end - mfspr r3,0x390 - b ..ppcMfspr_any_end - mfspr r3,0x391 - b ..ppcMfspr_any_end - mfspr r3,0x392 - b ..ppcMfspr_any_end - mfspr r3,0x393 - b ..ppcMfspr_any_end - mfspr r3,0x394 - b ..ppcMfspr_any_end - mfspr r3,0x395 - b ..ppcMfspr_any_end - mfspr r3,0x396 - b ..ppcMfspr_any_end - mfspr r3,0x397 - b ..ppcMfspr_any_end - mfspr r3,0x398 - b ..ppcMfspr_any_end - mfspr r3,0x399 - b ..ppcMfspr_any_end - mfspr r3,0x39a - b ..ppcMfspr_any_end - mfspr r3,0x39b - b ..ppcMfspr_any_end - mfspr r3,0x39c - b ..ppcMfspr_any_end - mfspr r3,0x39d - b ..ppcMfspr_any_end - mfspr r3,0x39e - b ..ppcMfspr_any_end - mfspr r3,0x39f - b ..ppcMfspr_any_end - mfspr r3,0x3a0 - b ..ppcMfspr_any_end - mfspr r3,0x3a1 - b ..ppcMfspr_any_end - mfspr r3,0x3a2 - b ..ppcMfspr_any_end - mfspr r3,0x3a3 - b ..ppcMfspr_any_end - mfspr r3,0x3a4 - b ..ppcMfspr_any_end - mfspr r3,0x3a5 - b ..ppcMfspr_any_end - mfspr r3,0x3a6 - b ..ppcMfspr_any_end - mfspr r3,0x3a7 - b ..ppcMfspr_any_end - mfspr r3,0x3a8 - b ..ppcMfspr_any_end - mfspr r3,0x3a9 - b ..ppcMfspr_any_end - mfspr r3,0x3aa - b ..ppcMfspr_any_end - mfspr r3,0x3ab - b ..ppcMfspr_any_end - mfspr r3,0x3ac - b ..ppcMfspr_any_end - mfspr r3,0x3ad - b ..ppcMfspr_any_end - mfspr r3,0x3ae - b ..ppcMfspr_any_end - mfspr r3,0x3af - b ..ppcMfspr_any_end - mfspr r3,0x3b0 - b ..ppcMfspr_any_end - mfspr r3,0x3b1 - b ..ppcMfspr_any_end - mfspr r3,0x3b2 - b ..ppcMfspr_any_end - mfspr r3,0x3b3 - b ..ppcMfspr_any_end - mfspr r3,0x3b4 - b ..ppcMfspr_any_end - mfspr r3,0x3b5 - b ..ppcMfspr_any_end - mfspr r3,0x3b6 - b ..ppcMfspr_any_end - mfspr r3,0x3b7 - b ..ppcMfspr_any_end - mfspr r3,0x3b8 - b ..ppcMfspr_any_end - mfspr r3,0x3b9 - b ..ppcMfspr_any_end - mfspr r3,0x3ba - b ..ppcMfspr_any_end - mfspr r3,0x3bb - b ..ppcMfspr_any_end - mfspr r3,0x3bc - b ..ppcMfspr_any_end - mfspr r3,0x3bd - b ..ppcMfspr_any_end - mfspr r3,0x3be - b ..ppcMfspr_any_end - mfspr r3,0x3bf - b ..ppcMfspr_any_end - mfspr r3,0x3c0 - b ..ppcMfspr_any_end - mfspr r3,0x3c1 - b ..ppcMfspr_any_end - mfspr r3,0x3c2 - b ..ppcMfspr_any_end - mfspr r3,0x3c3 - b ..ppcMfspr_any_end - mfspr r3,0x3c4 - b ..ppcMfspr_any_end - mfspr r3,0x3c5 - b ..ppcMfspr_any_end - mfspr r3,0x3c6 - b ..ppcMfspr_any_end - mfspr r3,0x3c7 - b ..ppcMfspr_any_end - mfspr r3,0x3c8 - b ..ppcMfspr_any_end - mfspr r3,0x3c9 - b ..ppcMfspr_any_end - mfspr r3,0x3ca - b ..ppcMfspr_any_end - mfspr r3,0x3cb - b ..ppcMfspr_any_end - mfspr r3,0x3cc - b ..ppcMfspr_any_end - mfspr r3,0x3cd - b ..ppcMfspr_any_end - mfspr r3,0x3ce - b ..ppcMfspr_any_end - mfspr r3,0x3cf - b ..ppcMfspr_any_end - addi r3,r0,0x0000 - b ..ppcMfspr_any_end - addi r3,r0,0x0000 - b ..ppcMfspr_any_end - addi r3,r0,0x0000 - b ..ppcMfspr_any_end - mfspr r3,0x3d3 - b ..ppcMfspr_any_end - mfspr r3,0x3d4 - b ..ppcMfspr_any_end - mfspr r3,0x3d5 - b ..ppcMfspr_any_end - mfspr r3,0x3d6 - b ..ppcMfspr_any_end - mfspr r3,0x3d7 - b ..ppcMfspr_any_end - mfspr r3,0x3d8 - b ..ppcMfspr_any_end - mfspr r3,0x3d9 - b ..ppcMfspr_any_end - mfspr r3,0x3da - b ..ppcMfspr_any_end - mfspr r3,0x3db - b ..ppcMfspr_any_end - mfspr r3,0x3dc - b ..ppcMfspr_any_end - mfspr r3,0x3dd - b ..ppcMfspr_any_end - mfspr r3,0x3de - b ..ppcMfspr_any_end - mfspr r3,0x3df - b ..ppcMfspr_any_end - mfspr r3,0x3e0 - b ..ppcMfspr_any_end - mfspr r3,0x3e1 - b ..ppcMfspr_any_end - mfspr r3,0x3e2 - b ..ppcMfspr_any_end - mfspr r3,0x3e3 - b ..ppcMfspr_any_end - mfspr r3,0x3e4 - b ..ppcMfspr_any_end - mfspr r3,0x3e5 - b ..ppcMfspr_any_end - mfspr r3,0x3e6 - b ..ppcMfspr_any_end - mfspr r3,0x3e7 - b ..ppcMfspr_any_end - mfspr r3,0x3e8 - b ..ppcMfspr_any_end - mfspr r3,0x3e9 - b ..ppcMfspr_any_end - mfspr r3,0x3ea - b ..ppcMfspr_any_end - mfspr r3,0x3eb - b ..ppcMfspr_any_end - mfspr r3,0x3ec - b ..ppcMfspr_any_end - mfspr r3,0x3ed - b ..ppcMfspr_any_end - mfspr r3,0x3ee - b ..ppcMfspr_any_end - mfspr r3,0x3ef - b ..ppcMfspr_any_end - mfspr r3,0x3f0 - b ..ppcMfspr_any_end - mfspr r3,0x3f1 - b ..ppcMfspr_any_end - mfspr r3,0x3f2 - b ..ppcMfspr_any_end - mfspr r3,0x3f3 - b ..ppcMfspr_any_end - mfspr r3,0x3f4 - b ..ppcMfspr_any_end - mfspr r3,0x3f5 - b ..ppcMfspr_any_end - mfspr r3,0x3f6 - b ..ppcMfspr_any_end - mfspr r3,0x3f7 - b ..ppcMfspr_any_end - mfspr r3,0x3f8 - b ..ppcMfspr_any_end - mfspr r3,0x3f9 - b ..ppcMfspr_any_end - mfspr r3,0x3fa - b ..ppcMfspr_any_end - mfspr r3,0x3fb - b ..ppcMfspr_any_end - mfspr r3,0x3fc - b ..ppcMfspr_any_end - mfspr r3,0x3fd - b ..ppcMfspr_any_end - mfspr r3,0x3fe - b ..ppcMfspr_any_end - mfspr r3,0x3ff - b ..ppcMfspr_any_end -..ppcMfspr_any_end: - mtlr r6 - blr - function_epilog(ppcMfspr_any) - -/*----------------------------------------------------------------------------+ -| PpcCachelinesize -+----------------------------------------------------------------------------*/ - function_prolog(ppcCachelinesize) - addi r3,r0,0x0080 - blr - function_epilog(ppcCachelinesize) - -/*----------------------------------------------------------------------------+ -| PpcProcid -+----------------------------------------------------------------------------*/ - function_prolog(ppcProcid) - addi r3,r0,0x03CA - blr - function_epilog(ppcProcid) - -/*----------------------------------------------------------------------------+ -| PpcMtmmucr -+----------------------------------------------------------------------------*/ - function_prolog(ppcMtmmucr) - blr - function_epilog(ppcMtmmucr) - -/*----------------------------------------------------------------------------+ -| PpcMttlb1 -+----------------------------------------------------------------------------*/ - function_prolog(ppcMttlb1) - blr - function_epilog(ppcMttlb1) - -/*----------------------------------------------------------------------------+ -| PpcMttlb2 -+----------------------------------------------------------------------------*/ - function_prolog(ppcMttlb2) - blr - function_epilog(ppcMttlb2) - -/*----------------------------------------------------------------------------+ -| PpcMttlb3 -+----------------------------------------------------------------------------*/ - function_prolog(ppcMttlb3) - blr - function_epilog(ppcMttlb3) - -/*----------------------------------------------------------------------------+ -| PpcMftlb1 -+----------------------------------------------------------------------------*/ - function_prolog(ppcMftlb1) - addis r3,r0,0xdead - ori r3,r3,0xbeef - blr - function_epilog(ppcMftlb1) - -/*----------------------------------------------------------------------------+ -| PpcMftlb2 -+----------------------------------------------------------------------------*/ - function_prolog(ppcMftlb2) - addis r3,r0,0xdead - ori r3,r3,0xbeef - blr - function_epilog(ppcMftlb2) - -/*----------------------------------------------------------------------------+ -| PpcMftlb3 -+----------------------------------------------------------------------------*/ - function_prolog(ppcMftlb3) - addis r3,r0,0xdead - ori r3,r3,0xbeef - blr - function_epilog(ppcMftlb3) - -/*----------------------------------------------------------------------------+ -| PpcMfmmucr -+----------------------------------------------------------------------------*/ - function_prolog(ppcMfmmucr) - addis r3,r0,0xdead - ori r3,r3,0xbeef - blr - function_epilog(ppcMfmmucr) - -/*----------------------------------------------------------------------------+ -| PpcMfdcr_any -+----------------------------------------------------------------------------*/ - function_prolog(ppcMfdcr_any) - addis r3,r0,0xdead - ori r3,r3,0xbeef - blr - function_epilog(ppcMfdcr_any) - -/*----------------------------------------------------------------------------+ -| PpcMtdcr_any -+----------------------------------------------------------------------------*/ - function_prolog(ppcMtdcr_any) - blr - function_epilog(ppcMtdcr_any) - -/*----------------------------------------------------------------------------+ -| PpcIstrap. -+----------------------------------------------------------------------------*/ - function_prolog(ppcIstrap) - mfspr r3,srr1 - rlwinm. r3,r3,0,13,15 - bne ..is_trap - addi r3,r0,0x0000 - b ..is_return -..is_trap: - addi r3,r0,0x0001 -..is_return: - blr - function_epilog(ppcIstrap) - -/*----------------------------------------------------------------------------+ -| P_ptegg. r3=large page inidicator, r4=ea, r5 = sdr1, r6 = vsid. -+----------------------------------------------------------------------------*/ - function_prolog(p_ptegg) - cmpi cr0,1,r3,0x0000 - bne ..lp - addi r3,r0,12 - addi r8,r0,0x0001 - rlwinm r8,r8,16,0,31 - addi r8,r8,-1 - b ..ppast -..lp: addi r3,r0,24 - addi r8,r0,0x0001 - rlwinm r8,r8,4,0,31 - addi r8,r8,-1 - /*--------------------------------------------------------------------+ - | Only lower 39 bits of VSID are used in hash function. - +--------------------------------------------------------------------*/ -..ppast:rldicl r6,r6,0,25 - /*--------------------------------------------------------------------+ - | Discard page offset in effective address, only bits specified in - | the mask (r8) are used. - +--------------------------------------------------------------------*/ - srd r4,r4,r3 - and r4,r4,r8 - /*--------------------------------------------------------------------+ - | Perform hash function. - +--------------------------------------------------------------------*/ - xor r6,r6,r4 - /*--------------------------------------------------------------------+ - | 11 lowest bits from hash function are used directly. - +--------------------------------------------------------------------*/ - rlwinm r3,r6,7,14,24 - /*--------------------------------------------------------------------+ - | Shift output of the hash function by 11 bits. - +--------------------------------------------------------------------*/ - sradi r4,r6,11 - /*--------------------------------------------------------------------+ - | Calculate mask from sdr1.htabsize and AND it with upper 28 bits - | of the hash function result. - +--------------------------------------------------------------------*/ - rldicl r7,r5,0,59 - addi r8,r0,0x0001 - slw r8,r8,r7 - addi r8,r8,-1 - and r8,r8,r4 - /*--------------------------------------------------------------------+ - | Or in the 28+ 16 bits of the sdr1.htaborg. - +--------------------------------------------------------------------*/ - rldicl r5,r5,0,2 - addi r4,r0,0x0012 - srd r5,r5,r4 - or r4,r5,r8 - rldicr r4,r4,18,46 - or r3,r3,r4 - blr - function_epilog(p_ptegg) - -/*----------------------------------------------------------------------------+ -| S_ptegg. r3=large page inidicator, r4=ea, r5 = sdr1, r6 = vsid. -+----------------------------------------------------------------------------*/ - function_prolog(s_ptegg) - cmpi cr0,1,r3,0x0000 - bne ..lps - addi r3,r0,12 - addi r8,r0,0x0001 - rlwinm r8,r8,16,0,31 - addi r8,r8,-1 - b ..spast -..lps: addi r3,r0,24 - addi r8,r0,0x0001 - rlwinm r8,r8,4,0,31 - addi r8,r8,-1 - /*--------------------------------------------------------------------+ - | Only lower 39 bits of VSID are used in hash function. - +--------------------------------------------------------------------*/ -..spast:rldicl r6,r6,0,25 - /*--------------------------------------------------------------------+ - | Discard page offset in effective address, only bits specified in - | the mask (r8) are used. - +--------------------------------------------------------------------*/ - srd r4,r4,r3 - and r4,r4,r8 - /*--------------------------------------------------------------------+ - | Perform hash function. - +--------------------------------------------------------------------*/ - xor r6,r6,r4 - nand r6,r6,r6 - /*--------------------------------------------------------------------+ - | 11 lowest bits from hash function are used directly. - +--------------------------------------------------------------------*/ - rlwinm r3,r6,7,14,24 - /*--------------------------------------------------------------------+ - | Shift output of the hash function by 11 bits. - +--------------------------------------------------------------------*/ - sradi r4,r6,11 - /*--------------------------------------------------------------------+ - | Calculate mask from sdr1.htabsize and AND it with upper 28 bits - | of the hash function result. - +--------------------------------------------------------------------*/ - rldicl r7,r5,0,59 - addi r8,r0,0x0001 - slw r8,r8,r7 - addi r8,r8,-1 - and r8,r8,r4 - /*--------------------------------------------------------------------+ - | Or in the 28+ 16 bits of the sdr1.htaborg. - +--------------------------------------------------------------------*/ - rldicl r5,r5,0,2 - addi r4,r0,0x0012 - srd r5,r5,r4 - or r4,r5,r8 - rldicr r4,r4,18,46 - or r3,r3,r4 - blr - function_epilog(s_ptegg) - -/*----------------------------------------------------------------------------+ -| ppcLwsync. -+----------------------------------------------------------------------------*/ - function_prolog(ppcLwsync) - sync 1 - blr - function_epilog(ppcLwsync) - -/*----------------------------------------------------------------------------+ -| ppcPtesync. -+----------------------------------------------------------------------------*/ - function_prolog(ppcPtesync) - sync 2 - blr - function_epilog(ppcPtesync) - -/*----------------------------------------------------------------------------+ -| ppcTestandset. r3=address, r4=value. -+----------------------------------------------------------------------------*/ - function_prolog(ppcTestandset) -..again:lwarx r5,r0,r3 - cmpwi cr0,r5,0x0000 - bne ..again - stwcx. r4,r0,r3 - bne ..again - blr - function_epilog(ppcTestandset) - -/*----------------------------------------------------------------------------+ -| ppcSlbmte. -+----------------------------------------------------------------------------*/ - function_prolog(ppcSlbmte) - slbmte r3,r4 - blr - function_epilog(ppcSlbmte) - -/*----------------------------------------------------------------------------+ -| ppcSlbie. -+----------------------------------------------------------------------------*/ - function_prolog(ppcSlbie) - slbie r3 - blr - function_epilog(ppcSlbie) - -/*----------------------------------------------------------------------------+ -| ppcSlbia. -+----------------------------------------------------------------------------*/ - function_prolog(ppcSlbia) - slbia - blr - function_epilog(ppcSlbia) - -/*----------------------------------------------------------------------------+ -| ppcSlbmfev. -+----------------------------------------------------------------------------*/ - function_prolog(ppcSlbmfev) - slbmfev r3,r3 - blr - function_epilog(ppcSlbmfev) - -/*----------------------------------------------------------------------------+ -| ppcSlbmfee. -+----------------------------------------------------------------------------*/ - function_prolog(ppcSlbmfee) - slbmfee r3,r3 - blr - function_epilog(ppcSlbmfee) - -/*----------------------------------------------------------------------------+ -| ppcTlbiel. -+----------------------------------------------------------------------------*/ - function_prolog(ppcTlbiel) - TLBIEL(r3) - blr - function_epilog(ppcTlbiel) - -/*----------------------------------------------------------------------------+ -| PpcStvx -+----------------------------------------------------------------------------*/ - function_prolog(ppcStvx) - rlwinm r3,r3,3,19,29 - addi r3,r3,0x0010 - mflr r6 - bl ..vr_sett_lr -..vr_sett_lr: - mflr r5 - add r5,r5,r3 - mtlr r5 - blr - stvx 0,r0,r4 - b ..ppcStvx_any_end - stvx 1,r0,r4 - b ..ppcStvx_any_end - stvx 2,r0,r4 - b ..ppcStvx_any_end - stvx 3,r0,r4 - b ..ppcStvx_any_end - stvx 4,r0,r4 - b ..ppcStvx_any_end - stvx 5,r0,r4 - b ..ppcStvx_any_end - stvx 6,r0,r4 - b ..ppcStvx_any_end - stvx 7,r0,r4 - b ..ppcStvx_any_end - stvx 8,r0,r4 - b ..ppcStvx_any_end - stvx 9,r0,r4 - b ..ppcStvx_any_end - stvx 10,r0,r4 - b ..ppcStvx_any_end - stvx 11,r0,r4 - b ..ppcStvx_any_end - stvx 12,r0,r4 - b ..ppcStvx_any_end - stvx 13,r0,r4 - b ..ppcStvx_any_end - stvx 14,r0,r4 - b ..ppcStvx_any_end - stvx 15,r0,r4 - b ..ppcStvx_any_end - stvx 16,r0,r4 - b ..ppcStvx_any_end - stvx 17,r0,r4 - b ..ppcStvx_any_end - stvx 18,r0,r4 - b ..ppcStvx_any_end - stvx 19,r0,r4 - b ..ppcStvx_any_end - stvx 20,r0,r4 - b ..ppcStvx_any_end - stvx 21,r0,r4 - b ..ppcStvx_any_end - stvx 22,r0,r4 - b ..ppcStvx_any_end - stvx 23,r0,r4 - b ..ppcStvx_any_end - stvx 24,r0,r4 - b ..ppcStvx_any_end - stvx 25,r0,r4 - b ..ppcStvx_any_end - stvx 26,r0,r4 - b ..ppcStvx_any_end - stvx 27,r0,r4 - b ..ppcStvx_any_end - stvx 28,r0,r4 - b ..ppcStvx_any_end - stvx 29,r0,r4 - b ..ppcStvx_any_end - stvx 30,r0,r4 - b ..ppcStvx_any_end - stvx 31,r0,r4 - b ..ppcStvx_any_end -..ppcStvx_any_end: - mtlr r6 - blr - function_epilog(ppcStvx) - -/*----------------------------------------------------------------------------+ -| PpcLvxl -+----------------------------------------------------------------------------*/ - function_prolog(ppcLvxl) - rlwinm r3,r3,3,19,29 - addi r3,r3,0x0010 - mflr r6 - bl ..vr_gett_lr -..vr_gett_lr: - mflr r5 - add r5,r5,r3 - mtlr r5 - blr - lvxl 0,r0,r4 - b ..ppcLvxl_any_end - lvxl 1,r0,r4 - b ..ppcLvxl_any_end - lvxl 2,r0,r4 - b ..ppcLvxl_any_end - lvxl 3,r0,r4 - b ..ppcLvxl_any_end - lvxl 4,r0,r4 - b ..ppcLvxl_any_end - lvxl 5,r0,r4 - b ..ppcLvxl_any_end - lvxl 6,r0,r4 - b ..ppcLvxl_any_end - lvxl 7,r0,r4 - b ..ppcLvxl_any_end - lvxl 8,r0,r4 - b ..ppcLvxl_any_end - lvxl 9,r0,r4 - b ..ppcLvxl_any_end - lvxl 10,r0,r4 - b ..ppcLvxl_any_end - lvxl 11,r0,r4 - b ..ppcLvxl_any_end - lvxl 12,r0,r4 - b ..ppcLvxl_any_end - lvxl 13,r0,r4 - b ..ppcLvxl_any_end - lvxl 14,r0,r4 - b ..ppcLvxl_any_end - lvxl 15,r0,r4 - b ..ppcLvxl_any_end - lvxl 16,r0,r4 - b ..ppcLvxl_any_end - lvxl 17,r0,r4 - b ..ppcLvxl_any_end - lvxl 18,r0,r4 - b ..ppcLvxl_any_end - lvxl 19,r0,r4 - b ..ppcLvxl_any_end - lvxl 20,r0,r4 - b ..ppcLvxl_any_end - lvxl 21,r0,r4 - b ..ppcLvxl_any_end - lvxl 22,r0,r4 - b ..ppcLvxl_any_end - lvxl 23,r0,r4 - b ..ppcLvxl_any_end - lvxl 24,r0,r4 - b ..ppcLvxl_any_end - lvxl 25,r0,r4 - b ..ppcLvxl_any_end - lvxl 26,r0,r4 - b ..ppcLvxl_any_end - lvxl 27,r0,r4 - b ..ppcLvxl_any_end - lvxl 28,r0,r4 - b ..ppcLvxl_any_end - lvxl 29,r0,r4 - b ..ppcLvxl_any_end - lvxl 30,r0,r4 - b ..ppcLvxl_any_end - lvxl 31,r0,r4 - b ..ppcLvxl_any_end -..ppcLvxl_any_end: - mtlr r6 - blr - function_epilog(ppcLvxl) - -/*----------------------------------------------------------------------------+ -| PpcMfvscr -+----------------------------------------------------------------------------*/ - function_prolog(ppcMfvscr) - mfvscr 0 - blr - function_epilog(ppcMfvscr) - -/*----------------------------------------------------------------------------+ -| PpcMtvscr -+----------------------------------------------------------------------------*/ - function_prolog(ppcMtvscr) - mtvscr 0 - blr - function_epilog(ppcMtvscr) -- cgit v1.2.3