Displaying 19 results from an estimated 19 matches for "host_cr3".
2006 Jul 14
23
[RFC] New shadow paging code
We (Michael Fetterman, George Dunlap and I) have been working over the
last while on a full replacement for Xen''s shadow pagetable support.
This mail contains some design notes, below; a patch against
xen-unstable, giving a snapshot of the current state of the new shadow
code, is at http://www.cl.cam.ac.uk/~tjd21/shadow2.patch
Comments on both are welcome, although the code is not
2006 Nov 13
1
problem with pciback
...graphics card, I''m controlling the
dom0 with a serial terminal. When I run xm create winxp.hvm, this is
what I get:
Using config file "/etc/xen/winxp.hvm".
(XEN) (file=hvm.c, line=195) Allocated port 3 for hvm.
Started domain winxp
(XEN) vmx_do_launch(): GUEST_CR3<=00fd57a0, HOST_CR3<=20273000
then it hangs right there. xm list gives me:
winxp 6 512 1 ------ 0.0
showing that the vm is sorta running, its been created at the least.
Does anyone have any ideas?
Thanks,
Pete
_______________________________________________
X...
2007 May 09
1
[patch 4/9] lguest: the asm offsets
...avirt_ops, read_cr0);
#endif
+
+#ifdef CONFIG_LGUEST_GUEST
+ BLANK();
+ OFFSET(LGUEST_DATA_irq_enabled, lguest_data, irq_enabled);
+ OFFSET(LGUEST_PAGES_host_gdt_desc, lguest_pages, state.host_gdt_desc);
+ OFFSET(LGUEST_PAGES_host_idt_desc, lguest_pages, state.host_idt_desc);
+ OFFSET(LGUEST_PAGES_host_cr3, lguest_pages, state.host_cr3);
+ OFFSET(LGUEST_PAGES_host_sp, lguest_pages, state.host_sp);
+ OFFSET(LGUEST_PAGES_guest_gdt_desc, lguest_pages,state.guest_gdt_desc);
+ OFFSET(LGUEST_PAGES_guest_idt_desc, lguest_pages,state.guest_idt_desc);
+ OFFSET(LGUEST_PAGES_guest_gdt, lguest_pages, state.guest...
2007 Apr 18
0
[RFC/PATCH LGUEST X86_64 05/13] asm-offsets update
...2,51 @@ int main(void)
ENTRY(read_cr2);
ENTRY(swapgs);
#endif
+
+#ifdef CONFIG_LGUEST_GUEST
+#undef ENTRY
+#define ENTRY(entry) DEFINE(LGUEST_VCPU_ ##entry, offsetof(struct lguest_vcpu, entry))
+ ENTRY(vcpu);
+ ENTRY(debug);
+ ENTRY(magic);
+ ENTRY(guest_syscall);
+ ENTRY(host_stack);
+ ENTRY(host_cr3);
+ ENTRY(host_gs_a);
+ ENTRY(host_gs_d);
+ ENTRY(host_proc_gs_a);
+ ENTRY(host_proc_gs_d);
+ ENTRY(guest_gs_a);
+ ENTRY(guest_gs_d);
+ ENTRY(gdt);
+ ENTRY(idt);
+ ENTRY(host_gdt);
+ ENTRY(host_idt);
+ ENTRY(host_gdt_ptr);
+ ENTRY(gdt_table);
+ DEFINE(LGUEST_VCPU_trapnum, offsetof(struct lguest_vcp...
2007 Apr 18
0
[RFC/PATCH LGUEST X86_64 05/13] asm-offsets update
...2,51 @@ int main(void)
ENTRY(read_cr2);
ENTRY(swapgs);
#endif
+
+#ifdef CONFIG_LGUEST_GUEST
+#undef ENTRY
+#define ENTRY(entry) DEFINE(LGUEST_VCPU_ ##entry, offsetof(struct lguest_vcpu, entry))
+ ENTRY(vcpu);
+ ENTRY(debug);
+ ENTRY(magic);
+ ENTRY(guest_syscall);
+ ENTRY(host_stack);
+ ENTRY(host_cr3);
+ ENTRY(host_gs_a);
+ ENTRY(host_gs_d);
+ ENTRY(host_proc_gs_a);
+ ENTRY(host_proc_gs_d);
+ ENTRY(guest_gs_a);
+ ENTRY(guest_gs_d);
+ ENTRY(gdt);
+ ENTRY(idt);
+ ENTRY(host_gdt);
+ ENTRY(host_idt);
+ ENTRY(host_gdt_ptr);
+ ENTRY(gdt_table);
+ DEFINE(LGUEST_VCPU_trapnum, offsetof(struct lguest_vcp...
2007 May 09
1
[patch 4/9] lguest: the asm offsets
...avirt_ops, read_cr0);
#endif
+
+#ifdef CONFIG_LGUEST_GUEST
+ BLANK();
+ OFFSET(LGUEST_DATA_irq_enabled, lguest_data, irq_enabled);
+ OFFSET(LGUEST_PAGES_host_gdt_desc, lguest_pages, state.host_gdt_desc);
+ OFFSET(LGUEST_PAGES_host_idt_desc, lguest_pages, state.host_idt_desc);
+ OFFSET(LGUEST_PAGES_host_cr3, lguest_pages, state.host_cr3);
+ OFFSET(LGUEST_PAGES_host_sp, lguest_pages, state.host_sp);
+ OFFSET(LGUEST_PAGES_guest_gdt_desc, lguest_pages,state.guest_gdt_desc);
+ OFFSET(LGUEST_PAGES_guest_idt_desc, lguest_pages,state.guest_idt_desc);
+ OFFSET(LGUEST_PAGES_guest_gdt, lguest_pages, state.guest...
2012 Sep 11
0
[PATCH 1/3] x86/hvm: don't use indirect calls without need
...h.hvm_vcpu.guest_efer = data->msr_efer;
- hvm_update_guest_efer(v);
+ svm_update_guest_efer(v);
hvm_set_guest_tsc(v, data->tsc);
}
@@ -426,12 +428,7 @@ static int svm_guest_x86_mode(struct vcp
return (likely(vmcb->cs.attr.fields.db) ? 4 : 2);
}
-static void svm_update_host_cr3(struct vcpu *v)
-{
- /* SVM doesn''t have a HOST_CR3 equivalent to update. */
-}
-
-static void svm_update_guest_cr(struct vcpu *v, unsigned int cr)
+void svm_update_guest_cr(struct vcpu *v, unsigned int cr)
{
struct vmcb_struct *vmcb = v->arch.hvm_svm.vmcb;
uint64_t value;...
2006 Dec 06
3
HVM memory upper limit
Hello,
I''m trying to create a HVM virtual machine (windows guest) with 3G of
memory but this isn''t working. Xen create the domain but nothing happens
(the OS don''t start and the cpu time remains 0). Things start to work
with 2000MB or below. Is there some kind of upper limit for HVM virtual
machines?
I''m using a Dell PowerEdge 8250 machine with 16GB of memory.
2006 Aug 31
7
Core 2 Duo
Am considering a new laptop, and I wonder if anyone here can share their
Xen experiences with the newest Core 2 Duo CPUs, ref
http://www.intel.com/products/processor/core2duo/specifications.htm
The list at http://wiki.xensource.com/xenwiki/HVM_Compatible_Processors
doesn''t include any Core 2 Duos. Does that mean that people have had
problems, or is the wiki just not up to date?
I gather
2007 May 09
1
[patch 3/9] lguest: the host code
...lguest *lg, struct lguest_pages *pages)
+{
+ if (__get_cpu_var(last_guest) != lg || lg->last_pages != pages) {
+ __get_cpu_var(last_guest) = lg;
+ lg->last_pages = pages;
+ lg->changed = CHANGED_ALL;
+ }
+
+ /* These are pretty cheap, so we do them unconditionally. */
+ pages->state.host_cr3 = __pa(current->mm->pgd);
+ map_switcher_in_guest(lg, pages);
+ pages->state.guest_tss.esp1 = lg->esp1;
+ pages->state.guest_tss.ss1 = lg->ss1;
+
+ /* Copy direct trap entries. */
+ if (lg->changed & CHANGED_IDT)
+ copy_traps(lg, pages->state.guest_idt, default_idt_entr...
2007 May 09
1
[patch 3/9] lguest: the host code
...lguest *lg, struct lguest_pages *pages)
+{
+ if (__get_cpu_var(last_guest) != lg || lg->last_pages != pages) {
+ __get_cpu_var(last_guest) = lg;
+ lg->last_pages = pages;
+ lg->changed = CHANGED_ALL;
+ }
+
+ /* These are pretty cheap, so we do them unconditionally. */
+ pages->state.host_cr3 = __pa(current->mm->pgd);
+ map_switcher_in_guest(lg, pages);
+ pages->state.guest_tss.esp1 = lg->esp1;
+ pages->state.guest_tss.ss1 = lg->ss1;
+
+ /* Copy direct trap entries. */
+ if (lg->changed & CHANGED_IDT)
+ copy_traps(lg, pages->state.guest_idt, default_idt_entr...
2007 Aug 08
13
[PATCH 0/7] Modify lguest32 to make room for lguest64
Hi all,
I've been working on lguest64 and in order to do this, I had to move
a lot of the i386 specific out of the way. Well, the lguest64 port
is still not ready to display, but before Rusty makes too many changes
I would like this in upstream so I don't have to keep repeating my
changes :-)
So this patch series moves lguest32 out of the way for other archs.
-- Steve
2007 Aug 08
13
[PATCH 0/7] Modify lguest32 to make room for lguest64
Hi all,
I've been working on lguest64 and in order to do this, I had to move
a lot of the i386 specific out of the way. Well, the lguest64 port
is still not ready to display, but before Rusty makes too many changes
I would like this in upstream so I don't have to keep repeating my
changes :-)
So this patch series moves lguest32 out of the way for other archs.
-- Steve
2007 Aug 08
7
[PATCH 0/5 -v2] Modify lguest32 to make room for lguest64 (version 2)
[
Changes since last version.
- Move lg.h to include/asm instead (suggested by Rusty Russel)
- All steps of the series compiles (suggested by Stephen Rothwell)
- Better ifdef header naming (suggested by Stephen Rothwell)
- Added Andi Kleen to CC (forgot to on V1)
]
Hi all,
I've been working on lguest64 and in order to do this, I had to move
a lot of the i386 specific out of the
2007 Aug 08
7
[PATCH 0/5 -v2] Modify lguest32 to make room for lguest64 (version 2)
[
Changes since last version.
- Move lg.h to include/asm instead (suggested by Rusty Russel)
- All steps of the series compiles (suggested by Stephen Rothwell)
- Better ifdef header naming (suggested by Stephen Rothwell)
- Added Andi Kleen to CC (forgot to on V1)
]
Hi all,
I've been working on lguest64 and in order to do this, I had to move
a lot of the i386 specific out of the
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...%rdi)
+ movq %rdx, LGUEST_VCPU_host_gs_d(%rdi)
+
+ /* Save the host proc gs pointer */
+ movl $MSR_KERNEL_GS_BASE, %ecx
+ rdmsr
+ movq %rax, LGUEST_VCPU_host_proc_gs_a(%rdi)
+ movq %rdx, LGUEST_VCPU_host_proc_gs_d(%rdi)
+
+ /* save the hosts page tables */
+ movq %cr3, %rax
+ movq %rax, LGUEST_VCPU_host_cr3(%rdi)
+
+ /*
+ * The NMI is a big PITA. There's no way to atomically load the
+ * TSS and IDT, so we can't just switch to the guest TSS without
+ * causing a race condition with the NMI.
+ * So we set up the host NMI stack in the guest TSS IST so that
+ * in case we take an NMI after...
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...%rdi)
+ movq %rdx, LGUEST_VCPU_host_gs_d(%rdi)
+
+ /* Save the host proc gs pointer */
+ movl $MSR_KERNEL_GS_BASE, %ecx
+ rdmsr
+ movq %rax, LGUEST_VCPU_host_proc_gs_a(%rdi)
+ movq %rdx, LGUEST_VCPU_host_proc_gs_d(%rdi)
+
+ /* save the hosts page tables */
+ movq %cr3, %rax
+ movq %rax, LGUEST_VCPU_host_cr3(%rdi)
+
+ /*
+ * The NMI is a big PITA. There's no way to atomically load the
+ * TSS and IDT, so we can't just switch to the guest TSS without
+ * causing a race condition with the NMI.
+ * So we set up the host NMI stack in the guest TSS IST so that
+ * in case we take an NMI after...
2007 Sep 25
50
[patch 00/43] lguest: Patches for 2.6.24 (and patchbomb test)
Hi all,
These are the patches I'm planning to submit for 2.6.24. Comments
gratefully accepted. Along with the usual cleanups and improvements are Jes'
de-i386-ification patches, and a new "virtio" mechanism designed to be shared
with KVM (and hopefully other hypervisors).
Cheers,
Rusty.
Documentation/lguest/Makefile | 30
Documentation/lguest/lguest.c
2007 Sep 25
50
[patch 00/43] lguest: Patches for 2.6.24 (and patchbomb test)
Hi all,
These are the patches I'm planning to submit for 2.6.24. Comments
gratefully accepted. Along with the usual cleanups and improvements are Jes'
de-i386-ification patches, and a new "virtio" mechanism designed to be shared
with KVM (and hopefully other hypervisors).
Cheers,
Rusty.
Documentation/lguest/Makefile | 30
Documentation/lguest/lguest.c