On Thu, Dec 20, 2007 at 04:27:37PM -0500, linux-os (Dick Johnson) wrote:I need to get rid of -mregparm=3 on gcc's command line. It
is completely incompatible with the standard calling conventions
used in all our assembly-language files in our drivers. We make
very high-speed number-crunching drivers that munge high-speed
data into images. We need to do that in assembly as we have
always done.
Well I guess you can either fix the assembly once and for all to handle
the current linux way of doing things, or you can patch to kernel back
to the old ways of doing things when using your driver.
I suppose you could just add some wrapper functions to your assembly
that uses the new regparm calling method and then calls your methods the
old way and selectively enable those when regparm is used by the kernel
if you want to support all kernel versions. Or you could use inline
assembly in C functions to handle the calling convention for you.