aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xen/arch/ia64/xen/hpsimserial.c3
-rw-r--r--xen/arch/ia64/xen/xensetup.c2
-rw-r--r--xen/arch/x86/Makefile4
-rw-r--r--xen/arch/x86/acpi/cpufreq/powernow.c3
-rw-r--r--xen/arch/x86/apic.c35
-rw-r--r--xen/arch/x86/cpu/mcheck/Makefile2
-rw-r--r--xen/arch/x86/dmi_scan.c22
-rw-r--r--xen/arch/x86/irq.c6
-rw-r--r--xen/arch/x86/mm/mem_sharing.c4
-rw-r--r--xen/arch/x86/numa.c2
-rw-r--r--xen/arch/x86/setup.c4
-rw-r--r--xen/arch/x86/tboot.c4
-rw-r--r--xen/arch/x86/time.c2
-rw-r--r--xen/crypto/rijndael.c12
-rw-r--r--xen/crypto/vmac.c2
-rw-r--r--xen/drivers/char/serial.c16
-rw-r--r--xen/drivers/cpufreq/cpufreq.c20
-rw-r--r--xen/drivers/cpufreq/cpufreq_misc_governors.c18
-rw-r--r--xen/drivers/cpufreq/cpufreq_ondemand.c6
-rw-r--r--xen/drivers/passthrough/pci.c2
-rw-r--r--xen/drivers/passthrough/vtd/dmar.c13
-rw-r--r--xen/drivers/passthrough/vtd/dmar.h2
-rw-r--r--xen/drivers/passthrough/vtd/ia64/vtd.c2
-rw-r--r--xen/drivers/passthrough/vtd/x86/vtd.c2
-rw-r--r--xen/include/acpi/cpufreq/cpufreq.h1
-rw-r--r--xen/include/asm-x86/apic.h3
-rw-r--r--xen/include/asm-x86/mach-default/mach_mpparse.h6
-rw-r--r--xen/include/asm-x86/mach-summit/mach_mpparse.h8
-rw-r--r--xen/include/crypto/vmac.h6
-rw-r--r--xen/include/xen/dmi.h2
-rw-r--r--xen/include/xen/serial.h3
31 files changed, 58 insertions, 159 deletions
diff --git a/xen/arch/ia64/xen/hpsimserial.c b/xen/arch/ia64/xen/hpsimserial.c
index 6fa50fb859..3d25d52c76 100644
--- a/xen/arch/ia64/xen/hpsimserial.c
+++ b/xen/arch/ia64/xen/hpsimserial.c
@@ -6,6 +6,7 @@
*/
#include <linux/config.h>
+#include <xen/init.h>
#include <xen/sched.h>
#include <xen/serial.h>
#include "hpsim_ssc.h"
@@ -17,7 +18,7 @@ static void hp_ski_putc(struct serial_port *port, char c)
static struct uart_driver hp_ski = { .putc = hp_ski_putc };
-void hpsim_serial_init(void)
+void __init hpsim_serial_init(void)
{
serial_register_uart(0, &hp_ski, 0);
}
diff --git a/xen/arch/ia64/xen/xensetup.c b/xen/arch/ia64/xen/xensetup.c
index fe042e450a..be2550d22b 100644
--- a/xen/arch/ia64/xen/xensetup.c
+++ b/xen/arch/ia64/xen/xensetup.c
@@ -711,7 +711,7 @@ void arch_get_xen_caps(xen_capabilities_info_t *info)
}
}
-int xen_in_range(paddr_t start, paddr_t end)
+int __init xen_in_range(paddr_t start, paddr_t end)
{
paddr_t xs = __pa(&_start);
paddr_t xe = __pa(&_end);
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index d4a7ccb4f1..2d6b14515c 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -16,10 +16,10 @@ obj-bin-y += copy_page.o
obj-y += compat.o
obj-y += debug.o
obj-y += delay.o
-obj-y += dmi_scan.o
+obj-bin-y += dmi_scan.init.o
obj-y += domctl.o
obj-y += domain.o
-obj-y += domain_build.o
+obj-bin-y += domain_build.init.o
obj-y += e820.o
obj-y += extable.o
obj-y += flushtlb.o
diff --git a/xen/arch/x86/acpi/cpufreq/powernow.c b/xen/arch/x86/acpi/cpufreq/powernow.c
index db1806f8f0..a4312c12a6 100644
--- a/xen/arch/x86/acpi/cpufreq/powernow.c
+++ b/xen/arch/x86/acpi/cpufreq/powernow.c
@@ -24,6 +24,7 @@
#include <xen/types.h>
#include <xen/errno.h>
+#include <xen/init.h>
#include <xen/delay.h>
#include <xen/cpumask.h>
#include <xen/timer.h>
@@ -311,7 +312,7 @@ static struct cpufreq_driver powernow_cpufreq_driver = {
.exit = powernow_cpufreq_cpu_exit
};
-unsigned int powernow_register_driver()
+unsigned int __init powernow_register_driver()
{
unsigned int i, ret = 0;
diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
index 47cdd3a402..64d0c88c5b 100644
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -164,18 +164,6 @@ static bool_t __read_mostly using_apic_timer;
static bool_t __read_mostly enabled_via_apicbase;
-void enable_NMI_through_LVT0 (void * dummy)
-{
- unsigned int v, ver;
-
- ver = apic_read(APIC_LVR);
- ver = GET_APIC_VERSION(ver);
- v = APIC_DM_NMI; /* unmask and set to NMI */
- if (!APIC_INTEGRATED(ver)) /* 82489DX */
- v |= APIC_LVT_LEVEL_TRIGGER;
- apic_write_around(APIC_LVT0, v);
-}
-
int get_physical_broadcast(void)
{
if (modern_apic())
@@ -809,29 +797,6 @@ int lapic_resume(void)
/*
- * If Linux enabled the LAPIC against the BIOS default
- * disable it down before re-entering the BIOS on shutdown.
- * Otherwise the BIOS may get confused and not power-off.
- * Additionally clear all LVT entries before disable_local_APIC
- * for the case where Linux didn't enable the LAPIC.
- */
-void lapic_shutdown(void)
-{
- unsigned long flags;
-
- if (!cpu_has_apic)
- return;
-
- local_irq_save(flags);
- clear_local_APIC();
-
- if (enabled_via_apicbase)
- disable_local_APIC();
-
- local_irq_restore(flags);
-}
-
-/*
* Detect and enable local APICs on non-SMP boards.
* Original code written by Keir Fraser.
*/
diff --git a/xen/arch/x86/cpu/mcheck/Makefile b/xen/arch/x86/cpu/mcheck/Makefile
index 36ec89e877..b768bd51c3 100644
--- a/xen/arch/x86/cpu/mcheck/Makefile
+++ b/xen/arch/x86/cpu/mcheck/Makefile
@@ -4,7 +4,7 @@ obj-y += amd_k8.o
obj-y += amd_f10.o
obj-y += mctelem.o
obj-y += mce.o
-obj-y += mce-apei.o
+#obj-y += mce-apei.o
obj-y += mce_intel.o
obj-y += mce_amd_quirks.o
obj-y += non-fatal.o
diff --git a/xen/arch/x86/dmi_scan.c b/xen/arch/x86/dmi_scan.c
index 5193f2ccfa..22ee53925c 100644
--- a/xen/arch/x86/dmi_scan.c
+++ b/xen/arch/x86/dmi_scan.c
@@ -150,7 +150,7 @@ static int __init dmi_iterate(void (*decode)(struct dmi_header *))
return -1;
}
-static char *dmi_ident[DMI_STRING_MAX];
+static char *__initdata dmi_ident[DMI_STRING_MAX];
/*
* Save a DMI string
@@ -456,7 +456,7 @@ void __init dmi_scan_machine(void)
* returns non zero or we hit the end. Callback function is called for
* each successfull match. Returns the number of matches.
*/
-int dmi_check_system(struct dmi_system_id *list)
+int __init dmi_check_system(struct dmi_system_id *list)
{
int i, count = 0;
struct dmi_system_id *d = list;
@@ -480,18 +480,10 @@ fail: d++;
return count;
}
-EXPORT_SYMBOL(dmi_check_system);
-
-/**
- * dmi_get_system_info - return DMI data value
- * @field: data index (see enum dmi_filed)
- *
- * Returns one DMI data value, can be used to perform
- * complex DMI data checks.
- */
-char * dmi_get_system_info(int field)
+void __init dmi_end_boot(void)
{
- return dmi_ident[field];
-}
+ unsigned int i;
-EXPORT_SYMBOL(dmi_get_system_info);
+ for ( i = 0; i < DMI_STRING_MAX; ++i )
+ xfree(dmi_ident[i]);
+}
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index e97127ca0c..3595ef5271 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -237,7 +237,7 @@ int irq_to_vector(int irq)
return vector;
}
-static void init_one_irq_desc(struct irq_desc *desc)
+static void __init init_one_irq_desc(struct irq_desc *desc)
{
desc->status = IRQ_DISABLED;
desc->handler = &no_irq_type;
@@ -254,14 +254,14 @@ static void init_one_irq_status(int irq)
irq_status[irq] = IRQ_UNUSED;
}
-static void init_one_irq_cfg(struct irq_cfg *cfg)
+static void __init init_one_irq_cfg(struct irq_cfg *cfg)
{
cfg->vector = IRQ_VECTOR_UNASSIGNED;
cpus_clear(cfg->cpu_mask);
cpus_clear(cfg->old_cpu_mask);
}
-int init_irq_data(void)
+int __init init_irq_data(void)
{
struct irq_desc *desc;
struct irq_cfg *cfg;
diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index 78ab1bd684..c8a73120b6 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -124,7 +124,7 @@ static inline struct gfn_info* gfn_get_info(struct list_head *list)
spin_unlock(&shr_lock.lock); \
} while (0)
-static void mem_sharing_hash_init(void)
+static void __init mem_sharing_hash_init(void)
{
int i;
@@ -827,7 +827,7 @@ int mem_sharing_domctl(struct domain *d, xen_domctl_mem_sharing_op_t *mec)
return rc;
}
-void mem_sharing_init(void)
+void __init mem_sharing_init(void)
{
printk("Initing memory sharing.\n");
mem_sharing_hash_init();
diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index 92c2f5b631..021619bf9d 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -212,7 +212,7 @@ void __init numa_init_array(void)
static int numa_fake __initdata = 0;
/* Numa emulation */
-static int numa_emulation(u64 start_pfn, u64 end_pfn)
+static int __init numa_emulation(u64 start_pfn, u64 end_pfn)
{
int i;
struct node nodes[MAX_NUMNODES];
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 4bce2f4739..77b3c1bfe7 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1328,6 +1328,8 @@ void __init __start_xen(unsigned long mbi_p)
/* Hide UART from DOM0 if we're using it */
serial_endboot();
+ dmi_end_boot();
+
domain_unpause_by_systemcontroller(dom0);
reset_stack_and_jump(init_done);
@@ -1360,7 +1362,7 @@ void arch_get_xen_caps(xen_capabilities_info_t *info)
}
}
-int xen_in_range(unsigned long mfn)
+int __init xen_in_range(unsigned long mfn)
{
paddr_t start, end;
int i;
diff --git a/xen/arch/x86/tboot.c b/xen/arch/x86/tboot.c
index cab39c440e..42158741c1 100644
--- a/xen/arch/x86/tboot.c
+++ b/xen/arch/x86/tboot.c
@@ -70,8 +70,8 @@ typedef struct __packed {
uint32_t vtd_dmars_off;
} sinit_mle_data_t;
-static void tboot_copy_memory(unsigned char *va, uint32_t size,
- unsigned long pa)
+static void __init tboot_copy_memory(unsigned char *va, uint32_t size,
+ unsigned long pa)
{
unsigned long map_base = 0;
unsigned char *map_addr = NULL;
diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 8aa59f3133..2c3598418f 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -394,7 +394,7 @@ static struct platform_timesource __initdata plt_hpet =
* PLATFORM TIMER 3: IBM 'CYCLONE' TIMER
*/
-int use_cyclone;
+bool_t __initdata use_cyclone;
/*
* Although the counter is read via a 64-bit register, I believe it is actually
diff --git a/xen/crypto/rijndael.c b/xen/crypto/rijndael.c
index f7496187d3..b7cd0d1acd 100644
--- a/xen/crypto/rijndael.c
+++ b/xen/crypto/rijndael.c
@@ -806,6 +806,8 @@ rijndaelKeySetupEnc(u32 rk[/*4*(Nr + 1)*/], const u8 cipherKey[], int keyBits)
return 0;
}
+#ifdef NEED_RIJNDAEL_DECRYPT
+
/**
* Expand the cipher key into the decryption key schedule.
*
@@ -854,6 +856,8 @@ rijndaelKeySetupDec(u32 rk[/*4*(Nr + 1)*/], const u8 cipherKey[], int keyBits)
return Nr;
}
+#endif /* NEED_RIJNDAEL_DECRYPT */
+
void
rijndaelEncrypt(const u32 rk[/*4*(Nr + 1)*/], int Nr, const u8 pt[16],
u8 ct[16])
@@ -1038,6 +1042,8 @@ rijndaelEncrypt(const u32 rk[/*4*(Nr + 1)*/], int Nr, const u8 pt[16],
PUTU32(ct + 12, s3);
}
+#ifdef NEED_RIJNDAEL_DECRYPT
+
static void
rijndaelDecrypt(const u32 rk[/*4*(Nr + 1)*/], int Nr, const u8 ct[16],
u8 pt[16])
@@ -1222,6 +1228,10 @@ rijndaelDecrypt(const u32 rk[/*4*(Nr + 1)*/], int Nr, const u8 ct[16],
PUTU32(pt + 12, s3);
}
+#endif /* NEED_RIJNDAEL_DECRYPT */
+
+#ifdef NEED_RIJNDAEL_WRAPPERS
+
/* setup key context for encryption only */
int
rijndael_set_key_enc_only(rijndael_ctx *ctx, const u_char *key, int bits)
@@ -1267,3 +1277,5 @@ rijndael_encrypt(rijndael_ctx *ctx, const u_char *src, u_char *dst)
{
rijndaelEncrypt(ctx->ek, ctx->Nr, src, dst);
}
+
+#endif /* NEED_RIJNDAEL_WRAPPERS */
diff --git a/xen/crypto/vmac.c b/xen/crypto/vmac.c
index 1e9bafa0ba..8f2f3727b1 100644
--- a/xen/crypto/vmac.c
+++ b/xen/crypto/vmac.c
@@ -722,7 +722,7 @@ static void poly_step_func(uint64_t *ahi, uint64_t *alo, const uint64_t *kh,
/* ----------------------------------------------------------------------- */
-void vhash_abort(vmac_ctx_t *ctx)
+static void vhash_abort(vmac_ctx_t *ctx)
{
ctx->polytmp[0] = ctx->polykey[0] ;
ctx->polytmp[1] = ctx->polykey[1] ;
diff --git a/xen/drivers/char/serial.c b/xen/drivers/char/serial.c
index 6fb17aca3e..68706242ac 100644
--- a/xen/drivers/char/serial.c
+++ b/xen/drivers/char/serial.c
@@ -253,7 +253,7 @@ char serial_getc(int handle)
return c & 0x7f;
}
-int serial_parse_handle(char *conf)
+int __init serial_parse_handle(char *conf)
{
int handle;
@@ -288,7 +288,7 @@ int serial_parse_handle(char *conf)
return -1;
}
-void serial_set_rx_handler(int handle, serial_rx_fn fn)
+void __init serial_set_rx_handler(int handle, serial_rx_fn fn)
{
struct serial_port *port;
unsigned long flags;
@@ -420,15 +420,6 @@ void serial_end_log_everything(int handle)
spin_unlock_irqrestore(&port->tx_lock, flags);
}
-int serial_tx_space(int handle)
-{
- struct serial_port *port;
- if ( handle == -1 )
- return serial_txbufsz;
- port = &com[handle & SERHND_IDX];
- return serial_txbufsz - (port->txbufp - port->txbufc);
-}
-
void __devinit serial_init_preirq(void)
{
int i;
@@ -476,7 +467,8 @@ void serial_resume(void)
serial_init_postirq();
}
-void serial_register_uart(int idx, struct uart_driver *driver, void *uart)
+void __init serial_register_uart(int idx, struct uart_driver *driver,
+ void *uart)
{
/* Store UART-specific info. */
com[idx].driver = driver;
diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index 4ecb7dedb3..a8290457c8 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -76,7 +76,7 @@ struct cpufreq_governor *__find_governor(const char *governor)
return NULL;
}
-int cpufreq_register_governor(struct cpufreq_governor *governor)
+int __init cpufreq_register_governor(struct cpufreq_governor *governor)
{
if (!governor)
return -EINVAL;
@@ -88,24 +88,6 @@ int cpufreq_register_governor(struct cpufreq_governor *governor)
return 0;
}
-int cpufreq_unregister_governor(struct cpufreq_governor *governor)
-{
- struct cpufreq_policy *policy = this_cpu(cpufreq_cpu_policy);
-
- if (!governor || !policy)
- return -EINVAL;
-
- /* error if unregister current cpufreq governor */
- if (governor == policy->governor)
- return -EBUSY;
-
- if (__find_governor(governor->name) == NULL)
- return -ENOENT;
-
- list_del(&governor->governor_list);
- return 0;
-}
-
int cpufreq_limit_change(unsigned int cpu)
{
struct processor_performance *perf = &processor_pminfo[cpu]->perf;
diff --git a/xen/drivers/cpufreq/cpufreq_misc_governors.c b/xen/drivers/cpufreq/cpufreq_misc_governors.c
index f33143a4b3..786854363d 100644
--- a/xen/drivers/cpufreq/cpufreq_misc_governors.c
+++ b/xen/drivers/cpufreq/cpufreq_misc_governors.c
@@ -103,12 +103,6 @@ static int __init cpufreq_gov_userspace_init(void)
}
__initcall(cpufreq_gov_userspace_init);
-static void __exit cpufreq_gov_userspace_exit(void)
-{
- cpufreq_unregister_governor(&cpufreq_gov_userspace);
-}
-__exitcall(cpufreq_gov_userspace_exit);
-
/*
* cpufreq performance governor
@@ -148,12 +142,6 @@ static int __init cpufreq_gov_performance_init(void)
}
__initcall(cpufreq_gov_performance_init);
-static void __exit cpufreq_gov_performance_exit(void)
-{
- cpufreq_unregister_governor(&cpufreq_gov_performance);
-}
-__exitcall(cpufreq_gov_performance_exit);
-
/*
* cpufreq powersave governor
@@ -192,9 +180,3 @@ static int __init cpufreq_gov_powersave_init(void)
return cpufreq_register_governor(&cpufreq_gov_powersave);
}
__initcall(cpufreq_gov_powersave_init);
-
-static void __exit cpufreq_gov_powersave_exit(void)
-{
- cpufreq_unregister_governor(&cpufreq_gov_powersave);
-}
-__exitcall(cpufreq_gov_powersave_exit);
diff --git a/xen/drivers/cpufreq/cpufreq_ondemand.c b/xen/drivers/cpufreq/cpufreq_ondemand.c
index 8a717cb2df..77b5dfc4fd 100644
--- a/xen/drivers/cpufreq/cpufreq_ondemand.c
+++ b/xen/drivers/cpufreq/cpufreq_ondemand.c
@@ -348,12 +348,6 @@ static int __init cpufreq_gov_dbs_init(void)
}
__initcall(cpufreq_gov_dbs_init);
-static void __exit cpufreq_gov_dbs_exit(void)
-{
- cpufreq_unregister_governor(&cpufreq_gov_dbs);
-}
-__exitcall(cpufreq_gov_dbs_exit);
-
void cpufreq_dbs_timer_suspend(void)
{
int cpu;
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 5383394f0d..cc3dc57e2f 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -369,7 +369,7 @@ out:
/*
* detect pci device, return 0 if it exists, or return 0
*/
-int pci_device_detect(u8 bus, u8 dev, u8 func)
+int __init pci_device_detect(u8 bus, u8 dev, u8 func)
{
u32 vendor;
diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
index 1046c331a3..d6051c4a3c 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -48,7 +48,8 @@ static LIST_HEAD_READ_MOSTLY(acpi_rhsa_units);
static u64 __read_mostly igd_drhd_address;
-void dmar_scope_add_buses(struct dmar_scope *scope, u16 sec_bus, u16 sub_bus)
+static void __init dmar_scope_add_buses(struct dmar_scope *scope, u16 sec_bus,
+ u16 sub_bus)
{
sub_bus &= 0xff;
if (sec_bus > sub_bus)
@@ -58,16 +59,6 @@ void dmar_scope_add_buses(struct dmar_scope *scope, u16 sec_bus, u16 sub_bus)
set_bit(sec_bus++, scope->buses);
}
-void dmar_scope_remove_buses(struct dmar_scope *scope, u16 sec_bus, u16 sub_bus)
-{
- sub_bus &= 0xff;
- if (sec_bus > sub_bus)
- return;
-
- while ( sec_bus <= sub_bus )
- clear_bit(sec_bus++, scope->buses);
-}
-
static int __init acpi_register_drhd_unit(struct acpi_drhd_unit *drhd)
{
/*
diff --git a/xen/drivers/passthrough/vtd/dmar.h b/xen/drivers/passthrough/vtd/dmar.h
index 427f55a01b..982324ee63 100644
--- a/xen/drivers/passthrough/vtd/dmar.h
+++ b/xen/drivers/passthrough/vtd/dmar.h
@@ -84,8 +84,6 @@ struct acpi_rhsa_unit {
struct acpi_drhd_unit * acpi_find_matched_drhd_unit(struct pci_dev *pdev);
struct acpi_atsr_unit * acpi_find_matched_atsr_unit(u8 bus, u8 devfn);
-void dmar_scope_add_buses(struct dmar_scope *scope, u16 sec, u16 sub);
-void dmar_scope_remove_buses(struct dmar_scope *scope, u16 sec, u16 sub);
#define DMAR_TYPE 1
#define RMRR_TYPE 2
diff --git a/xen/drivers/passthrough/vtd/ia64/vtd.c b/xen/drivers/passthrough/vtd/ia64/vtd.c
index 6f64f57676..2d47f3674e 100644
--- a/xen/drivers/passthrough/vtd/ia64/vtd.c
+++ b/xen/drivers/passthrough/vtd/ia64/vtd.c
@@ -65,7 +65,7 @@ void flush_all_cache()
ia64_sal_cache_flush(3);
}
-void * map_to_nocache_virt(int nr_iommus, u64 maddr)
+void *__init map_to_nocache_virt(int nr_iommus, u64 maddr)
{
return (void *) ( maddr + __IA64_UNCACHED_OFFSET);
}
diff --git a/xen/drivers/passthrough/vtd/x86/vtd.c b/xen/drivers/passthrough/vtd/x86/vtd.c
index 3739c21154..ae385c39bc 100644
--- a/xen/drivers/passthrough/vtd/x86/vtd.c
+++ b/xen/drivers/passthrough/vtd/x86/vtd.c
@@ -62,7 +62,7 @@ void flush_all_cache()
wbinvd();
}
-void *map_to_nocache_virt(int nr_iommus, u64 maddr)
+void *__init map_to_nocache_virt(int nr_iommus, u64 maddr)
{
set_fixmap_nocache(FIX_IOMMU_REGS_BASE_0 + nr_iommus, maddr);
return (void *)fix_to_virt(FIX_IOMMU_REGS_BASE_0 + nr_iommus);
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index abb79bf13c..3554896ef7 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -104,7 +104,6 @@ extern struct cpufreq_governor cpufreq_gov_performance;
extern struct cpufreq_governor cpufreq_gov_powersave;
extern int cpufreq_register_governor(struct cpufreq_governor *governor);
-extern int cpufreq_unregister_governor(struct cpufreq_governor *governor);
extern struct cpufreq_governor *__find_governor(const char *governor);
#define CPUFREQ_DEFAULT_GOVERNOR &cpufreq_gov_dbs
diff --git a/xen/include/asm-x86/apic.h b/xen/include/asm-x86/apic.h
index 97297fa871..fae4c2d192 100644
--- a/xen/include/asm-x86/apic.h
+++ b/xen/include/asm-x86/apic.h
@@ -182,7 +182,6 @@ extern void clear_local_APIC(void);
extern void connect_bsp_APIC (void);
extern void disconnect_bsp_APIC (int virt_wire_setup);
extern void disable_local_APIC (void);
-extern void lapic_shutdown (void);
extern int verify_local_APIC (void);
extern void cache_APIC_registers (void);
extern void sync_Arb_IDs (void);
@@ -206,7 +205,6 @@ extern int lapic_suspend(void);
extern int lapic_resume(void);
extern int check_nmi_watchdog (void);
-extern void enable_NMI_through_LVT0 (void * dummy);
extern unsigned int nmi_watchdog;
#define NMI_NONE 0
@@ -215,7 +213,6 @@ extern unsigned int nmi_watchdog;
#define NMI_INVALID 3
#else /* !CONFIG_X86_LOCAL_APIC */
-static inline void lapic_shutdown(void) { }
static inline int lapic_suspend(void) {return 0;}
static inline int lapic_resume(void) {return 0;}
diff --git a/xen/include/asm-x86/mach-default/mach_mpparse.h b/xen/include/asm-x86/mach-default/mach_mpparse.h
index d14108505b..6194b77429 100644
--- a/xen/include/asm-x86/mach-default/mach_mpparse.h
+++ b/xen/include/asm-x86/mach-default/mach_mpparse.h
@@ -1,14 +1,14 @@
#ifndef __ASM_MACH_MPPARSE_H
#define __ASM_MACH_MPPARSE_H
-static inline int mps_oem_check(struct mp_config_table *mpc, char *oem,
- char *productid)
+static inline int __init mps_oem_check(struct mp_config_table *mpc, char *oem,
+ char *productid)
{
return 0;
}
/* Hook from generic ACPI tables.c */
-static inline int acpi_madt_oem_check(char *oem_id, char *oem_table_id)
+static inline int __init acpi_madt_oem_check(char *oem_id, char *oem_table_id)
{
return 0;
}
diff --git a/xen/include/asm-x86/mach-summit/mach_mpparse.h b/xen/include/asm-x86/mach-summit/mach_mpparse.h
index 3553af2fa3..b57a3c421e 100644
--- a/xen/include/asm-x86/mach-summit/mach_mpparse.h
+++ b/xen/include/asm-x86/mach-summit/mach_mpparse.h
@@ -1,7 +1,7 @@
#ifndef __ASM_MACH_MPPARSE_H
#define __ASM_MACH_MPPARSE_H
-extern int use_cyclone;
+extern bool_t use_cyclone;
#ifdef CONFIG_X86_SUMMIT_NUMA
extern void setup_summit(void);
@@ -10,8 +10,8 @@ extern void setup_summit(void);
#endif
extern int usb_early_handoff;
-static inline int mps_oem_check(struct mp_config_table *mpc, char *oem,
- char *productid)
+static inline int __init mps_oem_check(struct mp_config_table *mpc, char *oem,
+ char *productid)
{
if (!strncmp(oem, "IBM ENSW", 8) &&
(!strncmp(productid, "VIGIL SMP", 9)
@@ -26,7 +26,7 @@ static inline int mps_oem_check(struct mp_config_table *mpc, char *oem,
}
/* Hook from generic ACPI tables.c */
-static inline int acpi_madt_oem_check(char *oem_id, char *oem_table_id)
+static inline int __init acpi_madt_oem_check(char *oem_id, char *oem_table_id)
{
if (!strncmp(oem_id, "IBM", 3) &&
(!strncmp(oem_table_id, "SERVIGIL", 8)
diff --git a/xen/include/crypto/vmac.h b/xen/include/crypto/vmac.h
index 9e92b3e351..457f3f5dd6 100644
--- a/xen/include/crypto/vmac.h
+++ b/xen/include/crypto/vmac.h
@@ -163,12 +163,6 @@ uint64_t vhash(unsigned char m[],
void vmac_set_key(unsigned char user_key[], vmac_ctx_t *ctx);
-/* --------------------------------------------------------------------------
- * This function aborts current hash and resets ctx, ready for a new message.
- * ----------------------------------------------------------------------- */
-
-void vhash_abort(vmac_ctx_t *ctx);
-
/* --------------------------------------------------------------------- */
#ifdef __cplusplus
diff --git a/xen/include/xen/dmi.h b/xen/include/xen/dmi.h
index c1a28c82f0..65cf2ad4e3 100644
--- a/xen/include/xen/dmi.h
+++ b/xen/include/xen/dmi.h
@@ -33,8 +33,8 @@ struct dmi_system_id {
#define DMI_MATCH(a,b) { a, b }
extern int dmi_check_system(struct dmi_system_id *list);
-extern char * dmi_get_system_info(int field);
extern void dmi_scan_machine(void);
extern int dmi_get_table(u32 *base, u32 *len);
+extern void dmi_end_boot(void);
#endif /* __DMI_H__ */
diff --git a/xen/include/xen/serial.h b/xen/include/xen/serial.h
index 91fd30bcec..f371b42c7b 100644
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -102,9 +102,6 @@ void serial_end_sync(int handle);
void serial_start_log_everything(int handle);
void serial_end_log_everything(int handle);
-/* Return number of bytes headroom in transmit buffer. */
-int serial_tx_space(int handle);
-
/* Return irq number for specified serial port (identified by index). */
int serial_irq(int idx);