Merge tag 'for-linus-4.14b-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip
Pull xen updates from Juergen Gross: - the new pvcalls backend for routing socket calls from a guest to dom0 - some cleanups of Xen code - a fix for wrong usage of {get,put}_cpu() * tag 'for-linus-4.14b-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: (27 commits) xen/mmu: set MMU_NORMAL_PT_UPDATE in remap_area_mfn_pte_fn xen: Don't try to call xen_alloc_p2m_entry() on autotranslating guests xen/events: events_fifo: Don't use {get,put}_cpu() in xen_evtchn_fifo_init() xen/pvcalls: use WARN_ON(1) instead of __WARN() xen: remove not used trace functions xen: remove unused function xen_set_domain_pte() xen: remove tests for pvh mode in pure pv paths xen-platform: constify pci_device_id. xen: cleanup xen.h xen: introduce a Kconfig option to enable the pvcalls backend xen/pvcalls: implement write xen/pvcalls: implement read xen/pvcalls: implement the ioworker functions xen/pvcalls: disconnect and module_exit xen/pvcalls: implement release command xen/pvcalls: implement poll command xen/pvcalls: implement accept command xen/pvcalls: implement listen command xen/pvcalls: implement bind command xen/pvcalls: implement connect command ...
This commit is contained in:
@@ -196,6 +196,18 @@ config XEN_PCIDEV_BACKEND
|
||||
|
||||
If in doubt, say m.
|
||||
|
||||
config XEN_PVCALLS_BACKEND
|
||||
bool "XEN PV Calls backend driver"
|
||||
depends on INET && XEN && XEN_BACKEND
|
||||
default n
|
||||
help
|
||||
Experimental backend for the Xen PV Calls protocol
|
||||
(https://xenbits.xen.org/docs/unstable/misc/pvcalls.html). It
|
||||
allows PV Calls frontends to send POSIX calls to the backend,
|
||||
which implements them.
|
||||
|
||||
If in doubt, say n.
|
||||
|
||||
config XEN_SCSI_BACKEND
|
||||
tristate "XEN SCSI backend driver"
|
||||
depends on XEN && XEN_BACKEND && TARGET_CORE
|
||||
|
@@ -35,6 +35,7 @@ obj-$(CONFIG_XEN_ACPI_PROCESSOR) += xen-acpi-processor.o
|
||||
obj-$(CONFIG_XEN_EFI) += efi.o
|
||||
obj-$(CONFIG_XEN_SCSI_BACKEND) += xen-scsiback.o
|
||||
obj-$(CONFIG_XEN_AUTO_XLATE) += xlate_mmu.o
|
||||
obj-$(CONFIG_XEN_PVCALLS_BACKEND) += pvcalls-back.o
|
||||
xen-evtchn-y := evtchn.o
|
||||
xen-gntdev-y := gntdev.o
|
||||
xen-gntalloc-y := gntalloc.o
|
||||
|
@@ -664,9 +664,11 @@ int alloc_xenballooned_pages(int nr_pages, struct page **pages)
|
||||
*/
|
||||
BUILD_BUG_ON(XEN_PAGE_SIZE != PAGE_SIZE);
|
||||
|
||||
ret = xen_alloc_p2m_entry(page_to_pfn(page));
|
||||
if (ret < 0)
|
||||
goto out_undo;
|
||||
if (!xen_feature(XENFEAT_auto_translated_physmap)) {
|
||||
ret = xen_alloc_p2m_entry(page_to_pfn(page));
|
||||
if (ret < 0)
|
||||
goto out_undo;
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
ret = add_ballooned_pages(nr_pages - pgno);
|
||||
|
@@ -432,12 +432,12 @@ static int xen_evtchn_cpu_dead(unsigned int cpu)
|
||||
|
||||
int __init xen_evtchn_fifo_init(void)
|
||||
{
|
||||
int cpu = get_cpu();
|
||||
int cpu = smp_processor_id();
|
||||
int ret;
|
||||
|
||||
ret = evtchn_fifo_alloc_control_block(cpu);
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
return ret;
|
||||
|
||||
pr_info("Using FIFO-based ABI\n");
|
||||
|
||||
@@ -446,7 +446,6 @@ int __init xen_evtchn_fifo_init(void)
|
||||
cpuhp_setup_state_nocalls(CPUHP_XEN_EVTCHN_PREPARE,
|
||||
"xen/evtchn:prepare",
|
||||
xen_evtchn_cpu_prepare, xen_evtchn_cpu_dead);
|
||||
out:
|
||||
put_cpu();
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@@ -175,7 +175,7 @@ pci_out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
static struct pci_device_id platform_pci_tbl[] = {
|
||||
static const struct pci_device_id platform_pci_tbl[] = {
|
||||
{PCI_VENDOR_ID_XEN, PCI_DEVICE_ID_XEN_PLATFORM,
|
||||
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
|
||||
{0,}
|
||||
|
1240
drivers/xen/pvcalls-back.c
Normal file
1240
drivers/xen/pvcalls-back.c
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user