Subject: Re: changed files: 'src/sys/sys proc.h'
To: Theo Deraadt <deraadt@fsa.ca>
From: John Brezak <brezak@apollo.hp.com>
List: source-changes
Date: 11/21/1993 10:17:04
> If you ever try to use an emulation, you're going to have to do
> it like this
>
> #ifdef COMPAT_SUNOS
> if (p->p_emul == EMUL_SUNOS)
> ...
> #endif
>
> This lets the EMUL_* flags be defined per processor. it does
> not make sense to have p_emul ever have a value of EMUL_SUNOS
> on an i386 (let's not talk about the 386i, that bastard creation
> was never really sunos)
>
> > there shouldn't be that many EMUL's...
>
> i don't think this is relevant. the case is that an EMUL_AMIGAUNIX
> should never occur anywhere except if there is an equivelant
> COMPAT_AMIGAUNIX flag defined for the kernel.. so no problem.
Another way to do this might be to leave a place for a macro hook in common
places in the MI code.
> #ifdef COMPAT_SUNOS
> if (p->p_emul == EMUL_SUNOS)
> ...
> #endif
This would become (if it is in fork for example)
#ifdef MD_FORK_HOOK
MD_FORK_HOOK
#endif
Then in a file like machine/hooks.h it would have the correct code for
things. Similar things can be done in sys/proc.h and have the proc struct
hooks in machine/proc.h .
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
John Brezak UUCP: uunet!apollo.hp!brezak
Hewlett Packard/Apollo Internet: brezak@ch.hp.com
300 Apollo Drive Phone: (508) 436-4915
Chelmsford, Massachusetts Fax: (508) 436-5103
------------------------------------------------------------------------------