Lines Matching +full:0 +full:x2e0
39 #define SPECIAL_EXC_SRR0 0
83 lwz r12,0(r11)
119 li r10,0
145 lwz r12,0(r11)
164 PPC_TLBILX_ALL(0,R0)
200 stdcx. r0,0,r1 /* to clear the reservation */
228 REST_GPR(0, r1)
264 cmpdi cr1,r1,0; /* check if SP makes sense */ \
368 SAVE_GPR(0, r1); /* save r0 in stackframe */ \
385 ZEROIZE_GPR(0); \
393 std r9,0(r1); /* store stack frame back link */ \
450 rlwinm r7,r10,0,~_TLF_NAPPING; \
471 .balign 0x1000
474 EXCEPTION_STUB(0x000, machine_check)
475 EXCEPTION_STUB(0x020, critical_input) /* 0x0100 */
476 EXCEPTION_STUB(0x040, debug_crit) /* 0x0d00 */
477 EXCEPTION_STUB(0x060, data_storage) /* 0x0300 */
478 EXCEPTION_STUB(0x080, instruction_storage) /* 0x0400 */
479 EXCEPTION_STUB(0x0a0, external_input) /* 0x0500 */
480 EXCEPTION_STUB(0x0c0, alignment) /* 0x0600 */
481 EXCEPTION_STUB(0x0e0, program) /* 0x0700 */
482 EXCEPTION_STUB(0x100, fp_unavailable) /* 0x0800 */
483 EXCEPTION_STUB(0x120, system_call) /* 0x0c00 */
484 EXCEPTION_STUB(0x140, ap_unavailable) /* 0x0f20 */
485 EXCEPTION_STUB(0x160, decrementer) /* 0x0900 */
486 EXCEPTION_STUB(0x180, fixed_interval) /* 0x0980 */
487 EXCEPTION_STUB(0x1a0, watchdog) /* 0x09f0 */
488 EXCEPTION_STUB(0x1c0, data_tlb_miss_bolted)
489 EXCEPTION_STUB(0x1e0, instruction_tlb_miss_bolted)
490 EXCEPTION_STUB(0x200, altivec_unavailable)
491 EXCEPTION_STUB(0x220, altivec_assist)
492 EXCEPTION_STUB(0x260, perfmon)
493 EXCEPTION_STUB(0x280, doorbell)
494 EXCEPTION_STUB(0x2a0, doorbell_crit)
495 EXCEPTION_STUB(0x2c0, guest_doorbell)
496 EXCEPTION_STUB(0x2e0, guest_doorbell_crit)
497 EXCEPTION_STUB(0x300, hypercall)
498 EXCEPTION_STUB(0x320, ehpriv)
499 EXCEPTION_STUB(0x340, lrat_error)
506 CRIT_EXCEPTION_PROLOG(0x100, BOOKE_INTERRUPT_CRITICAL,
508 EXCEPTION_COMMON_CRIT(0x100)
517 MC_EXCEPTION_PROLOG(0x000, BOOKE_INTERRUPT_MACHINE_CHECK,
519 EXCEPTION_COMMON_MC(0x000)
528 NORMAL_EXCEPTION_PROLOG(0x300, BOOKE_INTERRUPT_DATA_STORAGE,
536 EXCEPTION_COMMON(0x300)
541 NORMAL_EXCEPTION_PROLOG(0x400, BOOKE_INTERRUPT_INST_STORAGE,
543 li r15,0
549 EXCEPTION_COMMON(0x400)
553 MASKABLE_EXCEPTION(0x500, BOOKE_INTERRUPT_EXTERNAL,
558 NORMAL_EXCEPTION_PROLOG(0x600, BOOKE_INTERRUPT_ALIGNMENT,
566 EXCEPTION_COMMON(0x600)
571 NORMAL_EXCEPTION_PROLOG(0x700, BOOKE_INTERRUPT_PROGRAM,
576 EXCEPTION_COMMON(0x700)
584 NORMAL_EXCEPTION_PROLOG(0x800, BOOKE_INTERRUPT_FP_UNAVAIL,
587 EXCEPTION_COMMON(0x800)
599 NORMAL_EXCEPTION_PROLOG(0x200, BOOKE_INTERRUPT_ALTIVEC_UNAVAIL,
602 EXCEPTION_COMMON(0x200)
619 NORMAL_EXCEPTION_PROLOG(0x220,
622 EXCEPTION_COMMON(0x220)
636 MASKABLE_EXCEPTION(0x900, BOOKE_INTERRUPT_DECREMENTER,
640 MASKABLE_EXCEPTION(0x980, BOOKE_INTERRUPT_FIT,
645 CRIT_EXCEPTION_PROLOG(0x9f0, BOOKE_INTERRUPT_WATCHDOG,
647 EXCEPTION_COMMON_CRIT(0x9f0)
668 NORMAL_EXCEPTION_PROLOG(0xf20, BOOKE_INTERRUPT_AP_UNAVAIL,
670 EXCEPTION_COMMON(0xf20)
677 CRIT_EXCEPTION_PROLOG(0xd00, BOOKE_INTERRUPT_DEBUG,
710 rlwinm r11,r11,0,~MSR_DE /* clear DE in the CSRR1 value */
737 EXCEPTION_COMMON_CRIT(0xd00)
748 DBG_EXCEPTION_PROLOG(0xd00, BOOKE_INTERRUPT_DEBUG,
781 rlwinm r11,r11,0,~MSR_DE /* clear DE in the DSRR1 value */
808 EXCEPTION_COMMON_DBG(0xd08)
815 NORMAL_EXCEPTION_PROLOG(0x260, BOOKE_INTERRUPT_PERFORMANCE_MONITOR,
817 EXCEPTION_COMMON(0x260)
831 MASKABLE_EXCEPTION(0x280, BOOKE_INTERRUPT_DOORBELL,
836 CRIT_EXCEPTION_PROLOG(0x2a0, BOOKE_INTERRUPT_DOORBELL_CRITICAL,
838 EXCEPTION_COMMON_CRIT(0x2a0)
850 GDBELL_EXCEPTION_PROLOG(0x2c0, BOOKE_INTERRUPT_GUEST_DBELL,
852 EXCEPTION_COMMON(0x2c0)
859 CRIT_EXCEPTION_PROLOG(0x2e0, BOOKE_INTERRUPT_GUEST_DBELL_CRIT,
861 EXCEPTION_COMMON_CRIT(0x2e0)
870 NORMAL_EXCEPTION_PROLOG(0x310, BOOKE_INTERRUPT_HV_SYSCALL,
872 EXCEPTION_COMMON(0x310)
879 NORMAL_EXCEPTION_PROLOG(0x320, BOOKE_INTERRUPT_HV_PRIV,
881 EXCEPTION_COMMON(0x320)
888 NORMAL_EXCEPTION_PROLOG(0x340, BOOKE_INTERRUPT_LRAT_ERROR,
890 EXCEPTION_COMMON(0x340)
907 ld r11,0(r14)
919 li r11,0
949 cmpdi r11,0
970 masked_interrupt_book3e PACA_IRQ_DEC 0
974 masked_interrupt_book3e PACA_IRQ_DEC 0
978 masked_interrupt_book3e PACA_IRQ_DBELL 0
981 * This is called from 0x300 and 0x400 handlers after the prologs with
992 * Alignment exception doesn't fit entirely in the 0x100 bytes so it
1009 BAD_STACK_TRAMPOLINE(0x000)
1010 BAD_STACK_TRAMPOLINE(0x100)
1011 BAD_STACK_TRAMPOLINE(0x200)
1012 BAD_STACK_TRAMPOLINE(0x220)
1013 BAD_STACK_TRAMPOLINE(0x260)
1014 BAD_STACK_TRAMPOLINE(0x280)
1015 BAD_STACK_TRAMPOLINE(0x2a0)
1016 BAD_STACK_TRAMPOLINE(0x2c0)
1017 BAD_STACK_TRAMPOLINE(0x2e0)
1018 BAD_STACK_TRAMPOLINE(0x300)
1019 BAD_STACK_TRAMPOLINE(0x310)
1020 BAD_STACK_TRAMPOLINE(0x320)
1021 BAD_STACK_TRAMPOLINE(0x340)
1022 BAD_STACK_TRAMPOLINE(0x400)
1023 BAD_STACK_TRAMPOLINE(0x500)
1024 BAD_STACK_TRAMPOLINE(0x600)
1025 BAD_STACK_TRAMPOLINE(0x700)
1026 BAD_STACK_TRAMPOLINE(0x800)
1027 BAD_STACK_TRAMPOLINE(0x900)
1028 BAD_STACK_TRAMPOLINE(0x980)
1029 BAD_STACK_TRAMPOLINE(0x9f0)
1030 BAD_STACK_TRAMPOLINE(0xa00)
1031 BAD_STACK_TRAMPOLINE(0xb00)
1032 BAD_STACK_TRAMPOLINE(0xc00)
1033 BAD_STACK_TRAMPOLINE(0xd00)
1034 BAD_STACK_TRAMPOLINE(0xd08)
1035 BAD_STACK_TRAMPOLINE(0xe00)
1036 BAD_STACK_TRAMPOLINE(0xf00)
1037 BAD_STACK_TRAMPOLINE(0xf20)
1054 SAVE_GPR(0, r1); /* save r0 in stackframe */ \
1073 std r11,0(r1)
1075 std r12,0(r11)
1091 lis r3,MAS0_TLBSEL(0)@h
1126 tlbsx 0,r6 /* search MSR[IS], SPID=PID */
1143 li r6,0 /* Set Entry counter to 0 */
1149 rlwinm r7,r7,0,2,31 /* Clear MAS1 Valid and IPROT */
1160 PPC_TLBILX_ALL(0,R0)
1169 andi. r7,r5,0x1 /* Find an entry not used and is non-zero */
1170 addi r7,r7,0x1
1200 li r6,0
1213 rlwinm r6,r6,0,2,31 /* clear IPROT and VALID */
1219 /* 6. Setup KERNELBASE mapping in TLB[0]
1225 rlwinm r3,r3,0,16,3 /* clear ESEL */
1234 rlwinm r5,r5,0,0,25
1238 rlwinm r5,r5,0,0,25
1255 rfi /* start execution out of TLB1[0] entry */
1265 rlwinm r5,r5,0,2,31 /* clear IPROT and VALID */
1277 /* Setup MAS 0,1,2,3 and 7 for tlbwe of a 1G entry that maps the
1305 li r3,0
1330 li r5,0
1332 tlbsx 0,r3
1334 rlwinm r9,r4,0,TLBnCFG_N_ENTRY
1335 rlwinm r10,r4,8,0xff
1341 rlwinm r5,r5,0,(~(MAS1_VALID|MAS1_IPROT))
1344 rldicr r6,r6,0,51 /* Extract EPN */
1347 rlwinm r7,r7,0,0xffff0fff /* Clear HES and WQ */
1349 rlwinm r8,r7,16,0xfff /* Extract ESEL */
1373 PPC_TLBILX(0,0,R0)
1387 * Main entry (boot CPU, thread 0)
1395 * - Kernel loaded at 0 physical
1396 * - A good lump of memory mapped 0:0 by UTLB entry 0
1397 * - MSR:IS & MSR:DS set to 0
1408 * and always use AS 0, so we just set it up to match our link
1409 * address and never use 0 based addresses.
1428 * This is entered for thread 0 of a secondary core, all other threads
1444 cmplwi r4,0
1465 * 1:1 mapping at 0, so we don't bother doing a complicated check
1474 cmpdi cr0,r28,0
1499 wrteei 0
1502 li r3,0
1511 SET_IVOR(0, 0x020) /* Critical Input */
1512 SET_IVOR(1, 0x000) /* Machine Check */
1513 SET_IVOR(2, 0x060) /* Data Storage */
1514 SET_IVOR(3, 0x080) /* Instruction Storage */
1515 SET_IVOR(4, 0x0a0) /* External Input */
1516 SET_IVOR(5, 0x0c0) /* Alignment */
1517 SET_IVOR(6, 0x0e0) /* Program */
1518 SET_IVOR(7, 0x100) /* FP Unavailable */
1519 SET_IVOR(8, 0x120) /* System Call */
1520 SET_IVOR(9, 0x140) /* Auxiliary Processor Unavailable */
1521 SET_IVOR(10, 0x160) /* Decrementer */
1522 SET_IVOR(11, 0x180) /* Fixed Interval Timer */
1523 SET_IVOR(12, 0x1a0) /* Watchdog Timer */
1524 SET_IVOR(13, 0x1c0) /* Data TLB Error */
1525 SET_IVOR(14, 0x1e0) /* Instruction TLB Error */
1526 SET_IVOR(15, 0x040) /* Debug */
1533 SET_IVOR(32, 0x200) /* AltiVec Unavailable */
1534 SET_IVOR(33, 0x220) /* AltiVec Assist */
1538 SET_IVOR(35, 0x260) /* Performance Monitor */
1542 SET_IVOR(36, 0x280) /* Processor Doorbell */
1543 SET_IVOR(37, 0x2a0) /* Processor Doorbell Crit */
1547 SET_IVOR(40, 0x300) /* Embedded Hypervisor System Call */
1548 SET_IVOR(41, 0x320) /* Embedded Hypervisor Privilege */
1549 SET_IVOR(38, 0x2c0) /* Guest Processor Doorbell */
1550 SET_IVOR(39, 0x2e0) /* Guest Processor Doorbell Crit/MC */
1554 SET_IVOR(42, 0x340) /* LRAT Error */