From: Keir Fraser Date: Thu, 9 Dec 2010 10:19:01 +0000 (+0000) Subject: Move IDLE_DOMAIN_ID defn to public header, and change DOMID_INVALID to fix clash. X-Git-Tag: 4.0.2-rc1~31 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=2aabccb8d2f60d2a3d955430bd3ef2151452a91f;p=people%2Fvhanquez%2Fxen.git Move IDLE_DOMAIN_ID defn to public header, and change DOMID_INVALID to fix clash. Signed-off-by: Keir Fraser xen-unstable changeset: 22472:5ac189556629 xen-unstable ldate: Thu Dec 09 10:09:59 2010 +0000 --- diff --git a/xen/arch/ia64/xen/domain.c b/xen/arch/ia64/xen/domain.c index 9efb79f07..743dab749 100644 --- a/xen/arch/ia64/xen/domain.c +++ b/xen/arch/ia64/xen/domain.c @@ -372,7 +372,7 @@ static void continue_cpu_idle_loop(void) void startup_cpu_idle_loop(void) { /* Just some sanity to ensure that the scheduler is set up okay. */ - ASSERT(current->domain->domain_id == IDLE_DOMAIN_ID); + ASSERT(is_idle_vcpu(current)); raise_softirq(SCHEDULE_SOFTIRQ); continue_cpu_idle_loop(); diff --git a/xen/arch/ia64/xen/xensetup.c b/xen/arch/ia64/xen/xensetup.c index da8de417c..84a92eab7 100644 --- a/xen/arch/ia64/xen/xensetup.c +++ b/xen/arch/ia64/xen/xensetup.c @@ -567,7 +567,7 @@ skip_move: scheduler_init(); idle_vcpu[0] = (struct vcpu*) ia64_r13; - idle_domain = domain_create(IDLE_DOMAIN_ID, 0, 0); + idle_domain = domain_create(DOMID_IDLE, 0, 0); if ( idle_domain == NULL ) BUG(); idle_domain->vcpu = idle_vcpu; diff --git a/xen/arch/x86/debug.c b/xen/arch/x86/debug.c index 98134b3b6..bf5f157e1 100644 --- a/xen/arch/x86/debug.c +++ b/xen/arch/x86/debug.c @@ -230,7 +230,7 @@ dbg_rw_guest_mem(dbgva_t addr, dbgbyte_t *buf, int len, struct domain *dp, } /* - * addr is hypervisor addr if domid == IDLE_DOMAIN_ID, else it's guest addr + * addr is hypervisor addr if domid == DOMID_IDLE, else it's guest addr * buf is debugger buffer. * if toaddr, then addr = buf (write to addr), else buf = addr (rd from guest) * pgd3: value of init_mm.pgd[3] in guest. see above. @@ -241,7 +241,7 @@ dbg_rw_mem(dbgva_t addr, dbgbyte_t *buf, int len, domid_t domid, int toaddr, uint64_t pgd3) { struct domain *dp = get_domain_by_id(domid); - int hyp = (domid == IDLE_DOMAIN_ID); + int hyp = (domid == DOMID_IDLE); DBGP2("gmem:addr:%lx buf:%p len:$%d domid:%x toaddr:%x dp:%p\n", addr, buf, len, domid, toaddr, dp); diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c index 33d6d7609..553a5f5d2 100644 --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -245,7 +245,7 @@ static void __init init_idle_domain(void) /* Domain creation requires that scheduler structures are initialised. */ scheduler_init(); - idle_domain = domain_create(IDLE_DOMAIN_ID, 0, 0); + idle_domain = domain_create(DOMID_IDLE, 0, 0); if ( idle_domain == NULL ) BUG(); idle_domain->vcpu = idle_vcpu; diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h index 1a5e3e840..7106257a3 100644 --- a/xen/include/public/xen.h +++ b/xen/include/public/xen.h @@ -370,8 +370,11 @@ typedef uint16_t domid_t; * DOMID_COW is used as the owner of sharable pages */ #define DOMID_COW (0x7FF3U) -/* DOMID_INVALID is used to identity invalid domid */ -#define DOMID_INVALID (0x7FFFU) +/* DOMID_INVALID is used to identify pages with unknown owner. */ +#define DOMID_INVALID (0x7FF4U) + +/* Idle domain. */ +#define DOMID_IDLE (0x7FFFU) /* * Send an array of these to HYPERVISOR_mmu_update(). diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h index b04ba4ed5..08ce46df8 100644 --- a/xen/include/xen/sched.h +++ b/xen/include/xen/sched.h @@ -326,8 +326,7 @@ struct domain_setup_info }; extern struct vcpu *idle_vcpu[NR_CPUS]; -#define IDLE_DOMAIN_ID (0x7FFFU) -#define is_idle_domain(d) ((d)->domain_id == IDLE_DOMAIN_ID) +#define is_idle_domain(d) ((d)->domain_id == DOMID_IDLE) #define is_idle_vcpu(v) (is_idle_domain((v)->domain)) #define DOMAIN_DESTROYED (1<<31) /* assumes atomic_t is >= 32 bits */ diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c index 1b36a9e91..07c75b1c3 100644 --- a/xen/xsm/flask/hooks.c +++ b/xen/xsm/flask/hooks.c @@ -74,7 +74,7 @@ static int flask_domain_alloc_security(struct domain *d) dsec->d = d; - if ( d->domain_id == IDLE_DOMAIN_ID ) + if ( is_idle_domain(d) ) { dsec->sid = SECINITSID_XEN; dsec->create_sid = SECINITSID_DOM0;