mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
Merge branch 'xenarm-for-linus' of git://xenbits.xen.org/people/sstabellini/linux-pvhvm into stable/for-linus-3.7
* 'xenarm-for-linus' of git://xenbits.xen.org/people/sstabellini/linux-pvhvm: arm: introduce a DTS for Xen unprivileged virtual machines MAINTAINERS: add myself as Xen ARM maintainer xen/arm: compile netback xen/arm: compile blkfront and blkback xen/arm: implement alloc/free_xenballooned_pages with alloc_pages/kfree xen/arm: receive Xen events on ARM xen/arm: initialize grant_table on ARM xen/arm: get privilege status xen/arm: introduce CONFIG_XEN on ARM xen: do not compile manage, balloon, pci, acpi, pcpu and cpu_hotplug on ARM xen/arm: Introduce xen_ulong_t for unsigned long xen/arm: Xen detection and shared_info page mapping docs: Xen ARM DT bindings xen/arm: empty implementation of grant_table arch specific functions xen/arm: sync_bitops xen/arm: page.h definitions xen/arm: hypercalls arm: initial Xen support Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
This commit is contained in:
commit
ae1659ee6b
35 changed files with 783 additions and 18 deletions
|
|
@ -1,11 +1,18 @@
|
|||
obj-y += grant-table.o features.o events.o manage.o balloon.o
|
||||
ifneq ($(CONFIG_ARM),y)
|
||||
obj-y += manage.o balloon.o
|
||||
obj-$(CONFIG_HOTPLUG_CPU) += cpu_hotplug.o
|
||||
endif
|
||||
obj-y += grant-table.o features.o events.o
|
||||
obj-y += xenbus/
|
||||
|
||||
nostackp := $(call cc-option, -fno-stack-protector)
|
||||
CFLAGS_features.o := $(nostackp)
|
||||
|
||||
obj-$(CONFIG_XEN_DOM0) += $(dom0-y)
|
||||
dom0-$(CONFIG_PCI) += pci.o
|
||||
dom0-$(CONFIG_ACPI) += acpi.o
|
||||
dom0-$(CONFIG_X86) += pcpu.o
|
||||
obj-$(CONFIG_BLOCK) += biomerge.o
|
||||
obj-$(CONFIG_HOTPLUG_CPU) += cpu_hotplug.o
|
||||
obj-$(CONFIG_XEN_XENCOMM) += xencomm.o
|
||||
obj-$(CONFIG_XEN_BALLOON) += xen-balloon.o
|
||||
obj-$(CONFIG_XEN_SELFBALLOONING) += xen-selfballoon.o
|
||||
|
|
@ -17,8 +24,6 @@ obj-$(CONFIG_XEN_SYS_HYPERVISOR) += sys-hypervisor.o
|
|||
obj-$(CONFIG_XEN_PVHVM) += platform-pci.o
|
||||
obj-$(CONFIG_XEN_TMEM) += tmem.o
|
||||
obj-$(CONFIG_SWIOTLB_XEN) += swiotlb-xen.o
|
||||
obj-$(CONFIG_XEN_DOM0) += pcpu.o
|
||||
obj-$(CONFIG_XEN_DOM0) += pci.o acpi.o
|
||||
obj-$(CONFIG_XEN_MCE_LOG) += mcelog.o
|
||||
obj-$(CONFIG_XEN_PCIDEV_BACKEND) += xen-pciback/
|
||||
obj-$(CONFIG_XEN_PRIVCMD) += xen-privcmd.o
|
||||
|
|
|
|||
|
|
@ -31,14 +31,16 @@
|
|||
#include <linux/irqnr.h>
|
||||
#include <linux/pci.h>
|
||||
|
||||
#ifdef CONFIG_X86
|
||||
#include <asm/desc.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/idle.h>
|
||||
#include <asm/io_apic.h>
|
||||
#include <asm/sync_bitops.h>
|
||||
#include <asm/xen/page.h>
|
||||
#include <asm/xen/pci.h>
|
||||
#endif
|
||||
#include <asm/sync_bitops.h>
|
||||
#include <asm/xen/hypercall.h>
|
||||
#include <asm/xen/hypervisor.h>
|
||||
|
||||
|
|
@ -50,6 +52,9 @@
|
|||
#include <xen/interface/event_channel.h>
|
||||
#include <xen/interface/hvm/hvm_op.h>
|
||||
#include <xen/interface/hvm/params.h>
|
||||
#include <xen/interface/physdev.h>
|
||||
#include <xen/interface/sched.h>
|
||||
#include <asm/hw_irq.h>
|
||||
|
||||
/*
|
||||
* This lock protects updates to the following mapping and reference-count
|
||||
|
|
@ -1386,7 +1391,9 @@ void xen_evtchn_do_upcall(struct pt_regs *regs)
|
|||
{
|
||||
struct pt_regs *old_regs = set_irq_regs(regs);
|
||||
|
||||
#ifdef CONFIG_X86
|
||||
exit_idle();
|
||||
#endif
|
||||
irq_enter();
|
||||
|
||||
__xen_evtchn_do_upcall();
|
||||
|
|
@ -1795,9 +1802,9 @@ void xen_callback_vector(void)
|
|||
void xen_callback_vector(void) {}
|
||||
#endif
|
||||
|
||||
void __init xen_init_IRQ(void)
|
||||
void xen_init_IRQ(void)
|
||||
{
|
||||
int i, rc;
|
||||
int i;
|
||||
|
||||
evtchn_to_irq = kcalloc(NR_EVENT_CHANNELS, sizeof(*evtchn_to_irq),
|
||||
GFP_KERNEL);
|
||||
|
|
@ -1813,6 +1820,7 @@ void __init xen_init_IRQ(void)
|
|||
|
||||
pirq_needs_eoi = pirq_needs_eoi_flag;
|
||||
|
||||
#ifdef CONFIG_X86
|
||||
if (xen_hvm_domain()) {
|
||||
xen_callback_vector();
|
||||
native_init_IRQ();
|
||||
|
|
@ -1820,6 +1828,7 @@ void __init xen_init_IRQ(void)
|
|||
* __acpi_register_gsi can point at the right function */
|
||||
pci_xen_hvm_init();
|
||||
} else {
|
||||
int rc;
|
||||
struct physdev_pirq_eoi_gmfn eoi_gmfn;
|
||||
|
||||
irq_ctx_init(smp_processor_id());
|
||||
|
|
@ -1835,4 +1844,6 @@ void __init xen_init_IRQ(void)
|
|||
} else
|
||||
pirq_needs_eoi = pirq_check_eoi_map;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(xen_init_IRQ);
|
||||
|
|
|
|||
Loading…
Reference in a new issue