[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH gnumach] kern: create send rights as they are inserted at bootstr
From: |
Justus Winter |
Subject: |
[PATCH gnumach] kern: create send rights as they are inserted at bootstrap time |
Date: |
Fri, 26 Sep 2014 17:30:07 +0200 |
Previously, it was impossible to hand e.g. the master device port to
more than one bootstrap task. Fix this by creating the send right as
it is inserted into the target task.
* kern/bootstrap.c (bootstrap_create): Do not create the send rights
here...
(boot_script_insert_right): ... but here.
---
kern/bootstrap.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/kern/bootstrap.c b/kern/bootstrap.c
index d919e90..4edae7b 100644
--- a/kern/bootstrap.c
+++ b/kern/bootstrap.c
@@ -155,13 +155,13 @@ void bootstrap_create(void)
/* Initialize boot script variables. We leak these send rights. */
losers = boot_script_set_variable
("host-port", VAL_PORT,
- (long)ipc_port_make_send(realhost.host_priv_self));
+ (long) realhost.host_priv_self);
if (losers)
panic ("cannot set boot-script variable host-port: %s",
boot_script_error_string (losers));
losers = boot_script_set_variable
("device-port", VAL_PORT,
- (long) ipc_port_make_send(master_device_port));
+ (long) master_device_port);
if (losers)
panic ("cannot set boot-script variable device-port: %s",
boot_script_error_string (losers));
@@ -838,7 +838,8 @@ boot_script_free_task (task_t task, int aborting)
int
boot_script_insert_right (struct cmd *cmd, mach_port_t port, mach_port_t *name)
{
- *name = task_insert_send_right (cmd->task, (ipc_port_t)port);
+ *name = task_insert_send_right (cmd->task,
+ ipc_port_make_send((ipc_port_t) port));
return 0;
}
--
2.1.0
- [PATCH gnumach] kern: create send rights as they are inserted at bootstrap time,
Justus Winter <=