diff --git a/xen/arch/powerpc/domain.c b/xen/arch/powerpc/domain.c index 45ed959945..b029628582 100644 --- a/xen/arch/powerpc/domain.c +++ b/xen/arch/powerpc/domain.c @@ -152,17 +152,20 @@ void vcpu_destroy(struct vcpu *v) int arch_set_info_guest(struct vcpu *v, vcpu_guest_context_t *c) { + struct domain *d = v->domain; + memcpy(&v->arch.ctxt, &c->user_regs, sizeof(c->user_regs)); - printk("Domain[%d].%d: initializing\n", - v->domain->domain_id, v->vcpu_id); + printk("Domain[%d].%d: initializing\n", d->domain_id, v->vcpu_id); - if (v->domain->arch.htab.order == 0) - panic("Page table never allocated for Domain: %d\n", - v->domain->domain_id); - if (v->domain->arch.rma_order == 0) - panic("RMA never allocated for Domain: %d\n", - v->domain->domain_id); + if (d->arch.htab.order == 0) + panic("Page table never allocated for Domain: %d\n", d->domain_id); + if (d->arch.rma_order == 0) + panic("RMA never allocated for Domain: %d\n", d->domain_id); + + d->shared_info->wc_sec = dom0->shared_info->wc_sec; + d->shared_info->wc_nsec = dom0->shared_info->wc_nsec; + d->shared_info->arch.boot_timebase = dom0->shared_info->arch.boot_timebase; set_bit(_VCPUF_initialised, &v->vcpu_flags); diff --git a/xen/arch/powerpc/time.c b/xen/arch/powerpc/time.c index 3a26e2ace4..8f6bc70bda 100644 --- a/xen/arch/powerpc/time.c +++ b/xen/arch/powerpc/time.c @@ -85,12 +85,6 @@ void send_timer_event(struct vcpu *v) vcpu_unblock(v); } -/* Set clock to after 00:00:00 UTC, 1 January, 1970. */ -void do_settime(unsigned long secs, unsigned long usecs, u64 system_time_base) -{ - unimplemented(); -} - void update_vcpu_system_time(struct vcpu *v) { } diff --git a/xen/include/public/arch-powerpc.h b/xen/include/public/arch-powerpc.h index 267d6c6a91..9acb749e16 100644 --- a/xen/include/public/arch-powerpc.h +++ b/xen/include/public/arch-powerpc.h @@ -108,7 +108,7 @@ typedef struct vcpu_guest_context vcpu_guest_context_t; DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t); struct arch_shared_info { - uint64_t pad[32]; + uint64_t boot_timebase; }; struct arch_vcpu_info {