CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2009/07/29 12:31:11
Modified files:
sys/arch/hppa/include: pcb.h
sys/arch/hppa/hppa: genassym.cf hpux_machdep.c locore.S
machdep.c pmap.c process_machdep.c
vm_machdep.c
Log message:
Get rid of non-equivalent aliases of the pcb by moving the fpu state out
of the pcb and using the p_addr member of 'struct proc' to calculate the
address of the kernel stack when switching to virtual mode after taking a trap.
Remove the now unecessary cache flushes; they're actually harmful since they
create non-equivalent aliases. This seems to fix the memory corruption we
have been observing from time to time.
This diff does not rename fpu_curpcb, which is now somewhat incorrectly named.
I hope to change things back again as soon as we are able to map the pcb 1:1.