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
|