]> Zhao Yanbai Git Server - minix.git/commitdiff
I/O, memory and IRQ resource control interface.
authorPhilip Homburg <philip@cs.vu.nl>
Fri, 27 Jan 2006 13:02:02 +0000 (13:02 +0000)
committerPhilip Homburg <philip@cs.vu.nl>
Fri, 27 Jan 2006 13:02:02 +0000 (13:02 +0000)
include/minix/com.h
include/minix/syslib.h
include/minix/type.h

index ed8ea1ca2e88efc3f1a163485c4b0bdae607bf3b..c657576422dadefe1edddc71f71a0839b1ce4b6c 100755 (executable)
 
 #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. */
 #define MEM_PTR                m2_p1   /* base */
 #define MEM_COUNT      m2_l1   /* count */
 #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 */
 
-/* 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_REQUEST    m2_i2   /* server control request */
 #define CTL_MM_PRIV    m2_i3   /* privilege as seen by PM */
index 6fc16bf215674df8f0b3161cb2aac639904b74be..794330fd4409e6571e5464cfa162fd0ee24f5b27 100755 (executable)
@@ -34,7 +34,7 @@ _PROTOTYPE( int sys_newmap, (int proc, struct mem_map *ptr));
 _PROTOTYPE( int sys_exit, (int proc));
 _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_int86, (struct reg86u *reg86p));
index 8c260335615e55830803112a92c5239db4cd4c22..ab8801588f7ff67b854d093019c528b559048627 100755 (executable)
@@ -134,4 +134,16 @@ struct machine {
   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 */