bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 4/5] libmachdev: Implement S_i386_io_perm_create


From: Damien Zammit
Subject: [PATCH 4/5] libmachdev: Implement S_i386_io_perm_create
Date: Fri, 24 Jul 2020 23:20:38 +1000

---
 libmachdev/Makefile        |  2 +-
 libmachdev/trivfs_server.c | 56 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 57 insertions(+), 1 deletion(-)

diff --git a/libmachdev/Makefile b/libmachdev/Makefile
index db275cce..15b98cf1 100644
--- a/libmachdev/Makefile
+++ b/libmachdev/Makefile
@@ -20,7 +20,7 @@ makemode := library
 libname = libmachdev
 
 SRCS = ds_routines.c trivfs_server.c \
-       deviceServer.c notifyServer.c
+       deviceServer.c notifyServer.c mach_i386Server.c
 
 LCLHDRS = machdev.h machdev-device_emul.h machdev-dev_hdr.h mach_device.h
 installhdrs = machdev.h machdev-device_emul.h machdev-dev_hdr.h
diff --git a/libmachdev/trivfs_server.c b/libmachdev/trivfs_server.c
index 39ef207b..64c44a05 100644
--- a/libmachdev/trivfs_server.c
+++ b/libmachdev/trivfs_server.c
@@ -33,6 +33,7 @@
 #include "device_S.h"
 #include "notify_S.h"
 #include "fsys_S.h"
+#include "mach_i386_S.h"
 
 static struct port_bucket *port_bucket;
 
@@ -120,6 +121,60 @@ trivfs_append_args (struct trivfs_control *fsys, char 
**argz, size_t *argz_len)
   return err;
 }
 
+
+kern_return_t
+S_i386_set_ldt (mach_port_t target_thread,
+                       int first_selector,
+                       descriptor_list_t desc_list,
+                       mach_msg_type_number_t desc_listCnt,
+                       boolean_t desc_listSCopy)
+{
+  return EOPNOTSUPP;
+}
+
+kern_return_t
+S_i386_get_ldt (mach_port_t target_thread,
+                       int first_selector,
+                       int selector_count,
+                       descriptor_list_t *desc_list,
+                       mach_msg_type_number_t *desc_listCnt)
+{
+  return EOPNOTSUPP;
+}
+
+kern_return_t
+S_i386_io_perm_modify (mach_port_t target_task,
+                              mach_port_t io_perm,
+                              boolean_t enable)
+{
+  return EOPNOTSUPP;
+}
+
+kern_return_t
+S_i386_set_gdt (mach_port_t target_thread,
+                       int *selector,
+                       descriptor_t desc)
+{
+  return EOPNOTSUPP;
+}
+
+kern_return_t
+S_i386_get_gdt (mach_port_t target_thread,
+                       int selector,
+                       descriptor_t *desc)
+{
+  return EOPNOTSUPP;
+}
+
+kern_return_t
+S_i386_io_perm_create (mach_port_t master_port,
+                              io_port_t from,
+                              io_port_t to,
+                              io_perm_t *io_perm)
+{
+  return i386_io_perm_create (_hurd_device_master, from, to, io_perm);
+}
+
 /* This is fraud */
 kern_return_t
 trivfs_S_fsys_startup (mach_port_t bootport,
@@ -252,6 +307,7 @@ demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp)
   mig_routine_t routine;
   if ((routine = device_server_routine (inp)) ||
       (routine = notify_server_routine (inp)) ||
+      (routine = mach_i386_server_routine (inp)) ||
       (routine = NULL, trivfs_demuxer (inp, outp)))
     {
       if (routine)
-- 
2.25.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]