[Xen-ia64-devel] [PATCH 02/50] xen: add missing VIRQ_ARCH_[0-7] definitions which ia64/xen needs.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- include/xen/interface/xen.h | 12 +++- 1 files changed, 11 insertions(+), 1 deletions(-) diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h index 87ad143..9b018da 100644 --- a/include/xen/interface/xen.h +++

[Xen-ia64-devel] [PATCH 01/50] xen: add missing __HYPERVISOR_arch_[0-7] definisions which ia64 needs.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- include/xen/interface/xen.h | 10 ++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h index 518a5bf..87ad143 100644 --- a/include/xen/interface/xen.h +++

[Xen-ia64-devel] [PATCH 00/50] ia64/xen take 3: ia64/xen domU paravirtualization

2008-03-05 Thread Isaku Yamahata
Hi. This patchset implements xen/ia64 domU support. Qing He and Eddie Dong also has been woring on pv_ops so that I want to discuss before going further and avoid duplicated work. I suppose that Eddie will also post his own patch. So reviewing both patches, we can reach to better pv_ops interface.

[Xen-ia64-devel] [PATCH 03/50] xen: add missing definitions for xen grant table which ia64/xen needs.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- drivers/xen/grant-table.c |2 +- include/asm-x86/xen/interface.h | 24 include/xen/interface/grant_table.h | 11 --- 3 files changed, 33 insertions(+), 4 deletions(-) diff --git

[Xen-ia64-devel] [PATCH 04/50] xen: add missing definitions in include/xen/interface/vcpu.h which ia64/xen needs

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- include/xen/interface/vcpu.h |5 + 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/include/xen/interface/vcpu.h b/include/xen/interface/vcpu.h index b05d8a6..87e6f8a 100644 --- a/include/xen/interface/vcpu.h +++

[Xen-ia64-devel] [PATCH 09/50] xen: make grant table arch portable.

2008-03-05 Thread Isaku Yamahata
split out x86 specific part from grant-table.c Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/x86/xen/Makefile |2 +- arch/x86/xen/grant-table.c | 91 drivers/xen/grant-table.c | 35 +--- include/xen/grant_table.h

[Xen-ia64-devel] [PATCH 05/50] xen: move features.c from arch/x86/xen/features.c to drivers/xen.

2008-03-05 Thread Isaku Yamahata
ia64/xen also uses it too, so move it into common place. Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/x86/xen/Makefile|2 +- drivers/xen/Makefile |2 +- {arch/x86 = drivers}/xen/features.c |0 3 files changed, 2 insertions(+), 2

[Xen-ia64-devel] [PATCH 12/50] ia64/pv_ops: introduce ia64_set_rr0_to_rr4() to make kernel paravirtualization friendly.

2008-03-05 Thread Isaku Yamahata
ia64/Xen will replace setting rr[0-4] with single hypercall later. Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- include/asm-ia64/intrinsics.h | 10 ++ include/asm-ia64/mmu_context.h |6 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git

[Xen-ia64-devel] [PATCH 06/50] xen: move arch/x86/xen/events.c undedr drivers/xen and split out arch specific part.

2008-03-05 Thread Isaku Yamahata
ia64/xen also uses events.c. clean it up so that ia64/xen can use. make ipi_to_irq globly visible. ia64/xen nees to reference it from other file. introduce resend_irq_on_evtchn() which ia64 needs. introduce xen_do_IRQ() to split out arch specific code. Signed-off-by: Isaku Yamahata [EMAIL

[Xen-ia64-devel] [PATCH 07/50] xen: make include/xen/page.h portable moving those definitions under asm dir.

2008-03-05 Thread Isaku Yamahata
Those definitions in include/asm/xen/page.h are arch specific. ia64/xen wants to define its own version. So move them to arch specific directory and keep include/xen/page.h in order not to break compilation. Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- include/{ = asm-x86}/xen/page.h |

[Xen-ia64-devel] [PATCH 08/50] xen: replace callers of alloc_vm_area()/free_vm_area() with xen_ prefixed one.

2008-03-05 Thread Isaku Yamahata
Don't use alloc_vm_area()/free_vm_area() directly, instead define xen_alloc_vm_area()/xen_free_vm_area() and use them. alloc_vm_area()/free_vm_area() are used to allocate/free area which are for grant table mapping. Xen/x86 grant table is based on virtual address so that

[Xen-ia64-devel] [PATCH 13/50] ia64/pv_ops: introduce ia64_get_psr_i() to make kernel paravirtualization friendly.

2008-03-05 Thread Isaku Yamahata
__local_irq_save() and local_save_flags() are used to mask interruptions. They read all psr bits that requres whole bit emulation. On the other hand, reading only psr.i, the single bit, can be virtualized cheaply. Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- include/asm-ia64/intrinsics.h

[Xen-ia64-devel] [PATCH 10/50] xen: import include/xen/interface/callback.h which ia64/xen needs.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- include/xen/interface/callback.h | 119 ++ 1 files changed, 119 insertions(+), 0 deletions(-) create mode 100644 include/xen/interface/callback.h diff --git a/include/xen/interface/callback.h

[Xen-ia64-devel] [PATCH 15/50] ia64/pv_ops: preparation for paravirtualizatin of switch_leave.S and ivt.S

2008-03-05 Thread Isaku Yamahata
make some symbol global and add some hooks. define __IA64_ASM_PARAVIRTUALIZED_NATIVE to tell its native compilation when compiling ivt.S and switch_leave.S replace COVER with __COVER to avoid name conflict. Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/kernel/Makefile |

[Xen-ia64-devel] [PATCH 16/50] ia64/pv_ops: hook pal_call_static() for paravirtualization.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/kernel/pal.S|5 +++-- include/asm-ia64/privop.h |1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/ia64/kernel/pal.S b/arch/ia64/kernel/pal.S index 0b53344..d52fd70 100644 ---

[Xen-ia64-devel] [PATCH 11/50] xen: import arch generic part of xencomm.

2008-03-05 Thread Isaku Yamahata
On xen/ia64 and xen/powerpc hypercall arguments are passed by pseudo physical address (guest physical address) so that it's necessary to convert from virtual address into pseudo physical address. The frame work is called xencomm. Import arch generic part of xencomm. Signed-off-by: Isaku Yamahata

[Xen-ia64-devel] [PATCH 14/50] ia64/pv_ops: split out ia64_swtich_to(), ia64_leave_syscall() and ia64_leave_kernel from entry.S to switch_leave.S for paravirtualization.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/kernel/Makefile |2 +- arch/ia64/kernel/entry.S| 564 + arch/ia64/kernel/switch_leave.S | 594 +++ 3 files changed, 603 insertions(+), 557

[Xen-ia64-devel] [PATCH 20/50] ia64/pv_ops: paravirtualized instructions for hand written assembly code on native.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/kernel/inst_native.h | 183 1 files changed, 183 insertions(+), 0 deletions(-) create mode 100644 arch/ia64/kernel/inst_native.h diff --git a/arch/ia64/kernel/inst_native.h

[Xen-ia64-devel] [PATCH 18/50] ia64/pv_ops: preparation for ia64 intrinsics operations paravirtualization

2008-03-05 Thread Isaku Yamahata
To make them overridable cleanly, change their prefix from ia64_ to native_ and define ia64_ to native_. Later ia64_xxx would be redeinfed to pv_ops'ed one. Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- include/asm-ia64/gcc_intrin.h | 58 +-

[Xen-ia64-devel] [PATCH 19/50] ia64/pv_ops: define ia64 privileged instruction intrinsics for paravirtualized guest kernel.

2008-03-05 Thread Isaku Yamahata
Make ia64 privileged instruction intrinsics paravirtualizable with binary patching allowing each pv instances to override each intrinsics. Mark privileged instructions which needs paravirtualization and allow pv instance can binary patch at early boot time. Signed-off-by: Isaku Yamahata [EMAIL

[Xen-ia64-devel] [PATCH 33/50] ia64/xen: detect xen environment at early boot time and do minimal initialization.

2008-03-05 Thread Isaku Yamahata
Currently it detects by checking psr.cpl != 0. It's ok for now, but more abstraction would be needed later like x86. Presumably extending booting protocol (i.e. extending struct ia64_boot_param) or multi entry points depending on hypervisor would be necessary. Signed-off-by: Isaku Yamahata [EMAIL

[Xen-ia64-devel] [PATCH 21/50] ia64/pv_ops: header file to switch paravirtualized assembly instructions.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/kernel/inst_paravirt.h | 28 1 files changed, 28 insertions(+), 0 deletions(-) create mode 100644 arch/ia64/kernel/inst_paravirt.h diff --git a/arch/ia64/kernel/inst_paravirt.h

[Xen-ia64-devel] [PATCH 38/50] ia64/xen: paravirtualize pal_call_static().

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/xen/xenpal.S | 76 1 files changed, 76 insertions(+), 0 deletions(-) create mode 100644 arch/ia64/xen/xenpal.S diff --git a/arch/ia64/xen/xenpal.S b/arch/ia64/xen/xenpal.S new file

[Xen-ia64-devel] [PATCH 45/50] ia64/xen: domU xen machine vector without dma api.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/kernel/acpi.c|4 arch/ia64/xen/machvec.c|4 include/asm-ia64/machvec.h |2 ++ include/asm-ia64/machvec_xen.h | 22 ++ 4 files changed, 32 insertions(+), 0 deletions(-)

[Xen-ia64-devel] [PATCH 22/50] ia64/pv_ops: paravirtualize minstate.h.

2008-03-05 Thread Isaku Yamahata
This isn't necessary because xen defines its own DO_SAVE_MIN. But this makes the difference of them smaller. Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/kernel/minstate.h |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/ia64/kernel/minstate.h

[Xen-ia64-devel] [PATCH 34/50] ia64/xen: helper functions for xen fault handlers.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/xen/xenivt.S | 59 1 files changed, 59 insertions(+), 0 deletions(-) create mode 100644 arch/ia64/xen/xenivt.S diff --git a/arch/ia64/xen/xenivt.S b/arch/ia64/xen/xenivt.S new file

[Xen-ia64-devel] [PATCH 30/50] ia64/xen: introduce synch bitops which is necessary for ia64/xen support.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- include/asm-ia64/sync_bitops.h | 59 1 files changed, 59 insertions(+), 0 deletions(-) create mode 100644 include/asm-ia64/sync_bitops.h diff --git a/include/asm-ia64/sync_bitops.h

[Xen-ia64-devel] [PATCH 42/50] ia64/xen: ia64 domU part of xencomm.

2008-03-05 Thread Isaku Yamahata
import ia64 specific part of xencomm which converts hypercall argument in virtual address into pseudo physical address (guest physical address). Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/xen/xcom_asm.S | 27 +++ arch/ia64/xen/xcom_hcall.c| 458

[Xen-ia64-devel] [PATCH 23/50] ia64/pv_ops: paravirtualize arch/ia64/kernel/switch_leave.S

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/kernel/switch_leave.S | 80 +- 1 files changed, 44 insertions(+), 36 deletions(-) diff --git a/arch/ia64/kernel/switch_leave.S b/arch/ia64/kernel/switch_leave.S index 9918160..d6d0f08 100644 ---

[Xen-ia64-devel] [PATCH 35/50] ia64/pv_ops/xen: paravirtualized instructions for hand written assembly code.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/xen/inst_xen.h | 503 ++ 1 files changed, 503 insertions(+), 0 deletions(-) create mode 100644 arch/ia64/xen/inst_xen.h diff --git a/arch/ia64/xen/inst_xen.h b/arch/ia64/xen/inst_xen.h new

[Xen-ia64-devel] [PATCH 44/50] ia64/xen: basic helper routines for xen/ia64.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/xen/hypervisor.c| 235 + include/asm-ia64/xen/hypervisor.h | 194 ++ 2 files changed, 429 insertions(+), 0 deletions(-) create mode 100644

[Xen-ia64-devel] [PATCH 43/50] ia64/xen: define xen_alloc_vm_area()/xen_free_vm_area() for ia64 arch.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/xen/util.c | 101 ++ 1 files changed, 101 insertions(+), 0 deletions(-) create mode 100644 arch/ia64/xen/util.c diff --git a/arch/ia64/xen/util.c b/arch/ia64/xen/util.c new file mode

[Xen-ia64-devel] [PATCH 41/50] ia64/xen: introduce xen hypercall routines necessary for domU.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/xen/hypercall.S|7 + include/asm-ia64/xen/hypercall.h | 426 ++ 2 files changed, 433 insertions(+), 0 deletions(-) create mode 100644 include/asm-ia64/xen/hypercall.h diff --git

[Xen-ia64-devel] [PATCH 50/50] ia64/pv_ops/xen: define xen pv_irq_ops.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/xen/Makefile |2 +- arch/ia64/xen/hypercall.S | 10 + arch/ia64/xen/irq_xen.c| 435 arch/ia64/xen/irq_xen.h|8 + arch/ia64/xen/xen_pv_ops.c |3 +

[Xen-ia64-devel] [PATCH 46/50] ia64/xen: define xen related address conversion helper functions for domU

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- include/asm-ia64/page.h |8 include/asm-ia64/xen/page.h | 41 + 2 files changed, 49 insertions(+), 0 deletions(-) create mode 100644 include/asm-ia64/xen/page.h diff --git

[Xen-ia64-devel] [PATCH 40/50] ia64/pv_ops/xen: xen privileged instruction intrinsics with binary patch.

2008-03-05 Thread Isaku Yamahata
With binary patching, make intrinsics paravirtualization hypervisor neutral. So far xen intrinsics doesn't allow another hypervisor. Binary patch marked privileged operations which needs paravirtualization if running on xen at early boot time. Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] ---

[Xen-ia64-devel] [PATCH 24/50] ia64/pv_ops: paravirtualize arch/ia64/kernel/ivt.S.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/kernel/ivt.S | 153 --- 1 files changed, 78 insertions(+), 75 deletions(-) diff --git a/arch/ia64/kernel/ivt.S b/arch/ia64/kernel/ivt.S index 34f44d8..d1cebe5 100644 ---

[Xen-ia64-devel] [PATCH 31/50] ia64/xen: import xen hypercall header file for domU

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- include/asm-ia64/xen/interface.h | 585 ++ 1 files changed, 585 insertions(+), 0 deletions(-) create mode 100644 include/asm-ia64/xen/interface.h diff --git a/include/asm-ia64/xen/interface.h

[Xen-ia64-devel] [PATCH 36/50] ia64/pv_ops/xen: paravirtualize DO_SAVE_MIN.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/xen/xenminstate.h | 137 +++ 1 files changed, 137 insertions(+), 0 deletions(-) create mode 100644 arch/ia64/xen/xenminstate.h diff --git a/arch/ia64/xen/xenminstate.h

[Xen-ia64-devel] [PATCH 32/50] ia64/xen: define xen assembler constants which will be used later.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/kernel/asm-offsets.c | 25 ++ include/asm-ia64/xen/privop.h | 73 2 files changed, 98 insertions(+), 0 deletions(-) create mode 100644 include/asm-ia64/xen/privop.h diff --git

[Xen-ia64-devel] [PATCH 39/50] ia64/xen: introduce xen paravirtualized intrinsic operations for privileged instruction.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/xen/hypercall.S | 124 ++ include/asm-ia64/xen/privop.h | 512 + 2 files changed, 636 insertions(+), 0 deletions(-) create mode 100644 arch/ia64/xen/hypercall.S diff --git

[Xen-ia64-devel] [PATCH 47/50] ia64/pv_ops/xen: define xen pv_info.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/xen/Makefile |2 + arch/ia64/xen/xen_pv_ops.c | 69 arch/ia64/xen/xensetup.S | 10 ++ 3 files changed, 81 insertions(+), 0 deletions(-) create mode 100644

[Xen-ia64-devel] [PATCH 28/50] ia64/pv_ops: introduce pv_irq_ops and its hooks.

2008-03-05 Thread Isaku Yamahata
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED] --- arch/ia64/kernel/irq_ia64.c | 21 ++ arch/ia64/kernel/paravirt.c | 22 +++ include/asm-ia64/hw_irq.h | 20 ++--- include/asm-ia64/paravirt.h | 63 +++ 4 files