Subject: Re: CVS commit: src/sys/arch
To: None <fvdl@netbsd.org>
From: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
List: port-amd64
Date: 02/22/2004 18:54:31
hi,

> Module Name:	src
> Committed By:	fvdl
> Date:		Wed Aug 20 21:48:53 UTC 2003
> 
> Modified Files:
> 	src/sys/arch/amd64/amd64: locore.S netbsd32_syscall.c spl.S syscall.c
> 	    trap.c vector.S
> 	src/sys/arch/amd64/conf: files.amd64
> 	src/sys/arch/amd64/include: proc.h
> 	src/sys/arch/i386/i386: compat_13_machdep.c freebsd_machdep.c
> 	    freebsd_syscall.c ibcs2_syscall.c linux_syscall.c locore.S
> 	    mach_sigcode.S mach_syscall.c machdep.c process_machdep.c spl.S
> 	    svr4_machdep.c svr4_sigcode.S svr4_syscall.c syscall.c trap.c
> 	    vector.S
> 	src/sys/arch/i386/include: proc.h
> 	src/sys/arch/x86/include: intr.h
> 	src/sys/arch/x86/x86: intr.c
> 
> Log Message:
> Pass pointers to frames from assembly, do not use the 'frame on stack
> as argument passed by value' trick, as gcc 3.3.x makes (valid) assumptions
> about the stack that will not be true. Costs 2 instructions per trap/syscall
> on i386, 4 per interrupt for MP. One instruction per trap/syscall on amd64,
> 2 per interrupt for MP. I expect gcc 3.3.1 to make up for this by better
> optimization (it'd better..)

aren't clockintr() and npxintr() affected by the assumption?

YAMAMOTO Takashi