WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [linux-2.6.18-xen] linux/x86: don't build cstate.o and w

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [linux-2.6.18-xen] linux/x86: don't build cstate.o and wakeup.o
From: "Xen patchbot-linux-2.6.18-xen" <patchbot-linux-2.6.18-xen@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 22 Nov 2007 12:01:13 -0800
Delivery-date: Thu, 22 Nov 2007 13:28:10 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1195741711 0
# Node ID a9f723af5e187da97efe374ffd5b7ca8cf493a36
# Parent  f3289de500c37905733faaed4d4bbb6d78a34e0a
linux/x86: don't build cstate.o and wakeup.o

The code in arch/i386/kernel/acpi/cstate.c is (at best) irrelevant for
VMs. The code in arch/{i386,x86_64}/kernel/acpi/wakeup.S is even
dangerous; while not being actively used, its inadvertant use would go
unnoticed.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---
 arch/i386/kernel/acpi/Makefile      |    1 +
 arch/i386/kernel/acpi/sleep-xen.c   |    7 ++++++-
 arch/x86_64/kernel/acpi/Makefile    |    3 +++
 arch/x86_64/kernel/acpi/sleep-xen.c |    7 ++++++-
 include/asm-i386/acpi.h             |    2 ++
 include/asm-x86_64/acpi.h           |    2 ++
 kernel/sysctl.c                     |    2 +-
 7 files changed, 21 insertions(+), 3 deletions(-)

diff -r f3289de500c3 -r a9f723af5e18 arch/i386/kernel/acpi/Makefile
--- a/arch/i386/kernel/acpi/Makefile    Thu Nov 22 14:22:44 2007 +0000
+++ b/arch/i386/kernel/acpi/Makefile    Thu Nov 22 14:28:31 2007 +0000
@@ -6,3 +6,4 @@ obj-y                           += cstate.o processor.o
 obj-y                          += cstate.o processor.o
 endif
 
+disabled-obj-$(CONFIG_XEN)     := cstate.o wakeup.o
diff -r f3289de500c3 -r a9f723af5e18 arch/i386/kernel/acpi/sleep-xen.c
--- a/arch/i386/kernel/acpi/sleep-xen.c Thu Nov 22 14:22:44 2007 +0000
+++ b/arch/i386/kernel/acpi/sleep-xen.c Thu Nov 22 14:28:31 2007 +0000
@@ -12,12 +12,14 @@
 
 #include <asm/smp.h>
 
+#ifndef CONFIG_ACPI_PV_SLEEP
 /* address in low memory of the wakeup routine. */
 unsigned long acpi_wakeup_address = 0;
 unsigned long acpi_video_flags;
 extern char wakeup_start, wakeup_end;
 
 extern unsigned long FASTCALL(acpi_copy_wakeup_routine(unsigned long));
+#endif
 
 /**
  * acpi_save_state_mem - save kernel state
@@ -54,6 +56,7 @@ void acpi_restore_state_mem(void)
  */
 void __init acpi_reserve_bootmem(void)
 {
+#ifndef CONFIG_ACPI_PV_SLEEP
        if ((&wakeup_end - &wakeup_start) > PAGE_SIZE) {
                printk(KERN_ERR
                       "ACPI: Wakeup code way too big, S3 disabled.\n");
@@ -63,8 +66,10 @@ void __init acpi_reserve_bootmem(void)
        acpi_wakeup_address = (unsigned long)alloc_bootmem_low(PAGE_SIZE);
        if (!acpi_wakeup_address)
                printk(KERN_ERR "ACPI: Cannot allocate lowmem, S3 disabled.\n");
+#endif
 }
 
+#ifndef CONFIG_ACPI_PV_SLEEP
 static int __init acpi_sleep_setup(char *str)
 {
        while ((str != NULL) && (*str != '\0')) {
@@ -106,7 +111,7 @@ static int __init acpisleep_dmi_init(voi
 
 core_initcall(acpisleep_dmi_init);
 
-#ifdef CONFIG_ACPI_PV_SLEEP
+#else /* CONFIG_ACPI_PV_SLEEP */
 #include <asm/hypervisor.h>
 #include <xen/interface/platform.h>
 int acpi_notify_hypervisor_state(u8 sleep_state,
diff -r f3289de500c3 -r a9f723af5e18 arch/x86_64/kernel/acpi/Makefile
--- a/arch/x86_64/kernel/acpi/Makefile  Thu Nov 22 14:22:44 2007 +0000
+++ b/arch/x86_64/kernel/acpi/Makefile  Thu Nov 22 14:28:31 2007 +0000
@@ -5,4 +5,7 @@ ifneq ($(CONFIG_ACPI_PROCESSOR),)
 ifneq ($(CONFIG_ACPI_PROCESSOR),)
 obj-y                  += processor.o
 processor-y            := ../../../i386/kernel/acpi/processor.o 
../../../i386/kernel/acpi/cstate.o
+processor-$(CONFIG_XEN)        := ../../../i386/kernel/acpi/processor.o
 endif
+
+disabled-obj-$(CONFIG_XEN) := wakeup.o
diff -r f3289de500c3 -r a9f723af5e18 arch/x86_64/kernel/acpi/sleep-xen.c
--- a/arch/x86_64/kernel/acpi/sleep-xen.c       Thu Nov 22 14:22:44 2007 +0000
+++ b/arch/x86_64/kernel/acpi/sleep-xen.c       Thu Nov 22 14:28:31 2007 +0000
@@ -53,6 +53,7 @@
 
 #ifdef CONFIG_ACPI_SLEEP
 
+#ifndef CONFIG_ACPI_PV_SLEEP
 /* address in low memory of the wakeup routine. */
 unsigned long acpi_wakeup_address = 0;
 unsigned long acpi_video_flags;
@@ -70,6 +71,7 @@ static void init_low_mapping(void)
        WARN_ON(num_online_cpus() != 1);
        local_flush_tlb();
 }
+#endif
 
 /**
  * acpi_save_state_mem - save kernel state
@@ -110,12 +112,15 @@ void acpi_restore_state_mem(void)
  */
 void __init acpi_reserve_bootmem(void)
 {
+#ifndef CONFIG_ACPI_PV_SLEEP
        acpi_wakeup_address = (unsigned long)alloc_bootmem_low(PAGE_SIZE);
        if ((&wakeup_end - &wakeup_start) > PAGE_SIZE)
                printk(KERN_CRIT
                       "ACPI: Wakeup code way too big, will crash on attempt to 
suspend\n");
+#endif
 }
 
+#ifndef CONFIG_ACPI_PV_SLEEP
 static int __init acpi_sleep_setup(char *str)
 {
        while ((str != NULL) && (*str != '\0')) {
@@ -133,7 +138,7 @@ static int __init acpi_sleep_setup(char 
 
 __setup("acpi_sleep=", acpi_sleep_setup);
 
-#ifdef CONFIG_ACPI_PV_SLEEP
+#else /* CONFIG_ACPI_PV_SLEEP */
 #include <asm/hypervisor.h>
 #include <xen/interface/platform.h>
 int acpi_notify_hypervisor_state(u8 sleep_state,
diff -r f3289de500c3 -r a9f723af5e18 include/asm-i386/acpi.h
--- a/include/asm-i386/acpi.h   Thu Nov 22 14:22:44 2007 +0000
+++ b/include/asm-i386/acpi.h   Thu Nov 22 14:28:31 2007 +0000
@@ -185,7 +185,9 @@ extern int acpi_notify_hypervisor_state(
 
 extern u8 x86_acpiid_to_apicid[];
 
+#ifndef CONFIG_XEN
 #define ARCH_HAS_POWER_INIT    1
+#endif
 
 #endif /*__KERNEL__*/
 
diff -r f3289de500c3 -r a9f723af5e18 include/asm-x86_64/acpi.h
--- a/include/asm-x86_64/acpi.h Thu Nov 22 14:22:44 2007 +0000
+++ b/include/asm-x86_64/acpi.h Thu Nov 22 14:28:31 2007 +0000
@@ -166,7 +166,9 @@ extern int acpi_pci_disabled;
 
 extern u8 x86_acpiid_to_apicid[];
 
+#ifndef CONFIG_XEN
 #define ARCH_HAS_POWER_INIT 1
+#endif
 
 extern int acpi_skip_timer_override;
 
diff -r f3289de500c3 -r a9f723af5e18 kernel/sysctl.c
--- a/kernel/sysctl.c   Thu Nov 22 14:22:44 2007 +0000
+++ b/kernel/sysctl.c   Thu Nov 22 14:28:31 2007 +0000
@@ -661,7 +661,7 @@ static ctl_table kern_table[] = {
                .proc_handler   = &proc_dointvec,
        },
 #endif
-#ifdef CONFIG_ACPI_SLEEP
+#if defined(CONFIG_ACPI_SLEEP) && !defined(CONFIG_ACPI_PV_SLEEP)
        {
                .ctl_name       = KERN_ACPI_VIDEO_FLAGS,
                .procname       = "acpi_video_flags",

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [linux-2.6.18-xen] linux/x86: don't build cstate.o and wakeup.o, Xen patchbot-linux-2.6.18-xen <=