Commit 7f8998c7 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Linus Torvalds

nosave: consolidate __nosave_{begin,end} in <asm/sections.h>

The different architectures used their own (and different) declarations:

    extern __visible const void __nosave_begin, __nosave_end;
    extern const void __nosave_begin, __nosave_end;
    extern long __nosave_begin, __nosave_end;

Consolidate them using the first variant in <asm/sections.h>.
Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 578b25df
...@@ -21,8 +21,7 @@ ...@@ -21,8 +21,7 @@
#include <asm/idmap.h> #include <asm/idmap.h>
#include <asm/suspend.h> #include <asm/suspend.h>
#include <asm/memory.h> #include <asm/memory.h>
#include <asm/sections.h>
extern const void __nosave_begin, __nosave_end;
int pfn_is_nosave(unsigned long pfn) int pfn_is_nosave(unsigned long pfn)
{ {
......
#ifndef __ASM_SUSPEND_H
#define __ASM_SUSPEND_H
/* References to section boundaries */
extern const void __nosave_begin, __nosave_end;
#endif /* __ASM_SUSPEND_H */
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* Author: Hu Hongbing <huhb@lemote.com> * Author: Hu Hongbing <huhb@lemote.com>
* Wu Zhangjin <wuzhangjin@gmail.com> * Wu Zhangjin <wuzhangjin@gmail.com>
*/ */
#include <asm/suspend.h> #include <asm/sections.h>
#include <asm/fpu.h> #include <asm/fpu.h>
#include <asm/dsp.h> #include <asm/dsp.h>
......
...@@ -9,9 +9,7 @@ ...@@ -9,9 +9,7 @@
#include <linux/mm.h> #include <linux/mm.h>
#include <asm/page.h> #include <asm/page.h>
#include <asm/sections.h>
/* References to section boundaries */
extern const void __nosave_begin, __nosave_end;
/* /*
* pfn_is_nosave - check if given pfn is in the 'nosave' section * pfn_is_nosave - check if given pfn is in the 'nosave' section
......
...@@ -13,13 +13,9 @@ ...@@ -13,13 +13,9 @@
#include <asm/ipl.h> #include <asm/ipl.h>
#include <asm/cio.h> #include <asm/cio.h>
#include <asm/pci.h> #include <asm/pci.h>
#include <asm/sections.h>
#include "entry.h" #include "entry.h"
/*
* References to section boundaries
*/
extern const void __nosave_begin, __nosave_end;
/* /*
* The restore of the saved pages in an hibernation image will set * The restore of the saved pages in an hibernation image will set
* the change and referenced bits in the storage key for each page. * the change and referenced bits in the storage key for each page.
......
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
#include <asm-generic/sections.h> #include <asm-generic/sections.h>
extern long __nosave_begin, __nosave_end;
extern long __machvec_start, __machvec_end; extern long __machvec_start, __machvec_end;
extern char __uncached_start, __uncached_end; extern char __uncached_start, __uncached_end;
extern char __start_eh_frame[], __stop_eh_frame[]; extern char __start_eh_frame[], __stop_eh_frame[];
......
...@@ -9,11 +9,9 @@ ...@@ -9,11 +9,9 @@
#include <asm/hibernate.h> #include <asm/hibernate.h>
#include <asm/visasm.h> #include <asm/visasm.h>
#include <asm/page.h> #include <asm/page.h>
#include <asm/sections.h>
#include <asm/tlb.h> #include <asm/tlb.h>
/* References to section boundaries */
extern const void __nosave_begin, __nosave_end;
struct saved_context saved_context; struct saved_context saved_context;
/* /*
......
...@@ -36,8 +36,5 @@ extern int puv3_pm_enter(suspend_state_t state); ...@@ -36,8 +36,5 @@ extern int puv3_pm_enter(suspend_state_t state);
/* Defined in hibernate_asm.S */ /* Defined in hibernate_asm.S */
extern int restore_image(pgd_t *resume_pg_dir, struct pbe *restore_pblist); extern int restore_image(pgd_t *resume_pg_dir, struct pbe *restore_pblist);
/* References to section boundaries */
extern const void __nosave_begin, __nosave_end;
extern struct pbe *restore_pblist; extern struct pbe *restore_pblist;
#endif #endif
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
#include <asm/page.h> #include <asm/page.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
#include <asm/pgalloc.h> #include <asm/pgalloc.h>
#include <asm/sections.h>
#include <asm/suspend.h> #include <asm/suspend.h>
#include "mach/pm.h" #include "mach/pm.h"
......
...@@ -13,13 +13,11 @@ ...@@ -13,13 +13,11 @@
#include <asm/page.h> #include <asm/page.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
#include <asm/mmzone.h> #include <asm/mmzone.h>
#include <asm/sections.h>
/* Defined in hibernate_asm_32.S */ /* Defined in hibernate_asm_32.S */
extern int restore_image(void); extern int restore_image(void);
/* References to section boundaries */
extern const void __nosave_begin, __nosave_end;
/* Pointer to the temporary resume page tables */ /* Pointer to the temporary resume page tables */
pgd_t *resume_pg_dir; pgd_t *resume_pg_dir;
......
...@@ -17,11 +17,9 @@ ...@@ -17,11 +17,9 @@
#include <asm/page.h> #include <asm/page.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
#include <asm/mtrr.h> #include <asm/mtrr.h>
#include <asm/sections.h>
#include <asm/suspend.h> #include <asm/suspend.h>
/* References to section boundaries */
extern __visible const void __nosave_begin, __nosave_end;
/* Defined in hibernate_asm_64.S */ /* Defined in hibernate_asm_64.S */
extern asmlinkage __visible int restore_image(void); extern asmlinkage __visible int restore_image(void);
......
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
/* References to section boundaries */ /* References to section boundaries */
#include <linux/compiler.h>
/* /*
* Usage guidelines: * Usage guidelines:
* _text, _data: architecture specific, don't use them in arch-independent code * _text, _data: architecture specific, don't use them in arch-independent code
...@@ -37,6 +39,8 @@ extern char __start_rodata[], __end_rodata[]; ...@@ -37,6 +39,8 @@ extern char __start_rodata[], __end_rodata[];
/* Start and end of .ctors section - used for constructor calls. */ /* Start and end of .ctors section - used for constructor calls. */
extern char __ctors_start[], __ctors_end[]; extern char __ctors_start[], __ctors_end[];
extern __visible const void __nosave_begin, __nosave_end;
/* function descriptor handling (if any). Override /* function descriptor handling (if any). Override
* in asm/sections.h */ * in asm/sections.h */
#ifndef dereference_function_descriptor #ifndef dereference_function_descriptor
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment