[Xen-ia64-devel] [PATCH 04/15] ia64/pv_ops/xen: preliminary to paravirtualizing fsys.S for xen.

2008-12-21 Thread Isaku Yamahata
This is a preliminary patch to paravirtualizing fsys.S. compile fsys.S twice one for native and one for xen, and switch them at run tine. Later fsys.S will be paravirtualized. Signed-off-by: Isaku Yamahata yamah...@valinux.co.jp --- arch/ia64/include/asm/xen/inst.h |3 +++

[Xen-ia64-devel] [PATCH 05/15] ia64/pv_ops: paravirtualize fsys.S.

2008-12-21 Thread Isaku Yamahata
paravirtualize fsys.S. Signed-off-by: Isaku Yamahata yamah...@valinux.co.jp --- arch/ia64/kernel/fsys.S | 14 +++--- 1 files changed, 7 insertions(+), 7 deletions(-) diff --git a/arch/ia64/kernel/fsys.S b/arch/ia64/kernel/fsys.S index 788319f..3544d75 100644 ---

[Xen-ia64-devel] [PATCH 07/15] ia64/pv_ops: paravirtualize mov = ar.itc.

2008-12-21 Thread Isaku Yamahata
paravirtualize mov reg = ar.itc. Signed-off-by: Isaku Yamahata yamah...@valinux.co.jp --- arch/ia64/include/asm/native/inst.h |5 + arch/ia64/kernel/entry.S|4 ++-- arch/ia64/kernel/fsys.S |4 ++-- arch/ia64/kernel/ivt.S |2 +- 4 files

[Xen-ia64-devel] [PATCH 10/15] ia64/pv_ops/xen/pv_time_ops: implement sched_clock.

2008-12-21 Thread Isaku Yamahata
paravirtualize sched_clock. Signed-off-by: Isaku Yamahata yamah...@valinux.co.jp --- arch/ia64/xen/Kconfig |1 + arch/ia64/xen/time.c | 48 2 files changed, 49 insertions(+), 0 deletions(-) diff --git a/arch/ia64/xen/Kconfig

[Xen-ia64-devel] [PATCH 09/15] ia64/pv_ops/pv_time_ops: add sched_clock hook.

2008-12-21 Thread Isaku Yamahata
add sched_clock() hook to paravirtualize sched_clock(). ia64 sched_clock() is based on ar.itc which isn't stable on virtualized environment because vcpu may move around on pcpus. So it needs paravirtualization. Signed-off-by: Isaku Yamahata yamah...@valinux.co.jp ---

[Xen-ia64-devel] [PATCH 08/15] ia64/pv_ops/xen: paravirtualize read/write ar.itc and ar.itm

2008-12-21 Thread Isaku Yamahata
paravirtualize ar.itc and ar.itm in order to support save/restore. Signed-off-by: Isaku Yamahata yamah...@valinux.co.jp --- arch/ia64/include/asm/xen/inst.h | 21 + arch/ia64/include/asm/xen/interface.h |9 arch/ia64/include/asm/xen/minstate.h | 11 -

[Xen-ia64-devel] [PATCH 02/15] __initdata and const cannot be always a happy pair, as gcc-4.3.3 gives

2008-12-21 Thread Isaku Yamahata
arch/ia64/xen/xen_pv_ops.c:156: error: xen_init_ops causes a section type conflict arch/ia64/xen/xen_pv_ops.c:340: error: xen_iosapic_ops causes a section type conflict This patch simply removes const from data with __initdata. Signed-off-by: Takashi Iwai ti...@suse.de ---

[Xen-ia64-devel] [PATCH 01/15] ia64: remove warnings.

2008-12-21 Thread Isaku Yamahata
this patch removes the following warnings. CC arch/ia64/kernel/patch.o /linux-2.6/arch/ia64/kernel/patch.c: In function 'ia64_patch_vtop': /linux-2.6/arch/ia64/kernel/patch.c:112: warning: passing argument 1 of 'paravirt_fc' makes integer from pointer without a cast

[Xen-ia64-devel] [PATCH 12/15] ia64/pv_ops/xen: define xen specific gate page.

2008-12-21 Thread Isaku Yamahata
define xen specific gate page. At this phase bits in the gate page is same to native. At the next phase, it will be paravirtualized. Signed-off-by: Isaku Yamahata yamah...@valinux.co.jp --- arch/ia64/include/asm/xen/patchlist.h | 38 +

[Xen-ia64-devel] [PATCH 13/15] ia64/pv_ops: move down __kernel_syscall_via_epc.

2008-12-21 Thread Isaku Yamahata
Move down __kernel_syscall_via_epc to the end of the page. We want to paravirtualize only __kernel_syscall_via_epc because it includes privileged instructions. Its paravirtualization increases its symbols size. On the other hand, each paravirtualized gate must have e symbols of same value and

[Xen-ia64-devel] [PATCH 14/15] ia64/pv_ops: paravirtualize gate.S.

2008-12-21 Thread Isaku Yamahata
paravirtualize gate.S. Signed-off-by: Isaku Yamahata yamah...@valinux.co.jp --- arch/ia64/include/asm/native/inst.h |5 + arch/ia64/include/asm/native/pvchk_inst.h |3 +++ arch/ia64/kernel/gate.S | 17 + 3 files changed, 21 insertions(+), 4

[Xen-ia64-devel] [PATCH 03/15] ia64/pv_ops: add hooks to paravirtualize fsyscall implementation.

2008-12-21 Thread Isaku Yamahata
Add two hooks, paravirt_get_fsyscall_table() and paravirt_get_fsys_bubble_doen() to paravirtualize fsyscall implementation. This patch just add the hooks fsyscall and don't paravirtualize it. Signed-off-by: Isaku Yamahata yamah...@valinux.co.jp --- arch/ia64/include/asm/native/inst.h |3 +++

[Xen-ia64-devel] [PATCH 15/15] ia64/pv_ops/xen/gate.S: xen gate page paravirtualization

2008-12-21 Thread Isaku Yamahata
xen gate page paravirtualization Signed-off-by: Isaku Yamahata yamah...@valinux.co.jp --- arch/ia64/include/asm/xen/inst.h |4 arch/ia64/xen/Makefile |1 + 2 files changed, 5 insertions(+), 0 deletions(-) diff --git a/arch/ia64/include/asm/xen/inst.h

[Xen-ia64-devel] [PATCH 00/15] ia64/pv_ops, xen: more paravirtualization. TAKE 4

2008-12-21 Thread Isaku Yamahata
This patch set is intended for the next merge window. They are just enhancements of the already merged patches or ia64 porting from x86 paravirt techniques and that their quality is enough for merge. This patch set is for more paravirtualization on ia64/xen domU. This patch set does - remove

[Xen-ia64-devel] [PATCH 11/15] ia64/pv_ops: gate page paravirtualization.

2008-12-21 Thread Isaku Yamahata
paravirtualize gate page by allowing each pv_ops instances to define its own gate page. Signed-off-by: Isaku Yamahata yamah...@valinux.co.jp --- arch/ia64/include/asm/native/patchlist.h | 38 ++ arch/ia64/include/asm/paravirt.h | 35 +

[Xen-ia64-devel] [PATCH 0/5] ia64/pv_ops, xen: binary patch optimization TAKE 3

2008-12-21 Thread Isaku Yamahata
This patch set is intended for the next merge window. They are just enhancements of the already merged patches or ia64 porting from x86 paravirt techniques and that their quality is enough for merge. This patch set is for binary patch optimization for paravirt_ops which depends on the patch

[Xen-ia64-devel] [PATCH 4/5] ia64/pv_ops/binary patch: define paravirt_dv_serialize_data() and suppress false positive warning.

2008-12-21 Thread Isaku Yamahata
define paravirt_dv_serialize_data() and insert it to suppress false positive warnings. Signed-off-by: Isaku Yamahata yamah...@valinux.co.jp --- arch/ia64/include/asm/paravirt_privop.h |6 ++ arch/ia64/kernel/efi.c |1 + arch/ia64/kvm/vtlb.c|2

[Xen-ia64-devel] [PATCH 3/5] ia64/pv_ops/bp/module: support binary patching for kernel module.

2008-12-21 Thread Isaku Yamahata
support binary patching for kernel module. Signed-off-by: Isaku Yamahata yamah...@valinux.co.jp --- arch/ia64/include/asm/module.h |6 ++ arch/ia64/kernel/module.c | 32 2 files changed, 38 insertions(+), 0 deletions(-) diff --git

[Xen-ia64-devel] [PATCH 5/5] ia64/pv_ops/bp/xen: implemented binary patchable pv_cpu_ops.

2008-12-21 Thread Isaku Yamahata
implemented xen binary patch for pv_cpu_ops. Signed-off-by: Isaku Yamahata yamah...@valinux.co.jp --- arch/ia64/include/asm/xen/privop.h |4 + arch/ia64/xen/hypercall.S |2 + arch/ia64/xen/xen_pv_ops.c | 665 3 files changed, 671

[Xen-ia64-devel] [PATCH 1/5] ia64/pv_op/binarypatch: add helper functions to support binary patching for paravirt_ops.

2008-12-21 Thread Isaku Yamahata
add helper functions to support binary patching for paravirt_ops. Signed-off-by: Isaku Yamahata yamah...@valinux.co.jp --- arch/ia64/include/asm/paravirt_patch.h | 143 + arch/ia64/kernel/paravirt_patch.c | 514 arch/ia64/kernel/paravirtentry.S

[Xen-ia64-devel] [PATCH 2/5] ia64/pv_ops: implement binary patching optimization for native.

2008-12-21 Thread Isaku Yamahata
implement binary patching optimization for pv_cpu_ops. With this optimization, indirect call for pv_cpu_ops methods can be converted into inline execution or direct call. Signed-off-by: Isaku Yamahata yamah...@valinux.co.jp --- arch/ia64/include/asm/intrinsics.h |6 +-