[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Merge firebug.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-unstable.bk
ChangeSet 1.1654, 2005/06/02 22:25:15+01:00, cl349@xxxxxxxxxxxxxxxxxxxx Merge firebug.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-unstable.bk into firebug.cl.cam.ac.uk:/local/scratch/cl349/xen-unstable.bk arch/x86/i387.c | 1 arch/x86/irq.c | 18 ++--- arch/x86/smpboot.c | 6 - arch/x86/vmx_io.c | 38 ++++++------ arch/x86/vmx_vmcs.c | 14 ++-- arch/x86/x86_32/asm-offsets.c | 2 arch/x86/x86_32/mm.c | 2 arch/x86/x86_32/seg_fixup.c | 1 arch/x86/x86_32/traps.c | 14 ++-- arch/x86/x86_64/asm-offsets.c | 2 arch/x86/x86_64/mm.c | 10 +-- arch/x86/x86_64/traps.c | 2 common/dom0_ops.c | 82 +++++++++++++------------- common/event_channel.c | 66 ++++++++++----------- common/sched_bvt.c | 1 common/sched_sedf.c | 2 drivers/char/console.c | 2 include/asm-x86/shadow.h | 132 +++++++++++++++++++++--------------------- include/xen/event.h | 1 include/xen/sched.h | 12 --- 20 files changed, 201 insertions(+), 207 deletions(-) diff -Nru a/xen/arch/x86/i387.c b/xen/arch/x86/i387.c --- a/xen/arch/x86/i387.c 2005-06-02 18:04:30 -04:00 +++ b/xen/arch/x86/i387.c 2005-06-02 18:04:30 -04:00 @@ -10,6 +10,7 @@ #include <xen/config.h> #include <xen/sched.h> +#include <asm/current.h> #include <asm/processor.h> #include <asm/i387.h> diff -Nru a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c --- a/xen/arch/x86/irq.c 2005-06-02 18:04:30 -04:00 +++ b/xen/arch/x86/irq.c 2005-06-02 18:04:30 -04:00 @@ -184,22 +184,22 @@ u8 nr_guests; u8 in_flight; u8 shareable; - struct exec_domain *guest[IRQ_MAX_GUESTS]; + struct vcpu *guest[IRQ_MAX_GUESTS]; } irq_guest_action_t; static void __do_IRQ_guest(int irq) { irq_desc_t *desc = &irq_desc[irq]; irq_guest_action_t *action = (irq_guest_action_t *)desc->action; - struct exec_domain *ed; + struct vcpu *v; int i; for ( i = 0; i < action->nr_guests; i++ ) { - ed = action->guest[i]; - if ( !test_and_set_bit(irq, &ed->domain->pirq_mask) ) + v = action->guest[i]; + if ( !test_and_set_bit(irq, &v->domain->pirq_mask) ) action->in_flight++; - send_guest_pirq(ed, irq); + send_guest_pirq(v, irq); } } @@ -231,9 +231,9 @@ return 0; } -int pirq_guest_bind(struct exec_domain *ed, int irq, int will_share) +int pirq_guest_bind(struct vcpu *v, int irq, int will_share) { - struct domain *d = ed->domain; + struct domain *d = v->domain; irq_desc_t *desc = &irq_desc[irq]; irq_guest_action_t *action; unsigned long flags; @@ -275,7 +275,7 @@ desc->handler->startup(irq); /* Attempt to bind the interrupt target to the correct CPU. */ - cpu_set(ed->processor, cpumask); + cpu_set(v->processor, cpumask); if ( desc->handler->set_affinity != NULL ) desc->handler->set_affinity(irq, cpumask); } @@ -294,7 +294,7 @@ goto out; } - action->guest[action->nr_guests++] = ed; + action->guest[action->nr_guests++] = v; out: spin_unlock_irqrestore(&desc->lock, flags); diff -Nru a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c --- a/xen/arch/x86/smpboot.c 2005-06-02 18:04:30 -04:00 +++ b/xen/arch/x86/smpboot.c 2005-06-02 18:04:30 -04:00 @@ -757,7 +757,7 @@ */ { struct domain *idle; - struct exec_domain *ed; + struct vcpu *v; void *stack; unsigned long boot_error; int timeout, cpu; @@ -769,11 +769,11 @@ if ( (idle = do_createdomain(IDLE_DOMAIN_ID, cpu)) == NULL ) panic("failed 'createdomain' for CPU %d", cpu); - ed = idle_task[cpu] = idle->exec_domain[0]; + v = idle_task[cpu] = idle->vcpu[0]; set_bit(_DOMF_idle_domain, &idle->domain_flags); - ed->arch.monitor_table = mk_pagetable(__pa(idle_pg_table)); + v->arch.monitor_table = mk_pagetable(__pa(idle_pg_table)); /* start_eip had better be page-aligned! */ start_eip = setup_trampoline(); diff -Nru a/xen/arch/x86/vmx_io.c b/xen/arch/x86/vmx_io.c --- a/xen/arch/x86/vmx_io.c 2005-06-02 18:04:29 -04:00 +++ b/xen/arch/x86/vmx_io.c 2005-06-02 18:04:29 -04:00 @@ -180,7 +180,7 @@ } #endif -void vmx_io_assist(struct exec_domain *ed) +void vmx_io_assist(struct vcpu *v) { vcpu_iodata_t *vio; ioreq_t *p; @@ -190,10 +190,10 @@ struct mi_per_cpu_info *mpci_p; struct cpu_user_regs *inst_decoder_regs; - mpci_p = &ed->arch.arch_vmx.vmx_platform.mpci; + mpci_p = &v->arch.arch_vmx.vmx_platform.mpci; inst_decoder_regs = mpci_p->inst_decoder_regs; - vio = (vcpu_iodata_t *) ed->arch.arch_vmx.vmx_platform.shared_page_va; + vio = (vcpu_iodata_t *) v->arch.arch_vmx.vmx_platform.shared_page_va; if (vio == 0) { VMX_DBG_LOG(DBG_LEVEL_1, "bad shared page: %lx", (unsigned long) vio); @@ -202,18 +202,18 @@ p = &vio->vp_ioreq; if (p->state == STATE_IORESP_HOOK){ - vmx_hooks_assist(ed); + vmx_hooks_assist(v); } /* clear IO wait VMX flag */ - if (test_bit(ARCH_VMX_IO_WAIT, &ed->arch.arch_vmx.flags)) { + if (test_bit(ARCH_VMX_IO_WAIT, &v->arch.arch_vmx.flags)) { if (p->state != STATE_IORESP_READY) { /* An interrupt send event raced us */ return; } else { p->state = STATE_INVALID; } - clear_bit(ARCH_VMX_IO_WAIT, &ed->arch.arch_vmx.flags); + clear_bit(ARCH_VMX_IO_WAIT, &v->arch.arch_vmx.flags); } else { return; } @@ -229,10 +229,10 @@ } int size = -1, index = -1; - size = operand_size(ed->arch.arch_vmx.vmx_platform.mpci.mmio_target); - index = operand_index(ed->arch.arch_vmx.vmx_platform.mpci.mmio_target); + size = operand_size(v->arch.arch_vmx.vmx_platform.mpci.mmio_target); + index = operand_index(v->arch.arch_vmx.vmx_platform.mpci.mmio_target); - if (ed->arch.arch_vmx.vmx_platform.mpci.mmio_target & WZEROEXTEND) { + if (v->arch.arch_vmx.vmx_platform.mpci.mmio_target & WZEROEXTEND) { p->u.data = p->u.data & 0xffff; } set_reg_value(size, index, 0, regs, p->u.data); @@ -273,17 +273,17 @@ } } -int vmx_clear_pending_io_event(struct exec_domain *ed) +int vmx_clear_pending_io_event(struct vcpu *v) { - struct domain *d = ed->domain; + struct domain *d = v->domain; /* evtchn_pending is shared by other event channels in 0-31 range */ if (!d->shared_info->evtchn_pending[IOPACKET_PORT>>5]) - clear_bit(IOPACKET_PORT>>5, &ed->vcpu_info->evtchn_pending_sel); + clear_bit(IOPACKET_PORT>>5, &v->vcpu_info->evtchn_pending_sel); /* Note: VMX domains may need upcalls as well */ - if (!ed->vcpu_info->evtchn_pending_sel) - ed->vcpu_info->evtchn_upcall_pending = 0; + if (!v->vcpu_info->evtchn_pending_sel) + v->vcpu_info->evtchn_upcall_pending = 0; /* clear the pending bit for IOPACKET_PORT */ return test_and_clear_bit(IOPACKET_PORT, @@ -296,7 +296,7 @@ * interrupts are guaranteed to be checked before resuming guest. * VMX upcalls have been already arranged for if necessary. */ -void vmx_check_events(struct exec_domain *d) +void vmx_check_events(struct vcpu *d) { /* clear the event *before* checking for work. This should avoid the set-and-check races */ @@ -384,7 +384,7 @@ * Return 0-255 for pending irq. * -1 when no pending. */ -static inline int find_highest_pending_irq(struct exec_domain *d) +static inline int find_highest_pending_irq(struct vcpu *d) { vcpu_iodata_t *vio; @@ -398,7 +398,7 @@ return find_highest_irq((unsigned int *)&vio->vp_intr[0]); } -static inline void clear_highest_bit(struct exec_domain *d, int vector) +static inline void clear_highest_bit(struct vcpu *d, int vector) { vcpu_iodata_t *vio; @@ -417,7 +417,7 @@ return ((eflags & X86_EFLAGS_IF) == 0); } -void vmx_intr_assist(struct exec_domain *d) +void vmx_intr_assist(struct vcpu *d) { int highest_vector = find_highest_pending_irq(d); unsigned long intr_fields, eflags; @@ -463,7 +463,7 @@ return; } -void vmx_do_resume(struct exec_domain *d) +void vmx_do_resume(struct vcpu *d) { vmx_stts(); if ( vmx_paging_enabled(d) ) diff -Nru a/xen/arch/x86/vmx_vmcs.c b/xen/arch/x86/vmx_vmcs.c --- a/xen/arch/x86/vmx_vmcs.c 2005-06-02 18:04:30 -04:00 +++ b/xen/arch/x86/vmx_vmcs.c 2005-06-02 18:04:30 -04:00 @@ -103,7 +103,7 @@ #define round_pgdown(_p) ((_p)&PAGE_MASK) /* coped from domain.c */ -int vmx_setup_platform(struct exec_domain *d, struct cpu_user_regs *regs) +int vmx_setup_platform(struct vcpu *d, struct cpu_user_regs *regs) { int i; unsigned int n; @@ -157,7 +157,7 @@ return 0; } -void vmx_do_launch(struct exec_domain *ed) +void vmx_do_launch(struct vcpu *v) { /* Update CR3, GDT, LDT, TR */ unsigned int tr, cpu, error = 0; @@ -168,14 +168,14 @@ struct cpu_user_regs *regs = guest_cpu_user_regs(); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |