diff options
author | Damien Zammit <damien@zamaudio.com> | 2021-03-09 00:04:56 +1100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2021-03-08 22:17:03 +0100 |
commit | b261eb886e4ee068515484727955e416517a03b4 (patch) | |
tree | edf55004020d488a008e1cd8ab70a94724e89094 /pci-arbiter/options.c | |
parent | a5fc9f2e767f034830ee5b179123b093180bf259 (diff) | |
download | hurd-b261eb886e4ee068515484727955e416517a03b4.tar.gz hurd-b261eb886e4ee068515484727955e416517a03b4.tar.bz2 hurd-b261eb886e4ee068515484727955e416517a03b4.zip |
pci-arbiter: Introduce machdev into this server
* pci-arbiter/Makefile
Add machdev lib and simplify
* pci-arbiter/main.c
(pci_device_{open,close,shutdown}): New methods
(netfs_server_func): Thread the demuxer loop
(pcifs_startup): Custom startup method
(main): Use machdev for server and detach worker threads
* pci-arbiter/options.{c,h}
Add disk-server-task and priv ports
* pci-arbiter/startup-ops.c
Delete file
Message-Id: <20210308130457.693821-4-damien@zamaudio.com>
Diffstat (limited to 'pci-arbiter/options.c')
-rw-r--r-- | pci-arbiter/options.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/pci-arbiter/options.c b/pci-arbiter/options.c index 5767ad27..141c69e3 100644 --- a/pci-arbiter/options.c +++ b/pci-arbiter/options.c @@ -241,6 +241,15 @@ parse_opt (int opt, char *arg, struct argp_state *state) case 'n': h->ncache_len = atoi (arg); break; + case 'T': + h->disk_server_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. */ h = malloc (sizeof (struct parse_hook)); @@ -250,6 +259,9 @@ parse_opt (int opt, char *arg, struct argp_state *state) h->permsets = 0; h->num_permsets = 0; h->ncache_len = NODE_CACHE_MAX; + h->disk_server_task = MACH_PORT_NULL; + h->host_priv_port = MACH_PORT_NULL; + h->dev_master_port = MACH_PORT_NULL; err = parse_hook_add_set (h); if (err) FAIL (err, 1, err, "option parsing"); @@ -286,6 +298,11 @@ parse_opt (int opt, char *arg, struct argp_state *state) /* Set cache len */ fs->params.node_cache_max = h->ncache_len; + /* Set bootstrap ports */ + fs->params.disk_server_task = h->disk_server_task; + _hurd_host_priv = h->host_priv_port; + _hurd_device_master = h->dev_master_port; + if (fs->root) { /* @@ -364,6 +381,8 @@ netfs_append_args (char **argz, size_t * argz_len) if (fs->params.node_cache_max != NODE_CACHE_MAX) ADD_OPT ("--ncache=%u", fs->params.node_cache_max); + if (fs->params.disk_server_task != MACH_PORT_NULL) + ADD_OPT ("--disk-server-task=%lu", fs->params.disk_server_task); #undef ADD_OPT return err; } |