aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2011-03-09 16:31:00 +0000
committerJan Beulich <jbeulich@novell.com>2011-03-09 16:31:00 +0000
commitcba76631d1fc7b511facfca6449a0c1d5565fbf0 (patch)
tree566b375a761c58618a3cdb4e6e6d970c9760a735
parent007f425ac5d2bc0b607fb4fb429ad92315f52de1 (diff)
downloadxen-cba76631d1fc7b511facfca6449a0c1d5565fbf0.tar.gz
xen-cba76631d1fc7b511facfca6449a0c1d5565fbf0.tar.bz2
xen-cba76631d1fc7b511facfca6449a0c1d5565fbf0.zip
move various bits into .init.* sections
This also includes the removal of some entirely unused functions. The patch builds upon the makefile adjustments done in the earlier sent patch titled "move more kernel decompression bits to .init.* sections". Signed-off-by: Jan Beulich <jbeulich@novell.com>
-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);