Subject: Re: process_machdep.c
To: Patrick Welche <prlw1@cam.ac.uk>
From: Mark Brinicombe <mark@causality.com>
List: port-arm32
Date: 02/22/1998 23:43:19
On Sun, 22 Feb 1998, Patrick Welche wrote:

> The thing is arm_fpe_{get,set}context is defined in
> src/sys/arch/arm32/fpe-arm/armfpe.h
> which isn't included in
> src/sys/arch/arm32/arm32/process_machdep.c
> (nor any of its includes)
> so would a
> 
> #ifdef ARMFPE
> #include "../fpe-arm/armfpe.h
> #endif
> 
> be in order in process_machdep.c ?
> 
> [Time passes]
> 
> Nope: armfpe.h 109,110 syntax error before `*'
> ..    process_machdep.c: 123,163: warning: passing arg 2 of
>         `arm_fpe_{get,set}context' from incompatible type
> 
> But I can't see one:
> armfpe.h:
> void arm_fpe_{get,set}context __P((struct proc *p, fp_reg_t *fpregs));
> 
> fp_reg_t is defined in <machine/fp.h> which is included by armfpe.h

Ok I have cleaned things up and the FPE will now build ok. the
arm_fpe_{get,set}context() functions should have been taking struct fpreg
pointers as the second argument as anything else should be private to the
FPE and it is up to them to convert the internal FP context to one the
kernel can pass to the user. At the moment as it happens these two
contexts are structurally the same but that should not matter outside the
FPE.

You will need to update

arm32/process_machdep.c
fpe-arm/armfpe.h
fpe-arm/armfpe_init.c

and things should then build ok.

Cheers,
				Mark