mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
xen: fixes and features for 4.14
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQEcBAABAgAGBQJZsBbYAAoJELDendYovxMv4hoH/39psrSeHw2hPX78KJ6orq4v
mTVEP2gLA/qxaM03EnFljXfd88J8NcJsxv7vVjh/U4xRwntvAMovCkygkkO1aw93
nZEhUq6IGupr8KzmqQi5U7WtiWAXFwDbGSasnOKEj/lLa7E0/9MsYYQ01FS6oFkc
c9CHONaCWepdz0Xpt7s6BKyzo74ZbJeCc5rUZU81oH40XphaZEoy8E9NOgDdfz3l
VvPSaxZvebynT8JKDe4KxrMPpBjhr7mwgLcXk/Zy2EzOzxFSxXLsDAnwjtCW1gTh
lPLD4TkgtziDfPfZXxFH3J34IUe1tZ2M+7Cz157FBu6BKX/g9ETQT24DXWDzFuI=
=cgfV
-----END PGP SIGNATURE-----
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:
commit
3ee31b89d9
15 changed files with 1397 additions and 111 deletions
|
|
@ -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
Loading…
Reference in a new issue