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 +++
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
---
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
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
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
---
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 -
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
---
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
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 +
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
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
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 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
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
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 +
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
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
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
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
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
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 +-
21 matches
Mail list logo