Fix register usage in previous proc0paddr->lwp0.l_addr change: do not

overwrite %r1 yet, it is later used to calculate the kernel stack pointer.
As a side effect the right value is stored in $PR_PCBB again.
This commit is contained in:
martin 2009-12-12 12:19:21 +00:00
parent a75e0b5b4d
commit f714d75546
1 changed files with 2 additions and 2 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: subr.S,v 1.28 2009/12/10 05:10:04 rmind Exp $ */
/* $NetBSD: subr.S,v 1.29 2009/12/12 12:19:21 martin Exp $ */
/*
* Copyright (c) 1994 Ludd, University of Lule}, Sweden.
@ -124,7 +124,7 @@ to: movw $0xfff,_C_LABEL(panic) # Save all regs in panic
3: addl3 _C_LABEL(esym),$0x3ff,%r0 # Round symbol table end
bicl3 $0x3ff,%r0,%r1 #
movl %r1,_C_LABEL(lwp0)+L_PCB # lwp0 pcb, XXXuvm_lwp_getuarea
bicl2 $0x80000000,%r1 # get phys lwp0 uarea addr
bicl3 $0x80000000,%r1,%r0 # get phys lwp0 uarea addr
mtpr %r0,$PR_PCBB # Save in IPR PCBB
addl3 $USPACE,%r1,%r0 # Get kernel stack top
mtpr %r0,$PR_KSP # put in IPR KSP