xen.git
19 years agoBig merge the HVM full-virtualisation abstractions.
kaf24@firebug.cl.cam.ac.uk [Tue, 31 Jan 2006 10:49:51 +0000 (11:49 +0100)]
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.

19 years agoFix the ia64 definition of MAX_DMADOM_PFN.
kaf24@firebug.cl.cam.ac.uk [Mon, 30 Jan 2006 17:51:35 +0000 (18:51 +0100)]
Fix the ia64 definition of MAX_DMADOM_PFN.

Sgned-off-by: Keir Fraser <keir@xensource.com>
19 years agoUpdate linux sparse tree to subarch layout.
cl349@firebug.cl.cam.ac.uk [Mon, 30 Jan 2006 17:18:27 +0000 (17:18 +0000)]
Update linux sparse tree to subarch layout.
Sparse tree is based on 2.6.12 branch of linux-2.6-xen.hg.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
--HG--
rename : linux-2.6-xen-sparse/arch/xen/configs/xen0_defconfig_x86_32 => buildconfigs/linux-defconfig_xen0_x86_32
rename : linux-2.6-xen-sparse/arch/xen/configs/xen0_defconfig_x86_64 => buildconfigs/linux-defconfig_xen0_x86_64
rename : linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_32 => buildconfigs/linux-defconfig_xenU_x86_32
rename : linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_64 => buildconfigs/linux-defconfig_xenU_x86_64
rename : linux-2.6-xen-sparse/arch/xen/configs/xen_defconfig_x86_32 => buildconfigs/linux-defconfig_xen_x86_32
rename : linux-2.6-xen-sparse/arch/xen/configs/xen_defconfig_x86_64 => buildconfigs/linux-defconfig_xen_x86_64
rename : linux-2.6-xen-sparse/arch/xen/i386/Kconfig => linux-2.6-xen-sparse/arch/i386/Kconfig
rename : linux-2.6-xen-sparse/arch/xen/i386/Makefile => linux-2.6-xen-sparse/arch/i386/Makefile
rename : linux-2.6-xen-sparse/arch/xen/boot/Makefile => linux-2.6-xen-sparse/arch/i386/boot-xen/Makefile
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/Makefile => linux-2.6-xen-sparse/arch/i386/kernel/Makefile
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/acpi/Makefile => linux-2.6-xen-sparse/arch/i386/kernel/acpi/Makefile
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/acpi/boot.c => linux-2.6-xen-sparse/arch/i386/kernel/acpi/boot-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/apic.c => linux-2.6-xen-sparse/arch/i386/kernel/apic-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/cpu/Makefile => linux-2.6-xen-sparse/arch/i386/kernel/cpu/Makefile
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/cpu/common.c => linux-2.6-xen-sparse/arch/i386/kernel/cpu/common-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/cpu/mtrr/Makefile => linux-2.6-xen-sparse/arch/i386/kernel/cpu/mtrr/Makefile
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/cpu/mtrr/main.c => linux-2.6-xen-sparse/arch/i386/kernel/cpu/mtrr/main-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/entry.S => linux-2.6-xen-sparse/arch/i386/kernel/entry-xen.S
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/fixup.c => linux-2.6-xen-sparse/arch/i386/kernel/fixup.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/head.S => linux-2.6-xen-sparse/arch/i386/kernel/head-xen.S
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/i386_ksyms.c => linux-2.6-xen-sparse/arch/i386/kernel/i386_ksyms-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/init_task.c => linux-2.6-xen-sparse/arch/i386/kernel/init_task-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/io_apic.c => linux-2.6-xen-sparse/arch/i386/kernel/io_apic-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/ioport.c => linux-2.6-xen-sparse/arch/i386/kernel/ioport-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/irq.c => linux-2.6-xen-sparse/arch/i386/kernel/irq-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/ldt.c => linux-2.6-xen-sparse/arch/i386/kernel/ldt-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/microcode.c => linux-2.6-xen-sparse/arch/i386/kernel/microcode-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/mpparse.c => linux-2.6-xen-sparse/arch/i386/kernel/mpparse-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/pci-dma.c => linux-2.6-xen-sparse/arch/i386/kernel/pci-dma-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/process.c => linux-2.6-xen-sparse/arch/i386/kernel/process-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/quirks.c => linux-2.6-xen-sparse/arch/i386/kernel/quirks-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/setup.c => linux-2.6-xen-sparse/arch/i386/kernel/setup-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/signal.c => linux-2.6-xen-sparse/arch/i386/kernel/signal-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/smp.c => linux-2.6-xen-sparse/arch/i386/kernel/smp-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/swiotlb.c => linux-2.6-xen-sparse/arch/i386/kernel/swiotlb.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/time.c => linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/traps.c => linux-2.6-xen-sparse/arch/i386/kernel/traps-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/vsyscall-note.S => linux-2.6-xen-sparse/arch/i386/kernel/vsyscall-note-xen.S
rename : linux-2.6-xen-sparse/arch/xen/i386/mach-default/Makefile => linux-2.6-xen-sparse/arch/i386/mach-xen/Makefile
rename : linux-2.6-xen-sparse/arch/xen/i386/mm/Makefile => linux-2.6-xen-sparse/arch/i386/mm/Makefile
rename : linux-2.6-xen-sparse/arch/xen/i386/mm/fault.c => linux-2.6-xen-sparse/arch/i386/mm/fault-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/mm/highmem.c => linux-2.6-xen-sparse/arch/i386/mm/highmem-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/mm/hypervisor.c => linux-2.6-xen-sparse/arch/i386/mm/hypervisor.c
rename : linux-2.6-xen-sparse/arch/xen/i386/mm/init.c => linux-2.6-xen-sparse/arch/i386/mm/init-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/mm/ioremap.c => linux-2.6-xen-sparse/arch/i386/mm/ioremap-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/mm/pgtable.c => linux-2.6-xen-sparse/arch/i386/mm/pgtable-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/pci/Makefile => linux-2.6-xen-sparse/arch/i386/pci/Makefile
rename : linux-2.6-xen-sparse/arch/xen/i386/pci/i386.c => linux-2.6-xen-sparse/arch/i386/pci/i386-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/pci/irq.c => linux-2.6-xen-sparse/arch/i386/pci/irq-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/Kconfig => linux-2.6-xen-sparse/arch/x86_64/Kconfig
rename : linux-2.6-xen-sparse/arch/xen/x86_64/Makefile => linux-2.6-xen-sparse/arch/x86_64/Makefile
rename : linux-2.6-xen-sparse/arch/xen/x86_64/ia32/Makefile => linux-2.6-xen-sparse/arch/x86_64/ia32/Makefile
rename : linux-2.6-xen-sparse/arch/xen/x86_64/ia32/ia32entry.S => linux-2.6-xen-sparse/arch/x86_64/ia32/ia32entry-xen.S
rename : linux-2.6-xen-sparse/arch/xen/x86_64/ia32/syscall32.c => linux-2.6-xen-sparse/arch/x86_64/ia32/syscall32-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/ia32/vsyscall-int80.S => linux-2.6-xen-sparse/arch/x86_64/ia32/vsyscall-int80.S
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/Makefile => linux-2.6-xen-sparse/arch/x86_64/kernel/Makefile
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/acpi/Makefile => linux-2.6-xen-sparse/arch/x86_64/kernel/acpi/Makefile
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/apic.c => linux-2.6-xen-sparse/arch/x86_64/kernel/apic-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/e820.c => linux-2.6-xen-sparse/arch/x86_64/kernel/e820-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/early_printk.c => linux-2.6-xen-sparse/arch/x86_64/kernel/early_printk-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/entry.S => linux-2.6-xen-sparse/arch/x86_64/kernel/entry-xen.S
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/genapic.c => linux-2.6-xen-sparse/arch/x86_64/kernel/genapic-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/genapic_xen.c => linux-2.6-xen-sparse/arch/x86_64/kernel/genapic_xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/head.S => linux-2.6-xen-sparse/arch/x86_64/kernel/head-xen.S
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/head64.c => linux-2.6-xen-sparse/arch/x86_64/kernel/head64-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/io_apic.c => linux-2.6-xen-sparse/arch/x86_64/kernel/io_apic-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/ioport.c => linux-2.6-xen-sparse/arch/x86_64/kernel/ioport-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/irq.c => linux-2.6-xen-sparse/arch/x86_64/kernel/irq-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/ldt.c => linux-2.6-xen-sparse/arch/x86_64/kernel/ldt-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/mpparse.c => linux-2.6-xen-sparse/arch/x86_64/kernel/mpparse-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/pci-nommu.c => linux-2.6-xen-sparse/arch/x86_64/kernel/pci-nommu-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/process.c => linux-2.6-xen-sparse/arch/x86_64/kernel/process-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup.c => linux-2.6-xen-sparse/arch/x86_64/kernel/setup-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup64.c => linux-2.6-xen-sparse/arch/x86_64/kernel/setup64-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/signal.c => linux-2.6-xen-sparse/arch/x86_64/kernel/signal-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/smp.c => linux-2.6-xen-sparse/arch/x86_64/kernel/smp-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/traps.c => linux-2.6-xen-sparse/arch/x86_64/kernel/traps-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/vsyscall.c => linux-2.6-xen-sparse/arch/x86_64/kernel/vsyscall-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/x8664_ksyms.c => linux-2.6-xen-sparse/arch/x86_64/kernel/x8664_ksyms-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/xen_entry.S => linux-2.6-xen-sparse/arch/x86_64/kernel/xen_entry.S
rename : linux-2.6-xen-sparse/arch/xen/x86_64/mm/Makefile => linux-2.6-xen-sparse/arch/x86_64/mm/Makefile
rename : linux-2.6-xen-sparse/arch/xen/x86_64/mm/fault.c => linux-2.6-xen-sparse/arch/x86_64/mm/fault-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c => linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/mm/pageattr.c => linux-2.6-xen-sparse/arch/x86_64/mm/pageattr-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/pci/Makefile => linux-2.6-xen-sparse/arch/x86_64/pci/Makefile
rename : linux-2.6-xen-sparse/arch/xen/kernel/Makefile => linux-2.6-xen-sparse/drivers/xen/core/Makefile
rename : linux-2.6-xen-sparse/arch/xen/kernel/evtchn.c => linux-2.6-xen-sparse/drivers/xen/core/evtchn.c
rename : linux-2.6-xen-sparse/arch/xen/kernel/features.c => linux-2.6-xen-sparse/drivers/xen/core/features.c
rename : linux-2.6-xen-sparse/arch/xen/kernel/gnttab.c => linux-2.6-xen-sparse/drivers/xen/core/gnttab.c
rename : linux-2.6-xen-sparse/arch/xen/kernel/reboot.c => linux-2.6-xen-sparse/drivers/xen/core/reboot.c
rename : linux-2.6-xen-sparse/arch/xen/kernel/skbuff.c => linux-2.6-xen-sparse/drivers/xen/core/skbuff.c
rename : linux-2.6-xen-sparse/arch/xen/kernel/smpboot.c => linux-2.6-xen-sparse/drivers/xen/core/smpboot.c
rename : linux-2.6-xen-sparse/arch/xen/kernel/xen_proc.c => linux-2.6-xen-sparse/drivers/xen/core/xen_proc.c
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/agp.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/agp.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/desc.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/desc.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/dma-mapping.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/dma-mapping.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/fixmap.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/fixmap.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/floppy.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/floppy.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/highmem.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/highmem.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/hw_irq.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hw_irq.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/hypercall.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hypercall.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/hypervisor.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hypervisor.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/io.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/kmap_types.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/kmap_types.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/mmu.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/mmu.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/mmu_context.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/mmu_context.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/page.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/page.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/param.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/param.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/pci.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pci.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgalloc.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgalloc.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable-2level-defs.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgtable-2level-defs.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable-2level.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgtable-2level.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable-3level-defs.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgtable-3level-defs.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable-3level.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgtable-3level.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgtable.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/processor.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/processor.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/ptrace.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/ptrace.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/scatterlist.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/scatterlist.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/segment.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/segment.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/setup.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/setup.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/smp.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/smp.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/spinlock.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/spinlock.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/swiotlb.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/swiotlb.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/synch_bitops.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/synch_bitops.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/system.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/system.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/tlbflush.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/tlbflush.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/vga.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/vga.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/mach-xen/irq_vectors.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/irq_vectors.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/mach-xen/mach_traps.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/mach_traps.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/mach-xen/setup_arch_post.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/setup_arch_post.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/mach-xen/setup_arch_pre.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/setup_arch_pre.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-ia64/fixmap.h => linux-2.6-xen-sparse/include/asm-ia64/fixmap.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-ia64/hypercall.h => linux-2.6-xen-sparse/include/asm-ia64/hypercall.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-ia64/hypervisor.h => linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-ia64/synch_bitops.h => linux-2.6-xen-sparse/include/asm-ia64/synch_bitops.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/arch_hooks.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/arch_hooks.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/bootsetup.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/bootsetup.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/desc.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/desc.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/dma-mapping.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/dma-mapping.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/fixmap.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/fixmap.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/floppy.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/floppy.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/hw_irq.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/hw_irq.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/hypercall.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/hypercall.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/hypervisor.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/hypervisor.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/io.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/io.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/irq.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/irq.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/mmu.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/mmu.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/mmu_context.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/mmu_context.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/nmi.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/nmi.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/page.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/page.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/param.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/param.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pci.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/pci.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pgalloc.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/pgalloc.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pgtable.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/pgtable.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/processor.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/processor.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/ptrace.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/ptrace.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/segment.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/segment.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/smp.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/smp.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/synch_bitops.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/synch_bitops.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/system.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/system.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/timer.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/timer.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/tlbflush.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/tlbflush.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/vga.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/vga.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/xor.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/xor.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/io_ports.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/io_ports.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/irq_vectors.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/irq_vectors.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/mach_time.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/mach_time.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/mach_timer.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/mach_timer.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/setup_arch_post.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/setup_arch_post.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/setup_arch_pre.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/setup_arch_pre.h
rename : linux-2.6-xen-sparse/include/asm-xen/balloon.h => linux-2.6-xen-sparse/include/xen/balloon.h
rename : linux-2.6-xen-sparse/include/asm-xen/driver_util.h => linux-2.6-xen-sparse/include/xen/driver_util.h
rename : linux-2.6-xen-sparse/include/asm-xen/evtchn.h => linux-2.6-xen-sparse/include/xen/evtchn.h
rename : linux-2.6-xen-sparse/include/asm-xen/features.h => linux-2.6-xen-sparse/include/xen/features.h
rename : linux-2.6-xen-sparse/include/asm-xen/foreign_page.h => linux-2.6-xen-sparse/include/xen/foreign_page.h
rename : linux-2.6-xen-sparse/include/asm-xen/gnttab.h => linux-2.6-xen-sparse/include/xen/gnttab.h
rename : linux-2.6-xen-sparse/include/asm-xen/net_driver_util.h => linux-2.6-xen-sparse/include/xen/net_driver_util.h
rename : linux-2.6-xen-sparse/include/asm-xen/linux-public/evtchn.h => linux-2.6-xen-sparse/include/xen/public/evtchn.h
rename : linux-2.6-xen-sparse/include/asm-xen/linux-public/privcmd.h => linux-2.6-xen-sparse/include/xen/public/privcmd.h
rename : linux-2.6-xen-sparse/include/asm-xen/tpmfe.h => linux-2.6-xen-sparse/include/xen/tpmfe.h
rename : linux-2.6-xen-sparse/include/asm-xen/xen_proc.h => linux-2.6-xen-sparse/include/xen/xen_proc.h
rename : linux-2.6-xen-sparse/include/asm-xen/xenbus.h => linux-2.6-xen-sparse/include/xen/xenbus.h
rename : linux-2.6-xen-sparse/include/asm-xen/xencons.h => linux-2.6-xen-sparse/include/xen/xencons.h

19 years agoFix 64b build.
kaf24@firebug.cl.cam.ac.uk [Mon, 30 Jan 2006 12:35:43 +0000 (13:35 +0100)]
Fix 64b build.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoI found some mistakes of argument by the do_* functions of hypercall.
kaf24@firebug.cl.cam.ac.uk [Mon, 30 Jan 2006 12:33:43 +0000 (13:33 +0100)]
I found some mistakes of argument by the do_* functions of hypercall.
This patch fixed those mistakes.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
19 years agoMerge.
sos22@douglas.cl.cam.ac.uk [Mon, 30 Jan 2006 11:56:14 +0000 (12:56 +0100)]
Merge.

Signed-off-by: Steven Smith, sos22@cam.ac.uk
19 years agoRe-arrange things in the domain builder a bit so as to make sure that
sos22@douglas.cl.cam.ac.uk [Mon, 30 Jan 2006 11:53:33 +0000 (12:53 +0100)]
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
19 years agoSplit XENFEAT_writable_mmu_structures into
kaf24@firebug.cl.cam.ac.uk [Mon, 30 Jan 2006 11:49:31 +0000 (12:49 +0100)]
Split XENFEAT_writable_mmu_structures into
XENFEAT_writable_page_tables/XENFEAT_writable_descriptor_tables.

Name the make_readonly/writable functions back to their old
names, and they now accept a feature flag that they test
before performing their operation.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoMove MAX_DMADOM_PFN to asm/config.h.
kaf24@firebug.cl.cam.ac.uk [Mon, 30 Jan 2006 10:23:32 +0000 (11:23 +0100)]
Move MAX_DMADOM_PFN to asm/config.h.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoAdding network testing support for xm-test with hvm.
kaf24@firebug.cl.cam.ac.uk [Sun, 29 Jan 2006 09:55:28 +0000 (10:55 +0100)]
Adding network testing support for xm-test with hvm.
 1) Added capability for create_disk_image script to copy pcnet32
    driver to disk.img. Added new cmdline option so can specify
    driver directory.
 2) Added configuration --with-driver-dir=DVRDIR option so
    can specify where driver is at configure time. "builtin"
    keyword lets specify that driver is built into kernel.
 3) Updated Makefile.am to build with new options.
 4) Updated README to reflect changes.

Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
19 years agoVMX support for xm-test currently doesn't support network tests for eth0
kaf24@firebug.cl.cam.ac.uk [Sun, 29 Jan 2006 09:54:52 +0000 (10:54 +0100)]
VMX support for xm-test currently doesn't support network tests for eth0
because the create script doesn't load the pcnet32 driver to the disk.img
when it copies the kernel there. This is the first step to make network
support possible for VMX guest testing.

This patch adds busybox support for loading 2.6 kernel modules. Since the
image changes, I have adjusted the xm-test version too.

Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
19 years agoEver since patchset 8648 (xen-unstable.hg) all my configuration files
kaf24@firebug.cl.cam.ac.uk [Sun, 29 Jan 2006 09:52:43 +0000 (10:52 +0100)]
Ever since patchset 8648 (xen-unstable.hg) all my configuration files
fail with the following:

Error: Device 768 (vbd) could not be connected. Hotplug scripts not working.

(Since my HVM tree follows xen-unstable.hg closely, it breaks too).

The following patch undoes a small part of Ke Yu's patch and fixes the
problem.

However, I'm having trouble understanding what this part did in the
original patch. Was there a subtle change in the disk variable format
that I missed?

Signed-Off-By: Leendert van Doorn <leendert@watson.ibm.com>
19 years agoExport the hypercall_page symbol to modules, otherwise they
kaf24@firebug.cl.cam.ac.uk [Sun, 29 Jan 2006 09:49:38 +0000 (10:49 +0100)]
Export the hypercall_page symbol to modules, otherwise they
cannot be loaded.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoReplace the MMUEXTOP 'pfn hole' commands with a new
kaf24@firebug.cl.cam.ac.uk [Sat, 28 Jan 2006 14:31:43 +0000 (15:31 +0100)]
Replace the MMUEXTOP 'pfn hole' commands with a new
arch-specific XENMEM_ operation.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoClean up shadow-translate xen patches. Add abstractions
kaf24@firebug.cl.cam.ac.uk [Sat, 28 Jan 2006 12:01:19 +0000 (13:01 +0100)]
Clean up shadow-translate xen patches. Add abstractions
for adding/removing pages from a translated guest's
physmap. Define dummy functions so other architectures
will continue to build without errors.

Remove setting of XENFEAT_writable_mmu_structures. This
should set only if the hypervisor supports writable
mappings of all MMU structures (all page tables and
descriptor tables). If we want a mode where only PTEs
can be writable, we should add a feature flag for that
(but I don't think this is a useful mode to support).

TODO: The call to get the pfn hole should be a
XENMEM_ function, not another MMUEXT_OP (hopefully the
latter hypercall is not goign to grow any more as it's
gross enough already).

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoRemove shadow-translate Linux patches for now. We'll merge this stuff
kaf24@firebug.cl.cam.ac.uk [Sat, 28 Jan 2006 11:09:45 +0000 (12:09 +0100)]
Remove shadow-translate Linux patches for now. We'll merge this stuff
in piecemeal.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoFix build.
sos22@douglas.cl.cam.ac.uk [Sat, 28 Jan 2006 10:09:18 +0000 (11:09 +0100)]
Fix build.

Signed-off-by: Steven Smith, sos22@cam.ac.uk
19 years agoMerge.
sos22@douglas.cl.cam.ac.uk [Fri, 27 Jan 2006 21:18:15 +0000 (22:18 +0100)]
Merge.

Signed-off-by: Steven Smith, sos22@cam.ac.uk
19 years agoTurn down debug a bit, and generally tidy hings up a little.
sos22@douglas.cl.cam.ac.uk [Fri, 27 Jan 2006 20:57:07 +0000 (21:57 +0100)]
Turn down debug a bit, and generally tidy hings up a little.

Signed-off-by: Steven Smith, sos22@cam.ac.uk
19 years agoBug fix: we need to eagerly synchronise th HL2, since Xen relies on it
sos22@douglas.cl.cam.ac.uk [Fri, 27 Jan 2006 20:38:55 +0000 (21:38 +0100)]
Bug fix: we need to eagerly synchronise th HL2, since Xen relies on it
(via the guest linear table), and faults to that don't get sent to the
shadow mode infrastructure, and so we can't do it lazily.

Signed-off-by: Steven Smith, sos22@cam.ac.uk
19 years agoMerge up and generally make shadow mode be nice.
sos22@douglas.cl.cam.ac.uk [Fri, 27 Jan 2006 20:23:06 +0000 (21:23 +0100)]
Merge up and generally make shadow mode be nice.

Signed-off-by: Steven Smith, sos22@cam.ac.uk
19 years agoAdd hypercall-declaring header files.
kaf24@firebug.cl.cam.ac.uk [Fri, 27 Jan 2006 15:17:38 +0000 (16:17 +0100)]
Add hypercall-declaring header files.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoUniform definition of do_iret prototype. Use 'struct foo'
kaf24@firebug.cl.cam.ac.uk [Fri, 27 Jan 2006 15:16:52 +0000 (16:16 +0100)]
Uniform definition of do_iret prototype. Use 'struct foo'
in various places instead of 'foo_t'.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoCheckin missing hunks from previous commit
Ian.Campbell@xensource.com [Fri, 27 Jan 2006 14:24:50 +0000 (14:24 +0000)]
Checkin missing hunks from previous commit

Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
19 years agomerge
Ian.Campbell@xensource.com [Fri, 27 Jan 2006 11:51:57 +0000 (11:51 +0000)]
merge

19 years agoNew memory hypercall 'populate_physmap'. Accepts a list of
kaf24@firebug.cl.cam.ac.uk [Fri, 27 Jan 2006 11:49:47 +0000 (12:49 +0100)]
New memory hypercall 'populate_physmap'. Accepts a list of
pseudophys frame numbers to be populated with memory.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoNeed to include module.h to get EXPORT_SYMBOL macros.
kaf24@firebug.cl.cam.ac.uk [Fri, 27 Jan 2006 11:48:32 +0000 (12:48 +0100)]
Need to include module.h to get EXPORT_SYMBOL macros.
Export xen driver util functions with GPL tag.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoIntroduce XENFEAT_writable_mmu_structures.
Ian.Campbell@xensource.com [Fri, 27 Jan 2006 11:31:14 +0000 (11:31 +0000)]
Introduce XENFEAT_writable_mmu_structures.

This feature flag indicates to the guest that it is allowable to
use writable LDT, GDT and page table pages.

Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
Index: xen-features/xen/include/public/version.h
===================================================================
--- xen-features.orig/xen/include/public/version.h 2006-01-27 11:27:14.000000000 +0000
+++ xen-features/xen/include/public/version.h 2006-01-27 11:27:14.000000000 +0000
@@ -45,6 +45,9 @@
     uint32_t     submap;        /* OUT: 32-bit submap */
 } xen_feature_info_t;

+#define _XENFEAT_writable_mmu_structures 0
+#define XENFEAT_writable_mmu_structures (1UL<<_XENFEAT_writable_mmu_structures)
+
 #define XENFEAT_NR_SUBMAPS 1

 #endif /* __XEN_PUBLIC_VERSION_H__ */
Index: xen-features/linux-2.6-xen-sparse/arch/xen/i386/mm/pgtable.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/i386/mm/pgtable.c 2006-01-27 11:27:14.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/i386/mm/pgtable.c 2006-01-27 11:27:14.000000000 +0000
@@ -24,6 +24,7 @@
 #include <asm/io.h>
 #include <asm/mmu_context.h>

+#include <asm-xen/features.h>
 #include <asm-xen/foreign_page.h>
 #include <asm/hypervisor.h>

@@ -391,24 +392,42 @@
 #ifndef CONFIG_XEN_SHADOW_MODE
 void make_lowmem_mmu_page_readonly(void *va)
 {
- pte_t *pte = virt_to_ptep(va);
- int rc = HYPERVISOR_update_va_mapping(
+ pte_t *pte;
+ int rc;
+
+ if (xen_feature(writable_mmu_structures))
+ return;
+
+ pte = virt_to_ptep(va);
+ rc = HYPERVISOR_update_va_mapping(
  (unsigned long)va, pte_wrprotect(*pte), 0);
  BUG_ON(rc);
 }

 void make_lowmem_mmu_page_writable(void *va)
 {
- pte_t *pte = virt_to_ptep(va);
- int rc = HYPERVISOR_update_va_mapping(
+ pte_t *pte;
+ int rc;
+
+ if (xen_feature(writable_mmu_structures))
+ return;
+
+ pte = virt_to_ptep(va);
+ rc = HYPERVISOR_update_va_mapping(
  (unsigned long)va, pte_mkwrite(*pte), 0);
  BUG_ON(rc);
 }

 void make_mmu_page_readonly(void *va)
 {
- pte_t *pte = virt_to_ptep(va);
- int rc = HYPERVISOR_update_va_mapping(
+ pte_t *pte;
+ int rc;
+
+ if (xen_feature(writable_mmu_structures))
+ return;
+
+ pte = virt_to_ptep(va);
+ rc = HYPERVISOR_update_va_mapping(
  (unsigned long)va, pte_wrprotect(*pte), 0);
  if (rc) /* fallback? */
  xen_l1_entry_update(pte, pte_wrprotect(*pte));
@@ -426,8 +445,14 @@

 void make_mmu_page_writable(void *va)
 {
- pte_t *pte = virt_to_ptep(va);
- int rc = HYPERVISOR_update_va_mapping(
+ pte_t *pte;
+ int rc;
+
+ if (xen_feature(writable_mmu_structures))
+ return;
+
+ pte = virt_to_ptep(va);
+ rc = HYPERVISOR_update_va_mapping(
  (unsigned long)va, pte_mkwrite(*pte), 0);
  if (rc) /* fallback? */
  xen_l1_entry_update(pte, pte_mkwrite(*pte));
@@ -443,6 +468,9 @@

 void make_mmu_pages_readonly(void *va, unsigned int nr)
 {
+ if (xen_feature(writable_mmu_structures))
+ return;
+
  while (nr-- != 0) {
  make_mmu_page_readonly(va);
  va = (void *)((unsigned long)va + PAGE_SIZE);
@@ -451,6 +479,8 @@

 void make_mmu_pages_writable(void *va, unsigned int nr)
 {
+ if (xen_feature(writable_mmu_structures))
+ return;
  while (nr-- != 0) {
  make_mmu_page_writable(va);
  va = (void *)((unsigned long)va + PAGE_SIZE);
Index: xen-features/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c 2006-01-27 11:27:14.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c 2006-01-27 11:27:18.000000000 +0000
@@ -40,6 +40,8 @@
 #include <asm/proto.h>
 #include <asm/smp.h>

+#include <asm-xen/features.h>
+
 #ifndef Dprintk
 #define Dprintk(x...)
 #endif
@@ -72,6 +74,9 @@
  pte_t pte, *ptep;
  unsigned long *page = (unsigned long *) init_level4_pgt;

+ if (xen_feature(writable_mmu_structures))
+ return;
+
  addr = (unsigned long) page[pgd_index(_va)];
  addr_to_page(addr, page);

@@ -93,6 +98,9 @@
  pgd_t *pgd; pud_t *pud; pmd_t *pmd; pte_t pte, *ptep;
  unsigned long addr = (unsigned long) va;

+ if (xen_feature(writable_mmu_structures))
+ return;
+
  pgd = pgd_offset_k(addr);
  pud = pud_offset(pgd, addr);
  pmd = pmd_offset(pud, addr);
@@ -111,6 +119,9 @@
  pgd_t *pgd; pud_t *pud; pmd_t *pmd; pte_t pte, *ptep;
  unsigned long addr = (unsigned long) va;

+ if (xen_feature(writable_mmu_structures))
+ return;
+
  pgd = pgd_offset_k(addr);
  pud = pud_offset(pgd, addr);
  pmd = pmd_offset(pud, addr);
@@ -126,6 +137,9 @@

 void make_mmu_pages_readonly(void *va, unsigned nr)
 {
+ if (xen_feature(writable_mmu_structures))
+ return;
+
  while (nr-- != 0) {
  make_mmu_page_readonly(va);
  va = (void*)((unsigned long)va + PAGE_SIZE);
@@ -134,6 +148,8 @@

 void make_mmu_pages_writable(void *va, unsigned nr)
 {
+ if (xen_feature(writable_mmu_structures))
+ return;
  while (nr-- != 0) {
  make_mmu_page_writable(va);
  va = (void*)((unsigned long)va + PAGE_SIZE);
@@ -385,6 +401,9 @@
 {
  int readonly = 0;

+ if (xen_feature(writable_mmu_structures))
+ return 0;
+
  /* Make old and new page tables read-only. */
  if ((paddr >= (xen_start_info->pt_base - __START_KERNEL_map))
      && (paddr < ((table_start << PAGE_SHIFT) + tables_space)))

19 years agoAdd XENVER_get_features sub-operation to HYPERVISOR_xen_version.
Ian.Campbell@xensource.com [Fri, 27 Jan 2006 11:31:12 +0000 (11:31 +0000)]
Add XENVER_get_features sub-operation to HYPERVISOR_xen_version.

This operation allows a guest OS to determine which features are
supported by the running version of Xen. This changeset contains the
base infrastructure but does not implement any features yet.

Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
Index: xen-features/linux-2.6-xen-sparse/arch/xen/i386/kernel/setup.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/i386/kernel/setup.c 2006-01-27 11:13:22.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/i386/kernel/setup.c 2006-01-27 11:27:14.000000000 +0000
@@ -56,6 +56,7 @@
 #include <asm/hypervisor.h>
 #include <asm-xen/xen-public/physdev.h>
 #include <asm-xen/xen-public/memory.h>
+#include <asm-xen/features.h>
 #include "setup_arch_pre.h"
 #include <bios_ebda.h>

@@ -1591,6 +1592,9 @@
  rd_prompt = ((RAMDISK_FLAGS & RAMDISK_PROMPT_FLAG) != 0);
  rd_doload = ((RAMDISK_FLAGS & RAMDISK_LOAD_FLAG) != 0);
 #endif
+
+ setup_xen_features();
+
  ARCH_SETUP
  if (efi_enabled)
  efi_init();
Index: xen-features/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup.c 2006-01-27 11:13:22.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup.c 2006-01-27 11:27:14.000000000 +0000
@@ -63,6 +63,7 @@
 #include "setup_arch_pre.h"
 #include <asm/hypervisor.h>
 #include <asm-xen/xen-public/nmi.h>
+#include <asm-xen/features.h>
 #define PFN_UP(x)       (((x) + PAGE_SIZE-1) >> PAGE_SHIFT)
 #define PFN_PHYS(x)     ((x) << PAGE_SHIFT)
 #define end_pfn_map end_pfn
@@ -587,6 +588,8 @@

 #endif

+ setup_xen_features();
+
  HYPERVISOR_vm_assist(VMASST_CMD_enable,
       VMASST_TYPE_writable_pagetables);

Index: xen-features/linux-2.6-xen-sparse/include/asm-xen/features.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/include/asm-xen/features.h 2006-01-27 11:27:14.000000000 +0000
@@ -0,0 +1,20 @@
+/******************************************************************************
+ * features.h
+ *
+ * Query the features reported by Xen.
+ *
+ * Copyright (c) 2006, Ian Campbell
+ */
+
+#ifndef __ASM_XEN_FEATURES_H__
+#define __ASM_XEN_FEATURES_H__
+
+#include <asm-xen/xen-public/version.h>
+
+extern void setup_xen_features(void);
+
+extern unsigned long xen_features[XENFEAT_NR_SUBMAPS];
+
+#define xen_feature(flag) (test_bit(_XENFEAT_ ## flag, xen_features))
+
+#endif
Index: xen-features/xen/common/kernel.c
===================================================================
--- xen-features.orig/xen/common/kernel.c 2006-01-27 11:13:22.000000000 +0000
+++ xen-features/xen/common/kernel.c 2006-01-27 11:27:34.000000000 +0000
@@ -144,6 +144,28 @@
             return -EFAULT;
         return 0;
     }
+
+    case XENVER_get_features:
+    {
+        xen_feature_info_t fi;
+
+        if ( copy_from_user(&fi, arg, sizeof(fi)) )
+            return -EFAULT;
+
+        switch ( fi.submap_idx )
+        {
+        case 0:
+            fi.submap = 0;
+            break;
+        default:
+            return -EINVAL;
+        }
+
+        if ( copy_to_user(arg, &fi, sizeof(fi)) )
+            return -EFAULT;
+        return 0;
+    }
+
     }

     return -ENOSYS;
Index: xen-features/xen/include/public/version.h
===================================================================
--- xen-features.orig/xen/include/public/version.h 2006-01-27 11:13:22.000000000 +0000
+++ xen-features/xen/include/public/version.h 2006-01-27 11:27:22.000000000 +0000
@@ -39,6 +39,14 @@
     unsigned long virt_start;
 } xen_platform_parameters_t;

+#define XENVER_get_features 6
+typedef struct xen_feature_info {
+    unsigned int submap_idx;    /* IN: which 32-bit submap to return */
+    uint32_t     submap;        /* OUT: 32-bit submap */
+} xen_feature_info_t;
+
+#define XENFEAT_NR_SUBMAPS 1
+
 #endif /* __XEN_PUBLIC_VERSION_H__ */

 /*
Index: xen-features/linux-2.6-xen-sparse/arch/xen/kernel/features.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/kernel/features.c 2006-01-27 11:27:14.000000000 +0000
@@ -0,0 +1,29 @@
+/******************************************************************************
+ * features.c
+ *
+ * Xen feature flags.
+ *
+ * Copyright (c) 2006, Ian Campbell
+ */
+#include <linux/types.h>
+#include <linux/cache.h>
+#include <asm/hypervisor.h>
+#include <asm-xen/features.h>
+
+/* When we rebase to a more recent version of Linux we can use __read_mostly here. */
+unsigned long xen_features[XENFEAT_NR_SUBMAPS] __cacheline_aligned;
+
+void setup_xen_features(void)
+{
+     uint32_t *flags = (uint32_t *)&xen_features[0];
+     xen_feature_info_t fi;
+     int i;
+
+     for (i=0; i<XENFEAT_NR_SUBMAPS; i++) {
+   fi.submap_idx = i;
+   if (HYPERVISOR_xen_version(XENVER_get_features, &fi) < 0)
+        break;
+   flags[i] = fi.submap;
+     }
+}
+

19 years agoRename funtions
Ian.Campbell@xensource.com [Fri, 27 Jan 2006 11:29:42 +0000 (11:29 +0000)]
Rename funtions
    early_make_page_readonly() (x86/64)
    make_lowmem_page_readonly() (x86/32)
    make_page_readonly()  (x86)
    make_pages_readonly()  (x86)
    make_page_writable() (x86)
    make_pages_writable() (x86)
to
    early_make_mmu_page_readonly()
    make_lowmem_mmu_page_readonly()
    make_mmu_page_readonly()
    make_mmu_pages_readonly()
    make_mmu_page_writable()
    make_mmu_pages_writable()

These functions are only called by LDT, GDT or page table page
construction, initialisation and destruction functions and in the
future they will behave in a MMU page specific manner.

Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
Index: xen-features/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable.h
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable.h 2006-01-27 10:18:17.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable.h 2006-01-27 10:56:59.000000000 +0000
@@ -413,19 +413,19 @@
 } while (0)

 #ifndef CONFIG_XEN_SHADOW_MODE
-void make_lowmem_page_readonly(void *va);
-void make_lowmem_page_writable(void *va);
-void make_page_readonly(void *va);
-void make_page_writable(void *va);
-void make_pages_readonly(void *va, unsigned int nr);
-void make_pages_writable(void *va, unsigned int nr);
+void make_lowmem_mmu_page_readonly(void *va);
+void make_lowmem_mmu_page_writable(void *va);
+void make_mmu_page_readonly(void *va);
+void make_mmu_page_writable(void *va);
+void make_mmu_pages_readonly(void *va, unsigned int nr);
+void make_mmu_pages_writable(void *va, unsigned int nr);
 #else
-#define make_lowmem_page_readonly(_va) ((void)0)
-#define make_lowmem_page_writable(_va) ((void)0)
-#define make_page_readonly(_va)        ((void)0)
-#define make_page_writable(_va)        ((void)0)
-#define make_pages_readonly(_va, _nr)  ((void)0)
-#define make_pages_writable(_va, _nr)  ((void)0)
+#define make_lowmem_mmu_page_readonly(_va) ((void)0)
+#define make_lowmem_mmu_page_writable(_va)     ((void)0)
+#define make_mmu_page_readonly(_va)        ((void)0)
+#define make_mmu_page_writable(_va)            ((void)0)
+#define make_mmu_pages_readonly(_va, _nr)  ((void)0)
+#define make_mmu_pages_writable(_va, _nr)      ((void)0)
 #endif

 #define virt_to_ptep(__va) \
Index: xen-features/linux-2.6-xen-sparse/arch/xen/i386/kernel/cpu/common.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/i386/kernel/cpu/common.c 2006-01-27 10:18:17.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/i386/kernel/cpu/common.c 2006-01-27 10:18:19.000000000 +0000
@@ -572,7 +572,7 @@
       va < gdt_descr->address + gdt_descr->size;
       va += PAGE_SIZE, f++) {
  frames[f] = virt_to_mfn(va);
- make_lowmem_page_readonly((void *)va);
+ make_lowmem_mmu_page_readonly((void *)va);
  }
  if (HYPERVISOR_set_gdt(frames, gdt_descr->size / 8))
  BUG();
Index: xen-features/linux-2.6-xen-sparse/arch/xen/i386/kernel/ldt.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/i386/kernel/ldt.c 2006-01-27 10:18:17.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/i386/kernel/ldt.c 2006-01-27 10:56:59.000000000 +0000
@@ -59,8 +59,8 @@
  cpumask_t mask;
  preempt_disable();
 #endif
- make_pages_readonly(pc->ldt, (pc->size * LDT_ENTRY_SIZE) /
-     PAGE_SIZE);
+ make_mmu_pages_readonly(pc->ldt, (pc->size * LDT_ENTRY_SIZE) /
+ PAGE_SIZE);
  load_LDT(pc);
 #ifdef CONFIG_SMP
  mask = cpumask_of_cpu(smp_processor_id());
@@ -70,7 +70,7 @@
 #endif
  }
  if (oldsize) {
- make_pages_writable(oldldt, (oldsize * LDT_ENTRY_SIZE) /
+ make_mmu_pages_writable(oldldt, (oldsize * LDT_ENTRY_SIZE) /
  PAGE_SIZE);
  if (oldsize*LDT_ENTRY_SIZE > PAGE_SIZE)
  vfree(oldldt);
@@ -86,8 +86,8 @@
  if (err < 0)
  return err;
  memcpy(new->ldt, old->ldt, old->size*LDT_ENTRY_SIZE);
- make_pages_readonly(new->ldt, (new->size * LDT_ENTRY_SIZE) /
-     PAGE_SIZE);
+ make_mmu_pages_readonly(new->ldt, (new->size * LDT_ENTRY_SIZE) /
+ PAGE_SIZE);
  return 0;
 }

@@ -119,9 +119,9 @@
  if (mm->context.size) {
  if (mm == current->active_mm)
  clear_LDT();
- make_pages_writable(mm->context.ldt,
-     (mm->context.size * LDT_ENTRY_SIZE) /
-     PAGE_SIZE);
+ make_mmu_pages_writable(mm->context.ldt,
+ (mm->context.size * LDT_ENTRY_SIZE) /
+ PAGE_SIZE);
  if (mm->context.size*LDT_ENTRY_SIZE > PAGE_SIZE)
  vfree(mm->context.ldt);
  else
Index: xen-features/linux-2.6-xen-sparse/arch/xen/i386/mm/init.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/i386/mm/init.c 2006-01-27 10:18:17.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/i386/mm/init.c 2006-01-27 10:18:19.000000000 +0000
@@ -68,7 +68,7 @@

 #ifdef CONFIG_X86_PAE
  pmd_table = (pmd_t *) alloc_bootmem_low_pages(PAGE_SIZE);
- make_lowmem_page_readonly(pmd_table);
+ make_lowmem_mmu_page_readonly(pmd_table);
  set_pgd(pgd, __pgd(__pa(pmd_table) | _PAGE_PRESENT));
  pud = pud_offset(pgd, 0);
  if (pmd_table != pmd_offset(pud, 0))
@@ -89,7 +89,7 @@
 {
  if (pmd_none(*pmd)) {
  pte_t *page_table = (pte_t *) alloc_bootmem_low_pages(PAGE_SIZE);
- make_lowmem_page_readonly(page_table);
+ make_lowmem_mmu_page_readonly(page_table);
  set_pmd(pmd, __pmd(__pa(page_table) | _PAGE_TABLE));
  if (page_table != pte_offset_kernel(pmd, 0))
  BUG();
Index: xen-features/linux-2.6-xen-sparse/arch/xen/i386/mm/pgtable.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/i386/mm/pgtable.c 2006-01-27 10:18:17.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/i386/mm/pgtable.c 2006-01-27 11:01:11.000000000 +0000
@@ -198,7 +198,7 @@
 {
  pte_t *pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO);
  if (pte)
- make_lowmem_page_readonly(pte);
+ make_lowmem_mmu_page_readonly(pte);
  return pte;
 }

@@ -344,7 +344,7 @@
  pmd_t *kpmd = pmd_offset(kpud, v);
  pmd_t *pmd = (void *)__va(pgd_val(pgd[i])-1);
  memcpy(pmd, kpmd, PAGE_SIZE);
- make_lowmem_page_readonly(pmd);
+ make_lowmem_mmu_page_readonly(pmd);
  }
  pgd_list_add(pgd);
  spin_unlock_irqrestore(&pgd_lock, flags);
@@ -378,7 +378,7 @@
  spin_unlock_irqrestore(&pgd_lock, flags);
  for (i = USER_PTRS_PER_PGD; i < PTRS_PER_PGD; i++) {
  pmd_t *pmd = (void *)__va(pgd_val(pgd[i])-1);
- make_lowmem_page_writable(pmd);
+ make_lowmem_mmu_page_writable(pmd);
  memset(pmd, 0, PTRS_PER_PMD*sizeof(pmd_t));
  kmem_cache_free(pmd_cache, pmd);
  }
@@ -389,7 +389,7 @@
 }

 #ifndef CONFIG_XEN_SHADOW_MODE
-void make_lowmem_page_readonly(void *va)
+void make_lowmem_mmu_page_readonly(void *va)
 {
  pte_t *pte = virt_to_ptep(va);
  int rc = HYPERVISOR_update_va_mapping(
@@ -397,7 +397,7 @@
  BUG_ON(rc);
 }

-void make_lowmem_page_writable(void *va)
+void make_lowmem_mmu_page_writable(void *va)
 {
  pte_t *pte = virt_to_ptep(va);
  int rc = HYPERVISOR_update_va_mapping(
@@ -405,7 +405,7 @@
  BUG_ON(rc);
 }

-void make_page_readonly(void *va)
+void make_mmu_page_readonly(void *va)
 {
  pte_t *pte = virt_to_ptep(va);
  int rc = HYPERVISOR_update_va_mapping(
@@ -419,12 +419,12 @@
  kmap_flush_unused(); /* flush stale writable kmaps */
  else
 #endif
- make_lowmem_page_readonly(
+ make_lowmem_mmu_page_readonly(
  phys_to_virt(pfn << PAGE_SHIFT));
  }
 }

-void make_page_writable(void *va)
+void make_mmu_page_writable(void *va)
 {
  pte_t *pte = virt_to_ptep(va);
  int rc = HYPERVISOR_update_va_mapping(
@@ -436,23 +436,23 @@
 #ifdef CONFIG_HIGHMEM
  if (pfn < highstart_pfn)
 #endif
- make_lowmem_page_writable(
+ make_lowmem_mmu_page_writable(
  phys_to_virt(pfn << PAGE_SHIFT));
  }
 }

-void make_pages_readonly(void *va, unsigned int nr)
+void make_mmu_pages_readonly(void *va, unsigned int nr)
 {
  while (nr-- != 0) {
- make_page_readonly(va);
+ make_mmu_page_readonly(va);
  va = (void *)((unsigned long)va + PAGE_SIZE);
  }
 }

-void make_pages_writable(void *va, unsigned int nr)
+void make_mmu_pages_writable(void *va, unsigned int nr)
 {
  while (nr-- != 0) {
- make_page_writable(va);
+ make_mmu_page_writable(va);
  va = (void *)((unsigned long)va + PAGE_SIZE);
  }
 }
Index: xen-features/linux-2.6-xen-sparse/arch/xen/kernel/smpboot.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/kernel/smpboot.c 2006-01-27 10:18:17.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/kernel/smpboot.c 2006-01-27 10:18:19.000000000 +0000
@@ -239,7 +239,7 @@
  memcpy((void *)cpu_gdt_descr[cpu].address,
         (void *)cpu_gdt_descr[0].address,
         cpu_gdt_descr[0].size);
- make_page_readonly((void *)cpu_gdt_descr[cpu].address);
+ make_mmu_page_readonly((void *)cpu_gdt_descr[cpu].address);

  cpu_set(cpu, cpu_possible_map);
 #ifdef CONFIG_HOTPLUG_CPU
Index: xen-features/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/ldt.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/ldt.c 2006-01-27 10:18:17.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/ldt.c 2006-01-27 10:56:59.000000000 +0000
@@ -65,8 +65,8 @@

  preempt_disable();
 #endif
- make_pages_readonly(pc->ldt, (pc->size * LDT_ENTRY_SIZE) /
-     PAGE_SIZE);
+ make_mmu_pages_readonly(pc->ldt, (pc->size * LDT_ENTRY_SIZE) /
+ PAGE_SIZE);
  load_LDT(pc);
 #ifdef CONFIG_SMP
  mask = cpumask_of_cpu(smp_processor_id());
@@ -76,7 +76,7 @@
 #endif
  }
  if (oldsize) {
- make_pages_writable(oldldt, (oldsize * LDT_ENTRY_SIZE) /
+ make_mmu_pages_writable(oldldt, (oldsize * LDT_ENTRY_SIZE) /
  PAGE_SIZE);
  if (oldsize*LDT_ENTRY_SIZE > PAGE_SIZE)
  vfree(oldldt);
@@ -92,8 +92,8 @@
  if (err < 0)
  return err;
  memcpy(new->ldt, old->ldt, old->size*LDT_ENTRY_SIZE);
- make_pages_readonly(new->ldt, (new->size * LDT_ENTRY_SIZE) /
-     PAGE_SIZE);
+ make_mmu_pages_readonly(new->ldt, (new->size * LDT_ENTRY_SIZE) /
+ PAGE_SIZE);
  return 0;
 }

@@ -131,9 +131,9 @@
  if (mm->context.size) {
  if (mm == current->active_mm)
  clear_LDT();
- make_pages_writable(mm->context.ldt,
-     (mm->context.size * LDT_ENTRY_SIZE) /
-     PAGE_SIZE);
+ make_mmu_pages_writable(mm->context.ldt,
+ (mm->context.size * LDT_ENTRY_SIZE) /
+ PAGE_SIZE);
  if (mm->context.size*LDT_ENTRY_SIZE > PAGE_SIZE)
  vfree(mm->context.ldt);
  else
Index: xen-features/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup64.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup64.c 2006-01-27 10:18:17.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup64.c 2006-01-27 10:18:19.000000000 +0000
@@ -141,7 +141,7 @@
       va < gdt_descr->address + gdt_descr->size;
       va += PAGE_SIZE, f++) {
  frames[f] = virt_to_mfn(va);
- make_page_readonly((void *)va);
+ make_mmu_page_readonly((void *)va);
  }
  if (HYPERVISOR_set_gdt(frames, gdt_descr->size /
                                sizeof (struct desc_struct)))
Index: xen-features/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c 2006-01-27 10:18:17.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c 2006-01-27 11:01:11.000000000 +0000
@@ -66,7 +66,7 @@
  (((mfn_to_pfn((addr) >> PAGE_SHIFT)) << PAGE_SHIFT) + \
  __START_KERNEL_map)))

-static void early_make_page_readonly(void *va)
+static void early_make_mmu_page_readonly(void *va)
 {
  unsigned long addr, _va = (unsigned long)va;
  pte_t pte, *ptep;
@@ -88,7 +88,7 @@
  BUG();
 }

-void make_page_readonly(void *va)
+void make_mmu_page_readonly(void *va)
 {
  pgd_t *pgd; pud_t *pud; pmd_t *pmd; pte_t pte, *ptep;
  unsigned long addr = (unsigned long) va;
@@ -103,10 +103,10 @@
  xen_l1_entry_update(ptep, pte); /* fallback */

  if ((addr >= VMALLOC_START) && (addr < VMALLOC_END))
- make_page_readonly(__va(pte_pfn(pte) << PAGE_SHIFT));
+ make_mmu_page_readonly(__va(pte_pfn(pte) << PAGE_SHIFT));
 }

-void make_page_writable(void *va)
+void make_mmu_page_writable(void *va)
 {
  pgd_t *pgd; pud_t *pud; pmd_t *pmd; pte_t pte, *ptep;
  unsigned long addr = (unsigned long) va;
@@ -121,21 +121,21 @@
  xen_l1_entry_update(ptep, pte); /* fallback */

  if ((addr >= VMALLOC_START) && (addr < VMALLOC_END))
- make_page_writable(__va(pte_pfn(pte) << PAGE_SHIFT));
+ make_mmu_page_writable(__va(pte_pfn(pte) << PAGE_SHIFT));
 }

-void make_pages_readonly(void *va, unsigned nr)
+void make_mmu_pages_readonly(void *va, unsigned nr)
 {
  while (nr-- != 0) {
- make_page_readonly(va);
+ make_mmu_page_readonly(va);
  va = (void*)((unsigned long)va + PAGE_SIZE);
  }
 }

-void make_pages_writable(void *va, unsigned nr)
+void make_mmu_pages_writable(void *va, unsigned nr)
 {
  while (nr-- != 0) {
- make_page_writable(va);
+ make_mmu_page_writable(va);
  va = (void*)((unsigned long)va + PAGE_SIZE);
  }
 }
@@ -223,7 +223,7 @@
  pud = (user_mode ? pud_offset_u(vaddr) : pud_offset(pgd, vaddr));
  if (pud_none(*pud)) {
  pmd = (pmd_t *) spp_getpage();
- make_page_readonly(pmd);
+ make_mmu_page_readonly(pmd);
  xen_pmd_pin(__pa(pmd));
  set_pud(pud, __pud(__pa(pmd) | _KERNPG_TABLE | _PAGE_USER));
  if (pmd != pmd_offset(pud, 0)) {
@@ -234,7 +234,7 @@
  pmd = pmd_offset(pud, vaddr);
  if (pmd_none(*pmd)) {
  pte = (pte_t *) spp_getpage();
- make_page_readonly(pte);
+ make_mmu_page_readonly(pte);
  xen_pte_pin(__pa(pte));
  set_pmd(pmd, __pmd(__pa(pte) | _KERNPG_TABLE | _PAGE_USER));
  if (pte != pte_offset_kernel(pmd, 0)) {
@@ -276,7 +276,7 @@
  if (pud_none(*pud)) {

  pmd = (pmd_t *) spp_getpage();
- make_page_readonly(pmd);
+ make_mmu_page_readonly(pmd);
  xen_pmd_pin(__pa(pmd));

  set_pud(pud, __pud(__pa(pmd) | _KERNPG_TABLE | _PAGE_USER));
@@ -290,7 +290,7 @@

  if (pmd_none(*pmd)) {
  pte = (pte_t *) spp_getpage();
- make_page_readonly(pte);
+ make_mmu_page_readonly(pte);
  xen_pte_pin(__pa(pte));

  set_pmd(pmd, __pmd(__pa(pte) | _KERNPG_TABLE | _PAGE_USER));
@@ -419,7 +419,7 @@
  }

  pmd = alloc_static_page(&pmd_phys);
- early_make_page_readonly(pmd);
+ early_make_mmu_page_readonly(pmd);
  xen_pmd_pin(pmd_phys);
  set_pud(pud, __pud(pmd_phys | _KERNPG_TABLE));
        for (j = 0; j < PTRS_PER_PMD; pmd++, j++) {
@@ -448,7 +448,7 @@
  __set_pte(pte, __pte(paddr | _KERNPG_TABLE));
  }
  pte = pte_save;
- early_make_page_readonly(pte);
+ early_make_mmu_page_readonly(pte);
  xen_pte_pin(pte_phys);
  set_pmd(pmd, __pmd(pte_phys | _KERNPG_TABLE));
  }
@@ -497,11 +497,11 @@
        _KERNPG_TABLE | _PAGE_USER);
  memcpy((void *)level2_kernel_pgt, page, PAGE_SIZE);

- early_make_page_readonly(init_level4_pgt);
- early_make_page_readonly(init_level4_user_pgt);
- early_make_page_readonly(level3_kernel_pgt);
- early_make_page_readonly(level3_user_pgt);
- early_make_page_readonly(level2_kernel_pgt);
+ early_make_mmu_page_readonly(init_level4_pgt);
+ early_make_mmu_page_readonly(init_level4_user_pgt);
+ early_make_mmu_page_readonly(level3_kernel_pgt);
+ early_make_mmu_page_readonly(level3_user_pgt);
+ early_make_mmu_page_readonly(level2_kernel_pgt);

  xen_pgd_pin(__pa_symbol(init_level4_pgt));
  xen_pgd_pin(__pa_symbol(init_level4_user_pgt));
@@ -539,7 +539,7 @@
  pmd = (pmd_t *)&page[pmd_index(va)];
  if (pmd_none(*pmd)) {
  pte_page = alloc_static_page(&phys);
- early_make_page_readonly(pte_page);
+ early_make_mmu_page_readonly(pte_page);
  xen_pte_pin(phys);
  set_pmd(pmd, __pmd(phys | _KERNPG_TABLE | _PAGE_USER));
  } else {
@@ -586,7 +586,7 @@
  for (; start < end; start = next) {
  unsigned long pud_phys;
  pud_t *pud = alloc_static_page(&pud_phys);
- early_make_page_readonly(pud);
+ early_make_mmu_page_readonly(pud);
  xen_pud_pin(pud_phys);
  next = start + PGDIR_SIZE;
  if (next > end)
@@ -791,11 +791,11 @@
  set_page_count(virt_to_page(addr), 1);
  memset((void *)(addr & ~(PAGE_SIZE-1)), 0xcc, PAGE_SIZE);
  xen_pte_unpin(__pa(addr));
- make_page_writable(__va(__pa(addr)));
+ make_mmu_page_writable(__va(__pa(addr)));
  /*
   * Make pages from __PAGE_OFFSET address as well
   */
- make_page_writable((void *)addr);
+ make_mmu_page_writable((void *)addr);
  free_page(addr);
  totalram_pages++;
  }
Index: xen-features/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pgalloc.h
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pgalloc.h 2006-01-27 10:18:17.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pgalloc.h 2006-01-27 10:56:59.000000000 +0000
@@ -7,10 +7,10 @@
 #include <linux/mm.h>
 #include <asm/io.h> /* for phys_to_virt and page_to_pseudophys */

-void make_page_readonly(void *va);
-void make_page_writable(void *va);
-void make_pages_readonly(void *va, unsigned int nr);
-void make_pages_writable(void *va, unsigned int nr);
+void make_mmu_page_readonly(void *va);
+void make_mmu_page_writable(void *va);
+void make_mmu_pages_readonly(void *va, unsigned int nr);
+void make_mmu_pages_writable(void *va, unsigned int nr);

 #define __user_pgd(pgd) ((pgd) + PTRS_PER_PGD)

@@ -161,7 +161,7 @@
 {
         pte_t *pte = (pte_t *)get_zeroed_page(GFP_KERNEL|__GFP_REPEAT);
         if (pte)
- make_page_readonly(pte);
+ make_mmu_page_readonly(pte);

  return pte;
 }
@@ -181,7 +181,7 @@
 {
  BUG_ON((unsigned long)pte & (PAGE_SIZE-1));
         xen_pte_unpin(__pa(pte));
-        make_page_writable(pte);
+        make_mmu_page_writable(pte);
  free_page((unsigned long)pte);
 }

Index: xen-features/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgalloc.h
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgalloc.h 2006-01-27 11:01:53.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgalloc.h 2006-01-27 11:02:07.000000000 +0000
@@ -42,7 +42,7 @@
 static inline void pte_free_kernel(pte_t *pte)
 {
  free_page((unsigned long)pte);
- make_page_writable(pte);
+ make_mmu_page_writable(pte);
 }

 extern void pte_free(struct page *pte);

19 years agoFix a silly bug.
sos22@douglas.cl.cam.ac.uk [Thu, 26 Jan 2006 18:52:18 +0000 (19:52 +0100)]
Fix a silly bug.

Signed-off-by: Steven Smith, sos22@cam.ac.uk
19 years agoCreate a block of reserved PFNs in shadow translate mode guests, and
sos22@douglas.cl.cam.ac.uk [Thu, 26 Jan 2006 18:40:13 +0000 (19:40 +0100)]
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
19 years agoMerge.
sos22@douglas.cl.cam.ac.uk [Thu, 26 Jan 2006 17:02:21 +0000 (18:02 +0100)]
Merge.

Signed-off-by: Steven Smith, sos22@cam.ac.uk
19 years agoMake SMP guests work in shadow translate mode.
sos22@douglas.cl.cam.ac.uk [Thu, 26 Jan 2006 17:00:40 +0000 (18:00 +0100)]
Make SMP guests work in shadow translate mode.

Signed-off-by: Steven Smith, sos22@cam.ac.uk
19 years agoExplicitly block attempts to mutate the M2P tables of shadow mode
sos22@douglas.cl.cam.ac.uk [Thu, 26 Jan 2006 13:39:12 +0000 (14:39 +0100)]
Explicitly block attempts to mutate the M2P tables of shadow mode
guests once they're running.

Signed-off-by: Steven Smith, sos22@cam.ac.uk
19 years agoGet the network interface working in shadow translate mode. This
sos22@douglas.cl.cam.ac.uk [Thu, 26 Jan 2006 13:33:20 +0000 (14:33 +0100)]
Get the network interface working in shadow translate mode.  This
required a few extra __gpfn_to_mfn translations, and also required a
minor change in the grant tables interface: if we're in shadow
translate mode, then shared->frame is supposed to be the pfn you want
to map the new mfn to when accepting a grant transfer, and Xen handles
updating the M2P and P2M tables for you.

Signed-off-by: Steven Smith, sos22@cam.ac.uk
19 years agoMust destroy grant-table maptrack table before pagetables,
kaf24@firebug.cl.cam.ac.uk [Thu, 26 Jan 2006 10:31:28 +0000 (11:31 +0100)]
Must destroy grant-table maptrack table before pagetables,
as the latter hold reference counts that maptrack entries
implicitly rely on.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoRemove unneeded /proc/xen/grant and its libxc wrapper.
kaf24@firebug.cl.cam.ac.uk [Wed, 25 Jan 2006 23:17:06 +0000 (00:17 +0100)]
Remove unneeded /proc/xen/grant and its libxc wrapper.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoTreat xenstore UUID for domU's like MAC addresses for virtual network
emellor@leeni.uk.xensource.com [Wed, 25 Jan 2006 23:10:03 +0000 (00:10 +0100)]
Treat xenstore UUID for domU's like MAC addresses for virtual network
interfaces -- can be set by user in domU configuration, but is
generated randomly by default.

Signed-off-by: Andrew D. Ball <aball@us.ibm.com>
19 years agoUpdated README for xm-test for the new "--with-vmx-kernel=KERNEL"
stekloff@elm3b216.beaverton.ibm.com [Wed, 25 Jan 2006 23:06:46 +0000 (00:06 +0100)]
Updated README for xm-test for the new "--with-vmx-kernel=KERNEL"
configuration option.

Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
19 years agoAdd configuration option for specifying kernel to use for hvm/vmx testing
stekloff@elm3b216.beaverton.ibm.com [Wed, 25 Jan 2006 23:06:39 +0000 (00:06 +0100)]
Add configuration option for specifying kernel to use for hvm/vmx testing
in xm-test. Added --with-vmx-kernel=KERNEL.

Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
19 years agoMerge.
sos22@douglas.cl.cam.ac.uk [Wed, 25 Jan 2006 22:35:22 +0000 (23:35 +0100)]
Merge.

Signed-off-by: Steven Smith, sos22@cam.ac.uk
19 years agoFix 64-bit build.
sos22@douglas.cl.cam.ac.uk [Wed, 25 Jan 2006 22:31:07 +0000 (23:31 +0100)]
Fix 64-bit build.

Signed-off-by: Steven Smith, sos22@cam.ac.uk
19 years agoCallers of __gpfn_to_mfn() do not need to check
kaf24@firebug.cl.cam.ac.uk [Wed, 25 Jan 2006 18:16:07 +0000 (19:16 +0100)]
Callers of __gpfn_to_mfn() do not need to check
shadow-translate mode.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoFix the 64-bit build.
kaf24@firebug.cl.cam.ac.uk [Wed, 25 Jan 2006 18:09:28 +0000 (19:09 +0100)]
Fix the 64-bit build.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoMake some basic cases of grant tables work in shadow translate mode.
sos22@douglas.cl.cam.ac.uk [Wed, 25 Jan 2006 17:57:44 +0000 (18:57 +0100)]
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
19 years agoMerge.
sos22@douglas.cl.cam.ac.uk [Wed, 25 Jan 2006 16:41:22 +0000 (17:41 +0100)]
Merge.
Signed-off-by: Steven Smith, sos22@cam.ac.uk
19 years agoMake shadow translate mode work for unprivileged, uniprocessor guests
sos22@douglas.cl.cam.ac.uk [Wed, 25 Jan 2006 16:15:11 +0000 (17:15 +0100)]
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
19 years agoChange domain_crash to say where it was called from.
sos22@douglas.cl.cam.ac.uk [Wed, 25 Jan 2006 16:14:19 +0000 (17:14 +0100)]
Change domain_crash to say where it was called from.

Signed-off-by: Steven Smith, sos22@cam.ac.uk
19 years agoFix batched request list overflow on packet receive path
kaf24@firebug.cl.cam.ac.uk [Wed, 25 Jan 2006 13:36:35 +0000 (14:36 +0100)]
Fix batched request list overflow on packet receive path
in the netback driver.

Signed-off-by: Robert Read <robert@xensource.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoExport Xen driver util function symbols so that Xen drivers
kaf24@firebug.cl.cam.ac.uk [Wed, 25 Jan 2006 13:28:07 +0000 (14:28 +0100)]
Export Xen driver util function symbols so that Xen drivers
can build as modules.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoSeparate the validity checking of the page frame in 2 chunks.
vhanquez@kneesa.uk.xensource.com [Wed, 25 Jan 2006 11:51:21 +0000 (11:51 +0000)]
Separate the validity checking of the page frame in 2 chunks.
give a more accurate error message, and don't call pfn_to_page before
validating the pfn.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoFix inline asm hypercall argument parameter indexes.
kaf24@firebug.cl.cam.ac.uk [Wed, 25 Jan 2006 11:34:02 +0000 (12:34 +0100)]
Fix inline asm hypercall argument parameter indexes.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoRev8517 (Reduce locked critical region in __enter_scheduler()), enable
kaf24@firebug.cl.cam.ac.uk [Wed, 25 Jan 2006 10:44:39 +0000 (11:44 +0100)]
Rev8517 (Reduce locked critical region in __enter_scheduler()), enable
interrupt now before context switch. Then arch specific context_switch
stub needs to disable interrupt itself.

To solve some intermittent corruption.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
19 years agoMissing put_page_and_type() in dom0_op hypercall.
kaf24@firebug.cl.cam.ac.uk [Wed, 25 Jan 2006 10:12:34 +0000 (11:12 +0100)]
Missing put_page_and_type() in dom0_op hypercall.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoFix 64-bit build and fix the transfer-page code for the
kaf24@firebug.cl.cam.ac.uk [Wed, 25 Jan 2006 10:08:33 +0000 (11:08 +0100)]
Fix 64-bit build and fix the transfer-page code for the
iret hypercall.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoFix an incorrect type, and a missing return value check,
kaf24@firebug.cl.cam.ac.uk [Tue, 24 Jan 2006 17:08:11 +0000 (18:08 +0100)]
Fix an incorrect type, and a missing return value check,
in direct_remap_pfn_range().

Signed-off-by: Jan Beulich <JBeulich@novell.com>
19 years agoIndirect hypercalls through a hypercall transfer page.
kaf24@firebug.cl.cam.ac.uk [Tue, 24 Jan 2006 17:05:45 +0000 (18:05 +0100)]
Indirect hypercalls through a hypercall transfer page.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoAdding __init__.py file to remove build warning.
toml@tomlt2.austin.ibm.com [Tue, 24 Jan 2006 16:59:54 +0000 (17:59 +0100)]
Adding __init__.py file to remove build warning.
It turns out the hg export command does not include zero
size files in the generated diff and this was overlooked.

19 years agoAdded dependency check for lilo in configure.ac for vmx enabled builds. Must
stekloff@elm3b216.beaverton.ibm.com [Tue, 24 Jan 2006 16:59:33 +0000 (17:59 +0100)]
Added dependency check for lilo in configure.ac for vmx enabled builds. Must
have lilo version 22.7 or greater.

Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
19 years agoThis patch make xm reboot/shutdown work for vmx doamin.
Ke Yu [Tue, 24 Jan 2006 16:58:43 +0000 (17:58 +0100)]
This patch make xm reboot/shutdown work for vmx doamin.

xm reboot fails due to two issues:
1. no mechanism to change XendDomainInfo.info to trigger domain reboot
2. ioemu blkif parameter is missing during reboot, thus device model recreation will fail.

This patch fix these issues by
1. introducing a xswatch to monitor the control/shutdown node. once fired, it will change the XendDomainInfo.info to trigger domain reboot
2. saving the ioemu blkif parameter in xen store just like DomU does.

Signed-off-by: Yu Ke <ke.yu@intel.com>
19 years agoMerged.
emellor@leeni.uk.xensource.com [Tue, 24 Jan 2006 16:54:34 +0000 (17:54 +0100)]
Merged.

19 years agoreindent few lines that were using softtab instead of hardtab.
vhanquez@kneesa.uk.xensource.com [Tue, 24 Jan 2006 13:21:11 +0000 (13:21 +0000)]
reindent few lines that were using softtab instead of hardtab.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoadd some checking of opening and read in dom0_init and return -1 if error.
vhanquez@kneesa.uk.xensource.com [Tue, 24 Jan 2006 13:14:42 +0000 (13:14 +0000)]
add some checking of opening and read in dom0_init and return -1 if error.
instead of crashing, it now prints a more meaningful error message.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoMerge
vhanquez@kneesa.uk.xensource.com [Tue, 24 Jan 2006 12:06:48 +0000 (12:06 +0000)]
Merge

19 years agouse talloc_zero instead of talloc + memset
vhanquez@kneesa.uk.xensource.com [Tue, 24 Jan 2006 12:03:06 +0000 (12:03 +0000)]
use talloc_zero instead of talloc + memset

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agouse format printf style to write to tracefd instead of using write syscall.
vhanquez@kneesa.uk.xensource.com [Tue, 24 Jan 2006 11:50:38 +0000 (11:50 +0000)]
use format printf style to write to tracefd instead of using write syscall.
add a static buffer to trace() instead of always allocating from the heap.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoTwo shell commands weren't properly spaced in a makefile.
kaf24@firebug.cl.cam.ac.uk [Tue, 24 Jan 2006 11:26:38 +0000 (12:26 +0100)]
Two shell commands weren't properly spaced in a makefile.

Signed-off-by: Jan Beulich <JBeulich@novell.com>
19 years agofixup memory leak and return value, if malloc or realloc fail.
vhanquez@kneesa.uk.xensource.com [Tue, 24 Jan 2006 10:55:45 +0000 (10:55 +0000)]
fixup memory leak and return value, if malloc or realloc fail.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agofixup reallocation to "twice the size + 1", instead of "3 times the size".
vhanquez@kneesa.uk.xensource.com [Tue, 24 Jan 2006 10:52:52 +0000 (10:52 +0000)]
fixup reallocation to "twice the size + 1", instead of "3 times the size".
max *= 2 + 1 <==> max *= 3

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agodup and open error value is -1, not < 0
vhanquez@kneesa.uk.xensource.com [Tue, 24 Jan 2006 10:37:44 +0000 (10:37 +0000)]
dup and open error value is -1, not < 0

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoThe present pud_offset_k implementation runs the value read through
kaf24@firebug.cl.cam.ac.uk [Mon, 23 Jan 2006 15:27:00 +0000 (16:27 +0100)]
The present pud_offset_k implementation runs the value read through
the m2p translation process twice. With that removed, it can then
also be simplified.

Signed-off-by: Jan Beulich <JBeulich@novell.com>
19 years agoia64 specific part of gdbstub.
kaf24@firebug.cl.cam.ac.uk [Mon, 23 Jan 2006 14:47:00 +0000 (15:47 +0100)]
ia64 specific part of gdbstub.

Signed-off-by: Isaku Yamahtata <yamahata@valinux.co.jp>
19 years agoEmergency system halt should halt all processors, not just
kaf24@firebug.cl.cam.ac.uk [Mon, 23 Jan 2006 14:17:14 +0000 (15:17 +0100)]
Emergency system halt should halt all processors, not just
the crashing processor.

Signed-off-by: Jan Beulich <JBeulich@novell.com>
19 years agoThe arguments to memset are ordered incorrectly in the
kaf24@firebug.cl.cam.ac.uk [Fri, 20 Jan 2006 19:31:09 +0000 (20:31 +0100)]
The arguments to memset are ordered incorrectly in the
pcm_hw_clear function of audio.c.

Signed-off-by: Charles Coffing <ccoffing@novell.com>
19 years agoAllow disabling the tx checksums on the xen loopback
kaf24@firebug.cl.cam.ac.uk [Thu, 19 Jan 2006 19:11:09 +0000 (20:11 +0100)]
Allow disabling the tx checksums on the xen loopback
interface, which is used for the virtual interfaces of dom0 instead
of netfront/netback.

I need to issue ethtool -K eth0 tx off to work around a bad checksum
problem, which has been reported for domUs a few months ago. I'm
bridging dom0's eth0 to a domU where I do NAT to a different virtual
interface. Without this change, I get lots of packets with bad
checksums.

Signed-off-by: Jan Niehusmann <jan@gondor.com>
19 years agoFix a bug that causes storage key auth to be generated twice.
kaf24@firebug.cl.cam.ac.uk [Thu, 19 Jan 2006 19:04:53 +0000 (20:04 +0100)]
Fix a bug that causes storage key auth to be generated twice.

Signed-off-by: Vinnie Scarlata <vincent.r.scarlata@intel.com>
19 years agoHaving /usr/bin/xsls conflicts with xsls as distributed in scalapack
kaf24@firebug.cl.cam.ac.uk [Thu, 19 Jan 2006 08:16:01 +0000 (09:16 +0100)]
Having /usr/bin/xsls conflicts with xsls as distributed in scalapack
(http://www.netlib.org/scalapack/).  It should probably be xenstore-ls
a) for namespacing and b) to match up with the other xenstore commands
better.

Signed-off-by: Jeremy Katz <katzj@redhat.com>
19 years agoCleanup dirty code avoiding warning messages when compiling
kaf24@firebug.cl.cam.ac.uk [Thu, 19 Jan 2006 08:12:40 +0000 (09:12 +0100)]
Cleanup dirty code avoiding warning messages when compiling
ioemu.

Signed-off-by: Haifeng Xue <haifeng.xue@intel.com>
19 years agoDelete 2 unused Kconfig files.
vhanquez@kneesa.uk.xensource.com [Wed, 18 Jan 2006 12:58:11 +0000 (12:58 +0000)]
Delete 2 unused Kconfig files.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoNo longer call xc_vcpu_getcontext() on restore (required after cset 8610).
smh22@firebug.cl.cam.ac.uk [Tue, 17 Jan 2006 15:09:03 +0000 (16:09 +0100)]
No longer call xc_vcpu_getcontext() on restore (required after cset 8610).

Signed-off-by: Steven Hand <steven@xensource.com>
19 years agoMinor documentation fix
maf46@burn.cl.cam.ac.uk [Tue, 17 Jan 2006 15:06:03 +0000 (16:06 +0100)]
Minor documentation fix

19 years agoRemove the spin on VCPUF_running from context_switch().
kaf24@firebug.cl.cam.ac.uk [Tue, 17 Jan 2006 13:24:42 +0000 (14:24 +0100)]
Remove the spin on VCPUF_running from context_switch().
It doesn't work because we already set VCPUF_running
locally, and the scheduler should not pick another CPU's
VCPUF_running VCPU anyway, since it mustn't modify the
processor field.

Instead just add a simple assertion to the scheduler to
ensure the scheduling algorithm is not picking an
inappropriate VCPU.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoSync against scheduler tail on other CPUs when context
kaf24@firebug.cl.cam.ac.uk [Tue, 17 Jan 2006 12:25:30 +0000 (13:25 +0100)]
Sync against scheduler tail on other CPUs when context
switching to a new VCPU. Otherwise we cannot pull the
VCPU's state off the other CPU.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoreturn -ENOMEM value instead of -1 when running out of memory.
vhanquez@kneesa.uk.xensource.com [Mon, 16 Jan 2006 23:54:24 +0000 (23:54 +0000)]
return -ENOMEM value instead of -1 when running out of memory.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agosanitize tpmfront. missing spin_unlock'ing in error paths and fix coding style.
vhanquez@kneesa.uk.xensource.com [Mon, 16 Jan 2006 23:43:58 +0000 (23:43 +0000)]
sanitize tpmfront. missing spin_unlock'ing in error paths and fix coding style.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agobool type doesn't exist in C, don't try to emulate one.
vhanquez@kneesa.uk.xensource.com [Mon, 16 Jan 2006 22:11:43 +0000 (22:11 +0000)]
bool type doesn't exist in C, don't try to emulate one.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoremove ASSERT macro.
vhanquez@kneesa.uk.xensource.com [Mon, 16 Jan 2006 22:07:29 +0000 (22:07 +0000)]
remove ASSERT macro.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoreplace ASSERT by BUG_ON.
vhanquez@kneesa.uk.xensource.com [Mon, 16 Jan 2006 22:04:42 +0000 (22:04 +0000)]
replace ASSERT by BUG_ON.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agodefine all DPRINTK as pr_debug
vhanquez@kneesa.uk.xensource.com [Mon, 16 Jan 2006 21:58:44 +0000 (21:58 +0000)]
define all DPRINTK as pr_debug

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agofix xenbus_scanf called with NULL instead of XBT_NULL.
vhanquez@kneesa.uk.xensource.com [Mon, 16 Jan 2006 21:48:24 +0000 (21:48 +0000)]
fix xenbus_scanf called with NULL instead of XBT_NULL.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agouse standard pr_debug macro for DPRINTK.
vhanquez@kneesa.uk.xensource.com [Mon, 16 Jan 2006 21:43:17 +0000 (21:43 +0000)]
use standard pr_debug macro for DPRINTK.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoremove ASSERT macro that is not used anymore in blkback.
vhanquez@kneesa.uk.xensource.com [Mon, 16 Jan 2006 21:29:10 +0000 (21:29 +0000)]
remove ASSERT macro that is not used anymore in blkback.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoremove unnecessary macro bdev_put which is an alias to blkdev_put.
vhanquez@kneesa.uk.xensource.com [Mon, 16 Jan 2006 21:13:29 +0000 (21:13 +0000)]
remove unnecessary macro bdev_put which is an alias to blkdev_put.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoComplete arch_domain_create refactoring for ia64.
kaf24@firebug.cl.cam.ac.uk [Mon, 16 Jan 2006 13:47:31 +0000 (14:47 +0100)]
Complete arch_domain_create refactoring for ia64.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
19 years agoRemove the free_vcpu() interface I added in the preceding
kaf24@firebug.cl.cam.ac.uk [Sat, 14 Jan 2006 22:40:09 +0000 (23:40 +0100)]
Remove the free_vcpu() interface I added in the preceding
changeset. It makes no sense, since an allocated VCPU
cannot be freed at any arbitrary point because individual
VCPUs are not refcounted.

Instead extend free_domain() slightly so it really does do
the reverse of alloc_vcpu() for every allocated VCPU.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoSome refactoring of domain creation/destruction.
kaf24@firebug.cl.cam.ac.uk [Sat, 14 Jan 2006 22:16:43 +0000 (23:16 +0100)]
Some refactoring of domain creation/destruction.

Interface name changes:
1. do_createdomain -> domain_create

2. domain_destruct -> domain_destroy

Arch-specific changes:
1. arch_do_createdomain -> arch_domain_create
This function now takes a domain pointer, not a VCPU
pointer! Initialisation of VCPU0 must happen in
alloc_vcpu_struct().

2. free_perdomain_pt -> arch_domain_destroy
This function must undo the work of arch_domain_create

TODO: arch_domain_create() refactoring is not completed
for ia64.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoxc_vcpu_getcontext() can no longer be called before a
kaf24@firebug.cl.cam.ac.uk [Sat, 14 Jan 2006 21:17:33 +0000 (22:17 +0100)]
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>
19 years agoArch-specific per-vcpu info should be initialised to zero
kaf24@firebug.cl.cam.ac.uk [Sat, 14 Jan 2006 20:26:40 +0000 (21:26 +0100)]
Arch-specific per-vcpu info should be initialised to zero
when allocating a new vcpu structure, not copied from
CPU0's idle VCPU. Especially now that the idle VCPU itself
is dynamically allocated.

This should fix assertions people have been seeing in
getdomain_info_ctxt() relation to IOPL in eflags.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoFix 64-bit build with crash_debug enabled.
kaf24@firebug.cl.cam.ac.uk [Sat, 14 Jan 2006 16:05:31 +0000 (17:05 +0100)]
Fix 64-bit build with crash_debug enabled.

Signed-off-by: Keir Fraser <keir@xensource.com>