diff options
author | 2007-10-16 21:44:25 +0000 | |
---|---|---|
committer | 2007-10-16 21:44:25 +0000 | |
commit | 41eed53f5298050b0994d01227e1bec3d7196fc1 (patch) | |
tree | d892955a870e5b54c05b3ba07c72bcc64d1caad2 | |
parent | Make ospf6ctl compile again and especially make ospf6ctl show database work (diff) | |
download | wireguard-openbsd-41eed53f5298050b0994d01227e1bec3d7196fc1.tar.xz wireguard-openbsd-41eed53f5298050b0994d01227e1bec3d7196fc1.zip |
For MULTIPROCESSOR kernels, make cpu_switchto() set p->p_cpu.
-rw-r--r-- | sys/arch/sparc64/sparc64/genassym.cf | 3 | ||||
-rw-r--r-- | sys/arch/sparc64/sparc64/locore.s | 6 |
2 files changed, 6 insertions, 3 deletions
diff --git a/sys/arch/sparc64/sparc64/genassym.cf b/sys/arch/sparc64/sparc64/genassym.cf index 87f75170744..a304b709161 100644 --- a/sys/arch/sparc64/sparc64/genassym.cf +++ b/sys/arch/sparc64/sparc64/genassym.cf @@ -1,4 +1,4 @@ -# $OpenBSD: genassym.cf,v 1.22 2007/09/30 21:34:20 kettenis Exp $ +# $OpenBSD: genassym.cf,v 1.23 2007/10/16 21:44:25 kettenis Exp $ # $NetBSD: genassym.cf,v 1.23 2001/08/08 00:09:30 eeh Exp $ # @@ -115,6 +115,7 @@ member p_stat member p_wchan member p_vmspace member p_pid +member p_cpu member P_FPSTATE p_md.md_fpstate member P_MD_ASTPENDING p_md.md_astpending diff --git a/sys/arch/sparc64/sparc64/locore.s b/sys/arch/sparc64/sparc64/locore.s index db824e1d941..7f61543bd87 100644 --- a/sys/arch/sparc64/sparc64/locore.s +++ b/sys/arch/sparc64/sparc64/locore.s @@ -1,4 +1,4 @@ -/* $OpenBSD: locore.s,v 1.85 2007/10/16 19:22:49 kettenis Exp $ */ +/* $OpenBSD: locore.s,v 1.86 2007/10/16 21:44:25 kettenis Exp $ */ /* $NetBSD: locore.s,v 1.137 2001/08/13 06:10:10 jdolecek Exp $ */ /* @@ -5665,9 +5665,11 @@ ENTRY(cpu_switchto) */ #if defined(MULTIPROCESSOR) /* - * XXXSMP * p->p_cpu = curcpu(); */ + sethi %hi(CPUINFO_VA+CI_SELF), %o0 + ldx [%o0 + %lo(CPUINFO_VA+CI_SELF)], %o0 + stx %o0, [%l3 + P_CPU] #endif /* defined(MULTIPROCESSOR) */ mov SONPROC, %o0 ! p->p_stat = SONPROC stb %o0, [%l3 + P_STAT] |