[OpenAFS-devel] Tru64 5.1

Harald Barth haba@pdc.kth.se
Thu, 01 Mar 2001 17:40:02 +0100


> You mean struct sysent changed from 5.0A?

Yes. Tomorrow I can verify how this looks in 5.1. 

This is from 5.0A:
----------------
/*
 * Structure of the system-entry table
 *
 * NOTE: sizeof(struct sysent) is known to be 24 bytes in locore.s
 */
#define NUMSYSCALLARGS 6
struct sysent
{
        int     sy_narg;                /* total number of arguments */
        int     sy_parallel;            /* can execute in parallel */
        int     (*sy_call) __((struct proc *, ...));            /* handler */
        unsigned char aud_param[NUMSYSCALLARGS+1];
                                        /* audit encodings (see audit.h) */
};
----------------

In 5.1 this is changed to be only 16 bytes. Sy_narg and sy_parallel
are somehow merged into a sy_info. I think the lower bits in sy_info
are the sy_narg value and sy_parallel (what does it do?) is somehow
put into the higher bits. Joda, would you look into 
struct sysent sysent[] = { ... } in /usr/sys/BINARY/init_sysent.c 
and apply some pattern patching? Or is there any better info?

BTW have you recompiled the kernel or loaded a module? Info on
how to load dynamically would be appreciated.

Harald.