bug-hurd
[Top][All Lists]
Advanced

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

Re: [PATCH gnumach] kern: create send rights as they are inserted at boo


From: Samuel Thibault
Subject: Re: [PATCH gnumach] kern: create send rights as they are inserted at bootstrap time
Date: Sun, 28 Sep 2014 14:07:47 +0200
User-agent: Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30)

Justus Winter, le Fri 26 Sep 2014 17:30:07 +0200, a écrit :
> 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.

Ack.

> * 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
> 

-- 
Samuel
Hi ! I'm a .signature virus ! Copy me into your ~/.signature, please !



reply via email to

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