Lines Matching +full:100 +full:base +full:- +full:fx
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
4 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org)
9 * Low-level exception handlers and MMU support
16 * This file contains the entry point for the 64-bit kernel along
17 * with some early initialization code common to all 64-bit powerpc
27 #include <asm/head-64.h>
28 #include <asm/asm-offsets.h>
41 #include <asm/ppc-opcode.h>
43 #include <asm/feature-fixups.h>
45 #include <asm/exception-64s.h>
47 #include <asm/exception-64e.h>
52 * using the layout described in exceptions-64s.S
61 * 3. If the RTAS supports "query-cpu-stopped-state", then secondary
62 * CPUs will enter as directed by "start-cpu" RTAS call, which is
65 * directed by the "start-cpu" RTS call, with PIR in r3.
66 * -or- For OPAL entry:
68 * 2. The primary CPU enters at 0 with device-tree in r3, OPAL base
96 /* Secondary processors spin on this value until it becomes non-zero.
97 * When non-zero, it contains the real address of the function the cpu
114 * is used by kexec-tools to keep the kdump kernel in the
122 #define RUN_AT_LOAD_DEFAULT 0x72756e30 /* "run0" -- relocate to 0 by default */
125 /* Do not move this variable as kexec-tools knows about it. */
167 100: ld r12,(ABS_ADDR(__secondary_hold_spinloop, first_256B))(r26)
169 beq 100b
201 #include "exceptions-64s.S"
287 * If the old value of BUCSR is non-zero, this thread has run
306 /* turn on 64-bit mode */
334 /* turn on 64-bit mode */
395 ld r8,0(r8) /* Get base vaddr of array */
483 * r5 != NULL -> OF entry, we go to prom_init, "legacy" parameter content
486 * r5 == NULL -> kexec style entry. r3 is a physical pointer to the
503 addis r26,r26,(_stext - 0b)@ha
504 addi r26,r26,(_stext - 0b)@l /* current runtime base addr */
507 * Are we booted from a PROM Of-type client-interface ?
511 b __boot_from_prom /* yes -> prom */
531 cmpwi r0,0x3c /* 970FX */
556 * Align the stack to 16-byte boundary
588 lis r25,PAGE_OFFSET@highest /* compute virtual base of kernel */
665 p_end: .8byte _end - copy_to_here
670 * _end - copy_to_here to the copy limit and run again.
688 addi r5,r5,-8
689 addi r6,r6,-8
742 /* turn on 64-bit mode */
768 ld r4,0(r4) /* Get base vaddr of paca_ptrs array */
847 * zero the stack back-chain pointer and get the TOC virtual address
888 * are running at the moment, using position-independent code.
891 * TOC in -mcmodel=medium mode. After we relocate to 0 but before
901 ld r2,(p_toc - 0b)(r11)
907 p_toc: .8byte .TOC. - 0b
921 * to clear it now for kexec-style entry.
929 addi r8,r8,-8
961 stdu r0,-STACK_FRAME_OVERHEAD(r1)