Since we had changed to use event callback to deliver interrupts,
1. The pending_interruption is changed to pending_event.
2. get_ivr, set_tpr, get_trp and set_eoi are not used or only used
in the initialization phase. There is no need to write this code
in assembly. This code is deleted.
3. hyper_ssm_i needs to be rewritten to jump to entchn_callback_handler
instead of iva+0x3000 interrupt handler. I will do this later.
Signed-off-by: Anthony Xu <anthony.xu@intel.com>
x86 foreign HVM domain page mapping semantic was changed to use gmfn
instead mfn. It applies to domains with auto_translated_mode enabled,
and all ia64 domains enable auto_translated_mode. This patch changes
ia64 foreign domain page mapping to use gmfn and fixes ia64 domU buidler.
However this patch breaks domain save/restore/dump-core.
They should also be fixed-up
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Compile xenoprof perfmon related hypercall even when
CONFIG_PERFMON, CONFIG_OPROFILE, CONFIG_OPROFILE_MODULE are disabled.
They should be compiled in vmlinux unconditionally because they
might be called by other modules in theory.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
1. Balloon driver does not need to set M2P entry.
This is done by the populate_physmap hypercall.
2. Xen now translates foreign mappings from GMFN->MFN.
Tools are simplified because of this.
Signed-off-by: Keir Fraser <keir@xensource.com>
If audit is enabled or the child process is ptraced,
non-paravirtualized code path is executed.
Thus paravirtualized ifs is left unmodifed so that the child process
crashes after clone2().
paravirtualize ia64_ret_from_clone() to fix it.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
This patch introduce compile time option XEN_IA64_EXPOSE_P2M
to enable this feature and boot option xen_ia64_p2m_expose to
disable the functionality.
This patch also introduce XEN_IA64_EXPOSE_P2M_USE_DTR to map p2m table
with dtr and boot option xen_ia64_p2m_expose_use_dtr to disable it.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Eoi is a very frequent hypercall which has only one argument passed through
a structure. To avoid the xencomm overhead, a new hypercall is created
and the argument is passed by value.
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
With xencomm metaphysical addresses are passed to the hypervisor instead
of virtual addresses.
This patch breaks compatibility.
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
Until now, the set_shared_info_va hypercall was never used.
This patch remove XSI_BASE and use this hypercall to set the xsi address.
Because xsi is now in the top 1MB (before percpu space), linux code should be
slightly more compact (addl instead of movl).
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
Do not define dma_supported to platform_dma_supported when building
the Xen kernel. This happend to work for DIG builds because the
swiotlb.c version of dma_supported compiles to identical code as
arch/i386/kernel/pci-dma-xen.c so the linker didn't complain.
Signed-off-by: Jes Sorensen <jes@sgi.com>
This patch fixes some over-zealous code removal with the P==M
cleanup. Some of the P==M code was shared with the bare metal kernel.
Also cleaned up a couple places we should have used CONFIG_XEN.
From: Juan Quintela <quintela@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
This patch fixes the copy_from/to_guest problem.
As Akio reported, modularised netback causes dom0's down.
The following process is happened in gnttab_transfer()@
xen/common/grant_table.c:
gnttab_transfer()
=> steal_page()
=> assign_domain_page_cmpxchg_rel()
=> domain_page_flush()
=> domain_flush_vtlb_all() // all TLBs are flushed
...
=> __copy_to_guest_offset() // always fail to copy
The embedded netback module has no problem because it uses TR pinned
data. But modularised one is out of TR. So copy_from/to_guest issue
must be solved in order to modularise drivers.
Signed-off-by: Kouya SHIMURA <kouya@jp.fujitsu.com>
paravirtualize vdso areabased on Kevin's pointout and Dan's Idea.
introduce hyperprivop HYPERPRIVOP_RSM_BE and HYPERPRIVOP_GET_PSR.
and paravirtualize vdso area using them.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
xc_ia64_linux_save.c and xc_ia64_linux_restore.c added.
vcpu context has more registers and states (eg: tr registers).
Per cpu irqs are deallocated when cpu is switched off.
#if/#endif added in reboot.c for ia64.
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
Add a new hypercall: SET_SHARED_INFO_VA.
Cleanup of asm-xsi-offsets: do not define absolute address, use a new macro.
Cleanup of linux asm-offsets: use a macro for xen mapped regs.
xensetup.S: set the shared_info address (disabled if using compatibility).
privop.h: May redefined XSI_BASE (not yet enabled for compatibility).
Vocabulary coherence: use XMAPPEDREGS_ prefix.
Cleanup of xensystem.h
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
All the relevent information are already exported with arch-ia64.h
Use linux asm-offsets.h to write xsi offsets defines.
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
[Removed xen-mkbuildtree-post/-pre]
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Thanks to Kevin for tracking down this problem. This is a temporary
solution until we come up with something better for ia64.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Here's a first pass at some sparse tree cleanups based on feedback
we've gotten on linux-ia64. I haven't taken all of the comments into
account yet, this is just a start. Specific changes:
- CONFIG_ARCH_XEN is no longer necessary
- simple is_running_on_xen() checks can be handled w/o CONFIG_XEN
- pulled forward a drivers/xen/Makefile change that broken make clean
- changed some comments from C++ style to C
- turned HYPERVISOR_ioremap into a macro for !CONFIG_XEN
- made hypervisor.h and privop.h include-able for !CONFIG_XEN
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
paravirtualize vdso area.
introduce hyperprivop HYPERPRIVOP_RSM_BE and HYPERPRIVOP_GET_PSR.
and paravirtualize vdso area using them.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>