entry_32.S (002c6ca75289a4ac4f6738213dd2d258704886e4) entry_32.S (2da37761671b5bdedbe04e6469cfa57cd6b6ae45)
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * PowerPC version
4 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org)
5 * Rewritten by Cort Dougan (cort@fsmlabs.com) for PReP
6 * Copyright (C) 1996 Cort Dougan <cort@fsmlabs.com>
7 * Adapted for Power Macintosh by Paul Mackerras.
8 * Low-level exception handlers and MMU support

--- 4 unchanged lines hidden (view full) ---

13 * This file contains the system call entry code, context switch
14 * code, and exception/interrupt return code for PowerPC.
15 */
16
17#include <linux/errno.h>
18#include <linux/err.h>
19#include <linux/sys.h>
20#include <linux/threads.h>
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * PowerPC version
4 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org)
5 * Rewritten by Cort Dougan (cort@fsmlabs.com) for PReP
6 * Copyright (C) 1996 Cort Dougan <cort@fsmlabs.com>
7 * Adapted for Power Macintosh by Paul Mackerras.
8 * Low-level exception handlers and MMU support

--- 4 unchanged lines hidden (view full) ---

13 * This file contains the system call entry code, context switch
14 * code, and exception/interrupt return code for PowerPC.
15 */
16
17#include <linux/errno.h>
18#include <linux/err.h>
19#include <linux/sys.h>
20#include <linux/threads.h>
21#include <linux/linkage.h>
22
21#include <asm/reg.h>
22#include <asm/page.h>
23#include <asm/mmu.h>
24#include <asm/cputable.h>
25#include <asm/thread_info.h>
26#include <asm/ppc_asm.h>
27#include <asm/asm-offsets.h>
28#include <asm/unistd.h>

--- 40 unchanged lines hidden (view full) ---

69 rlwinm r9,r9,0,~MSR_EE
70 lwz r12,_LINK(r11) /* and return to address in LR */
71 REST_GPR(2, r11)
72 b fast_exception_return
73_ASM_NOKPROBE_SYMBOL(prepare_transfer_to_handler)
74#endif /* CONFIG_PPC_BOOK3S_32 || CONFIG_PPC_E500 */
75
76#if defined(CONFIG_PPC_KUEP) && defined(CONFIG_PPC_BOOK3S_32)
23#include <asm/reg.h>
24#include <asm/page.h>
25#include <asm/mmu.h>
26#include <asm/cputable.h>
27#include <asm/thread_info.h>
28#include <asm/ppc_asm.h>
29#include <asm/asm-offsets.h>
30#include <asm/unistd.h>

--- 40 unchanged lines hidden (view full) ---

71 rlwinm r9,r9,0,~MSR_EE
72 lwz r12,_LINK(r11) /* and return to address in LR */
73 REST_GPR(2, r11)
74 b fast_exception_return
75_ASM_NOKPROBE_SYMBOL(prepare_transfer_to_handler)
76#endif /* CONFIG_PPC_BOOK3S_32 || CONFIG_PPC_E500 */
77
78#if defined(CONFIG_PPC_KUEP) && defined(CONFIG_PPC_BOOK3S_32)
77 .globl __kuep_lock
78__kuep_lock:
79SYM_FUNC_START(__kuep_lock)
79 lwz r9, THREAD+THSR0(r2)
80 update_user_segments_by_4 r9, r10, r11, r12
81 blr
80 lwz r9, THREAD+THSR0(r2)
81 update_user_segments_by_4 r9, r10, r11, r12
82 blr
83SYM_FUNC_END(__kuep_lock)
82
84
83__kuep_unlock:
85SYM_FUNC_START_LOCAL(__kuep_unlock)
84 lwz r9, THREAD+THSR0(r2)
85 rlwinm r9,r9,0,~SR_NX
86 update_user_segments_by_4 r9, r10, r11, r12
87 blr
86 lwz r9, THREAD+THSR0(r2)
87 rlwinm r9,r9,0,~SR_NX
88 update_user_segments_by_4 r9, r10, r11, r12
89 blr
90SYM_FUNC_END(__kuep_unlock)
88
89.macro kuep_lock
90 bl __kuep_lock
91.endm
92.macro kuep_unlock
93 bl __kuep_unlock
94.endm
95#else

--- 456 unchanged lines hidden ---
91
92.macro kuep_lock
93 bl __kuep_lock
94.endm
95.macro kuep_unlock
96 bl __kuep_unlock
97.endm
98#else

--- 456 unchanged lines hidden ---