CVSROOT: /cvs Module name: src Changes by: m...@cvs.openbsd.org 2012/06/17 06:34:19
Modified files: sys/arch/mips64/mips64: genassym.cf sys/arch/sgi/include: asm.h sys/arch/sgi/sgi: ip30.h ip30_nmi.S locore.S sys/arch/sgi/xbow: xheartreg.h Log message: Using the LLAddr register to store our curcpu() pointer on R10k SMP kernels was a nice trick, but this register is only 32-bit wide and will be sign-extended, which requires all cpu_info structs to be allocated within 2GB physical - something which may not be possible on some configurations. This diff changes IP30.MP kernels to no longer use LLAddr to store curcpu, but use unused fields of the MPConf structure in low memory, indexed with the physical processor id, which can be obtained from the Heart PRID register.