kaf24@firebug.cl.cam.ac.uk
a582b2638b
New memory_op subcall XENMEM_translate_gpfn_list.
...
Allows translation from GPFNs to MFNs for an auto-translated
guest.
Signed-off-by: Keir Fraser <keir@xensource.com >
2006-02-16 18:52:06 +01:00
kaf24@firebug.cl.cam.ac.uk
60079e38bf
Build the phys_to_machine_mapping array in Xen rather than
...
reusing the 1:1 page table built by the builder, and it also establishes
the 1:1 direct mapping at runtime a la shadow page tables. Since the
builder constructs the full 1:1 direct mapping (but <4GB), the current
implementation wastes memory but cannot support guests with >=4GB
memory (even for x64-64).
This is also required for HVM support on the PAE host. That patch
should be sent soon.
For SVM, I think the svm code needs changes. Please look at the changes
to vmx.c and vmcs.c; should be straightforward.
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com >
Signed-off-by: Xiaohui Xin <xiaohui.xin@intel.com >
2006-02-03 12:02:30 +01:00
kaf24@firebug.cl.cam.ac.uk
b2572e0698
Fix some more pfn/mfn/gmfn/gpfn inconsistencies. Fix some direct
...
uses of max_page variable to use the mfn_valid() predicate.
Signed-off-by: Keir Fraser <keir@xensource.com >
2006-02-02 12:18:28 +01:00
kaf24@firebug.cl.cam.ac.uk
d1bd157fbc
Big merge the HVM full-virtualisation abstractions.
...
This changeset contains all differences between
xen-unstable.hg and xen-unstable-hvm.hg.
All information and comments for changesets unique to
xen-unstable-hvm.hg are included below.
Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com >
Signed-off-by: Keir Fraser <keir@xensource.com >
> user: leendert@eserver2.watson.ibm.com
> date: Tue Jan 31 04:29:51 2006 -0400
> files: xen/include/asm-ia64/mm.h
> description:
> Fix ia64 compile.
>
> Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Tue Jan 31 02:21:49 2006 -0400
> files: xen/include/xen/domain_page.h
> description:
> Eliminate unused fields (pfn,va) warnings.
>
> Signed-Off-By: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Fri Jan 27 04:31:44 2006 -0400
> files: tools/python/xen/xend/image.py
> description:
> Name cleanup. vmx refers to VT-x specific code, HVM is used for all others.
>
> Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: root@xen-trw1.amd.com
> date: Sun Jan 22 18:39:58 2006 -0500
> files: xen/arch/x86/hvm/platform.c
> description:
> support prefix 0x67 in hvm decode logic, gfxboot patch causes 0x67 prefix.
>
>
> user: twoller@xen-trw1.amd.com
> date: Sun Jan 22 18:35:59 2006 -0500
> files: xen/arch/x86/hvm/svm/svm.c xen/arch/x86/hvm/svm/vmcb.c xen/include/asm-x86/hvm/svm/svm.h
> description:
> check for valid shared_page_va/vmcb before deallocating in SVM.
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Sun Jan 22 02:56:20 2006 -0400
> files: xen/include/asm-x86/hvm/svm/svm.h xen/include/asm-x86/hvm/svm/vmmcall.h
> description:
> Some SVM header file cleanups.
>
> Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Fri Jan 20 11:50:23 2006 -0400
> files: xen/arch/x86/domain.c
> description:
> Need to be more diligent about when to call into the HVM abstraction layer
> and when not.
>
> Signed-Off-By: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Wed Jan 18 15:14:56 2006 -0400
> files: xen/arch/x86/hvm/svm/svm.c xen/arch/x86/hvm/svm/x86_32/exits.S xen/arch/x86/hvm/svm/x86_64/exits.S xen/arch/x86/hvm/vmx/x86_32/exits.S xen/arch/x86/hvm/vmx/x86_64/exits.S
> description:
> Added missing copyright statements and updated svm.c's copyright to properly
> reflect that it was derived from vmx.c.
>
> Signed-Off-By: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Tue Jan 17 09:42:11 2006 -0400
> files: xen/arch/ia64/Makefile xen/arch/ia64/vmx/vlsapic.c xen/arch/ia64/vmx/vmx_init.c xen/include/asm-ia64/vmx_platform.h
> description:
> Make sure ia64 builds again with the new directory structure.
>
> Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: leendert@localhost.localdomain
> date: Tue Jan 17 08:28:51 2006 -0400
> files: xen/arch/x86/Makefile xen/arch/x86/hvm/i8259.c xen/arch/x86/hvm/vioapic.c
> description:
> The device models now belong in hvm.
>
> Signed-ff-by: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Sun Jan 15 16:40:58 2006 -0400
> files: xen/arch/x86/Makefile xen/arch/x86/cpu/amd.c xen/arch/x86/cpu/intel.c xen/arch/x86/dm/hvm_vioapic.c xen/arch/x86/dm/i8259.c xen/arch/x86/dom0_ops.c xen/arch/x86/domain.c xen/arch/x86/hvm/hvm.c xen/arch/x86/hvm/intercept.c xen/arch/x86/hvm/io.c xen/arch/x86/hvm/platform.c xen/arch/x86/hvm/svm/emulate.c xen/arch/x86/hvm/svm/instrlen.c xen/arch/x86/hvm/svm/intr.c xen/arch/x86/hvm/svm/svm.c xen/arch/x86/hvm/svm/vmcb.c xen/arch/x86/hvm/svm/x86_32/exits.S xen/arch/x86/hvm/svm/x86_64/exits.S xen/arch/x86/hvm/vlapic.c xen/arch/x86/hvm/vmx/io.c xen/arch/x86/hvm/vmx/vmcs.c xen/arch/x86/hvm/vmx/vmx.c xen/arch/x86/hvm/vmx/x86_32/exits.S xen/arch/x86/hvm/vmx/x86_64/exits.S xen/arch/x86/i387.c xen/arch/x86/x86_32/entry.S xen/arch/x86/x86_32/traps.c xen/arch/x86/x86_64/entry.S xen/arch/x86/x86_64/traps.c xen/include/asm-x86/domain.h xen/include/asm-x86/hvm/domain.h xen/include/asm-x86/hvm/hvm.h xen/include/asm-x86/hvm/io.h xen/include/asm-x86/hvm/support.h xen/include/asm-x86/hvm/svm/emulate.h xen/include/asm-x86/hvm/svm/intr.h xen/include/asm-x86/hvm/svm/svm.h xen/include/asm-x86/hvm/svm/vmcb.h xen/include/asm-x86/hvm/svm/vmmcall.h xen/include/asm-x86/hvm/vcpu.h xen/include/asm-x86/hvm/vioapic.h xen/include/asm-x86/hvm/vlapic.h xen/include/asm-x86/hvm/vmx/cpu.h xen/include/asm-x86/hvm/vmx/vmcs.h xen/include/asm-x86/hvm/vmx/vmx.h xen/include/asm-x86/hvm/vpic.h xen/include/asm-x86/hvm/vpit.h xen/include/asm-x86/shadow.h
> description:
> As suggested by Keir, I restructured the hvm/vmx/svm tree. The new
> directory structure looks like:
>
> xen/arch/hvm/
> xen/arch/hvm/vmx
> xen/arch/hvm/vmx/x86_32
> xen/arch/hvm/vmx/x86_64
> xen/arch/hvm/svm
> xen/arch/hvm/svm/x86_32
> xen/arch/hvm/svm/x86_64
>
> xen/include/hvm/
> xen/include/hvm/vmx
> xen/include/hvm/svm
>
> Many files have been renamed and had their hvm_/vmx_/svm_ suffix removed
> because this is now clear from the directory where the file resides.
>
> Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Sat Jan 14 17:03:28 2006 -0400
> files: xen/arch/ia64/vmx/vlsapic.c xen/include/asm-ia64/vmx_platform.h
> description:
> Name change fix for ia64.
>
> Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Sat Jan 14 15:12:59 2006 -0400
> files: xen/arch/x86/dm/hvm_vioapic.c xen/arch/x86/dm/i8259.c xen/arch/x86/hvm.c xen/arch/x86/hvm_intercept.c xen/arch/x86/svm.c xen/arch/x86/svm_intr.c xen/arch/x86/svm_vmcb.c xen/arch/x86/vmx.c xen/arch/x86/vmx_io.c xen/arch/x86/vmx_vmcs.c xen/include/asm-x86/hvm_domain.h xen/include/asm-x86/hvm_vcpu.h
> description:
> Move VMX/SVM print buffer to hvm_domain.
>
> Cleanup variable names. The suffix hvm_ is redundant in hvm_domain.
>
> Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: twoller@xen-trw1.site
> date: Fri Jan 13 17:03:18 2006 -0500
> files: xen/arch/x86/svm.c
> description:
> remove unnecessary spin_unlock in asid_fetch code for svm.
>
>
> user: twoller@xen-trw1.site
> date: Wed Jan 11 20:00:36 2006 -0500
> files: xen/arch/x86/svm.c
> description:
> remove unneeded update_pagetables() during svm PF handling (resolved with ASID code rework).
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Tue Jan 10 02:45:32 2006 -0400
> files: xen/arch/x86/hvm.c xen/arch/x86/vmx_io.c
> description:
> Factor out cpu_get_interrupt(). It is used by VMX and SVM.
>
> Signed-Off-By: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Mon Jan 9 00:03:30 2006 -0400
> files: xen/arch/x86/hvm.c xen/arch/x86/svm.c xen/arch/x86/vmx.c xen/include/asm-x86/hvm_support.h xen/include/asm-x86/hvm_vcpu.h
> description:
> Introduce small print buffer per domain rather than a single global one.
>
> Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Sun Jan 8 23:07:12 2006 -0400
> files: xen/arch/x86/dom0_ops.c xen/include/asm-x86/hvm_support.h xen/include/public/arch-x86_32.h xen/include/public/arch-x86_64.h
> description:
> More cleanup. There is no point in distinguishing between SVM and VMX,
> a single HVM flag bit suffices.
>
> Signed-Off-By: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Sun Jan 8 12:05:59 2006 -0400
> files: xen/arch/x86/svm.c xen/arch/x86/vmx.c
> description:
> Both VMX & SVM now print writes to the debug port (0xE9) on the console.
>
> Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Sat Jan 7 13:55:27 2006 -0400
> files: xen/arch/x86/svm.c xen/arch/x86/svm_intr.c xen/arch/x86/svm_vmcb.c xen/arch/x86/vmx.c xen/arch/x86/vmx_io.c xen/arch/x86/vmx_vmcs.c xen/arch/x86/x86_32/asm-offsets.c xen/arch/x86/x86_64/asm-offsets.c xen/include/asm-x86/domain.h xen/include/asm-x86/vmx.h
> description:
> Introduce shorthands to improve code legibility.
>
> Signed-Off-By: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Wed Jan 4 06:12:10 2006 -0400
> files: tools/examples/xmexample.hvm
> description:
> Minor spelling mistakes.
>
> Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Wed Jan 4 03:37:55 2006 -0400
> files: xen/include/public/hvm/hvm_info_table.h xen/include/public/hvm/ioreq.h xen/include/public/hvm/vmx_assist.h
> description:
> Missed adding new files.
>
> Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Mon Jan 2 01:23:54 2006 -0400
> files: tools/debugger/libxendebug/xendebug.c tools/libxc/xc_hvm_build.c
> description:
> Finalize Xin Li's patch: vmx/svm_identify is no longer necessary.
> Xen debug should test for HVM instead of VMX.
>
> Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: twoller@xen-trw1.site
> date: Sun Jan 1 03:22:39 2006 -0500
> files: tools/ioemu/vl.c
> description:
> change hardcoded VTXEN to HVMXEN.
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Sun Jan 1 02:22:47 2006 -0400
> files: tools/libxc/xc_hvm_build.c tools/python/xen/xend/image.py xen/arch/x86/domain.c
> description:
> Avoid xen crash if there is no VMX support. If a platform
> doesn't support VMX, creating VMX domain will crash xen
> HV.
>
> Signed-off-by: Xin Li <xin.b.li@intel.com >
> Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com >
> [ vmx/svm_identify are still needed in hvm builder, but this may not
> really be necessary. I need to check this. - lvd ]
>
>
> user: twoller@xen-trw1.site
> date: Fri Dec 30 21:38:56 2005 -0500
> files: xen/arch/x86/svm.c xen/arch/x86/svm_vmcb.c xen/arch/x86/x86_32/entry.S xen/include/asm-x86/svm.h xen/include/asm-x86/svm_vmcb.h
> description:
> add multi-core support for guest ASIDs for SVM partitions.
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Sun Dec 25 20:44:43 2005 -0400
> files: tools/firmware/vmxassist/head.S
> description:
> Make sure vmxassist still works in its debug environment.
>
> Signed-Off-By: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Fri Dec 23 18:27:57 2005 -0400
> files: tools/libxc/xc_ia64_stubs.c
> description:
> Fixed libxc ia64, xend uses xc_hvm_build instead of xc_vmx_build.
>
> Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: twoller@xen-trw1.site
> date: Wed Dec 21 21:39:17 2005 -0500
> files: xen/arch/x86/svm_intr.c xen/arch/x86/svm_vmcb.c
> description:
> cleanup of svm specific code.
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Wed Dec 21 17:18:25 2005 -0400
> files: tools/python/xen/xm/tests/test_create.py tools/xm-test/README
> description:
> Minor name cleanups. xm-test isn't VMX specific. Instead use HVM.
>
>
> user: twoller@xen-trw1.site
> date: Tue Dec 20 20:01:38 2005 -0500
> files: xen/arch/x86/svm_vmcb.c
> description:
> reword comments.
>
>
> user: twoller@xen-trw1.site
> date: Tue Dec 20 20:01:07 2005 -0500
> files: xen/arch/x86/svm_intr.c
> description:
> add additional VLAPIC delivery modes.
>
>
> user: twoller@xen-trw1.site
> date: Tue Dec 20 20:00:22 2005 -0500
> files: xen/arch/x86/svm.c
> description:
> reformat misaligned code.
>
>
> user: twoller@xen-trw1.site
> date: Tue Dec 20 19:59:37 2005 -0500
> files: xen/arch/x86/svm.c
> description:
> Add additional AMD SVM specific CPUID logic.
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Thu Dec 15 03:06:15 2005 -0400
> files: tools/xm-test/tests/block-create/01_block_attach_device_pos.py tools/xm-test/tests/block-create/02_block_attach_file_device_pos.py tools/xm-test/tests/block-create/04_block_attach_device_repeatedly_pos.py tools/xm-test/tests/block-create/05_block_attach_and_dettach_device_repeatedly_pos.py tools/xm-test/tests/block-create/06_block_attach_baddomain_neg.py tools/xm-test/tests/block-create/07_block_attach_baddevice_neg.py tools/xm-test/tests/block-create/08_block_attach_bad_filedevice_neg.py tools/xm-test/tests/block-create/09_block_attach_and_dettach_device_check_data_pos.py tools/xm-test/tests/block-create/10_block_attach_dettach_multiple_devices.py tools/xm-test/tests/block-create/11_block_attach_shared_dom0.py tools/xm-test/tests/block-create/12_block_attach_shared_domU.py tools/xm-test/tests/block-destroy/01_block-destroy_btblock_pos.py tools/xm-test/tests/block-destroy/02_block-destroy_rtblock_pos.py tools/xm-test/tests/block-destroy/04_block-destroy_nonattached_neg.py tools/xm-test/tests/block-destroy/05_block-destroy_byname_pos.py tools/xm-test/tests/block-destroy/06_block-destroy_check_list_pos.py tools/xm-test/tests/block-list/01_block-list_pos.py tools/xm-test/tests/block-list/02_block-list_attachbd_pos.py tools/xm-test/tests/block-list/03_block-list_anotherbd_pos.py tools/xm-test/tests/block-list/04_block-list_nodb_pos.py tools/xm-test/tests/block-list/06_block-list_checkremove_pos.py tools/xm-test/tests/memmax/01_memmax_badparm_neg.py tools/xm-test/tests/memset/01_memset_basic_pos.py tools/xm-test/tests/memset/02_memset_badparm_neg.py tools/xm-test/tests/memset/03_memset_random_pos.py tools/xm-test/tests/memset/04_memset_smallmem_pos.py tools/xm-test/tests/migrate/01_migrate_localhost_pos.py tools/xm-test/tests/network-attach/01_network_attach_pos.py tools/xm-test/tests/network-attach/02_network_attach_detach_pos.py tools/xm-test/tests/network-attach/03_network_attach_detach_multiple_pos.py tools/xm-test/tests/restore/01_restore_basic_pos.py tools/xm-test/tests/restore/02_restore_badparm_neg.py tools/xm-test/tests/restore/03_restore_badfilename_neg.py tools/xm-test/tests/restore/04_restore_withdevices_pos.py tools/xm-test/tests/save/01_save_basic_pos.py tools/xm-test/tests/save/02_save_badparm_neg.py tools/xm-test/tests/save/03_save_bogusfile_neg.py tools/xm-test/tests/sysrq/01_sysrq_basic_neg.py tools/xm-test/tests/sysrq/02_sysrq_sync_pos.py tools/xm-test/tests/sysrq/03_sysrq_withreboot_pos.py
> description:
> Adding SKIP() to tests that aren't supported for VMX domains.
>
> Signed-off-by: Dan Stekloff <dsteklof@us.ibm.com >
> Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Tue Dec 13 22:43:47 2005 -0400
> files: xen/arch/x86/svm.c xen/arch/x86/vmx.c xen/arch/x86/vmx_io.c xen/include/asm-x86/hvm_vpit.h xen/include/asm-x86/msr.h
> description:
> Support VMX guest accesses to IA32_TIME_STAMP_COUNTER MSR.
>
> Signed-off-by: Haifeng Xue <haifeng.xue@intel.com >
> Signed-off-by: Leendert van Doorn <leendert@us.ibm.com >
>
>
> user: twoller@xen-trw1.site
> date: Tue Dec 13 19:49:53 2005 -0500
> files: xen/arch/x86/svm.c xen/arch/x86/svm_emulate.c xen/arch/x86/svm_instrlen.c xen/arch/x86/svm_intr.c xen/arch/x86/svm_vmcb.c xen/include/asm-x86/svm.h xen/include/asm-x86/svm_emulate.h xen/include/asm-x86/svm_intr.h xen/include/asm-x86/svm_vmcb.h xen/include/asm-x86/svm_vmmcall.h
> description:
> Add SVM base files to repository.
>
>
> user: twoller@xen-trw1.site
> date: Tue Dec 13 19:49:02 2005 -0500
> files: xen/arch/x86/x86_32/entry.S xen/arch/x86/x86_64/entry.S
> description:
> Add SVM entry points for launch/resume.
>
>
> user: twoller@xen-trw1.site
> date: Tue Dec 13 19:47:38 2005 -0500
> files: .hgignore
> description:
> Add hvmloader files to ignore list.
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Mon Dec 12 22:58:54 2005 -0400
> files: docs/src/user.tex tools/firmware/README xen/include/asm-x86/hvm.h
> description:
> Removed dirty words (by request).
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Mon Dec 12 05:48:22 2005 -0400
> files: tools/firmware/hvmloader/mkhex
> description:
> Fix file mode.
>
> Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com >
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Mon Dec 12 04:50:42 2005 -0400
> files: xen/Rules.mk xen/arch/x86/cpu/amd.c xen/arch/x86/cpu/intel.c xen/arch/x86/dm/hvm_vioapic.c xen/arch/x86/dm/i8259.c xen/arch/x86/dom0_ops.c xen/arch/x86/domain.c xen/arch/x86/hvm.c xen/arch/x86/hvm_intercept.c xen/arch/x86/hvm_io.c xen/arch/x86/hvm_platform.c xen/arch/x86/hvm_vlapic.c xen/arch/x86/mpparse.c xen/arch/x86/shadow.c xen/arch/x86/vmx.c xen/arch/x86/vmx_io.c xen/arch/x86/vmx_vmcs.c xen/arch/x86/x86_32/asm-offsets.c xen/arch/x86/x86_32/entry.S xen/arch/x86/x86_64/asm-offsets.c xen/arch/x86/x86_64/entry.S xen/arch/x86/x86_64/mm.c xen/include/asm-x86/config.h xen/include/asm-x86/cpufeature.h xen/include/asm-x86/domain.h xen/include/asm-x86/hvm_domain.h xen/include/asm-x86/hvm_io.h xen/include/asm-x86/hvm_support.h xen/include/asm-x86/hvm_vcpu.h xen/include/asm-x86/hvm_vioapic.h xen/include/asm-x86/hvm_vlapic.h xen/include/asm-x86/hvm_vpic.h xen/include/asm-x86/hvm_vpit.h xen/include/asm-x86/mpspec.h xen/include/asm-x86/msr.h xen/include/asm-x86/processor.h xen/include/asm-x86/vmx.h xen/include/asm-x86/vmx_cpu.h xen/include/asm-x86/vmx_vmcs.h
> description:
> Phase 3 of HVM integration: This patchset introduces the refactoring of
> virtualization architecture independent functions from specific ones.
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Sun Dec 11 07:02:51 2005 -0400
> files: xen/arch/x86/dom0_ops.c xen/arch/x86/domain.c xen/arch/x86/i387.c xen/arch/x86/shadow.c xen/arch/x86/vmx.c xen/arch/x86/x86_32/traps.c xen/arch/x86/x86_64/traps.c xen/include/asm-x86/hvm.h xen/include/asm-x86/hvm_support.h xen/include/asm-x86/regs.h xen/include/asm-x86/shadow.h xen/include/asm-x86/vmx_vmcs.h
> description:
> Phase 2 of HVM integration: This patchset introduces the hvm interface
> to the hypervisor and modifies all the non-vmx specific files to use it.
>
>
> user: leendert@eserver2.watson.ibm.com
> date: Sun Dec 11 01:10:00 2005 -0400
> files: tools/examples/Makefile tools/examples/README tools/examples/xmexample.hvm tools/ioemu/exec-all.h tools/ioemu/hw/i8254.c tools/ioemu/hw/i8259.c tools/ioemu/monitor.c tools/ioemu/target-i386-dm/helper2.c tools/ioemu/vl.c tools/libxc/Makefile tools/libxc/xc_hvm_build.c tools/libxc/xc_ptrace.c tools/libxc/xc_ptrace_core.c tools/libxc/xenguest.h tools/python/xen/lowlevel/xc/xc.c tools/python/xen/xend/image.py tools/python/xen/xm/create.py tools/xm-test/configure.ac tools/xm-test/lib/XmTestLib/XenDomain.py tools/xm-test/lib/XmTestLib/config.py.in tools/xm-test/ramdisk/Makefile.am tools/xm-test/ramdisk/bin/create_disk_image tools/xm-test/tests/block-list/04_block-list_nodb_pos.py xen/include/public/arch-x86_32.h xen/include/public/arch-x86_64.h
> description:
> Phase 1 of HVM integration: This patchset updates the tools. Most of the
> tools are machine independent except for some detection code in the hvm
> domain builder.
2006-01-31 11:49:51 +01:00
sos22@douglas.cl.cam.ac.uk
397573a0c6
Re-arrange things in the domain builder a bit so as to make sure that
...
when we make a page below 4G in the domain, that gets reflected into
the M2P and P2M tables.
Signed-off-by: Steven Smith, sos22@cam.ac.uk
2006-01-30 12:53:33 +01:00
kaf24@firebug.cl.cam.ac.uk
912d32ab97
Replace the MMUEXTOP 'pfn hole' commands with a new
...
arch-specific XENMEM_ operation.
Signed-off-by: Keir Fraser <keir@xensource.com >
2006-01-28 15:31:43 +01:00
sos22@douglas.cl.cam.ac.uk
f674d6427f
Turn down debug a bit, and generally tidy hings up a little.
...
Signed-off-by: Steven Smith, sos22@cam.ac.uk
2006-01-27 21:57:07 +01:00
sos22@douglas.cl.cam.ac.uk
5f97716503
Create a block of reserved PFNs in shadow translate mode guests, and
...
move the shared info and grant table pfns into that block. This
allows us to remove the get_gnttablist dom0 op, and simplifies the
domain creation code slightly. Having the reserved block managed by
Xen may also make it slightly easier to handle the case where the
grant table needs to be extended at run time.
Suggested-by: kaf24
Signed-off-by: Steven Smith, sos22@cam.ac.uk
2006-01-26 19:40:13 +01:00
sos22@douglas.cl.cam.ac.uk
5df327098e
Merge.
...
Signed-off-by: Steven Smith, sos22@cam.ac.uk
2006-01-26 18:02:21 +01:00
sos22@douglas.cl.cam.ac.uk
c8d0b4d153
Make SMP guests work in shadow translate mode.
...
Signed-off-by: Steven Smith, sos22@cam.ac.uk
2006-01-26 18:00:40 +01:00
kaf24@firebug.cl.cam.ac.uk
0e6b53535f
Remove unneeded /proc/xen/grant and its libxc wrapper.
...
Signed-off-by: Keir Fraser <keir@xensource.com >
2006-01-26 00:17:06 +01:00
sos22@douglas.cl.cam.ac.uk
cbbdeefa83
Fix 64-bit build.
...
Signed-off-by: Steven Smith, sos22@cam.ac.uk
2006-01-25 23:31:07 +01:00
sos22@douglas.cl.cam.ac.uk
cd9edced7b
Make some basic cases of grant tables work in shadow translate mode.
...
This is enough to get block devices to work.
Note that this involves assigning PFNs to the machine frames used for
the grant table structures. While I'm here, I also assigned a PFN to
the shared info frame.
Signed-off-by: Steven Smith, sos22@cam.ac.uk
2006-01-25 18:57:44 +01:00
sos22@douglas.cl.cam.ac.uk
c62244c0cc
Make shadow translate mode work for unprivileged, uniprocessor guests
...
with no devices on plain 32 bit non-PAE hosts.
Signed-off-by: Steven Smith, sos22@cam.ac.uk
2006-01-25 17:15:11 +01:00
kaf24@firebug.cl.cam.ac.uk
99e957075c
Indirect hypercalls through a hypercall transfer page.
...
Signed-off-by: Keir Fraser <keir@xensource.com >
2006-01-24 18:05:45 +01:00
smh22@firebug.cl.cam.ac.uk
426f6b2e81
No longer call xc_vcpu_getcontext() on restore (required after cset 8610).
...
Signed-off-by: Steven Hand <steven@xensource.com >
2006-01-17 16:09:03 +01:00
kaf24@firebug.cl.cam.ac.uk
f59958dd82
xc_vcpu_getcontext() can no longer be called before a
...
VCPU's context has been explicitly initialised.
Fix all the domain builders to no longer attempt this.
They really don't need to anyhow.
Signed-off-by: Keir Fraser <keir@xensource.com >
2006-01-14 22:17:33 +01:00
emellor@leeni.uk.xensource.com
c6aed7c358
8604:a51fcb5de470 introduced a discrepancy between the declaration
...
and definition of xc_linux_save(). In particular the argument for
the suspend pointer to function was null in one and int in the other.
On inspection, int seemed to be correct, so I went with this.
I also fixed up a few other cosmetic discrepancies.
Signed-Off-By: Horms <horms@verge.net.au >
2006-01-12 13:13:34 +01:00
kaf24@firebug.cl.cam.ac.uk
361fad2231
Fix the build.
...
Signed-off-by: Keir Fraser <keir@xensource.com >
2006-01-10 15:53:39 +01:00
emellor@leeni.uk.xensource.com
28f970eb40
Merged.
2006-01-10 14:38:22 +00:00
emellor@leeni.uk.xensource.com
52e91db180
Proactively check for NULL strings passed into xc_linux_build. Either DTRT
...
or return error if detected. A NULL cmdline, for example, would currently
generate a segfault.
Signed-off-by: Ben Thomas <bjthomas3@gmail.com >
2006-01-10 14:37:25 +00:00
kaf24@firebug.cl.cam.ac.uk
57ad8645a9
Proactively check for NULL strings passed into xc_linx_build. Either do
...
the right thing or return error if detected. A NULL cmdline, for example,
would currently generate a segfault.
Signed-off-by: Ben Thomas <bjthomas3@gmail.com >
2006-01-10 15:28:41 +01:00
emellor@leeni.uk.xensource.com
3a7a9bda1b
Extend the xc_linux_save interface to take a callback function for handling the
...
suspend, and push the printf("suspend") out of xc_linux_save and into xc_save.
This means that xc_linux_save can be used without the xc_save wrapper if
desired.
Signed-off-by: Ewan Mellor <ewan@xensource.com >
2006-01-10 14:23:56 +00:00
emellor@leeni.uk.xensource.com
1676162e17
Merged.
2006-01-09 11:22:17 +00:00
emellor@leeni.uk.xensource.com
ee2057b34c
Added missing munmap for live_p2m_frame_list_list.
...
Signed-off-by: Ewan Mellor <ewan@xensource.com >
2006-01-09 11:19:55 +00:00
kaf24@firebug.cl.cam.ac.uk
5becda0913
Fix a couple of bogus dom0_op names:
...
setdomaininfo -> setvcpucontext
pincpudomain -> setvcpuaffinity
Signed-off-by: Keir Fraser <keir@xensource.com >
2006-01-06 12:53:19 +01:00
kaf24@firebug.cl.cam.ac.uk
7238a83fdf
Marge with xen-ia64-unstable.hg
2006-01-03 19:03:56 +01:00
djm@kirby.fc.hp.com
9f336e8adf
Adapt xen-ia64 to changes in xen-unstable
2006-01-03 10:20:05 -06:00
djm@kirby.fc.hp.com
e31c95409c
Merge
2006-01-03 10:19:20 -06:00
kaf24@firebug.cl.cam.ac.uk
6b38c4a0e1
Move public hvm interfaces into xen/include/public/hvm.
...
Add new header hvm_info_table.h for defining location and
contents of acpi-style hvm_info_table. Remove duplicate
definition in vmxassist/acpi_madt.c.
Signed-off-by: Keir Fraser <keir@xensource.com >
2006-01-03 14:58:34 +01:00
kaf24@firebug.cl.cam.ac.uk
29c3bf78b9
Rename VMX option name lapic to apic, and pass it to xen by
...
hvm_info_table. Previous we pass it to xen by guest vcpu context ECX
register, now we unify to use hvm_info_table.
Signed-off-by: Xin Li <xin.b.li@intel.com >
2006-01-03 14:35:45 +01:00
kaf24@firebug.cl.cam.ac.uk
cfa0fac2c2
Provide an option to disable ACPI from the VMX config file.
...
By default ACPI is disabled.
Signed-off-by: Yu Ke <ke.yu@intel.com >
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com >
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com >
2006-01-01 11:29:17 +01:00
kaf24@firebug.cl.cam.ac.uk
7e127cd35f
Allow non-privileged domains restricted access to
...
I/O memory and physical interrupts, under control
of domain0. Capabilities are maintained as rangesets
in Xen.
Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil >
Signed-off-by: Keir Fraser <keir@xensource.com >
2005-12-31 14:15:22 +01:00
djm@kirby.fc.hp.com
53879eb47b
Plumb through nr_pages -- needed for correct balloon driver function
2005-12-30 16:11:08 -06:00
kaf24@firebug.cl.cam.ac.uk
0129e126c4
Avoid xen crash if there is no VMX support. If a platform
...
doesn't support VMX, creating VMX domain will crash xen
HV.
Signed-off-by: Xin Li <xin.b.li@intel.com >
2005-12-30 17:07:34 +01:00
djm@kirby.fc.hp.com
f31dd4e51e
Ensure initrd fields are set to 0 when no initrd is present (by Kevin Tian)
2005-12-29 15:31:18 -06:00
Ian.Campbell@xensource.com
40924689a9
Add support to xenctx for printing stack traces on x86_32 and x86_64.
...
To support this add xc_translate_foreign_address to libxc. This function
walks page tables and translates virtual addresses using a given domain
and vcpu page table.
Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com >
2005-12-22 14:33:19 +00:00
djm@kirby.fc.hp.com
a220ae9a8d
Merge
2005-12-21 11:56:19 -06:00
djm@kirby.fc.hp.com
08b3de8dee
diff -r 545ba1b126ca tools/libxc/xc_linux_build.c
...
--- a/tools/libxc/xc_linux_build.c Tue Dec 20 20:11:17 2005
+++ b/tools/libxc/xc_linux_build.c Wed Dec 21 11:50:08 2005
@@ -296,9 +296,13 @@
unsigned long *page_array = NULL;
struct load_funcs load_funcs;
struct domain_setup_info dsi;
+ unsigned long vinitrd_start;
+ unsigned long vinitrd_end;
+ unsigned long v_end;
unsigned long start_page, pgnr;
start_info_t *start_info;
int rc;
+ unsigned long i;
rc = probeimageformat(image, image_size, &load_funcs);
if ( rc != 0 )
@@ -310,11 +314,13 @@
if ( rc != 0 )
goto error_out;
- dsi.v_start = round_pgdown(dsi.v_start);
- dsi.v_end = round_pgup(dsi.v_end);
+ dsi.v_start = round_pgdown(dsi.v_start);
+ vinitrd_start = round_pgup(dsi.v_end);
+ vinitrd_end = vinitrd_start + initrd_len;
+ v_end = round_pgup(vinitrd_end);
start_page = dsi.v_start >> PAGE_SHIFT;
- pgnr = (dsi.v_end - dsi.v_start) >> PAGE_SHIFT;
+ pgnr = (v_end - dsi.v_start) >> PAGE_SHIFT;
if ( (page_array = malloc(pgnr * sizeof(unsigned long))) == NULL )
{
PERROR("Could not allocate memory");
@@ -326,9 +332,38 @@
PERROR("Could not get the page frame list");
goto error_out;
}
+
+#define _p(a) ((void *) (a))
+
+ printf("VIRTUAL MEMORY ARRANGEMENT:\n"
+ " Loaded kernel: %p->%p\n"
+ " Init. ramdisk: %p->%p\n"
+ " TOTAL: %p->%p\n",
+ _p(dsi.v_kernstart), _p(dsi.v_kernend),
+ _p(vinitrd_start), _p(vinitrd_end),
+ _p(dsi.v_start), _p(v_end));
+ printf(" ENTRY ADDRESS: %p\n", _p(dsi.v_kernentry));
(load_funcs.loadimage)(image, image_size, xc_handle, dom, page_array,
&dsi);
+
+ /* Load the initial ramdisk image. */
+ if ( initrd_len != 0 )
+ {
+ for ( i = (vinitrd_start - dsi.v_start);
+ i < (vinitrd_end - dsi.v_start); i += PAGE_SIZE )
+ {
+ char page[PAGE_SIZE];
+ if ( gzread(initrd_gfd, page, PAGE_SIZE) == -1 )
+ {
+ PERROR("Error reading initrd image, could not");
+ goto error_out;
+ }
+ xc_copy_to_domain_page(xc_handle, dom,
+ page_array[i>>PAGE_SHIFT], page);
+ }
+ }
+
*pvke = dsi.v_kernentry;
@@ -358,6 +393,13 @@
start_info->store_evtchn = store_evtchn;
start_info->console_mfn = nr_pages - 1;
start_info->console_evtchn = console_evtchn;
+ if ( initrd_len != 0 )
+ {
+ ctxt->initrd.start = vinitrd_start;
+ ctxt->initrd.size = initrd_len;
+ }
+ strncpy((char *)ctxt->cmdline, cmdline, IA64_COMMAND_LINE_SIZE);
+ ctxt->cmdline[IA64_COMMAND_LINE_SIZE-1] = '\0';
munmap(start_info, PAGE_SIZE);
free(page_array);
diff -r 545ba1b126ca xen/arch/ia64/xen/dom_fw.c
--- a/xen/arch/ia64/xen/dom_fw.c Tue Dec 20 20:11:17 2005
+++ b/xen/arch/ia64/xen/dom_fw.c Wed Dec 21 11:50:08 2005
@@ -861,9 +861,14 @@
bp->console_info.orig_x = 0;
bp->console_info.orig_y = 24;
bp->fpswa = 0;
- bp->initrd_start = (dom0_start+dom0_size) -
- (PAGE_ALIGN(ia64_boot_param->initrd_size) + 4*1024*1024);
- bp->initrd_size = ia64_boot_param->initrd_size;
+ if (d == dom0){
+ bp->initrd_start = (dom0_start+dom0_size) -
+ (PAGE_ALIGN(ia64_boot_param->initrd_size) + 4*1024*1024);
+ bp->initrd_size = ia64_boot_param->initrd_size;
+ }else{
+ bp->initrd_start = d->arch.initrd_start;
+ bp->initrd_size = d->arch.initrd_len;
+ }
printf(" initrd start %0xlx", bp->initrd_start);
printf(" initrd size %0xlx", bp->initrd_size);
diff -r 545ba1b126ca xen/arch/ia64/xen/domain.c
--- a/xen/arch/ia64/xen/domain.c Tue Dec 20 20:11:17 2005
+++ b/xen/arch/ia64/xen/domain.c Wed Dec 21 11:50:08 2005
@@ -297,6 +297,9 @@
*regs = c->regs;
d->arch.sys_pgnr = c->sys_pgnr;
+ d->arch.initrd_start = c->initrd.start;
+ d->arch.initrd_len = c->initrd.size;
+ d->arch.cmdline = c->cmdline;
new_thread(v, regs->cr_iip, 0, 0);
v->vcpu_info->arch.evtchn_vector = c->vcpu.evtchn_vector;
@@ -365,7 +368,7 @@
regs->r28 = dom_fw_setup(d,saved_command_line,256L);
else {
regs->ar_rsc |= (2 << 2); /* force PL2/3 */
- regs->r28 = dom_fw_setup(d,"nomca nosmp xencons=tty0 console=tty0 root=/dev/hda1",256L); //FIXME
+ regs->r28 = dom_fw_setup(d,d->arch.cmdline,256L);
}
VCPU(v, banknum) = 1;
VCPU(v, metaphysical_mode) = 1;
diff -r 545ba1b126ca xen/include/asm-ia64/domain.h
--- a/xen/include/asm-ia64/domain.h Tue Dec 20 20:11:17 2005
+++ b/xen/include/asm-ia64/domain.h Wed Dec 21 11:50:08 2005
@@ -38,6 +38,9 @@
u64 image_len;
u64 entry;
#endif
+ unsigned long initrd_start;
+ unsigned long initrd_len;
+ char *cmdline;
};
#define xen_vastart arch.xen_vastart
#define xen_vaend arch.xen_vaend
diff -r 545ba1b126ca xen/include/public/arch-ia64.h
--- a/xen/include/public/arch-ia64.h Tue Dec 20 20:11:17 2005
+++ b/xen/include/public/arch-ia64.h Wed Dec 21 11:50:08 2005
@@ -276,6 +276,12 @@
unsigned long start_info_pfn;
} arch_shared_info_t;
+typedef struct {
+ unsigned long start;
+ unsigned long size;
+} arch_initrd_info_t;
+
+#define IA64_COMMAND_LINE_SIZE 512
typedef struct vcpu_guest_context {
#define VGCF_FPU_VALID (1<<0)
#define VGCF_VMX_GUEST (1<<1)
@@ -289,6 +295,8 @@
cpu_user_regs_t regs;
arch_vcpu_info_t vcpu;
arch_shared_info_t shared;
+ arch_initrd_info_t initrd;
+ char cmdline[IA64_COMMAND_LINE_SIZE];
} vcpu_guest_context_t;
#endif /* !__ASSEMBLY__ */
2005-12-21 09:07:09 -06:00
kaf24@firebug.cl.cam.ac.uk
b5bdea9ad6
This patch fix several issue to support >2G 64bit vmx guest in IA-32e
...
platform, it includes:
1) One fix on xc_vmx_build.c
2) Change ram_size/phys_ram_size in qemu from int to uint64_t
3) One fix on pcnet unsigned short to unsigned long conversion.
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com >
Signed-off-by: Xin Li <xin.b.li@intel.com >
2005-12-20 12:50:09 +01:00
djm@kirby.fc.hp.com
2137b122b6
Small patch to avoid a stack overflow (VTI only).
...
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net >
2005-12-15 14:51:10 -06:00
kaf24@firebug.cl.cam.ac.uk
026d31df5c
Add debugging flag for domains to make domu debugging a run-time option
...
Signed-off-by: Kip Macy kmacy@fsmware.ckm
2005-12-15 21:50:12 +01:00
kaf24@firebug.cl.cam.ac.uk
1f5fb04e43
Add MP debug support to gdbserver.
...
Signed-off-by: Kip Macy <kip.macy@gmail.com >
2005-12-15 21:02:21 +01:00
cl349@firebug.cl.cam.ac.uk
c4b7794669
Make version strings consistent across all interfaces.
...
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk >
2005-12-04 18:16:33 +01:00
smh22@firebug.cl.cam.ac.uk
2b039aa937
Fix VBD recovery logic on SMP guests (+ a minor error reporting fix for save)
...
Signed-off-by: Steven Hand <steven@xensource.com >
2005-12-01 20:43:04 +01:00
kaf24@firebug.cl.cam.ac.uk
96428d33d9
Define explicit evtchn_port_t type (32 bits) and plumb up
...
to user space thru /dev/xen/evtchn.
Signed-off-by: Keir Fraser <keir@xensource.com >
2005-12-01 15:22:22 +01:00
emellor@leeni.uk.xensource.com
f814d1f288
Merged.
2005-11-30 19:55:08 +00:00
emellor@leeni.uk.xensource.com
df2ba9e15b
Added the errno to the messages printed with the ERR macro. Tidy the use of
...
this macro where newlines have been appended -- the macro does this itself so
there is no need to add another one.
Signed-off-by: Ewan Mellor <ewan@xensource.com >
2005-11-30 18:38:14 +00:00
kaf24@firebug.cl.cam.ac.uk
ba3f55e57a
GNTTABOP_map_grant_ref returns error status and handle as
...
separate fields. Update callers for new interface. Also
use int16_t as standard error code type on all public
interfaces.
Signed-off-by: Keir Fraser <keir@xensource.com >
2005-11-30 17:24:27 +01:00
kaf24@firebug.cl.cam.ac.uk
9bd97f28fa
Bundle vcpu_time and vcpu_info structures together into a single
...
structure that is 64 bytes on x86. This ensures that indexing into
the array is fast (power-of-two size) and that accesses are cache
friendly (cache line size is usually 32 or 64 bytes).
Rename vcpu_data to vcpu_info, vcpu_time to vcpu_info.time.
Signed-off-by: Keir Fraser <keir@xensource.com >
2005-11-28 19:48:54 +01:00