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
add suport for mov = ar.itc to pvchecker.
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED]
---
arch/ia64/include/asm/native/pvchk_inst.h |5 +
arch/ia64/scripts/pvcheck.sed |1 +
2 files changed, 6 insertions(+), 0 deletions(-)
diff --git
paravirtualize fsys.S.
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED]
---
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
--- a/arch/ia64/kernel/fsys.S
paravirtualize mov reg = ar.itc.
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED]
---
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 changed,
xen gate page paravirtualization
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED]
---
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
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 [EMAIL PROTECTED]
---
arch/ia64/include/asm/native/inst.h |3 +++
paravirtualize sched_clock.
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED]
---
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 [EMAIL PROTECTED]
---
arch/ia64/include/asm/paravirt.h
paravirtualize ar.itc and ar.itm in order to support save/restore.
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED]
---
arch/ia64/include/asm/xen/inst.h | 21 +
arch/ia64/include/asm/xen/interface.h |9
arch/ia64/include/asm/xen/minstate.h | 11 -
This patchset is for more paravirtualization on ia64/xen domU.
- paravirtualize fsys call (fsys.S) by multi compile
- paravirtualize gate page (gate.S) by multi compile
- support save/restore
For this purpose, the followings needs to be paravirtualized
- ar.itc instruction
- sched_clock()
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 [EMAIL PROTECTED]
---
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
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 [EMAIL PROTECTED]
---
arch/ia64/include/asm/xen/patchlist.h | 38 +
arch/ia64/kernel/vmlinux.lds.S
paravirtualize gate page by allowing each pv_ops instances
to define its own gate page.
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED]
---
arch/ia64/include/asm/native/patchlist.h | 38 ++
arch/ia64/include/asm/paravirt.h | 35 +
arch/ia64/kernel/Makefile
define paravirt_dv_serialize_data() and insert it to suppress
false positive warnings.
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED]
---
arch/ia64/include/asm/paravirt_privop.h |6 ++
arch/ia64/kernel/efi.c |1 +
arch/ia64/kvm/vtlb.c|2 ++
3
support binary patching for kernel module.
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED]
---
arch/ia64/include/asm/module.h |6 ++
arch/ia64/kernel/module.c | 32
2 files changed, 38 insertions(+), 0 deletions(-)
diff --git
This patch set is for binary patch optimization for paravirt_ops.
The binary patch optimization is important on native case because
the paravirt_ops overhead can be reduced by converting indirect
call into in-place execution or direct call.
The first patch imports helper functions which
add helper functions to support binary patching for paravirt_ops.
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED]
---
arch/ia64/include/asm/paravirt_patch.h | 143 +
arch/ia64/kernel/paravirt_patch.c | 509
arch/ia64/kernel/paravirtentry.S |
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 [EMAIL PROTECTED]
---
arch/ia64/include/asm/xen/inst.h |3 +++
arch/ia64/xen/Makefile
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 [EMAIL PROTECTED]
---
arch/ia64/include/asm/intrinsics.h |6 +-
implemented xen binary patch for pv_cpu_ops.
Signed-off-by: Isaku Yamahata [EMAIL PROTECTED]
---
arch/ia64/include/asm/xen/privop.h |4 +
arch/ia64/xen/hypercall.S |2 +
arch/ia64/xen/xen_pv_ops.c | 667
3 files changed, 673
Hi Keir,
Please pull the ia64 trees:
http://xenbits.xensource.com/ext/ia64/xen-unstable.hg
http://xenbits.xensource.com/ext/ia64/linux-2.6.18-xen.hg
This includes VT-d related bug fixes and mini-os stuff.
Thanks,
--
yamahata
___
Xen-ia64-devel
22 matches
Mail list logo