diff --git a/.rootkeys b/.rootkeys index c450c67df2..a842dde4ac 100644 --- a/.rootkeys +++ b/.rootkeys @@ -39,6 +39,7 @@ 3eb781fdgbSkh2O6JQS-65Dz4n0ItQ tools/internal/xi_build.c 3eb781fdW1SAyiaC4mTsXq_9fRHh-A tools/internal/xi_create.c 3eb781fdcJ0fF7rWfzAOArW-x4-gwA tools/internal/xi_destroy.c +3eb83c3bZeECmphOKOJxSu4Lo1LpBw tools/internal/xi_list 3eb781fd8oRfPgH7qTh7xvgmwD6NgA tools/internal/xi_start.c 3eb781fd0Eo9K1jEFCSAVzO51i_ngg tools/internal/xi_stop.c 3eb781fd7211MZsLxJSiuy7W4KnJXg tools/internal/xi_vifinit diff --git a/tools/internal/xi_list b/tools/internal/xi_list new file mode 100755 index 0000000000..bff4633f83 --- /dev/null +++ b/tools/internal/xi_list @@ -0,0 +1,45 @@ +#!/bin/bash +# +# xi_list +# +# This is a silly little script to dump the currently running domains. +# The output format is a series of space-separate fields for each domain: +# +# 1. Domain id +# 2. Processor +# 3. Has CPU (1 => true, 0 => false) +# 4. State (RUNNING, INTERRUPTABLE, UNINTERRUPTABLE, WAIT, SUSPENDED, DYING) +# 5. MCU advance +# 6. Total pages +# 7. Name + +INPUT_FILE=/proc/xeno/domains + +awk -f - $INPUT_FILE <domain = dom_id; p->processor = cpu; + sprintf (p->name, "Domain-%d", dom_id); + spin_lock_init(&p->blk_ring_lock); spin_lock_init(&p->page_lock); diff --git a/xen/include/xeno/sched.h b/xen/include/xeno/sched.h index fe4c49736e..c5ab334b00 100644 --- a/xen/include/xeno/sched.h +++ b/xen/include/xeno/sched.h @@ -170,6 +170,9 @@ struct task_struct * TASK_WAIT: Domains CPU allocation expired. * TASK_SUSPENDED: Domain is in supsended state (eg. start of day) * TASK_DYING: Domain is about to cross over to the land of the dead. + * + * If you update these then please update the mapping to text names in + * xi_list. */ #define TASK_RUNNING 0 diff --git a/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_core.c b/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_core.c index 4f03fda0e2..d4777180e4 100644 --- a/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_core.c +++ b/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_core.c @@ -351,6 +351,12 @@ static int xeno_domains_show(struct seq_file *s, void *v) { dom0_op_t *di = v; + /* + * Output one domain's details to dom0. + * + * If you update this format string then change xi_list to match. + */ + seq_printf (s, "%8d %2d %1d %2d %8d %8ld %p %8d %s\n", di -> u.getdominfo.domain,