Added SI_CALL_STATS and ENABLE_SYSCALL_STATS for system call statistics.
Added BUSC_PCI_DEV_NAME_S and BUSC_PCI_SLOT_NAME_S to support safecopies in PCI. Added DL_WRITEV_S, DL_READV_S, DL_GETSTAT_S, DL_GRANT, and iovec_s_t to support safecopies in ethernet drviers. Renamed DL_INIT to DL_CONF, and DL_INIT_REPLY to DL_CONF_REPLY. Added SYS_READBIOS and sys_readbios to read from BIOS data areas. Added GET_KMESS_S for safecopy support in LOG. Added sys_safe_insb and sys_safe_outsb.
This commit is contained in:
parent
cac387bc1e
commit
d7174ec0ab
5 changed files with 37 additions and 3 deletions
|
@ -123,6 +123,13 @@
|
||||||
* attribute value
|
* attribute value
|
||||||
*/
|
*/
|
||||||
#define BUSC_PCI_RESCAN (BUSC_RQ_BASE + 14) /* Rescan bus */
|
#define BUSC_PCI_RESCAN (BUSC_RQ_BASE + 14) /* Rescan bus */
|
||||||
|
#define BUSC_PCI_DEV_NAME_S (BUSC_RQ_BASE + 15) /* Get the name of a
|
||||||
|
* PCI device
|
||||||
|
* (safecopy)
|
||||||
|
*/
|
||||||
|
#define BUSC_PCI_SLOT_NAME_S (BUSC_RQ_BASE + 16) /* Get the name of a
|
||||||
|
* PCI slot (safecopy)
|
||||||
|
*/
|
||||||
|
|
||||||
/*===========================================================================*
|
/*===========================================================================*
|
||||||
* Messages for BLOCK and CHARACTER device drivers *
|
* Messages for BLOCK and CHARACTER device drivers *
|
||||||
|
@ -209,13 +216,16 @@
|
||||||
#define DL_WRITEV (DL_RQ_BASE + 4)
|
#define DL_WRITEV (DL_RQ_BASE + 4)
|
||||||
#define DL_READ (DL_RQ_BASE + 5)
|
#define DL_READ (DL_RQ_BASE + 5)
|
||||||
#define DL_READV (DL_RQ_BASE + 6)
|
#define DL_READV (DL_RQ_BASE + 6)
|
||||||
#define DL_INIT (DL_RQ_BASE + 7)
|
#define DL_CONF (DL_RQ_BASE + 7)
|
||||||
#define DL_STOP (DL_RQ_BASE + 8)
|
#define DL_STOP (DL_RQ_BASE + 8)
|
||||||
#define DL_GETSTAT (DL_RQ_BASE + 9)
|
#define DL_GETSTAT (DL_RQ_BASE + 9)
|
||||||
#define DL_GETNAME (DL_RQ_BASE +10)
|
#define DL_GETNAME (DL_RQ_BASE +10)
|
||||||
|
#define DL_WRITEV_S (DL_RQ_BASE +11)
|
||||||
|
#define DL_READV_S (DL_RQ_BASE +12)
|
||||||
|
#define DL_GETSTAT_S (DL_RQ_BASE +13)
|
||||||
|
|
||||||
/* Message type for data link layer replies. */
|
/* Message type for data link layer replies. */
|
||||||
#define DL_INIT_REPLY (DL_RS_BASE + 20)
|
#define DL_CONF_REPLY (DL_RS_BASE + 20)
|
||||||
#define DL_TASK_REPLY (DL_RS_BASE + 21)
|
#define DL_TASK_REPLY (DL_RS_BASE + 21)
|
||||||
#define DL_NAME_REPLY (DL_RS_BASE + 22)
|
#define DL_NAME_REPLY (DL_RS_BASE + 22)
|
||||||
|
|
||||||
|
@ -227,6 +237,7 @@
|
||||||
#define DL_CLCK m2_l2
|
#define DL_CLCK m2_l2
|
||||||
#define DL_ADDR m2_p1
|
#define DL_ADDR m2_p1
|
||||||
#define DL_STAT m2_l1
|
#define DL_STAT m2_l1
|
||||||
|
#define DL_GRANT m2_l2
|
||||||
#define DL_NAME m3_ca1
|
#define DL_NAME m3_ca1
|
||||||
|
|
||||||
/* Bits in 'DL_STAT' field of DL replies. */
|
/* Bits in 'DL_STAT' field of DL replies. */
|
||||||
|
@ -290,8 +301,9 @@
|
||||||
# define SYS_SAFECOPYTO (KERNEL_CALL + 32) /* sys_safecopyto() */
|
# define SYS_SAFECOPYTO (KERNEL_CALL + 32) /* sys_safecopyto() */
|
||||||
# define SYS_VSAFECOPY (KERNEL_CALL + 33) /* sys_vsafecopy() */
|
# define SYS_VSAFECOPY (KERNEL_CALL + 33) /* sys_vsafecopy() */
|
||||||
# define SYS_SETGRANT (KERNEL_CALL + 34) /* sys_setgrant() */
|
# define SYS_SETGRANT (KERNEL_CALL + 34) /* sys_setgrant() */
|
||||||
|
# define SYS_READBIOS (KERNEL_CALL + 35) /* sys_readbios() */
|
||||||
|
|
||||||
#define NR_SYS_CALLS 35 /* number of system calls */
|
#define NR_SYS_CALLS 36 /* number of system calls */
|
||||||
|
|
||||||
/* Pseudo call for use in kernel/table.c. */
|
/* Pseudo call for use in kernel/table.c. */
|
||||||
#define SYS_ALL_CALLS (NR_SYS_CALLS)
|
#define SYS_ALL_CALLS (NR_SYS_CALLS)
|
||||||
|
@ -503,6 +515,11 @@
|
||||||
#define SEL_ERRORFDS m8_p3
|
#define SEL_ERRORFDS m8_p3
|
||||||
#define SEL_TIMEOUT m8_p4
|
#define SEL_TIMEOUT m8_p4
|
||||||
|
|
||||||
|
/* Message for SYS_READBIOS */
|
||||||
|
#define RDB_SIZE m2_i1
|
||||||
|
#define RDB_ADDR m2_l1
|
||||||
|
#define RDB_BUF m2_p1
|
||||||
|
|
||||||
/*===========================================================================*
|
/*===========================================================================*
|
||||||
* Messages for the Reincarnation Server *
|
* Messages for the Reincarnation Server *
|
||||||
*===========================================================================*/
|
*===========================================================================*/
|
||||||
|
@ -559,6 +576,8 @@
|
||||||
# define DIAG_BUF_COUNT m1_i1
|
# define DIAG_BUF_COUNT m1_i1
|
||||||
#define GET_KMESS (DIAG_BASE+3) /* get kmess from TTY */
|
#define GET_KMESS (DIAG_BASE+3) /* get kmess from TTY */
|
||||||
# define GETKM_PTR m1_p1
|
# define GETKM_PTR m1_p1
|
||||||
|
#define GET_KMESS_S (DIAG_BASE+4) /* get kmess from TTY */
|
||||||
|
# define GETKM_GRANT m1_i1
|
||||||
|
|
||||||
#define PM_BASE 0x900
|
#define PM_BASE 0x900
|
||||||
#define PM_GET_WORK (PM_BASE + 1) /* Get work from PM */
|
#define PM_GET_WORK (PM_BASE + 1) /* Get work from PM */
|
||||||
|
|
|
@ -99,6 +99,9 @@
|
||||||
#define NR_RS_LINES 4 /* # rs232 terminals (0 to 4) */
|
#define NR_RS_LINES 4 /* # rs232 terminals (0 to 4) */
|
||||||
#define NR_PTYS 32 /* # pseudo terminals (0 to 64) */
|
#define NR_PTYS 32 /* # pseudo terminals (0 to 64) */
|
||||||
|
|
||||||
|
/* This feature enable the counting of system calls in PM and FS */
|
||||||
|
#define ENABLE_SYSCALL_STATS 0
|
||||||
|
|
||||||
/*===========================================================================*
|
/*===========================================================================*
|
||||||
* There are no user-settable parameters after this line *
|
* There are no user-settable parameters after this line *
|
||||||
*===========================================================================*/
|
*===========================================================================*/
|
||||||
|
|
|
@ -46,6 +46,8 @@ _PROTOTYPE( int sys_vm_setbuf, (phys_bytes base, phys_bytes size,
|
||||||
_PROTOTYPE( int sys_vm_map, (endpoint_t proc_nr, int do_map,
|
_PROTOTYPE( int sys_vm_map, (endpoint_t proc_nr, int do_map,
|
||||||
phys_bytes base, phys_bytes size, phys_bytes offset));
|
phys_bytes base, phys_bytes size, phys_bytes offset));
|
||||||
|
|
||||||
|
_PROTOTYPE( int sys_readbios, (phys_bytes address, void *buf, size_t size));
|
||||||
|
|
||||||
/* Shorthands for sys_sdevio() system call. */
|
/* Shorthands for sys_sdevio() system call. */
|
||||||
#define sys_insb(port, proc_nr, buffer, count) \
|
#define sys_insb(port, proc_nr, buffer, count) \
|
||||||
sys_sdevio(DIO_INPUT_BYTE, port, proc_nr, buffer, count, 0)
|
sys_sdevio(DIO_INPUT_BYTE, port, proc_nr, buffer, count, 0)
|
||||||
|
@ -55,6 +57,10 @@ _PROTOTYPE( int sys_vm_map, (endpoint_t proc_nr, int do_map,
|
||||||
sys_sdevio(DIO_OUTPUT_BYTE, port, proc_nr, buffer, count, 0)
|
sys_sdevio(DIO_OUTPUT_BYTE, port, proc_nr, buffer, count, 0)
|
||||||
#define sys_outsw(port, proc_nr, buffer, count) \
|
#define sys_outsw(port, proc_nr, buffer, count) \
|
||||||
sys_sdevio(DIO_OUTPUT_WORD, port, proc_nr, buffer, count, 0)
|
sys_sdevio(DIO_OUTPUT_WORD, port, proc_nr, buffer, count, 0)
|
||||||
|
#define sys_safe_insb(port, ept, grant, offset, count) \
|
||||||
|
sys_sdevio(DIO_SAFE_INPUT_BYTE, port, ept, (void*)grant, count, offset)
|
||||||
|
#define sys_safe_outsb(port, ept, grant, offset, count) \
|
||||||
|
sys_sdevio(DIO_SAFE_OUTPUT_BYTE, port, ept, (void*)grant, count, offset)
|
||||||
#define sys_safe_insw(port, ept, grant, offset, count) \
|
#define sys_safe_insw(port, ept, grant, offset, count) \
|
||||||
sys_sdevio(DIO_SAFE_INPUT_WORD, port, ept, (void*)grant, count, offset)
|
sys_sdevio(DIO_SAFE_INPUT_WORD, port, ept, (void*)grant, count, offset)
|
||||||
#define sys_safe_outsw(port, ept, grant, offset, count) \
|
#define sys_safe_outsw(port, ept, grant, offset, count) \
|
||||||
|
|
|
@ -73,6 +73,11 @@ typedef struct {
|
||||||
vir_bytes iov_size; /* sizeof an I/O buffer */
|
vir_bytes iov_size; /* sizeof an I/O buffer */
|
||||||
} iovec_t;
|
} iovec_t;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int iov_grant; /* grant ID of an I/O buffer */
|
||||||
|
vir_bytes iov_size; /* sizeof an I/O buffer */
|
||||||
|
} iovec_s_t;
|
||||||
|
|
||||||
/* PM passes the address of a structure of this type to KERNEL when
|
/* PM passes the address of a structure of this type to KERNEL when
|
||||||
* sys_sendsig() is invoked as part of the signal catching mechanism.
|
* sys_sendsig() is invoked as part of the signal catching mechanism.
|
||||||
* The structure contain all the information that KERNEL needs to build
|
* The structure contain all the information that KERNEL needs to build
|
||||||
|
|
|
@ -47,6 +47,7 @@
|
||||||
#define SI_DATA_STORE 5 /* get copy of data store */
|
#define SI_DATA_STORE 5 /* get copy of data store */
|
||||||
#define SI_LOADINFO 6 /* get copy of load average structure */
|
#define SI_LOADINFO 6 /* get copy of load average structure */
|
||||||
#define SI_KPROC_TAB 7 /* copy of kernel process table */
|
#define SI_KPROC_TAB 7 /* copy of kernel process table */
|
||||||
|
#define SI_CALL_STATS 8 /* system call statistics */
|
||||||
|
|
||||||
/* NULL must be defined in <unistd.h> according to POSIX Sec. 2.7.1. */
|
/* NULL must be defined in <unistd.h> according to POSIX Sec. 2.7.1. */
|
||||||
#define NULL ((void *)0)
|
#define NULL ((void *)0)
|
||||||
|
|
Loading…
Reference in a new issue