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 --- |