summaryrefslogtreecommitdiff
path: root/debian/patches/0004-boot-drop-bootstrap-compat-code.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/0004-boot-drop-bootstrap-compat-code.patch')
-rw-r--r--debian/patches/0004-boot-drop-bootstrap-compat-code.patch121
1 files changed, 121 insertions, 0 deletions
diff --git a/debian/patches/0004-boot-drop-bootstrap-compat-code.patch b/debian/patches/0004-boot-drop-bootstrap-compat-code.patch
new file mode 100644
index 00000000..a13255ab
--- /dev/null
+++ b/debian/patches/0004-boot-drop-bootstrap-compat-code.patch
@@ -0,0 +1,121 @@
+From 139a6178d536b4aa960ec0e937033b5b100e46ad Mon Sep 17 00:00:00 2001
+From: Justus Winter <4winter@informatik.uni-hamburg.de>
+Date: Thu, 6 Nov 2014 13:27:43 +0100
+Subject: [PATCH hurd 04/14] boot: drop bootstrap compat code
+
+GNU Mach never sent old-style bootstrap messages. Drop the unused
+compatibility code.
+
+* boot/boot.c (request_server): Drop unused code.
+(bootstrap_compat): Drop unused function.
+---
+ boot/boot.c | 78 -------------------------------------------------------------
+ 1 file changed, 78 deletions(-)
+
+diff --git a/boot/boot.c b/boot/boot.c
+index 03617f5..d5b8096 100644
+--- a/boot/boot.c
++++ b/boot/boot.c
+@@ -179,21 +179,7 @@ request_server (mach_msg_header_t *inp,
+ extern int term_server (mach_msg_header_t *, mach_msg_header_t *);
+ /* extern int tioctl_server (mach_msg_header_t *, mach_msg_header_t *); */
+ extern int bootstrap_server (mach_msg_header_t *, mach_msg_header_t *);
+- extern void bootstrap_compat ();
+
+-#if 0
+- if (inp->msgh_local_port == bootport && boot_like_cmudef)
+- {
+- if (inp->msgh_id == 999999)
+- {
+- bootstrap_compat (inp, outp);
+- return 1;
+- }
+- else
+- return bootstrap_server (inp, outp);
+- }
+- else
+-#endif
+ return (io_server (inp, outp)
+ || device_server (inp, outp)
+ || notify_server (inp, outp)
+@@ -914,8 +900,6 @@ unlock_readlock ()
+ /*
+ * Handle bootstrap requests.
+ */
+-/* These two functions from .../mk/bootstrap/default_pager.c. */
+-
+ kern_return_t
+ do_bootstrap_privileged_ports(bootstrap, hostp, devicep)
+ mach_port_t bootstrap;
+@@ -925,68 +909,6 @@ do_bootstrap_privileged_ports(bootstrap, hostp, devicep)
+ *devicep = pseudo_master_device_port;
+ return KERN_SUCCESS;
+ }
+-
+-void
+-bootstrap_compat(in, out)
+- mach_msg_header_t *in, *out;
+-{
+- mig_reply_header_t *reply = (mig_reply_header_t *) out;
+- mach_msg_return_t mr;
+-
+- struct imsg {
+- mach_msg_header_t hdr;
+- mach_msg_type_t port_desc_1;
+- mach_port_t port_1;
+- mach_msg_type_t port_desc_2;
+- mach_port_t port_2;
+- } imsg;
+-
+- /*
+- * Send back the host and device ports.
+- */
+-
+- imsg.hdr.msgh_bits = MACH_MSGH_BITS_COMPLEX |
+- MACH_MSGH_BITS(MACH_MSGH_BITS_REMOTE(in->msgh_bits), 0);
+- /* msgh_size doesn't need to be initialized */
+- imsg.hdr.msgh_remote_port = in->msgh_remote_port;
+- imsg.hdr.msgh_local_port = MACH_PORT_NULL;
+- /* msgh_seqno doesn't need to be initialized */
+- imsg.hdr.msgh_id = in->msgh_id + 100; /* this is a reply msg */
+-
+- imsg.port_desc_1.msgt_name = MACH_MSG_TYPE_COPY_SEND;
+- imsg.port_desc_1.msgt_size = (sizeof(mach_port_t) * 8);
+- imsg.port_desc_1.msgt_number = 1;
+- imsg.port_desc_1.msgt_inline = TRUE;
+- imsg.port_desc_1.msgt_longform = FALSE;
+- imsg.port_desc_1.msgt_deallocate = FALSE;
+- imsg.port_desc_1.msgt_unused = 0;
+-
+- imsg.port_1 = privileged_host_port;
+-
+- imsg.port_desc_2 = imsg.port_desc_1;
+-
+- imsg.port_desc_2.msgt_name = MACH_MSG_TYPE_MAKE_SEND;
+- imsg.port_2 = pseudo_master_device_port;
+-
+- /*
+- * Send the reply message.
+- * (mach_msg_server can not do this, because the reply
+- * is not in standard format.)
+- */
+-
+- mr = mach_msg(&imsg.hdr, MACH_SEND_MSG,
+- sizeof imsg, 0, MACH_PORT_NULL,
+- MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+- if (mr != MACH_MSG_SUCCESS)
+- (void) mach_port_deallocate(mach_task_self (),
+- imsg.hdr.msgh_remote_port);
+-
+- /*
+- * Tell mach_msg_server to do nothing.
+- */
+-
+- reply->RetCode = MIG_NO_REPLY;
+-}
+
+ /* Implementation of device interface */
+
+--
+2.1.1
+