|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
[Xen-ia64-devel] [PATCH 00/30] ia64/xen domU take 10
This patchset is ia64/xen domU patch take 10 which is rebased
to 2.6.27-rc4.
This patchset implements ia64/xen domU support based on ia64/pv_ops
frame work which was sent as another patchest.
This patchset does the followings.
- Some preparation work. Mainly importing header files to define
related structures.
- Then, define functions related to hypercall which is the way to
communicate with Xen hypervisor.
- Add some helper functions which is necessary to utilize
xen arch generic portion.
- Next implements the xen instance of pv_ops introducing
pv_info, pv_init_ops, pv_cpu_ops and its assembler counter part,
pv_iosapic_ops, pv_irq_ops and, pv_time_ops step by step.
- Introduce xen machine vector to describe xen platform.
By using machine vector, xen domU implementation can be simplified.
- Lastly update Kconfig to allow paravirtualization support and
xen domU support to compile.
To compile, the changesets in x86/xen branch are also needed.
I expected the necessary patches will be merged soon.
For convenience the working full source is available from
http://people.valinux.co.jp/~yamahata/xen-ia64/for_eagl/linux-2.6-ia64-pv-ops.git/
branch: ia64-pv-ops-2008aug26-xen-ia64
For the status of this patch series
http://wiki.xensource.com/xenwiki/XenIA64/UpstreamMerge
At this phase, we don't address the following issues.
Those will be addressed after the first merge.
- optimization by binary patch
In fact, we had the patch to do that, but we intentionally dropped
for patch size/readability/cleanness.
- freeing the unused pages, i.e. pages for unused ivt.S.
- complete save/restore support
- ar.itc paravirtualization which is necessary for save/restore support
Changes from take 9:
- rebased to 2.6.27-rc4
- caught up moving header files.
- caught up the x86 xen changes (mainly xen mode predicate)
- enhanced pv checker to detect inappropriate register usage.
- typo
Changes from take 8:
- rebased to 2.6.26
- updated pvclock-abi.h
Changes from take 7:
- various typos
- clean up sync_bitops.h
- style fix on include/asm-ia64/xen/interface.h
- reserve the "break" numbers in include/asm-ia64/break.h
- xencomm clean up
- dropped NET_SKB_PAD patch. It was a bug in xen-netfront.c.
- CONFIG_IA64_XEN -> CONFIG_IA64_XEN_GUEST
- catch up for x86 pvclock-abi.h
- work around for IPI with IA64_TIME_VECTOR
- add pv checker
Changes from take 6:
- rebased to linux ia64 test tree
- xen bsw_1 simplification.
- add documentation. Documentation/ia64/xen.txt
- preliminary support for save/restore.
- network fix. NET_SKB_PAD.
Changes from take 5:
- rebased to Linux 2.6.26-rc3
- fix ivt.S paravirtualization.
One instruction was wrongly paravirtualized.
It wasn't revealed with Xen HVM domain so far, but with real hw
- multi entry point support.
- revised changelog to add CCs.
Changes from take 4:
- fix synch bit ops definitions to prevent accidental namespace clashes.
- rebased and fixed breakages due to the upstream change.
Changes from take 3:
- split the patch set into pv_op part and xen domU part.
- many clean ups.
- introduced pv_ops: pv_cpu_ops and pv_time_ops.
Changes from take 2:
- many clean ups following to comments.
- clean up:assembly instruction macro.
- introduced pv_ops: pv_info, pv_init_ops, pv_iosapic_ops, pv_irq_ops.
Changes from take 1:
Single IVT source code. compile multitimes using assembler macros.
thanks,
Diffstat:
Documentation/ia64/xen.txt | 183 ++++++++
arch/ia64/Kconfig | 32 ++
arch/ia64/Makefile | 2 +
arch/ia64/include/asm/break.h | 9 +
arch/ia64/include/asm/machvec.h | 2 +
arch/ia64/include/asm/machvec_xen.h | 22 +
arch/ia64/include/asm/meminit.h | 3 +-
arch/ia64/include/asm/native/pvchk_inst.h | 263 +++++++++++
arch/ia64/include/asm/pvclock-abi.h | 5 +
arch/ia64/include/asm/sync_bitops.h | 51 +++
arch/ia64/include/asm/timex.h | 2 +
.../paravirt_inst.h => include/asm/xen/events.h} | 35 ++-
.../asm/xen/grant_table.h} | 14 +-
arch/ia64/include/asm/xen/hypercall.h | 265 +++++++++++
arch/ia64/include/asm/xen/hypervisor.h | 89 ++++
arch/ia64/include/asm/xen/inst.h | 458 ++++++++++++++++++++
arch/ia64/include/asm/xen/interface.h | 346 +++++++++++++++
arch/ia64/include/asm/xen/irq.h | 44 ++
arch/ia64/include/asm/xen/minstate.h | 134 ++++++
arch/ia64/include/asm/xen/page.h | 65 +++
arch/ia64/include/asm/xen/privop.h | 129 ++++++
arch/ia64/include/asm/xen/xcom_hcall.h | 51 +++
arch/ia64/include/asm/xen/xencomm.h | 42 ++
arch/ia64/kernel/Makefile | 18 +
arch/ia64/kernel/acpi.c | 5 +
arch/ia64/kernel/asm-offsets.c | 31 ++
arch/ia64/kernel/nr-irqs.c | 1 +
arch/ia64/kernel/paravirt_inst.h | 4 +-
arch/ia64/kernel/process.c | 1 -
arch/ia64/scripts/pvcheck.sed | 32 ++
arch/ia64/xen/Kconfig | 26 ++
arch/ia64/xen/Makefile | 22 +
arch/ia64/xen/grant-table.c | 155 +++++++
arch/ia64/xen/hypercall.S | 91 ++++
arch/ia64/xen/hypervisor.c | 96 ++++
arch/ia64/xen/irq_xen.c | 435 +++++++++++++++++++
.../ia64/{kernel/paravirt_inst.h => xen/irq_xen.h} | 19 +-
arch/ia64/xen/machvec.c | 4 +
.../ia64/{kernel/paravirt_inst.h => xen/suspend.c} | 49 ++-
arch/ia64/xen/time.c | 198 +++++++++
arch/ia64/{kernel/paravirt_inst.h => xen/time.h} | 11 +-
arch/ia64/xen/xcom_hcall.c | 441 +++++++++++++++++++
arch/ia64/xen/xen_pv_ops.c | 364 ++++++++++++++++
arch/ia64/xen/xencomm.c | 105 +++++
arch/ia64/xen/xenivt.S | 52 +++
arch/ia64/xen/xensetup.S | 83 ++++
46 files changed, 4450 insertions(+), 39 deletions(-)
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-ia64-devel] [PATCH 00/30] ia64/xen domU take 10,
Isaku Yamahata <=
- [Xen-ia64-devel] [PATCH 04/30] ia64/xen: increase IA64_MAX_RSVD_REGIONS., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 02/30] ia64/xen: reserve "break" numbers used for xen hypercalls., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 03/30] ia64/xen: introduce sync bitops which is necessary for ia64/xen support., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 01/30] ia64: move function declaration, ia64_cpu_local_tick() from .c to .h, Isaku Yamahata
- [Xen-ia64-devel] [PATCH 07/30] ia64/xen: add a necessary header file to compile include/xen/interface/xen.h, Isaku Yamahata
- [Xen-ia64-devel] [PATCH 06/30] ia64/xen: define several constants for ia64/xen., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 08/30] ia64/xen: define helper functions for xen related address conversion., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 22/30] ia64/pv_ops/xen: implement xen pv_iosapic_ops., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 23/30] ia64/pv_ops/xen: define the nubmer of irqs which xen needs., Isaku Yamahata
- [Xen-ia64-devel] [PATCH 20/30] ia64/pv_ops/xen: paravirtualize ivt.S for xen., Isaku Yamahata
|
|
|
|
|