entry_32.S (446279168e030fd0ed68e2bba336bef8bb3da352) entry_32.S (688de017efaab8a7764ab2c05ce7128d0361023b)
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

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

44
45/*
46 * Align to 4k in order to ensure that all functions modyfing srr0/srr1
47 * fit into one page in order to not encounter a TLB miss between the
48 * modification of srr0/srr1 and the associated rfi.
49 */
50 .align 12
51
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

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

44
45/*
46 * Align to 4k in order to ensure that all functions modyfing srr0/srr1
47 * fit into one page in order to not encounter a TLB miss between the
48 * modification of srr0/srr1 and the associated rfi.
49 */
50 .align 12
51
52#if defined(CONFIG_PPC_BOOK3S_32) || defined(CONFIG_E500)
52#if defined(CONFIG_PPC_BOOK3S_32) || defined(CONFIG_PPC_E500)
53 .globl prepare_transfer_to_handler
54prepare_transfer_to_handler:
55 /* if from kernel, check interrupted DOZE/NAP mode */
56 lwz r12,TI_LOCAL_FLAGS(r2)
57 mtcrf 0x01,r12
58 bt- 31-TLF_NAPPING,4f
59 bt- 31-TLF_SLEEPING,7f
60 blr

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

667: rlwinm r12,r12,0,~_TLF_SLEEPING
67 stw r12,TI_LOCAL_FLAGS(r2)
68 lwz r9,_MSR(r11) /* if sleeping, clear MSR.EE */
69 rlwinm r9,r9,0,~MSR_EE
70 lwz r12,_LINK(r11) /* and return to address in LR */
71 lwz r2, GPR2(r11)
72 b fast_exception_return
73_ASM_NOKPROBE_SYMBOL(prepare_transfer_to_handler)
53 .globl prepare_transfer_to_handler
54prepare_transfer_to_handler:
55 /* if from kernel, check interrupted DOZE/NAP mode */
56 lwz r12,TI_LOCAL_FLAGS(r2)
57 mtcrf 0x01,r12
58 bt- 31-TLF_NAPPING,4f
59 bt- 31-TLF_SLEEPING,7f
60 blr

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

667: rlwinm r12,r12,0,~_TLF_SLEEPING
67 stw r12,TI_LOCAL_FLAGS(r2)
68 lwz r9,_MSR(r11) /* if sleeping, clear MSR.EE */
69 rlwinm r9,r9,0,~MSR_EE
70 lwz r12,_LINK(r11) /* and return to address in LR */
71 lwz r2, GPR2(r11)
72 b fast_exception_return
73_ASM_NOKPROBE_SYMBOL(prepare_transfer_to_handler)
74#endif /* CONFIG_PPC_BOOK3S_32 || CONFIG_E500 */
74#endif /* CONFIG_PPC_BOOK3S_32 || CONFIG_PPC_E500 */
75
76#if defined(CONFIG_PPC_KUEP) && defined(CONFIG_PPC_BOOK3S_32)
77 .globl __kuep_lock
78__kuep_lock:
79 lwz r9, THREAD+THSR0(r2)
80 update_user_segments_by_4 r9, r10, r11, r12
81 blr
82

--- 475 unchanged lines hidden ---
75
76#if defined(CONFIG_PPC_KUEP) && defined(CONFIG_PPC_BOOK3S_32)
77 .globl __kuep_lock
78__kuep_lock:
79 lwz r9, THREAD+THSR0(r2)
80 update_user_segments_by_4 r9, r10, r11, r12
81 blr
82

--- 475 unchanged lines hidden ---