Server : Apache/2.4.18 (Ubuntu) System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64 User : oppastar ( 1041) PHP Version : 7.0.33-0ubuntu0.16.04.15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Directory : /lib/modules/4.4.0-45-generic/build/arch/mips/include/asm/mach-paravirt/ |
Upload File : |
/* * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (C) 2013 Cavium, Inc */ #ifndef __ASM_MACH_PARAVIRT_KERNEL_ENTRY_H #define __ASM_MACH_PARAVIRT_KERNEL_ENTRY_H #define CP0_EBASE $15, 1 .macro kernel_entry_setup mfc0 t0, CP0_EBASE andi t0, t0, 0x3ff # CPUNum beqz t0, 1f # CPUs other than zero goto smp_bootstrap j smp_bootstrap 1: .endm /* * Do SMP slave processor setup necessary before we can safely execute * C code. */ .macro smp_slave_setup mfc0 t0, CP0_EBASE andi t0, t0, 0x3ff # CPUNum slti t1, t0, NR_CPUS bnez t1, 1f 2: di wait b 2b # Unknown CPU, loop forever. 1: PTR_LA t1, paravirt_smp_sp PTR_SLL t0, PTR_SCALESHIFT PTR_ADDU t1, t1, t0 3: PTR_L sp, 0(t1) beqz sp, 3b # Spin until told to proceed. PTR_LA t1, paravirt_smp_gp PTR_ADDU t1, t1, t0 sync PTR_L gp, 0(t1) .endm #endif /* __ASM_MACH_PARAVIRT_KERNEL_ENTRY_H */