diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-02 11:24:12 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-02 11:24:12 -0400 |
commit | 9f888b3a10782de27864659d4ab48eb6ef2c0bf3 (patch) | |
tree | 1331567fbf6de97bbbb62850b0f332a3ca3db2b5 /arch/arm/include/asm | |
parent | 5d70dacd4e7c3ef596ae03a933481a3f6805c7a6 (diff) | |
parent | 77945ca73e9a66cae25882fcab33ae0c6692763f (diff) |
Merge tag 'stable/for-linus-3.16-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip into next
Pull Xen updates from David Vrabel:
"xen: features and fixes for 3.16-rc0
- support foreign mappings in PVH domains (needed when dom0 is PVH)
- fix mapping high MMIO regions in x86 PV guests (this is also the
first half of removing the PAGE_IOMAP PTE flag).
- ARM suspend/resume support.
- ARM multicall support"
* tag 'stable/for-linus-3.16-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
x86/xen: map foreign pfns for autotranslated guests
xen-acpi-processor: Don't display errors when we get -ENOSYS
xen/pciback: Document the entry points for 'pcistub_put_pci_dev'
xen/pciback: Document when the 'unbind' and 'bind' functions are called.
xen-pciback: Document when we FLR an PCI device.
xen-pciback: First reset, then free.
xen-pciback: Cleanup up pcistub_put_pci_dev
x86/xen: do not use _PAGE_IOMAP in xen_remap_domain_mfn_range()
x86/xen: set regions above the end of RAM as 1:1
x86/xen: only warn once if bad MFNs are found during setup
x86/xen: compactly store large identity ranges in the p2m
x86/xen: fix set_phys_range_identity() if pfn_e > MAX_P2M_PFN
x86/xen: rename early_p2m_alloc() and early_p2m_alloc_middle()
xen/x86: set panic notifier priority to minimum
arm,arm64/xen: introduce HYPERVISOR_suspend()
xen: refactor suspend pre/post hooks
arm: xen: export HYPERVISOR_multicall to modules.
arm64: introduce virt_to_pfn
arm/xen: Remove definiition of virt_to_pfn in asm/xen/page.h
arm: xen: implement multicall hypercall support.
Diffstat (limited to 'arch/arm/include/asm')
-rw-r--r-- | arch/arm/include/asm/xen/hypercall.h | 16 | ||||
-rw-r--r-- | arch/arm/include/asm/xen/interface.h | 2 |
2 files changed, 13 insertions, 5 deletions
diff --git a/arch/arm/include/asm/xen/hypercall.h b/arch/arm/include/asm/xen/hypercall.h index 7704e28c3483..712b50e0a6dc 100644 --- a/arch/arm/include/asm/xen/hypercall.h +++ b/arch/arm/include/asm/xen/hypercall.h | |||
@@ -34,6 +34,7 @@ | |||
34 | #define _ASM_ARM_XEN_HYPERCALL_H | 34 | #define _ASM_ARM_XEN_HYPERCALL_H |
35 | 35 | ||
36 | #include <xen/interface/xen.h> | 36 | #include <xen/interface/xen.h> |
37 | #include <xen/interface/sched.h> | ||
37 | 38 | ||
38 | long privcmd_call(unsigned call, unsigned long a1, | 39 | long privcmd_call(unsigned call, unsigned long a1, |
39 | unsigned long a2, unsigned long a3, | 40 | unsigned long a2, unsigned long a3, |
@@ -48,6 +49,16 @@ int HYPERVISOR_memory_op(unsigned int cmd, void *arg); | |||
48 | int HYPERVISOR_physdev_op(int cmd, void *arg); | 49 | int HYPERVISOR_physdev_op(int cmd, void *arg); |
49 | int HYPERVISOR_vcpu_op(int cmd, int vcpuid, void *extra_args); | 50 | int HYPERVISOR_vcpu_op(int cmd, int vcpuid, void *extra_args); |
50 | int HYPERVISOR_tmem_op(void *arg); | 51 | int HYPERVISOR_tmem_op(void *arg); |
52 | int HYPERVISOR_multicall(struct multicall_entry *calls, uint32_t nr); | ||
53 | |||
54 | static inline int | ||
55 | HYPERVISOR_suspend(unsigned long start_info_mfn) | ||
56 | { | ||
57 | struct sched_shutdown r = { .reason = SHUTDOWN_suspend }; | ||
58 | |||
59 | /* start_info_mfn is unused on ARM */ | ||
60 | return HYPERVISOR_sched_op(SCHEDOP_shutdown, &r); | ||
61 | } | ||
51 | 62 | ||
52 | static inline void | 63 | static inline void |
53 | MULTI_update_va_mapping(struct multicall_entry *mcl, unsigned long va, | 64 | MULTI_update_va_mapping(struct multicall_entry *mcl, unsigned long va, |
@@ -63,9 +74,4 @@ MULTI_mmu_update(struct multicall_entry *mcl, struct mmu_update *req, | |||
63 | BUG(); | 74 | BUG(); |
64 | } | 75 | } |
65 | 76 | ||
66 | static inline int | ||
67 | HYPERVISOR_multicall(void *call_list, int nr_calls) | ||
68 | { | ||
69 | BUG(); | ||
70 | } | ||
71 | #endif /* _ASM_ARM_XEN_HYPERCALL_H */ | 77 | #endif /* _ASM_ARM_XEN_HYPERCALL_H */ |
diff --git a/arch/arm/include/asm/xen/interface.h b/arch/arm/include/asm/xen/interface.h index 1151188bcd83..50066006e6bd 100644 --- a/arch/arm/include/asm/xen/interface.h +++ b/arch/arm/include/asm/xen/interface.h | |||
@@ -40,6 +40,8 @@ typedef uint64_t xen_pfn_t; | |||
40 | #define PRI_xen_pfn "llx" | 40 | #define PRI_xen_pfn "llx" |
41 | typedef uint64_t xen_ulong_t; | 41 | typedef uint64_t xen_ulong_t; |
42 | #define PRI_xen_ulong "llx" | 42 | #define PRI_xen_ulong "llx" |
43 | typedef int64_t xen_long_t; | ||
44 | #define PRI_xen_long "llx" | ||
43 | /* Guest handles for primitive C types. */ | 45 | /* Guest handles for primitive C types. */ |
44 | __DEFINE_GUEST_HANDLE(uchar, unsigned char); | 46 | __DEFINE_GUEST_HANDLE(uchar, unsigned char); |
45 | __DEFINE_GUEST_HANDLE(uint, unsigned int); | 47 | __DEFINE_GUEST_HANDLE(uint, unsigned int); |