aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/bzimage.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2011-03-09 16:20:13 +0000
committerJan Beulich <jbeulich@novell.com>2011-03-09 16:20:13 +0000
commit48115d14743e4134fcdd0b8766fc59c917ae1e79 (patch)
tree844da1e931139c0b614f55c71ec9433d166c5c19 /xen/arch/x86/bzimage.c
parent4afea3d65321c40bb8afec833c860f92176bfb42 (diff)
downloadxen-48115d14743e4134fcdd0b8766fc59c917ae1e79.tar.gz
xen-48115d14743e4134fcdd0b8766fc59c917ae1e79.tar.bz2
xen-48115d14743e4134fcdd0b8766fc59c917ae1e79.zip
Move more kernel decompression bits to .init.* sections
Based on how c/s 22986:076b63b74cf6 changed xen/libelf/Makefile I suppose this is compatibile with those clang/llvm changes, but I didn't actually test it. Signed-off-by: Jan Beulich <jbeulich@novell.com>
Diffstat (limited to 'xen/arch/x86/bzimage.c')
-rw-r--r--xen/arch/x86/bzimage.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/xen/arch/x86/bzimage.c b/xen/arch/x86/bzimage.c
index 2fa87e063a..d1aecabe35 100644
--- a/xen/arch/x86/bzimage.c
+++ b/xen/arch/x86/bzimage.c
@@ -9,21 +9,21 @@
#define HEAPORDER 3
-static unsigned char *window;
+static unsigned char *__initdata window;
#define memptr long
-static memptr free_mem_ptr;
-static memptr free_mem_end_ptr;
+static memptr __initdata free_mem_ptr;
+static memptr __initdata free_mem_end_ptr;
#define WSIZE 0x80000000
-static unsigned char *inbuf;
-static unsigned insize;
+static unsigned char *__initdata inbuf;
+static unsigned __initdata insize;
/* Index of next byte to be processed in inbuf: */
-static unsigned inptr;
+static unsigned __initdata inptr;
/* Bytes in output buffer: */
-static unsigned outcnt;
+static unsigned __initdata outcnt;
#define OF(args) args
#define STATIC static
@@ -34,7 +34,8 @@ typedef unsigned char uch;
typedef unsigned short ush;
typedef unsigned long ulg;
-#define INIT __init
+#define INIT __init
+#define INITDATA __initdata
#define get_byte() (inptr < insize ? inbuf[inptr++] : fill_inbuf())
@@ -55,7 +56,7 @@ typedef unsigned long ulg;
# define Tracecv(c, x)
#endif
-static long bytes_out;
+static long __initdata bytes_out;
static void flush_window(void);
static __init void error(char *x)