I/O, memory and IRQ resource control interface.
This commit is contained in:
parent
21c06cfa1f
commit
8036f12f47
|
@ -279,6 +279,13 @@
|
||||||
|
|
||||||
#define NR_SYS_CALLS 31 /* number of system calls */
|
#define NR_SYS_CALLS 31 /* number of system calls */
|
||||||
|
|
||||||
|
/* Subfunctions for SYS_PRIVCTL */
|
||||||
|
#define SYS_PRIV_INIT 1 /* Initialize a privilege structure */
|
||||||
|
#define SYS_PRIV_ADD_IO 2 /* Add I/O range (struct io_range) */
|
||||||
|
#define SYS_PRIV_ADD_MEM 3 /* Add memory range (struct mem_range)
|
||||||
|
*/
|
||||||
|
#define SYS_PRIV_ADD_IRQ 4 /* Add IRQ */
|
||||||
|
|
||||||
/* Field names for SYS_MEMSET, SYS_SEGCTL. */
|
/* Field names for SYS_MEMSET, SYS_SEGCTL. */
|
||||||
#define MEM_PTR m2_p1 /* base */
|
#define MEM_PTR m2_p1 /* base */
|
||||||
#define MEM_COUNT m2_l1 /* count */
|
#define MEM_COUNT m2_l1 /* count */
|
||||||
|
@ -393,7 +400,7 @@
|
||||||
#define T_CHILD_STIME m4_l4 /* sys time consumed by process' children */
|
#define T_CHILD_STIME m4_l4 /* sys time consumed by process' children */
|
||||||
#define T_BOOT_TICKS m4_l5 /* number of clock ticks since boot time */
|
#define T_BOOT_TICKS m4_l5 /* number of clock ticks since boot time */
|
||||||
|
|
||||||
/* Field names for SYS_TRACE, SYS_SVRCTL. */
|
/* Field names for SYS_TRACE, SYS_PRIVCTL. */
|
||||||
#define CTL_PROC_NR m2_i1 /* process number of the caller */
|
#define CTL_PROC_NR m2_i1 /* process number of the caller */
|
||||||
#define CTL_REQUEST m2_i2 /* server control request */
|
#define CTL_REQUEST m2_i2 /* server control request */
|
||||||
#define CTL_MM_PRIV m2_i3 /* privilege as seen by PM */
|
#define CTL_MM_PRIV m2_i3 /* privilege as seen by PM */
|
||||||
|
|
|
@ -34,7 +34,7 @@ _PROTOTYPE( int sys_newmap, (int proc, struct mem_map *ptr));
|
||||||
_PROTOTYPE( int sys_exit, (int proc));
|
_PROTOTYPE( int sys_exit, (int proc));
|
||||||
_PROTOTYPE( int sys_trace, (int req, int proc, long addr, long *data_p));
|
_PROTOTYPE( int sys_trace, (int req, int proc, long addr, long *data_p));
|
||||||
|
|
||||||
_PROTOTYPE( int sys_svrctl, (int proc, int req, int priv,vir_bytes argp));
|
_PROTOTYPE( int sys_privctl, (int proc, int req, int i, void *p));
|
||||||
_PROTOTYPE( int sys_nice, (int proc, int priority));
|
_PROTOTYPE( int sys_nice, (int proc, int priority));
|
||||||
|
|
||||||
_PROTOTYPE( int sys_int86, (struct reg86u *reg86p));
|
_PROTOTYPE( int sys_int86, (struct reg86u *reg86p));
|
||||||
|
|
|
@ -134,4 +134,16 @@ struct machine {
|
||||||
int vdu_vga;
|
int vdu_vga;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct io_range
|
||||||
|
{
|
||||||
|
unsigned ior_base; /* Lowest I/O port in range */
|
||||||
|
unsigned ior_limit; /* Highest I/O port in range */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct mem_range
|
||||||
|
{
|
||||||
|
phys_bytes mr_base; /* Lowest memory address in range */
|
||||||
|
phys_bytes mr_limit; /* Highest memory address in range */
|
||||||
|
};
|
||||||
|
|
||||||
#endif /* _TYPE_H */
|
#endif /* _TYPE_H */
|
||||||
|
|
Loading…
Reference in a new issue