summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2021-08-11 17:32:32 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2021-08-11 18:28:03 +0200
commit2cfbdcc66886bd4852f9e84b46fbf6bdc7d8a13e (patch)
treeca0329c48226b59684c287ef67a356fdd4b6a54e
parent9049b963b6023ef6d7bd3f8c81ef5ab1f3b43fd3 (diff)
pci-arbiter, rumpdisk: Rename options for bootstrap chain
We may end up with an arbitrary series of bootstrap translators, which can know about each other through devices, and thus do not need any particular order except dependencies. The actual bootstrap order can thus be arbitrary (provided it respects dependencies), so better not hardcode it.
-rw-r--r--pci-arbiter/main.c14
-rw-r--r--pci-arbiter/options.c12
-rw-r--r--pci-arbiter/options.h4
-rw-r--r--pci-arbiter/pcifs.h6
-rw-r--r--rumpdisk/main.c10
5 files changed, 23 insertions, 23 deletions
diff --git a/pci-arbiter/main.c b/pci-arbiter/main.c
index ad9ccaa9..510e7dbc 100644
--- a/pci-arbiter/main.c
+++ b/pci-arbiter/main.c
@@ -192,19 +192,19 @@ main (int argc, char **argv)
{
error_t err;
mach_port_t bootstrap;
- mach_port_t disk_server_task;
+ mach_port_t next_task;
pthread_t t, nt;
file_t underlying_node = MACH_PORT_NULL;
/* Parse options */
alloc_file_system (&fs);
argp_parse (netfs_runtime_argp, argc, argv, 0, 0, 0);
- disk_server_task = fs->params.disk_server_task;
+ next_task = fs->params.next_task;
- if (disk_server_task != MACH_PORT_NULL)
+ if (next_task != MACH_PORT_NULL)
{
machdev_register (&pci_arbiter_emulation_ops);
- machdev_trivfs_init (argc, argv, disk_server_task, "pci", NULL /* _SERVERS_BUS "pci" */, &bootstrap);
+ machdev_trivfs_init (argc, argv, next_task, "pci", NULL /* _SERVERS_BUS "pci" */, &bootstrap);
machdev_device_init ();
err = pthread_create (&t, NULL, machdev_server, NULL);
if (err)
@@ -231,7 +231,7 @@ main (int argc, char **argv)
if (err)
error (1, err, "Starting the PCI system");
- if (disk_server_task != MACH_PORT_NULL)
+ if (next_task != MACH_PORT_NULL)
{
void *run_server(void *arg) {
machdev_trivfs_server(bootstrap);
@@ -244,7 +244,7 @@ main (int argc, char **argv)
/* Timer started, quickly do all these next, before we call rump_init */
}
- if (disk_server_task == MACH_PORT_NULL)
+ if (next_task == MACH_PORT_NULL)
underlying_node = netfs_startup (bootstrap, O_READ);
/* Create the root node first */
@@ -252,7 +252,7 @@ main (int argc, char **argv)
if (err)
error (1, err, "Creating the root node");
- if (disk_server_task != MACH_PORT_NULL)
+ if (next_task != MACH_PORT_NULL)
pcifs_startup (bootstrap, O_READ);
err = init_file_system (fs);
diff --git a/pci-arbiter/options.c b/pci-arbiter/options.c
index 141c69e3..73f74ca3 100644
--- a/pci-arbiter/options.c
+++ b/pci-arbiter/options.c
@@ -241,8 +241,8 @@ 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);
+ case 'N':
+ h->next_task = atoi (arg);
break;
case 'H':
h->host_priv_port = atoi (arg);
@@ -259,7 +259,7 @@ 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->next_task = MACH_PORT_NULL;
h->host_priv_port = MACH_PORT_NULL;
h->dev_master_port = MACH_PORT_NULL;
err = parse_hook_add_set (h);
@@ -299,7 +299,7 @@ parse_opt (int opt, char *arg, struct argp_state *state)
fs->params.node_cache_max = h->ncache_len;
/* Set bootstrap ports */
- fs->params.disk_server_task = h->disk_server_task;
+ fs->params.next_task = h->next_task;
_hurd_host_priv = h->host_priv_port;
_hurd_device_master = h->dev_master_port;
@@ -381,8 +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);
+ if (fs->params.next_task != MACH_PORT_NULL)
+ ADD_OPT ("--next-task=%lu", fs->params.next_task);
#undef ADD_OPT
return err;
}
diff --git a/pci-arbiter/options.h b/pci-arbiter/options.h
index 2666bc4d..3d123261 100644
--- a/pci-arbiter/options.h
+++ b/pci-arbiter/options.h
@@ -47,7 +47,7 @@ struct parse_hook
size_t ncache_len;
/* Mach ports */
- mach_port_t disk_server_task;
+ mach_port_t next_task;
mach_port_t host_priv_port;
mach_port_t dev_master_port;
};
@@ -70,7 +70,7 @@ static const struct argp_option options[] = {
{0, 0, 0, 0, "Global configuration options:", 3},
{"ncache", 'n', "LENGTH", 0,
"Node cache length. " STR (NODE_CACHE_MAX) " by default"},
- {"disk-server-task", 'T', "TASK", 0, "Task for bootstrapping disk server"},
+ {"next-task", 'N', "TASK", 0, "Next bootstrap task"},
{"host-priv-port", 'H', "PORT", 0, "Port for bootstrapping host"},
{"device-master-port", 'P', "PORT", 0, "Port for bootstrapping device master"},
{0}
diff --git a/pci-arbiter/pcifs.h b/pci-arbiter/pcifs.h
index ba16ebaa..18f2141c 100644
--- a/pci-arbiter/pcifs.h
+++ b/pci-arbiter/pcifs.h
@@ -135,14 +135,14 @@ struct pcifs_perm
int32_t gid;
};
-/* Various parameters that can be used to change the behavior of an ftpfs. */
+/* Various parameters that can be used to change the behavior of a pcifs. */
struct pcifs_params
{
/* The size of the node cache. */
size_t node_cache_max;
- /* Bootstrap disk server task */
- mach_port_t disk_server_task;
+ /* Next bootstrap task */
+ mach_port_t next_task;
/* FS permissions. */
struct pcifs_perm *perms;
diff --git a/rumpdisk/main.c b/rumpdisk/main.c
index c5f44fb7..bafe0250 100644
--- a/rumpdisk/main.c
+++ b/rumpdisk/main.c
@@ -36,7 +36,7 @@ mach_port_t bootstrap_resume_task = MACH_PORT_NULL;
static const struct argp_option options[] = {
{"host-priv-port", 'h', "PORT", 0, "Host private port PORT"},
{"device-master-port",'d', "PORT", 0, "Device master port PORT"},
- {"filesystem-task", 'f', "TASK", 0, "Filesystem task TASK"},
+ {"next-task", 'N', "TASK", 0, "Next bootstrap task TASK"},
{0}
};
@@ -51,7 +51,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
{
int host_priv;
int dev_master;
- int fs_task;
+ int next_task;
} *values = state->hook;
switch (key)
@@ -62,8 +62,8 @@ parse_opt (int key, char *arg, struct argp_state *state)
case 'd':
values->dev_master = atoi(arg);
break;
- case 'f':
- values->fs_task = atoi(arg);
+ case 'N':
+ values->next_task = atoi(arg);
break;
case ARGP_KEY_INIT:
@@ -79,7 +79,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
/* All options parsed successfully */
_hurd_host_priv = values->host_priv;
_hurd_device_master = values->dev_master;
- bootstrap_resume_task = values->fs_task;
+ bootstrap_resume_task = values->next_task;
break;
default: