x86, asmlinkage, power: Make various symbols used by the suspend asm code visible
authorAndi Kleen <ak@linux.intel.com>
Mon, 5 Aug 2013 22:02:49 +0000 (15:02 -0700)
committerH. Peter Anvin <hpa@linux.intel.com>
Tue, 6 Aug 2013 21:21:03 +0000 (14:21 -0700)
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Link: http://lkml.kernel.org/r/1375740170-7446-16-git-send-email-andi@firstfloor.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/power/cpu.c
arch/x86/power/hibernate_64.c
kernel/power/hibernate.c

index 1cf5b300305efd5aab9f19a430ded8b9ddf24f08..424f4c97a44d5d1a76aa991928575f798172f781 100644 (file)
 #include <asm/cpu.h>
 
 #ifdef CONFIG_X86_32
-unsigned long saved_context_ebx;
-unsigned long saved_context_esp, saved_context_ebp;
-unsigned long saved_context_esi, saved_context_edi;
-unsigned long saved_context_eflags;
+__visible unsigned long saved_context_ebx;
+__visible unsigned long saved_context_esp, saved_context_ebp;
+__visible unsigned long saved_context_esi, saved_context_edi;
+__visible unsigned long saved_context_eflags;
 #endif
 struct saved_context saved_context;
 
index a0fde91c16cf779203bcb0195c6f063be9f303b3..304fca20d96ee3e1540d7045a9e0e25118c240b0 100644 (file)
 #include <asm/suspend.h>
 
 /* References to section boundaries */
-extern const void __nosave_begin, __nosave_end;
+extern __visible const void __nosave_begin, __nosave_end;
 
 /* Defined in hibernate_asm_64.S */
-extern int restore_image(void);
+extern asmlinkage int restore_image(void);
 
 /*
  * Address to jump to in the last phase of restore in order to get to the image
  * kernel's text (this value is passed in the image header).
  */
-unsigned long restore_jump_address;
+unsigned long restore_jump_address __visible;
 
 /*
  * Value of the cr3 register from before the hibernation (this value is passed
  * in the image header).
  */
-unsigned long restore_cr3;
+unsigned long restore_cr3 __visible;
 
-pgd_t *temp_level4_pgt;
+pgd_t *temp_level4_pgt __visible;
 
-void *relocated_restore_code;
+void *relocated_restore_code __visible;
 
 static void *alloc_pgt_page(void *context)
 {
index b26f5f1e773e6b6aa3420ee1fb60c9b8fc6025cc..3085e62a80a5cea43a857cb7b28c50237f71fe39 100644 (file)
@@ -39,7 +39,7 @@ static int resume_delay;
 static char resume_file[256] = CONFIG_PM_STD_PARTITION;
 dev_t swsusp_resume_device;
 sector_t swsusp_resume_block;
-int in_suspend __nosavedata;
+__visible int in_suspend __nosavedata;
 
 enum {
        HIBERNATION_INVALID,