process_64.c (4f2c0a4acffbec01079c28f839422e64ddeff004) process_64.c (89b3098703bd2aa3237ef10a704e6a5838e6ea69)
1// SPDX-License-Identifier: GPL-2.0
2/* arch/sparc64/kernel/process.c
3 *
4 * Copyright (C) 1995, 1996, 2008 David S. Miller (davem@davemloft.net)
5 * Copyright (C) 1996 Eddie C. Dost (ecd@skynet.be)
6 * Copyright (C) 1997, 1998 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
7 */
8

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

54
55#include "kstack.h"
56
57/* Idle loop support on sparc64. */
58void arch_cpu_idle(void)
59{
60 if (tlb_type != hypervisor) {
61 touch_nmi_watchdog();
1// SPDX-License-Identifier: GPL-2.0
2/* arch/sparc64/kernel/process.c
3 *
4 * Copyright (C) 1995, 1996, 2008 David S. Miller (davem@davemloft.net)
5 * Copyright (C) 1996 Eddie C. Dost (ecd@skynet.be)
6 * Copyright (C) 1997, 1998 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
7 */
8

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

54
55#include "kstack.h"
56
57/* Idle loop support on sparc64. */
58void arch_cpu_idle(void)
59{
60 if (tlb_type != hypervisor) {
61 touch_nmi_watchdog();
62 raw_local_irq_enable();
63 } else {
64 unsigned long pstate;
65
66 raw_local_irq_enable();
67
68 /* The sun4v sleeping code requires that we have PSTATE.IE cleared over
69 * the cpu sleep hypervisor call.
70 */

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

85
86 /* Re-enable interrupts. */
87 __asm__ __volatile__(
88 "rdpr %%pstate, %0\n\t"
89 "or %0, %1, %0\n\t"
90 "wrpr %0, %%g0, %%pstate"
91 : "=&r" (pstate)
92 : "i" (PSTATE_IE));
62 } else {
63 unsigned long pstate;
64
65 raw_local_irq_enable();
66
67 /* The sun4v sleeping code requires that we have PSTATE.IE cleared over
68 * the cpu sleep hypervisor call.
69 */

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

84
85 /* Re-enable interrupts. */
86 __asm__ __volatile__(
87 "rdpr %%pstate, %0\n\t"
88 "or %0, %1, %0\n\t"
89 "wrpr %0, %%g0, %%pstate"
90 : "=&r" (pstate)
91 : "i" (PSTATE_IE));
92
93 raw_local_irq_disable();
93 }
94}
95
96#ifdef CONFIG_HOTPLUG_CPU
97void arch_cpu_idle_dead(void)
98{
99 sched_preempt_enable_no_resched();
100 cpu_play_dead();

--- 582 unchanged lines hidden ---
94 }
95}
96
97#ifdef CONFIG_HOTPLUG_CPU
98void arch_cpu_idle_dead(void)
99{
100 sched_preempt_enable_no_resched();
101 cpu_play_dead();

--- 582 unchanged lines hidden ---