commit-hurd
[Top][All Lists]
Advanced

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

[gnumach] 01/01: Make more object functions mutable


From: Samuel Thibault
Subject: [gnumach] 01/01: Make more object functions mutable
Date: Sun, 25 May 2014 14:42:05 +0000

This is an automated email from the git hooks/post-receive script.

sthibault pushed a commit to branch master
in repository gnumach.

commit e5433deb01eb264eaa3417515fc0e1a9e0f596cb
Author: Samuel Thibault <address@hidden>
Date:   Sun May 25 16:41:47 2014 +0200

    Make more object functions mutable
    
      * patches/git-notify_translatable{,2}.patch: New patch to make notify
        functions mutable.
      * patches/git-device_translatable{,2}.patch: New patch to make device
        functions mutable.
---
 debian/changelog                              |  9 +++++
 debian/patches/git-device_translatable.patch  | 46 +++++++++++++++++++++++++
 debian/patches/git-device_translatable2.patch | 37 +++++++++++++++++++++
 debian/patches/git-notify_translatable.patch  | 48 +++++++++++++++++++++++++++
 debian/patches/series                         |  3 ++
 5 files changed, 143 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index da5f8ef..9c712e8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+gnumach (2:1.4-10) UNRELEASED; urgency=medium
+
+  * patches/git-notify_translatable{,2}.patch: New patch to make notify
+    functions mutable.
+  * patches/git-device_translatable{,2}.patch: New patch to make device
+    functions mutable.
+
+ -- Samuel Thibault <address@hidden>  Sun, 25 May 2014 16:41:06 +0200
+
 gnumach (2:1.4-9) unstable; urgency=medium
 
   * patches/git-memory_object_translatable.patch: New patch to make memory
diff --git a/debian/patches/git-device_translatable.patch 
b/debian/patches/git-device_translatable.patch
new file mode 100644
index 0000000..df23a1c
--- /dev/null
+++ b/debian/patches/git-device_translatable.patch
@@ -0,0 +1,46 @@
+commit f1cdf417edeb9979a5f1f32c20d7ad75abc97a14
+Author: Justus Winter <address@hidden>
+Date:   Tue Apr 8 15:40:42 2014 +0200
+
+    include: make the device_t types translation functions mutable
+    
+    Make the intran, outtran and destructor functions mutable using
+    preprocessor macros.  Make it possible to inject imports using the
+    DEVICE_IMPORTS macro.  This way, userspace servers can provide their
+    own translation functions.
+    
+    * include/device/device_types.defs: Honor DEVICE_IMPORTS.
+    (device_t): Make the translation mutable using preprocessor macros.
+
+diff --git a/include/device/device_types.defs 
b/include/device/device_types.defs
+index 79e4c5b..ff6cff6 100644
+--- a/include/device/device_types.defs
++++ b/include/device/device_types.defs
+@@ -39,6 +39,10 @@
+ 
+ #include <mach/std_types.defs>
+ 
++#ifdef DEVICE_IMPORTS
++DEVICE_IMPORTS
++#endif
++
+ type recnum_t         = unsigned32;
+ type dev_mode_t               = unsigned32;
+ type dev_flavor_t     = unsigned32;
+@@ -55,6 +59,16 @@ type device_t = mach_port_t
+               intran: device_t dev_port_lookup(mach_port_t)
+               outtran: mach_port_t convert_device_to_port(device_t)
+               destructor: device_deallocate(device_t)
++#else /* KERNEL_SERVER */
++#ifdef        DEVICE_INTRAN
++              intran: DEVICE_INTRAN
++#endif
++#ifdef        DEVICE_OUTTRAN
++              outtran: DEVICE_OUTTRAN
++#endif
++#ifdef        DEVICE_DESTRUCTOR
++              destructor: DEVICE_DESTRUCTOR
++#endif
+ #endif        /* KERNEL_SERVER */
+               ;
+ 
diff --git a/debian/patches/git-device_translatable2.patch 
b/debian/patches/git-device_translatable2.patch
new file mode 100644
index 0000000..4e8f149
--- /dev/null
+++ b/debian/patches/git-device_translatable2.patch
@@ -0,0 +1,37 @@
+commit 5e533682c0df29d28dc8250c57c2e33406a57835
+Author: Justus Winter <address@hidden>
+Date:   Thu Apr 10 19:13:47 2014 +0200
+
+    include: fix the definition of device_open
+    
+    Previously, every userspace server implementing the device protocol
+    filtered the device definitions to replace the device_t type with
+    mach_port_send_t to make the device argument of device_open
+    polymorphic.  Rather than doing that, which makes it impossible to use
+    translation functions, fix the definition of device_open.
+    
+    * include/device/device.defs (device_open): Redefine the device
+    argument to make it polymorphic unless a outran function is specified.
+
+diff --git a/include/device/device.defs b/include/device/device.defs
+index d9234e3..5fdf1bd 100644
+--- a/include/device/device.defs
++++ b/include/device/device.defs
+@@ -52,7 +52,16 @@ routine device_open(
+       sreplyport reply_port   : reply_port_t;
+               mode            : dev_mode_t;
+               name            : dev_name_t;
+-      out     device          : device_t
++      out     device          : device_t =
++                                      MACH_MSG_TYPE_PORT_SEND
++                                      ctype: mach_port_t
++#if   KERNEL_SERVER
++              outtran: mach_port_t convert_device_to_port(device_t)
++#else
++#ifdef        DEVICE_OUTTRAN
++              outtran: DEVICE_OUTTRAN
++#endif
++#endif        /* KERNEL_SERVER */
+       );
+ 
+ routine device_close(
diff --git a/debian/patches/git-notify_translatable.patch 
b/debian/patches/git-notify_translatable.patch
new file mode 100644
index 0000000..dd58913
--- /dev/null
+++ b/debian/patches/git-notify_translatable.patch
@@ -0,0 +1,48 @@
+commit 119294278af2390971305224c9772d89525d97e1
+Author: Justus Winter <address@hidden>
+Date:   Sat Apr 5 15:08:06 2014 +0200
+
+    include: make the notify_port_t types translation functions mutable
+    
+    Make the intran, outtran and destructor functions mutable using
+    preprocessor macros.  Make it possible to inject imports using the
+    NOTIFY_IMPORTS macro.  This way, userspace servers can provide their
+    own translation functions.
+    
+    * include/mach/notify.defs: Honor NOTIFY_IMPORTS.
+    (notify_port_t): Make the translation mutable using preprocessor macros.
+
+diff --git a/include/mach/notify.defs b/include/mach/notify.defs
+index e06f6b4..fdf35e9 100644
+--- a/include/mach/notify.defs
++++ b/include/mach/notify.defs
+@@ -28,6 +28,10 @@ subsystem notify 64;
+ 
+ #include <mach/std_types.defs>
+ 
++#ifdef NOTIFY_IMPORTS
++NOTIFY_IMPORTS
++#endif
++
+ #if   SEQNOS
+ serverprefix do_seqnos_;
+ serverdemux seqnos_notify_server;
+@@ -37,7 +41,17 @@ serverdemux notify_server;
+ #endif        SEQNOS
+ 
+ type notify_port_t = MACH_MSG_TYPE_MOVE_SEND_ONCE
+-      ctype: mach_port_t;
++      ctype: mach_port_t
++#ifdef        NOTIFY_INTRAN
++      intran: NOTIFY_INTRAN
++#endif
++#ifdef        NOTIFY_OUTTRAN
++      outtran: NOTIFY_OUTTRAN
++#endif
++#ifdef        NOTIFY_DESTRUCTOR
++      destructor: NOTIFY_DESTRUCTOR
++#endif
++;
+ 
+ /* MACH_NOTIFY_FIRST: 0100 */
+ skip;
diff --git a/debian/patches/series b/debian/patches/series
index 81ff71b..59f4ee1 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -14,4 +14,7 @@ git-quiet-cd-floppy.patch
 git-task_set_name.patch
 git-physical-access.patch
 git-memory_object_translatable.patch
+git-notify_translatable.patch
+git-device_translatable.patch
+git-device_translatable2.patch
 90-fix_headers.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-hurd/gnumach.git



reply via email to

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