diff options
author | Damien Zammit <damien@zamaudio.com> | 2022-09-20 03:01:18 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2022-09-20 23:39:29 +0200 |
commit | 9c7a1bc253ba4a264e8e3d6ae7983f2fc645f2b3 (patch) | |
tree | 07892fe8350ec6defec702790b158ee8bbc038fa /acpi/options.c | |
parent | 432ecc4bed0ef5341d8dc7637d7631fe05ffd717 (diff) | |
download | hurd-9c7a1bc253ba4a264e8e3d6ae7983f2fc645f2b3.tar.gz hurd-9c7a1bc253ba4a264e8e3d6ae7983f2fc645f2b3.tar.bz2 hurd-9c7a1bc253ba4a264e8e3d6ae7983f2fc645f2b3.zip |
acpi: Convert translator to an emulated mach device
This makes acpi usable as a bootstrap translator.
Message-Id: <20220920030035.931113-1-damien@zamaudio.com>
Diffstat (limited to 'acpi/options.c')
-rw-r--r-- | acpi/options.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/acpi/options.c b/acpi/options.c index 8dbcd263..fb348679 100644 --- a/acpi/options.c +++ b/acpi/options.c @@ -64,6 +64,15 @@ parse_opt (int opt, char *arg, struct argp_state *state) case 'G': h->perm.gid = atoi (arg); break; + case 'N': + h->next_task = atoi (arg); + break; + case 'H': + h->host_priv_port = atoi (arg); + break; + case 'P': + h->dev_master_port = atoi (arg); + break; case ARGP_KEY_INIT: /* Initialize our parsing state. */ @@ -74,6 +83,9 @@ parse_opt (int opt, char *arg, struct argp_state *state) h->ncache_len = NODE_CACHE_MAX; h->perm.uid = 0; h->perm.gid = 0; + h->next_task = MACH_PORT_NULL; + h->host_priv_port = MACH_PORT_NULL; + h->dev_master_port = MACH_PORT_NULL; state->hook = h; break; @@ -84,6 +96,11 @@ parse_opt (int opt, char *arg, struct argp_state *state) /* Set cache len */ fs->node_cache_max = h->ncache_len; + /* Set bootstrap ports */ + fs->next_task = h->next_task; + _hurd_host_priv = h->host_priv_port; + _hurd_device_master = h->dev_master_port; + if (fs->root) { /* @@ -140,6 +157,9 @@ netfs_append_args (char **argz, size_t * argz_len) if (p->gid >= 0) ADD_OPT ("--gid=%u", p->gid); + if (fs->next_task != MACH_PORT_NULL) + ADD_OPT ("--next-task=%u", fs->next_task); + #undef ADD_OPT return err; } |