100 lines
3.7 KiB
Diff
100 lines
3.7 KiB
Diff
# HG changeset patch
|
|
# User kfraser@localhost.localdomain
|
|
# Date Mon Oct 30 14:09:13 2006 +0000
|
|
# Node ID 44caba9460afd444a6a56c5d4517f938ca99130c
|
|
# parent: c3b4fef4f751e1fc57b8ee48abf06f1e3e802ce4
|
|
[LINUX] Declare structs as 'static __initdata' where possible.
|
|
|
|
Probably still not catching all possible cases, but using static
|
|
(where not already the case) makes the code size smaller, and using __initdata
|
|
has the usual advantages.
|
|
|
|
Signed-off-by: Jan Beulich <jbeulich@novell.com>
|
|
|
|
--- a/linux-2.6-xen-sparse/arch/i386/kernel/sysenter.c Mon Oct 30 14:04:44 2006 +0000
|
|
+++ b/linux-2.6-xen-sparse/arch/i386/kernel/sysenter.c Mon Oct 30 14:09:13 2006 +0000
|
|
@@ -60,7 +60,7 @@ int __init sysenter_setup(void)
|
|
|
|
#ifdef CONFIG_XEN
|
|
if (boot_cpu_has(X86_FEATURE_SEP)) {
|
|
- struct callback_register sysenter = {
|
|
+ static struct callback_register __initdata sysenter = {
|
|
.type = CALLBACKTYPE_sysenter,
|
|
.address = { __KERNEL_CS, (unsigned long)sysenter_entry },
|
|
};
|
|
--- a/linux-2.6-xen-sparse/include/asm-i386/mach-xen/setup_arch_post.h Mon Oct 30 14:04:44 2006 +0000
|
|
+++ b/linux-2.6-xen-sparse/include/asm-i386/mach-xen/setup_arch_post.h Mon Oct 30 14:09:13 2006 +0000
|
|
@@ -56,15 +56,15 @@ static void __init machine_specific_arch
|
|
struct xen_machphys_mapping mapping;
|
|
unsigned long machine_to_phys_nr_ents;
|
|
struct xen_platform_parameters pp;
|
|
- struct callback_register event = {
|
|
+ static struct callback_register __initdata event = {
|
|
.type = CALLBACKTYPE_event,
|
|
.address = { __KERNEL_CS, (unsigned long)hypervisor_callback },
|
|
};
|
|
- struct callback_register failsafe = {
|
|
+ static struct callback_register __initdata failsafe = {
|
|
.type = CALLBACKTYPE_failsafe,
|
|
.address = { __KERNEL_CS, (unsigned long)failsafe_callback },
|
|
};
|
|
- struct callback_register nmi_cb = {
|
|
+ static struct callback_register __initdata nmi_cb = {
|
|
.type = CALLBACKTYPE_nmi,
|
|
.address = { __KERNEL_CS, (unsigned long)nmi },
|
|
};
|
|
@@ -80,9 +80,10 @@ static void __init machine_specific_arch
|
|
|
|
ret = HYPERVISOR_callback_op(CALLBACKOP_register, &nmi_cb);
|
|
if (ret == -ENOSYS) {
|
|
- struct xennmi_callback cb;
|
|
+ static struct xennmi_callback __initdata cb = {
|
|
+ .handler_address = (unsigned long)nmi;
|
|
+ };
|
|
|
|
- cb.handler_address = nmi_cb.address.eip;
|
|
HYPERVISOR_nmi_op(XENNMI_register_callback, &cb);
|
|
}
|
|
|
|
--- a/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/setup_arch_post.h Mon Oct 30 14:04:44 2006 +0000
|
|
+++ b/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/setup_arch_post.h Mon Oct 30 14:09:13 2006 +0000
|
|
@@ -15,20 +15,20 @@ static void __init machine_specific_arch
|
|
static void __init machine_specific_arch_setup(void)
|
|
{
|
|
int ret;
|
|
- struct callback_register event = {
|
|
+ static struct callback_register __initdata event = {
|
|
.type = CALLBACKTYPE_event,
|
|
.address = (unsigned long) hypervisor_callback,
|
|
};
|
|
- struct callback_register failsafe = {
|
|
+ static struct callback_register __initdata failsafe = {
|
|
.type = CALLBACKTYPE_failsafe,
|
|
.address = (unsigned long)failsafe_callback,
|
|
};
|
|
- struct callback_register syscall = {
|
|
+ static struct callback_register __initdata syscall = {
|
|
.type = CALLBACKTYPE_syscall,
|
|
.address = (unsigned long)system_call,
|
|
};
|
|
#ifdef CONFIG_X86_LOCAL_APIC
|
|
- struct callback_register nmi_cb = {
|
|
+ static struct callback_register __initdata nmi_cb = {
|
|
.type = CALLBACKTYPE_nmi,
|
|
.address = (unsigned long)nmi,
|
|
};
|
|
@@ -49,9 +49,10 @@ static void __init machine_specific_arch
|
|
#ifdef CONFIG_X86_LOCAL_APIC
|
|
ret = HYPERVISOR_callback_op(CALLBACKOP_register, &nmi_cb);
|
|
if (ret == -ENOSYS) {
|
|
- struct xennmi_callback cb;
|
|
+ static struct xennmi_callback __initdata cb = {
|
|
+ .handler_address = (unsigned long)nmi;
|
|
+ };
|
|
|
|
- cb.handler_address = nmi_cb.address;
|
|
HYPERVISOR_nmi_op(XENNMI_register_callback, &cb);
|
|
}
|
|
#endif
|
|
|