For common calls, give servers unique call numbers

The getsysinfo(2), getrusage(2), and svrctl(2) calls used the same
call number to different services. Since we want to give each service
its own call number ranges, this is no longer tenable. This patch
introduces per-service call numbers for these calls.

Note that the remainder of the COMMON_ range is left intact, as these
the remaining requests in it are processed by SEF and thus server-
agnostic. The range should really be prefixed with SEF_ now.

Change-Id: I80d728bbeb98227359c525494c433965b40fefc3
This commit is contained in:
David van Moolenbroek
2013-10-28 22:30:41 +01:00
committed by Lionel Sambuc
parent 80bd109cd3
commit 44d3230e40
14 changed files with 66 additions and 63 deletions

View File

@@ -1,4 +1,4 @@
#define NCALLS 125 /* number of system calls allowed */
#define NCALLS 129 /* number of system calls allowed */
/* In case it isn't obvious enough: this list is sorted numerically. */
#define EXIT 1
@@ -66,7 +66,7 @@
#define SIGRETURN 75
#define REBOOT 76
#define SVRCTL 77
#define PM_SVRCTL 77 /* to PM */
#define SYSUNAME 78
#define LLSEEK 81 /* to VFS */
#define GETVFSSTAT 82 /* to VFS */
@@ -106,6 +106,11 @@
#define VFS_VMCALL 117
#define MAPDRIVER 122 /* to VFS, map a device */
#define GETRUSAGE 123 /* to PM, VFS */
#define PM_GETRUSAGE 123 /* to PM */
#define VFS_CHECKPERMS 124 /* to VFS */
#define PM_GETSYSINFO 125 /* to PM */
#define VFS_GETSYSINFO 126 /* to VFS */
#define VFS_GETRUSAGE 127 /* to VFS */
#define VFS_SVRCTL 128 /* to VFS */

View File

@@ -648,6 +648,8 @@
#define RS_LOOKUP (RS_RQ_BASE + 8) /* lookup server name */
#define RS_GETSYSINFO (RS_RQ_BASE + 9) /* get system information */
#define RS_INIT (RS_RQ_BASE + 20) /* service init message */
#define RS_LU_PREPARE (RS_RQ_BASE + 21) /* prepare to update message */
@@ -683,6 +685,7 @@
#define DS_DELETE (DS_RQ_BASE + 4) /* delete data */
#define DS_SNAPSHOT (DS_RQ_BASE + 5) /* take a snapshot */
#define DS_RETRIEVE_LABEL (DS_RQ_BASE + 6) /* retrieve label's name */
#define DS_GETSYSINFO (DS_RQ_BASE + 7) /* get system information */
/* DS field names */
# define DS_KEY_GRANT m2_i1 /* key for the data */
@@ -816,11 +819,10 @@
# define GCOV_BUFF_P m1_p1
# define GCOV_BUFF_SZ m1_i1
/* Common request to several system servers: retrieve system information. */
#define COMMON_GETSYSINFO (COMMON_RQ_BASE+2)
# define SI_WHAT m1_i1
# define SI_WHERE m1_p1
# define SI_SIZE m1_i2
/* Field names for the getsysinfo(2) call. */
#define SI_WHAT m1_i1
#define SI_WHERE m1_p1
#define SI_SIZE m1_i2
/* PM field names */
/* BRK */