Merge tag 'for-linus-4.6-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip
Pull xen updates from David Vrabel: "Features and fixes for 4.6: - Make earlyprintk=xen work for HVM guests - Remove module support for things never built as modules" * tag 'for-linus-4.6-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: drivers/xen: make platform-pci.c explicitly non-modular drivers/xen: make sys-hypervisor.c explicitly non-modular drivers/xen: make xenbus_dev_[front/back]end explicitly non-modular drivers/xen: make [xen-]ballon explicitly non-modular xen: audit usages of module.h ; remove unnecessary instances xen/x86: Drop mode-selecting ifdefs in startup_xen() xen/x86: Zero out .bss for PV guests hvc_xen: make early_printk work with HVM guests hvc_xen: fix xenboot for DomUs hvc_xen: add earlycon support
This commit is contained in:
@@ -33,6 +33,8 @@
|
|||||||
#ifndef _ASM_ARM_XEN_HYPERCALL_H
|
#ifndef _ASM_ARM_XEN_HYPERCALL_H
|
||||||
#define _ASM_ARM_XEN_HYPERCALL_H
|
#define _ASM_ARM_XEN_HYPERCALL_H
|
||||||
|
|
||||||
|
#include <linux/bug.h>
|
||||||
|
|
||||||
#include <xen/interface/xen.h>
|
#include <xen/interface/xen.h>
|
||||||
#include <xen/interface/sched.h>
|
#include <xen/interface/sched.h>
|
||||||
#include <xen/interface/platform.h>
|
#include <xen/interface/platform.h>
|
||||||
|
|||||||
@@ -38,13 +38,18 @@
|
|||||||
__INIT
|
__INIT
|
||||||
ENTRY(startup_xen)
|
ENTRY(startup_xen)
|
||||||
cld
|
cld
|
||||||
#ifdef CONFIG_X86_32
|
|
||||||
mov %esi,xen_start_info
|
/* Clear .bss */
|
||||||
mov $init_thread_union+THREAD_SIZE,%esp
|
xor %eax,%eax
|
||||||
#else
|
mov $__bss_start, %_ASM_DI
|
||||||
mov %rsi,xen_start_info
|
mov $__bss_stop, %_ASM_CX
|
||||||
mov $init_thread_union+THREAD_SIZE,%rsp
|
sub %_ASM_DI, %_ASM_CX
|
||||||
#endif
|
shr $__ASM_SEL(2, 3), %_ASM_CX
|
||||||
|
rep __ASM_SIZE(stos)
|
||||||
|
|
||||||
|
mov %_ASM_SI, xen_start_info
|
||||||
|
mov $init_thread_union+THREAD_SIZE, %_ASM_SP
|
||||||
|
|
||||||
jmp xen_start_kernel
|
jmp xen_start_kernel
|
||||||
|
|
||||||
__FINIT
|
__FINIT
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/list.h>
|
#include <linux/list.h>
|
||||||
|
#include <linux/serial_core.h>
|
||||||
|
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <asm/xen/hypervisor.h>
|
#include <asm/xen/hypervisor.h>
|
||||||
@@ -245,6 +246,18 @@ err:
|
|||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int xencons_info_pv_init(struct xencons_info *info, int vtermno)
|
||||||
|
{
|
||||||
|
info->evtchn = xen_start_info->console.domU.evtchn;
|
||||||
|
/* GFN == MFN for PV guest */
|
||||||
|
info->intf = gfn_to_virt(xen_start_info->console.domU.mfn);
|
||||||
|
info->vtermno = vtermno;
|
||||||
|
|
||||||
|
list_add_tail(&info->list, &xenconsoles);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int xen_pv_console_init(void)
|
static int xen_pv_console_init(void)
|
||||||
{
|
{
|
||||||
struct xencons_info *info;
|
struct xencons_info *info;
|
||||||
@@ -264,13 +277,8 @@ static int xen_pv_console_init(void)
|
|||||||
/* already configured */
|
/* already configured */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
info->evtchn = xen_start_info->console.domU.evtchn;
|
|
||||||
/* GFN == MFN for PV guest */
|
|
||||||
info->intf = gfn_to_virt(xen_start_info->console.domU.mfn);
|
|
||||||
info->vtermno = HVC_COOKIE;
|
|
||||||
|
|
||||||
spin_lock(&xencons_lock);
|
spin_lock(&xencons_lock);
|
||||||
list_add_tail(&info->list, &xenconsoles);
|
xencons_info_pv_init(info, HVC_COOKIE);
|
||||||
spin_unlock(&xencons_lock);
|
spin_unlock(&xencons_lock);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -597,15 +605,39 @@ static int xen_cons_init(void)
|
|||||||
}
|
}
|
||||||
console_initcall(xen_cons_init);
|
console_initcall(xen_cons_init);
|
||||||
|
|
||||||
|
#ifdef CONFIG_X86
|
||||||
|
static void xen_hvm_early_write(uint32_t vtermno, const char *str, int len)
|
||||||
|
{
|
||||||
|
if (xen_cpuid_base())
|
||||||
|
outsb(0xe9, str, len);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static void xen_hvm_early_write(uint32_t vtermno, const char *str, int len) { }
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_EARLY_PRINTK
|
#ifdef CONFIG_EARLY_PRINTK
|
||||||
|
static int __init xenboot_setup_console(struct console *console, char *string)
|
||||||
|
{
|
||||||
|
static struct xencons_info xenboot;
|
||||||
|
|
||||||
|
if (xen_initial_domain())
|
||||||
|
return 0;
|
||||||
|
if (!xen_pv_domain())
|
||||||
|
return -ENODEV;
|
||||||
|
|
||||||
|
return xencons_info_pv_init(&xenboot, 0);
|
||||||
|
}
|
||||||
|
|
||||||
static void xenboot_write_console(struct console *console, const char *string,
|
static void xenboot_write_console(struct console *console, const char *string,
|
||||||
unsigned len)
|
unsigned len)
|
||||||
{
|
{
|
||||||
unsigned int linelen, off = 0;
|
unsigned int linelen, off = 0;
|
||||||
const char *pos;
|
const char *pos;
|
||||||
|
|
||||||
if (!xen_pv_domain())
|
if (!xen_pv_domain()) {
|
||||||
|
xen_hvm_early_write(0, string, len);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
dom0_write_console(0, string, len);
|
dom0_write_console(0, string, len);
|
||||||
|
|
||||||
@@ -628,6 +660,7 @@ static void xenboot_write_console(struct console *console, const char *string,
|
|||||||
struct console xenboot_console = {
|
struct console xenboot_console = {
|
||||||
.name = "xenboot",
|
.name = "xenboot",
|
||||||
.write = xenboot_write_console,
|
.write = xenboot_write_console,
|
||||||
|
.setup = xenboot_setup_console,
|
||||||
.flags = CON_PRINTBUFFER | CON_BOOT | CON_ANYTIME,
|
.flags = CON_PRINTBUFFER | CON_BOOT | CON_ANYTIME,
|
||||||
.index = -1,
|
.index = -1,
|
||||||
};
|
};
|
||||||
@@ -640,17 +673,10 @@ void xen_raw_console_write(const char *str)
|
|||||||
|
|
||||||
if (xen_domain()) {
|
if (xen_domain()) {
|
||||||
rc = dom0_write_console(0, str, len);
|
rc = dom0_write_console(0, str, len);
|
||||||
#ifdef CONFIG_X86
|
if (rc != -ENOSYS || !xen_hvm_domain())
|
||||||
if (rc == -ENOSYS && xen_hvm_domain())
|
return;
|
||||||
goto outb_print;
|
|
||||||
|
|
||||||
} else if (xen_cpuid_base()) {
|
|
||||||
int i;
|
|
||||||
outb_print:
|
|
||||||
for (i = 0; i < len; i++)
|
|
||||||
outb(str[i], 0xe9);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
xen_hvm_early_write(0, str, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
void xen_raw_printk(const char *fmt, ...)
|
void xen_raw_printk(const char *fmt, ...)
|
||||||
@@ -664,3 +690,18 @@ void xen_raw_printk(const char *fmt, ...)
|
|||||||
|
|
||||||
xen_raw_console_write(buf);
|
xen_raw_console_write(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void xenboot_earlycon_write(struct console *console,
|
||||||
|
const char *string,
|
||||||
|
unsigned len)
|
||||||
|
{
|
||||||
|
dom0_write_console(0, string, len);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int __init xenboot_earlycon_setup(struct earlycon_device *device,
|
||||||
|
const char *opt)
|
||||||
|
{
|
||||||
|
device->con->write = xenboot_earlycon_write;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EARLYCON_DECLARE(xenboot, xenboot_earlycon_setup);
|
||||||
|
|||||||
@@ -42,7 +42,6 @@
|
|||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
#include <linux/errno.h>
|
#include <linux/errno.h>
|
||||||
#include <linux/module.h>
|
|
||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
#include <linux/bootmem.h>
|
#include <linux/bootmem.h>
|
||||||
#include <linux/pagemap.h>
|
#include <linux/pagemap.h>
|
||||||
@@ -760,7 +759,4 @@ static int __init balloon_init(void)
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
subsys_initcall(balloon_init);
|
subsys_initcall(balloon_init);
|
||||||
|
|
||||||
MODULE_LICENSE("GPL");
|
|
||||||
|
|||||||
@@ -9,7 +9,6 @@
|
|||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/irq.h>
|
#include <linux/irq.h>
|
||||||
#include <linux/module.h>
|
|
||||||
|
|
||||||
#include <asm/sync_bitops.h>
|
#include <asm/sync_bitops.h>
|
||||||
#include <asm/xen/hypercall.h>
|
#include <asm/xen/hypercall.h>
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/irq.h>
|
#include <linux/irq.h>
|
||||||
#include <linux/module.h>
|
#include <linux/moduleparam.h>
|
||||||
#include <linux/string.h>
|
#include <linux/string.h>
|
||||||
#include <linux/bootmem.h>
|
#include <linux/bootmem.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
|
|||||||
@@ -36,7 +36,6 @@
|
|||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/irq.h>
|
#include <linux/irq.h>
|
||||||
#include <linux/module.h>
|
|
||||||
#include <linux/smp.h>
|
#include <linux/smp.h>
|
||||||
#include <linux/percpu.h>
|
#include <linux/percpu.h>
|
||||||
#include <linux/cpu.h>
|
#include <linux/cpu.h>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/cache.h>
|
#include <linux/cache.h>
|
||||||
#include <linux/module.h>
|
#include <linux/export.h>
|
||||||
|
|
||||||
#include <asm/xen/hypercall.h>
|
#include <asm/xen/hypercall.h>
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,6 @@
|
|||||||
|
|
||||||
#define pr_fmt(fmt) "xen:" KBUILD_MODNAME ": " fmt
|
#define pr_fmt(fmt) "xen:" KBUILD_MODNAME ": " fmt
|
||||||
|
|
||||||
#include <linux/module.h>
|
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
* platform-pci.c
|
* platform-pci.c
|
||||||
*
|
*
|
||||||
* Xen platform PCI device driver
|
* Xen platform PCI device driver
|
||||||
|
*
|
||||||
|
* Authors: ssmith@xensource.com and stefano.stabellini@eu.citrix.com
|
||||||
|
*
|
||||||
* Copyright (c) 2005, Intel Corporation.
|
* Copyright (c) 2005, Intel Corporation.
|
||||||
* Copyright (c) 2007, XenSource Inc.
|
* Copyright (c) 2007, XenSource Inc.
|
||||||
* Copyright (c) 2010, Citrix
|
* Copyright (c) 2010, Citrix
|
||||||
@@ -24,7 +27,7 @@
|
|||||||
|
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
#include <linux/module.h>
|
#include <linux/init.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
|
|
||||||
#include <xen/platform_pci.h>
|
#include <xen/platform_pci.h>
|
||||||
@@ -36,10 +39,6 @@
|
|||||||
|
|
||||||
#define DRV_NAME "xen-platform-pci"
|
#define DRV_NAME "xen-platform-pci"
|
||||||
|
|
||||||
MODULE_AUTHOR("ssmith@xensource.com and stefano.stabellini@eu.citrix.com");
|
|
||||||
MODULE_DESCRIPTION("Xen platform PCI device");
|
|
||||||
MODULE_LICENSE("GPL");
|
|
||||||
|
|
||||||
static unsigned long platform_mmio;
|
static unsigned long platform_mmio;
|
||||||
static unsigned long platform_mmio_alloc;
|
static unsigned long platform_mmio_alloc;
|
||||||
static unsigned long platform_mmiolen;
|
static unsigned long platform_mmiolen;
|
||||||
@@ -101,7 +100,7 @@ static int platform_pci_resume(struct pci_dev *pdev)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int platform_pci_init(struct pci_dev *pdev,
|
static int platform_pci_probe(struct pci_dev *pdev,
|
||||||
const struct pci_device_id *ent)
|
const struct pci_device_id *ent)
|
||||||
{
|
{
|
||||||
int i, ret;
|
int i, ret;
|
||||||
@@ -181,20 +180,17 @@ static struct pci_device_id platform_pci_tbl[] = {
|
|||||||
{0,}
|
{0,}
|
||||||
};
|
};
|
||||||
|
|
||||||
MODULE_DEVICE_TABLE(pci, platform_pci_tbl);
|
|
||||||
|
|
||||||
static struct pci_driver platform_driver = {
|
static struct pci_driver platform_driver = {
|
||||||
.name = DRV_NAME,
|
.name = DRV_NAME,
|
||||||
.probe = platform_pci_init,
|
.probe = platform_pci_probe,
|
||||||
.id_table = platform_pci_tbl,
|
.id_table = platform_pci_tbl,
|
||||||
#ifdef CONFIG_PM
|
#ifdef CONFIG_PM
|
||||||
.resume_early = platform_pci_resume,
|
.resume_early = platform_pci_resume,
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init platform_pci_module_init(void)
|
static int __init platform_pci_init(void)
|
||||||
{
|
{
|
||||||
return pci_register_driver(&platform_driver);
|
return pci_register_driver(&platform_driver);
|
||||||
}
|
}
|
||||||
|
device_initcall(platform_pci_init);
|
||||||
module_init(platform_pci_module_init);
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/init.h>
|
||||||
#include <linux/kobject.h>
|
#include <linux/kobject.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
|
|
||||||
@@ -50,11 +50,6 @@ static int __init xen_sysfs_type_init(void)
|
|||||||
return sysfs_create_file(hypervisor_kobj, &type_attr.attr);
|
return sysfs_create_file(hypervisor_kobj, &type_attr.attr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void xen_sysfs_type_destroy(void)
|
|
||||||
{
|
|
||||||
sysfs_remove_file(hypervisor_kobj, &type_attr.attr);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* xen version attributes */
|
/* xen version attributes */
|
||||||
static ssize_t major_show(struct hyp_sysfs_attr *attr, char *buffer)
|
static ssize_t major_show(struct hyp_sysfs_attr *attr, char *buffer)
|
||||||
{
|
{
|
||||||
@@ -111,11 +106,6 @@ static int __init xen_sysfs_version_init(void)
|
|||||||
return sysfs_create_group(hypervisor_kobj, &version_group);
|
return sysfs_create_group(hypervisor_kobj, &version_group);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void xen_sysfs_version_destroy(void)
|
|
||||||
{
|
|
||||||
sysfs_remove_group(hypervisor_kobj, &version_group);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* UUID */
|
/* UUID */
|
||||||
|
|
||||||
static ssize_t uuid_show_fallback(struct hyp_sysfs_attr *attr, char *buffer)
|
static ssize_t uuid_show_fallback(struct hyp_sysfs_attr *attr, char *buffer)
|
||||||
@@ -157,11 +147,6 @@ static int __init xen_sysfs_uuid_init(void)
|
|||||||
return sysfs_create_file(hypervisor_kobj, &uuid_attr.attr);
|
return sysfs_create_file(hypervisor_kobj, &uuid_attr.attr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void xen_sysfs_uuid_destroy(void)
|
|
||||||
{
|
|
||||||
sysfs_remove_file(hypervisor_kobj, &uuid_attr.attr);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* xen compilation attributes */
|
/* xen compilation attributes */
|
||||||
|
|
||||||
static ssize_t compiler_show(struct hyp_sysfs_attr *attr, char *buffer)
|
static ssize_t compiler_show(struct hyp_sysfs_attr *attr, char *buffer)
|
||||||
@@ -235,11 +220,6 @@ static int __init xen_compilation_init(void)
|
|||||||
return sysfs_create_group(hypervisor_kobj, &xen_compilation_group);
|
return sysfs_create_group(hypervisor_kobj, &xen_compilation_group);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void xen_compilation_destroy(void)
|
|
||||||
{
|
|
||||||
sysfs_remove_group(hypervisor_kobj, &xen_compilation_group);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* xen properties info */
|
/* xen properties info */
|
||||||
|
|
||||||
static ssize_t capabilities_show(struct hyp_sysfs_attr *attr, char *buffer)
|
static ssize_t capabilities_show(struct hyp_sysfs_attr *attr, char *buffer)
|
||||||
@@ -366,11 +346,6 @@ static int __init xen_properties_init(void)
|
|||||||
return sysfs_create_group(hypervisor_kobj, &xen_properties_group);
|
return sysfs_create_group(hypervisor_kobj, &xen_properties_group);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void xen_properties_destroy(void)
|
|
||||||
{
|
|
||||||
sysfs_remove_group(hypervisor_kobj, &xen_properties_group);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef CONFIG_XEN_HAVE_VPMU
|
#ifdef CONFIG_XEN_HAVE_VPMU
|
||||||
struct pmu_mode {
|
struct pmu_mode {
|
||||||
const char *name;
|
const char *name;
|
||||||
@@ -484,11 +459,6 @@ static int __init xen_pmu_init(void)
|
|||||||
{
|
{
|
||||||
return sysfs_create_group(hypervisor_kobj, &xen_pmu_group);
|
return sysfs_create_group(hypervisor_kobj, &xen_pmu_group);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void xen_pmu_destroy(void)
|
|
||||||
{
|
|
||||||
sysfs_remove_group(hypervisor_kobj, &xen_pmu_group);
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int __init hyper_sysfs_init(void)
|
static int __init hyper_sysfs_init(void)
|
||||||
@@ -517,7 +487,8 @@ static int __init hyper_sysfs_init(void)
|
|||||||
if (xen_initial_domain()) {
|
if (xen_initial_domain()) {
|
||||||
ret = xen_pmu_init();
|
ret = xen_pmu_init();
|
||||||
if (ret) {
|
if (ret) {
|
||||||
xen_properties_destroy();
|
sysfs_remove_group(hypervisor_kobj,
|
||||||
|
&xen_properties_group);
|
||||||
goto prop_out;
|
goto prop_out;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -525,31 +496,17 @@ static int __init hyper_sysfs_init(void)
|
|||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
prop_out:
|
prop_out:
|
||||||
xen_sysfs_uuid_destroy();
|
sysfs_remove_file(hypervisor_kobj, &uuid_attr.attr);
|
||||||
uuid_out:
|
uuid_out:
|
||||||
xen_compilation_destroy();
|
sysfs_remove_group(hypervisor_kobj, &xen_compilation_group);
|
||||||
comp_out:
|
comp_out:
|
||||||
xen_sysfs_version_destroy();
|
sysfs_remove_group(hypervisor_kobj, &version_group);
|
||||||
version_out:
|
version_out:
|
||||||
xen_sysfs_type_destroy();
|
sysfs_remove_file(hypervisor_kobj, &type_attr.attr);
|
||||||
out:
|
out:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
device_initcall(hyper_sysfs_init);
|
||||||
static void __exit hyper_sysfs_exit(void)
|
|
||||||
{
|
|
||||||
#ifdef CONFIG_XEN_HAVE_VPMU
|
|
||||||
xen_pmu_destroy();
|
|
||||||
#endif
|
|
||||||
xen_properties_destroy();
|
|
||||||
xen_compilation_destroy();
|
|
||||||
xen_sysfs_uuid_destroy();
|
|
||||||
xen_sysfs_version_destroy();
|
|
||||||
xen_sysfs_type_destroy();
|
|
||||||
|
|
||||||
}
|
|
||||||
module_init(hyper_sysfs_init);
|
|
||||||
module_exit(hyper_sysfs_exit);
|
|
||||||
|
|
||||||
static ssize_t hyp_sysfs_show(struct kobject *kobj,
|
static ssize_t hyp_sysfs_show(struct kobject *kobj,
|
||||||
struct attribute *attr,
|
struct attribute *attr,
|
||||||
|
|||||||
@@ -33,7 +33,9 @@
|
|||||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/errno.h>
|
||||||
|
#include <linux/mm_types.h>
|
||||||
|
#include <linux/init.h>
|
||||||
#include <linux/capability.h>
|
#include <linux/capability.h>
|
||||||
|
|
||||||
#include <xen/xen.h>
|
#include <xen/xen.h>
|
||||||
@@ -109,14 +111,6 @@ static int __init balloon_init(void)
|
|||||||
}
|
}
|
||||||
subsys_initcall(balloon_init);
|
subsys_initcall(balloon_init);
|
||||||
|
|
||||||
static void balloon_exit(void)
|
|
||||||
{
|
|
||||||
/* XXX - release balloon here */
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
module_exit(balloon_exit);
|
|
||||||
|
|
||||||
#define BALLOON_SHOW(name, format, args...) \
|
#define BALLOON_SHOW(name, format, args...) \
|
||||||
static ssize_t show_##name(struct device *dev, \
|
static ssize_t show_##name(struct device *dev, \
|
||||||
struct device_attribute *attr, \
|
struct device_attribute *attr, \
|
||||||
@@ -250,5 +244,3 @@ static int register_balloon(struct device *dev)
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
MODULE_LICENSE("GPL");
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/moduleparam.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include "pciback.h"
|
#include "pciback.h"
|
||||||
#include "conf_space.h"
|
#include "conf_space.h"
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/moduleparam.h>
|
||||||
#include <linux/wait.h>
|
#include <linux/wait.h>
|
||||||
#include <linux/bitops.h>
|
#include <linux/bitops.h>
|
||||||
#include <xen/events.h>
|
#include <xen/events.h>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/moduleparam.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/list.h>
|
#include <linux/list.h>
|
||||||
#include <linux/vmalloc.h>
|
#include <linux/vmalloc.h>
|
||||||
|
|||||||
@@ -71,7 +71,6 @@
|
|||||||
#include <linux/swap.h>
|
#include <linux/swap.h>
|
||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
#include <linux/mman.h>
|
#include <linux/mman.h>
|
||||||
#include <linux/module.h>
|
|
||||||
#include <linux/workqueue.h>
|
#include <linux/workqueue.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
#include <xen/balloon.h>
|
#include <xen/balloon.h>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
#include <linux/miscdevice.h>
|
#include <linux/miscdevice.h>
|
||||||
#include <linux/module.h>
|
#include <linux/init.h>
|
||||||
#include <linux/capability.h>
|
#include <linux/capability.h>
|
||||||
|
|
||||||
#include <xen/xen.h>
|
#include <xen/xen.h>
|
||||||
@@ -18,8 +18,6 @@
|
|||||||
|
|
||||||
#include "xenbus_comms.h"
|
#include "xenbus_comms.h"
|
||||||
|
|
||||||
MODULE_LICENSE("GPL");
|
|
||||||
|
|
||||||
static int xenbus_backend_open(struct inode *inode, struct file *filp)
|
static int xenbus_backend_open(struct inode *inode, struct file *filp)
|
||||||
{
|
{
|
||||||
if (!capable(CAP_SYS_ADMIN))
|
if (!capable(CAP_SYS_ADMIN))
|
||||||
@@ -132,11 +130,4 @@ static int __init xenbus_backend_init(void)
|
|||||||
pr_err("Could not register xenbus backend device\n");
|
pr_err("Could not register xenbus backend device\n");
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
device_initcall(xenbus_backend_init);
|
||||||
static void __exit xenbus_backend_exit(void)
|
|
||||||
{
|
|
||||||
misc_deregister(&xenbus_backend_dev);
|
|
||||||
}
|
|
||||||
|
|
||||||
module_init(xenbus_backend_init);
|
|
||||||
module_exit(xenbus_backend_exit);
|
|
||||||
|
|||||||
@@ -55,7 +55,7 @@
|
|||||||
#include <linux/string.h>
|
#include <linux/string.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/miscdevice.h>
|
#include <linux/miscdevice.h>
|
||||||
#include <linux/module.h>
|
#include <linux/init.h>
|
||||||
|
|
||||||
#include "xenbus_comms.h"
|
#include "xenbus_comms.h"
|
||||||
|
|
||||||
@@ -63,8 +63,6 @@
|
|||||||
#include <xen/xen.h>
|
#include <xen/xen.h>
|
||||||
#include <asm/xen/hypervisor.h>
|
#include <asm/xen/hypervisor.h>
|
||||||
|
|
||||||
MODULE_LICENSE("GPL");
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* An element of a list of outstanding transactions, for which we're
|
* An element of a list of outstanding transactions, for which we're
|
||||||
* still waiting a reply.
|
* still waiting a reply.
|
||||||
@@ -626,11 +624,4 @@ static int __init xenbus_init(void)
|
|||||||
pr_err("Could not register xenbus frontend device\n");
|
pr_err("Could not register xenbus frontend device\n");
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
device_initcall(xenbus_init);
|
||||||
static void __exit xenbus_exit(void)
|
|
||||||
{
|
|
||||||
misc_deregister(&xenbus_dev);
|
|
||||||
}
|
|
||||||
|
|
||||||
module_init(xenbus_init);
|
|
||||||
module_exit(xenbus_exit);
|
|
||||||
|
|||||||
@@ -44,7 +44,6 @@
|
|||||||
#include <linux/fcntl.h>
|
#include <linux/fcntl.h>
|
||||||
#include <linux/kthread.h>
|
#include <linux/kthread.h>
|
||||||
#include <linux/rwsem.h>
|
#include <linux/rwsem.h>
|
||||||
#include <linux/module.h>
|
|
||||||
#include <linux/mutex.h>
|
#include <linux/mutex.h>
|
||||||
#include <asm/xen/hypervisor.h>
|
#include <asm/xen/hypervisor.h>
|
||||||
#include <xen/xenbus.h>
|
#include <xen/xenbus.h>
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
#include <linux/module.h>
|
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/seq_file.h>
|
#include <linux/seq_file.h>
|
||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
|
|||||||
Reference in New Issue
Block a user