summaryrefslogtreecommitdiff
path: root/debian/patches/700006-Reorder.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/700006-Reorder.patch')
-rw-r--r--debian/patches/700006-Reorder.patch90
1 files changed, 90 insertions, 0 deletions
diff --git a/debian/patches/700006-Reorder.patch b/debian/patches/700006-Reorder.patch
new file mode 100644
index 0000000..93a02d7
--- /dev/null
+++ b/debian/patches/700006-Reorder.patch
@@ -0,0 +1,90 @@
+From 552d46db26f7c90b178eaa9be45bba8d72875d76 Mon Sep 17 00:00:00 2001
+From: Justus Winter <justus@gnupg.org>
+Date: Fri, 26 Feb 2016 13:27:28 +0100
+Subject: [PATCH gnumach 6/8] Reorder
+
+---
+ device/intr.c | 55 +++++++++++++++++++++++++++----------------------------
+ 1 file changed, 27 insertions(+), 28 deletions(-)
+
+diff --git a/device/intr.c b/device/intr.c
+index 1e5a3ea..b0dcd83 100644
+--- a/device/intr.c
++++ b/device/intr.c
+@@ -10,8 +10,6 @@
+ #define sti() __asm__ __volatile__ ("sti": : :"memory")
+ #define cli() __asm__ __volatile__ ("cli": : :"memory")
+
+-static boolean_t deliver_intr (int line, ipc_port_t dest_port);
+-
+ struct intr_entry
+ {
+ queue_chain_t chain;
+@@ -112,6 +110,33 @@ init_mach_intr_notification (mach_intr_notification_t *n)
+ t->msgt_unused = 0;
+ }
+
++static boolean_t
++deliver_intr (int line, ipc_port_t dest_port)
++{
++ ipc_kmsg_t kmsg;
++ mach_intr_notification_t *n;
++ mach_port_t dest = (mach_port_t) dest_port;
++
++ if (dest == MACH_PORT_NULL)
++ return FALSE;
++
++ kmsg = ikm_alloc(sizeof *n);
++ if (kmsg == IKM_NULL)
++ return FALSE;
++
++ ikm_init(kmsg, sizeof *n);
++ n = (mach_intr_notification_t *) &kmsg->ikm_header;
++ *n = mach_intr_notification_template;
++
++ n->intr_header.msgh_remote_port = dest;
++ n->line = line;
++
++ ipc_port_copy_send (dest_port);
++ ipc_mqueue_send_always(kmsg);
++
++ return TRUE;
++}
++
+ void
+ intr_thread ()
+ {
+@@ -167,30 +192,4 @@ intr_thread ()
+ }
+ }
+
+-static boolean_t
+-deliver_intr (int line, ipc_port_t dest_port)
+-{
+- ipc_kmsg_t kmsg;
+- mach_intr_notification_t *n;
+- mach_port_t dest = (mach_port_t) dest_port;
+-
+- if (dest == MACH_PORT_NULL)
+- return FALSE;
+-
+- kmsg = ikm_alloc(sizeof *n);
+- if (kmsg == IKM_NULL)
+- return FALSE;
+-
+- ikm_init(kmsg, sizeof *n);
+- n = (mach_intr_notification_t *) &kmsg->ikm_header;
+- *n = mach_intr_notification_template;
+-
+- n->intr_header.msgh_remote_port = dest;
+- n->line = line;
+-
+- ipc_port_copy_send (dest_port);
+- ipc_mqueue_send_always(kmsg);
+-
+- return TRUE;
+-}
+ #endif /* MACH_XEN */
+--
+2.1.4
+