linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/9] x86: Unify whitespace and comments in arch/x86/boot/compressed/vmlinux_??.lds
@ 2008-01-26 11:54 Ian Campbell
  2008-01-26 11:54 ` [PATCH 2/9] x86: Unify whitespace in arch/x86/boot/compressed/vmlinux_??.scr Ian Campbell
  0 siblings, 1 reply; 18+ messages in thread
From: Ian Campbell @ 2008-01-26 11:54 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ian Campbell, Thomas Gleixner, Ingo Molnar, H. Peter Anvin

size reports no change in arch/x86/boot/compressed/vmlinux.

Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
---
 arch/x86/boot/compressed/vmlinux_32.lds |    6 +++---
 arch/x86/boot/compressed/vmlinux_64.lds |    4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/x86/boot/compressed/vmlinux_32.lds b/arch/x86/boot/compressed/vmlinux_32.lds
index cc4854f..d98ab69 100644
--- a/arch/x86/boot/compressed/vmlinux_32.lds
+++ b/arch/x86/boot/compressed/vmlinux_32.lds
@@ -3,10 +3,10 @@ OUTPUT_ARCH(i386)
 ENTRY(startup_32)
 SECTIONS
 {
-        /* Be careful parts of head.S assume startup_32 is at
-         * address 0.
+	/* Be careful parts of head_32.S assume startup_32 is at
+	 * address 0.
 	 */
-	. =  0 	;
+	. = 0;
 	.text.head : {
 		_head = . ;
 		*(.text.head)
diff --git a/arch/x86/boot/compressed/vmlinux_64.lds b/arch/x86/boot/compressed/vmlinux_64.lds
index 94c13e5..8d63b3a 100644
--- a/arch/x86/boot/compressed/vmlinux_64.lds
+++ b/arch/x86/boot/compressed/vmlinux_64.lds
@@ -3,8 +3,8 @@ OUTPUT_ARCH(i386:x86-64)
 ENTRY(startup_64)
 SECTIONS
 {
-	/* Be careful parts of head.S assume startup_32 is at
- 	 * address 0.
+	/* Be careful parts of head_64.S assume startup_64 is at
+	 * address 0.
 	 */
 	. = 0;
 	.text :	{
-- 
1.5.3.8


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 2/9] x86: Unify whitespace in arch/x86/boot/compressed/vmlinux_??.scr
  2008-01-26 11:54 [PATCH 1/9] x86: Unify whitespace and comments in arch/x86/boot/compressed/vmlinux_??.lds Ian Campbell
@ 2008-01-26 11:54 ` Ian Campbell
  2008-01-26 11:54   ` [PATCH 3/9] x86_64: Switch to .data.compressed in arch/x86/boot/compressed/vmlinux_64.scr Ian Campbell
  0 siblings, 1 reply; 18+ messages in thread
From: Ian Campbell @ 2008-01-26 11:54 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ian Campbell, Thomas Gleixner, Ingo Molnar, H. Peter Anvin

size reports no change in arch/x86/boot/compressed/vmlinux.

Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
---
 arch/x86/boot/compressed/vmlinux_32.scr |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/x86/boot/compressed/vmlinux_32.scr b/arch/x86/boot/compressed/vmlinux_32.scr
index 707a88f..a549526 100644
--- a/arch/x86/boot/compressed/vmlinux_32.scr
+++ b/arch/x86/boot/compressed/vmlinux_32.scr
@@ -2,9 +2,9 @@ SECTIONS
 {
   .data.compressed : {
 	input_len = .;
-	LONG(input_data_end - input_data) input_data = .; 
-	*(.data) 
+	LONG(input_data_end - input_data) input_data = .;
+	*(.data)
 	output_len = . - 4;
-	input_data_end = .; 
+	input_data_end = .;
 	}
 }
-- 
1.5.3.8


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 3/9] x86_64: Switch to .data.compressed in arch/x86/boot/compressed/vmlinux_64.scr
  2008-01-26 11:54 ` [PATCH 2/9] x86: Unify whitespace in arch/x86/boot/compressed/vmlinux_??.scr Ian Campbell
@ 2008-01-26 11:54   ` Ian Campbell
  2008-01-26 11:54     ` [PATCH 4/9] x86_64: Unify arch/x86/boot/compressed/vmlinux_??.scr Ian Campbell
  2008-01-27  0:59     ` [PATCH 3/9] x86_64: Switch to .data.compressed in arch/x86/boot/compressed/vmlinux_64.scr Yinghai Lu
  0 siblings, 2 replies; 18+ messages in thread
From: Ian Campbell @ 2008-01-26 11:54 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ian Campbell, Thomas Gleixner, Ingo Molnar, H. Peter Anvin

This makes the file identical to vmlinux_32.scr.

size shows an expected movement from .text to .data and 4 extra bytes
of padding.

Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
---
 arch/x86/boot/compressed/vmlinux_64.lds |    8 ++++++--
 arch/x86/boot/compressed/vmlinux_64.scr |    2 +-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/arch/x86/boot/compressed/vmlinux_64.lds b/arch/x86/boot/compressed/vmlinux_64.lds
index 8d63b3a..fe1baf5 100644
--- a/arch/x86/boot/compressed/vmlinux_64.lds
+++ b/arch/x86/boot/compressed/vmlinux_64.lds
@@ -7,11 +7,15 @@ SECTIONS
 	 * address 0.
 	 */
 	. = 0;
-	.text :	{
+	.text.head : {
 		_head = . ;
 		*(.text.head)
 		_ehead = . ;
-		*(.text.compressed)
+	}
+	.data.compressed : {
+		*(.data.compressed)
+	}
+	.text :	{
 		_text = .; 	/* Text */
 		*(.text)
 		*(.text.*)
diff --git a/arch/x86/boot/compressed/vmlinux_64.scr b/arch/x86/boot/compressed/vmlinux_64.scr
index bd1429c..a549526 100644
--- a/arch/x86/boot/compressed/vmlinux_64.scr
+++ b/arch/x86/boot/compressed/vmlinux_64.scr
@@ -1,6 +1,6 @@
 SECTIONS
 {
-  .text.compressed : {
+  .data.compressed : {
 	input_len = .;
 	LONG(input_data_end - input_data) input_data = .;
 	*(.data)
-- 
1.5.3.8


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 4/9] x86_64: Unify arch/x86/boot/compressed/vmlinux_??.scr
  2008-01-26 11:54   ` [PATCH 3/9] x86_64: Switch to .data.compressed in arch/x86/boot/compressed/vmlinux_64.scr Ian Campbell
@ 2008-01-26 11:54     ` Ian Campbell
  2008-01-26 11:54       ` [PATCH 5/9] x86: Unify strings in arch/x86/boot/compressed/misc_??.c Ian Campbell
  2008-01-27  0:59     ` [PATCH 3/9] x86_64: Switch to .data.compressed in arch/x86/boot/compressed/vmlinux_64.scr Yinghai Lu
  1 sibling, 1 reply; 18+ messages in thread
From: Ian Campbell @ 2008-01-26 11:54 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ian Campbell, Thomas Gleixner, Ingo Molnar, H. Peter Anvin

The files are now identical so merge them.

size reports no change in arch/x86/boot/compressed/vmlinux.

Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
---
 arch/x86/boot/compressed/Makefile                  |    2 +-
 .../compressed/{vmlinux_32.scr => vmlinux.scr}     |    0 
 arch/x86/boot/compressed/vmlinux_64.scr            |   10 ----------
 3 files changed, 1 insertions(+), 11 deletions(-)
 rename arch/x86/boot/compressed/{vmlinux_32.scr => vmlinux.scr} (100%)
 delete mode 100644 arch/x86/boot/compressed/vmlinux_64.scr

diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile
index d6ae347..baffeaf 100644
--- a/arch/x86/boot/compressed/Makefile
+++ b/arch/x86/boot/compressed/Makefile
@@ -59,5 +59,5 @@ LDFLAGS_piggy.o := -r --format binary --oformat elf64-x86-64 -T
 endif
 
 
-$(obj)/piggy.o: $(obj)/vmlinux_$(BITS).scr $(obj)/vmlinux.bin.gz FORCE
+$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.gz FORCE
 	$(call if_changed,ld)
diff --git a/arch/x86/boot/compressed/vmlinux_32.scr b/arch/x86/boot/compressed/vmlinux.scr
similarity index 100%
rename from arch/x86/boot/compressed/vmlinux_32.scr
rename to arch/x86/boot/compressed/vmlinux.scr
diff --git a/arch/x86/boot/compressed/vmlinux_64.scr b/arch/x86/boot/compressed/vmlinux_64.scr
deleted file mode 100644
index a549526..0000000
--- a/arch/x86/boot/compressed/vmlinux_64.scr
+++ /dev/null
@@ -1,10 +0,0 @@
-SECTIONS
-{
-  .data.compressed : {
-	input_len = .;
-	LONG(input_data_end - input_data) input_data = .;
-	*(.data)
-	output_len = . - 4;
-	input_data_end = .;
-	}
-}
-- 
1.5.3.8


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 5/9] x86: Unify strings in arch/x86/boot/compressed/misc_??.c
  2008-01-26 11:54     ` [PATCH 4/9] x86_64: Unify arch/x86/boot/compressed/vmlinux_??.scr Ian Campbell
@ 2008-01-26 11:54       ` Ian Campbell
  2008-01-26 11:54         ` [PATCH 6/9] x86: Unify whitespace and comments " Ian Campbell
  2008-01-27  1:03         ` [PATCH 5/9] x86: Unify strings in arch/x86/boot/compressed/misc_??.c Yinghai Lu
  0 siblings, 2 replies; 18+ messages in thread
From: Ian Campbell @ 2008-01-26 11:54 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ian Campbell, Thomas Gleixner, Ingo Molnar, H. Peter Anvin

It seems pretty arbitrary which version survives, so I chose the 32
bit version.

Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
---
 arch/x86/boot/compressed/misc_64.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/boot/compressed/misc_64.c b/arch/x86/boot/compressed/misc_64.c
index 8c1573b..bd822b7 100644
--- a/arch/x86/boot/compressed/misc_64.c
+++ b/arch/x86/boot/compressed/misc_64.c
@@ -372,8 +372,8 @@ asmlinkage void decompress_kernel(void *rmode, unsigned long heap,
 		error("Destination address too large");
 
 	makecrc();
-	putstr(".\nDecompressing Linux...");
+	putstr("Uncompressing Linux... ");
 	gunzip();
-	putstr("done.\nBooting the kernel.\n");
+	putstr("Ok, booting the kernel.\n");
 	return;
 }
-- 
1.5.3.8


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 6/9] x86: Unify whitespace and comments in arch/x86/boot/compressed/misc_??.c
  2008-01-26 11:54       ` [PATCH 5/9] x86: Unify strings in arch/x86/boot/compressed/misc_??.c Ian Campbell
@ 2008-01-26 11:54         ` Ian Campbell
  2008-01-26 11:54           ` [PATCH 7/9] x86: Unify headers " Ian Campbell
  2008-01-27  1:03         ` [PATCH 5/9] x86: Unify strings in arch/x86/boot/compressed/misc_??.c Yinghai Lu
  1 sibling, 1 reply; 18+ messages in thread
From: Ian Campbell @ 2008-01-26 11:54 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ian Campbell, Thomas Gleixner, Ingo Molnar, H. Peter Anvin

size reports no change in arch/x86/boot/compressed/vmlinux.

Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
---
 arch/x86/boot/compressed/misc_32.c |   20 +++++++++++++-------
 arch/x86/boot/compressed/misc_64.c |   13 +++++++------
 2 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/arch/x86/boot/compressed/misc_32.c b/arch/x86/boot/compressed/misc_32.c
index 5a0281c..b659776 100644
--- a/arch/x86/boot/compressed/misc_32.c
+++ b/arch/x86/boot/compressed/misc_32.c
@@ -1,7 +1,7 @@
 /*
  * misc.c
- * 
- * This is a collection of several routines from gzip-1.0.3 
+ *
+ * This is a collection of several routines from gzip-1.0.3
  * adapted for Linux.
  *
  * malloc by Hannu Savolainen 1993 and Matthias Urlichs 1994
@@ -9,6 +9,11 @@
  * High loaded stuff by Hans Lermen & Werner Almesberger, Feb. 1996
  */
 
+/*
+ * we have to be careful, because no indirections are allowed here, and
+ * paravirt_ops is a kind of one. As it will only run in baremetal anyway,
+ * we just keep it from happening
+ */
 #undef CONFIG_PARAVIRT
 #include <linux/linkage.h>
 #include <linux/vmalloc.h>
@@ -261,7 +266,7 @@ static void putstr(const char *s)
 				y--;
 			}
 		} else {
-			vidmem [ ( x + cols * y ) * 2 ] = c;
+			vidmem [(x + cols * y) * 2] = c;
 			if ( ++x >= cols ) {
 				x = 0;
 				if ( ++y >= lines ) {
@@ -345,7 +350,8 @@ static void error(char *x)
 }
 
 asmlinkage void decompress_kernel(void *rmode, unsigned long end,
-			uch *input_data, unsigned long input_len, uch *output)
+				  uch *input_data, unsigned long input_len,
+				  uch *output)
 {
 	real_mode = rmode;
 
@@ -360,10 +366,10 @@ asmlinkage void decompress_kernel(void *rmode, unsigned long end,
 	lines = RM_SCREEN_INFO.orig_video_lines;
 	cols = RM_SCREEN_INFO.orig_video_cols;
 
-	window = output;  	/* Output buffer (Normally at 1M) */
-	free_mem_ptr     = end;	/* Heap  */
+	window = output;		/* Output buffer (Normally at 1M) */
+	free_mem_ptr     = end;		/* Heap */
 	free_mem_end_ptr = end + HEAP_SIZE;
-	inbuf  = input_data;	/* Input buffer */
+	inbuf  = input_data;		/* Input buffer */
 	insize = input_len;
 	inptr  = 0;
 
diff --git a/arch/x86/boot/compressed/misc_64.c b/arch/x86/boot/compressed/misc_64.c
index bd822b7..b627e00 100644
--- a/arch/x86/boot/compressed/misc_64.c
+++ b/arch/x86/boot/compressed/misc_64.c
@@ -1,7 +1,7 @@
 /*
  * misc.c
- * 
- * This is a collection of several routines from gzip-1.0.3 
+ *
+ * This is a collection of several routines from gzip-1.0.3
  * adapted for Linux.
  *
  * malloc by Hannu Savolainen 1993 and Matthias Urlichs 1994
@@ -260,7 +260,7 @@ static void putstr(const char *s)
 				y--;
 			}
 		} else {
-			vidmem [ ( x + cols * y ) * 2 ] = c; 
+			vidmem [(x + cols * y) * 2] = c;
 			if ( ++x >= cols ) {
 				x = 0;
 				if ( ++y >= lines ) {
@@ -344,7 +344,8 @@ static void error(char *x)
 }
 
 asmlinkage void decompress_kernel(void *rmode, unsigned long heap,
-	uch *input_data, unsigned long input_len, uch *output)
+				  uch *input_data, unsigned long input_len,
+				  uch *output)
 {
 	real_mode = rmode;
 
@@ -359,8 +360,8 @@ asmlinkage void decompress_kernel(void *rmode, unsigned long heap,
 	lines = RM_SCREEN_INFO.orig_video_lines;
 	cols = RM_SCREEN_INFO.orig_video_cols;
 
-	window = output;  		/* Output buffer (Normally at 1M) */
-	free_mem_ptr     = heap;	/* Heap  */
+	window = output;		/* Output buffer (Normally at 1M) */
+	free_mem_ptr     = heap;	/* Heap */
 	free_mem_end_ptr = heap + HEAP_SIZE;
 	inbuf  = input_data;		/* Input buffer */
 	insize = input_len;
-- 
1.5.3.8


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 7/9] x86: Unify headers in arch/x86/boot/compressed/misc_??.c
  2008-01-26 11:54         ` [PATCH 6/9] x86: Unify whitespace and comments " Ian Campbell
@ 2008-01-26 11:54           ` Ian Campbell
  2008-01-26 11:54             ` [PATCH 8/9] x86: Unify variable names " Ian Campbell
  0 siblings, 1 reply; 18+ messages in thread
From: Ian Campbell @ 2008-01-26 11:54 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ian Campbell, Thomas Gleixner, Ingo Molnar, H. Peter Anvin

size reports no change in arch/x86/boot/compressed/vmlinux.

Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
---
 arch/x86/boot/compressed/misc_32.c |    1 -
 arch/x86/boot/compressed/misc_64.c |    1 +
 2 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/x86/boot/compressed/misc_32.c b/arch/x86/boot/compressed/misc_32.c
index b659776..7522b64 100644
--- a/arch/x86/boot/compressed/misc_32.c
+++ b/arch/x86/boot/compressed/misc_32.c
@@ -16,7 +16,6 @@
  */
 #undef CONFIG_PARAVIRT
 #include <linux/linkage.h>
-#include <linux/vmalloc.h>
 #include <linux/screen_info.h>
 #include <asm/io.h>
 #include <asm/page.h>
diff --git a/arch/x86/boot/compressed/misc_64.c b/arch/x86/boot/compressed/misc_64.c
index b627e00..04f5435 100644
--- a/arch/x86/boot/compressed/misc_64.c
+++ b/arch/x86/boot/compressed/misc_64.c
@@ -22,6 +22,7 @@
 #include <linux/screen_info.h>
 #include <asm/io.h>
 #include <asm/page.h>
+#include <asm/boot.h>
 
 /* WARNING!!
  * This code is compiled with -fPIC and it is relocated dynamically
-- 
1.5.3.8


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 8/9] x86: Unify variable names in arch/x86/boot/compressed/misc_??.c
  2008-01-26 11:54           ` [PATCH 7/9] x86: Unify headers " Ian Campbell
@ 2008-01-26 11:54             ` Ian Campbell
  2008-01-26 11:54               ` [PATCH 9/9] x86: Unify arch/x86/boot/compressed/misc_??.c Ian Campbell
  0 siblings, 1 reply; 18+ messages in thread
From: Ian Campbell @ 2008-01-26 11:54 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ian Campbell, Thomas Gleixner, Ingo Molnar, H. Peter Anvin

size reports no change in arch/x86/boot/compressed/vmlinux.

Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
---
 arch/x86/boot/compressed/misc_32.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/boot/compressed/misc_32.c b/arch/x86/boot/compressed/misc_32.c
index 7522b64..9f963af 100644
--- a/arch/x86/boot/compressed/misc_32.c
+++ b/arch/x86/boot/compressed/misc_32.c
@@ -348,7 +348,7 @@ static void error(char *x)
 		asm("hlt");
 }
 
-asmlinkage void decompress_kernel(void *rmode, unsigned long end,
+asmlinkage void decompress_kernel(void *rmode, unsigned long heap,
 				  uch *input_data, unsigned long input_len,
 				  uch *output)
 {
@@ -366,15 +366,15 @@ asmlinkage void decompress_kernel(void *rmode, unsigned long end,
 	cols = RM_SCREEN_INFO.orig_video_cols;
 
 	window = output;		/* Output buffer (Normally at 1M) */
-	free_mem_ptr     = end;		/* Heap */
-	free_mem_end_ptr = end + HEAP_SIZE;
+	free_mem_ptr     = heap;	/* Heap */
+	free_mem_end_ptr = heap + HEAP_SIZE;
 	inbuf  = input_data;		/* Input buffer */
 	insize = input_len;
 	inptr  = 0;
 
 	if ((u32)output & (CONFIG_PHYSICAL_ALIGN -1))
 		error("Destination address not CONFIG_PHYSICAL_ALIGN aligned");
-	if (end > ((-__PAGE_OFFSET-(512 <<20)-1) & 0x7fffffff))
+	if (heap > ((-__PAGE_OFFSET-(512<<20)-1) & 0x7fffffff))
 		error("Destination address too large");
 #ifndef CONFIG_RELOCATABLE
 	if ((u32)output != LOAD_PHYSICAL_ADDR)
-- 
1.5.3.8


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 9/9] x86: Unify arch/x86/boot/compressed/misc_??.c
  2008-01-26 11:54             ` [PATCH 8/9] x86: Unify variable names " Ian Campbell
@ 2008-01-26 11:54               ` Ian Campbell
  0 siblings, 0 replies; 18+ messages in thread
From: Ian Campbell @ 2008-01-26 11:54 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ian Campbell, Thomas Gleixner, Ingo Molnar, H. Peter Anvin

Remainder of unification can occur inplace.

size reports no change in arch/x86/boot/compressed/vmlinux.

Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
---
 arch/x86/boot/compressed/Makefile              |    4 +-
 arch/x86/boot/compressed/{misc_32.c => misc.c} |   32 ++-
 arch/x86/boot/compressed/misc_64.c             |  381 ------------------------
 3 files changed, 30 insertions(+), 387 deletions(-)
 rename arch/x86/boot/compressed/{misc_32.c => misc.c} (94%)
 delete mode 100644 arch/x86/boot/compressed/misc_64.c

diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile
index baffeaf..fe24cea 100644
--- a/arch/x86/boot/compressed/Makefile
+++ b/arch/x86/boot/compressed/Makefile
@@ -4,7 +4,7 @@
 # create a compressed vmlinux image from the original vmlinux
 #
 
-targets := vmlinux vmlinux.bin vmlinux.bin.gz head_$(BITS).o misc_$(BITS).o piggy.o
+targets := vmlinux vmlinux.bin vmlinux.bin.gz head_$(BITS).o misc.o piggy.o
 
 KBUILD_CFLAGS := -m$(BITS) -D__KERNEL__ $(LINUX_INCLUDE) -O2
 KBUILD_CFLAGS += -fno-strict-aliasing -fPIC
@@ -18,7 +18,7 @@ KBUILD_AFLAGS  := $(KBUILD_CFLAGS) -D__ASSEMBLY__
 LDFLAGS := -m elf_$(UTS_MACHINE)
 LDFLAGS_vmlinux := -T
 
-$(obj)/vmlinux: $(src)/vmlinux_$(BITS).lds $(obj)/head_$(BITS).o $(obj)/misc_$(BITS).o $(obj)/piggy.o FORCE
+$(obj)/vmlinux: $(src)/vmlinux_$(BITS).lds $(obj)/head_$(BITS).o $(obj)/misc.o $(obj)/piggy.o FORCE
 	$(call if_changed,ld)
 	@:
 
diff --git a/arch/x86/boot/compressed/misc_32.c b/arch/x86/boot/compressed/misc.c
similarity index 94%
rename from arch/x86/boot/compressed/misc_32.c
rename to arch/x86/boot/compressed/misc.c
index 9f963af..4b1b284 100644
--- a/arch/x86/boot/compressed/misc_32.c
+++ b/arch/x86/boot/compressed/misc.c
@@ -15,6 +15,11 @@
  * we just keep it from happening
  */
 #undef CONFIG_PARAVIRT
+#ifdef CONFIG_X86_64
+#define _LINUX_STRING_H_ 1
+#define __LINUX_BITMAP_H 1
+#endif
+
 #include <linux/linkage.h>
 #include <linux/screen_info.h>
 #include <asm/io.h>
@@ -190,10 +195,20 @@ static void *memcpy(void *dest, const void *src, unsigned n);
 
 static void putstr(const char *);
 
-static unsigned long free_mem_ptr;
-static unsigned long free_mem_end_ptr;
+#ifdef CONFIG_X86_64
+#define memptr long
+#else
+#define memptr unsigned
+#endif
+
+static memptr free_mem_ptr;
+static memptr free_mem_end_ptr;
 
+#ifdef CONFIG_X86_64
+#define HEAP_SIZE             0x7000
+#else
 #define HEAP_SIZE             0x4000
+#endif
 
 static char *vidmem = (char *)0xb8000;
 static int vidport;
@@ -234,7 +249,7 @@ static void gzip_mark(void **ptr)
 
 static void gzip_release(void **ptr)
 {
-	free_mem_ptr = (unsigned long) *ptr;
+	free_mem_ptr = (memptr) *ptr;
 }
  
 static void scroll(void)
@@ -251,8 +266,10 @@ static void putstr(const char *s)
 	int x,y,pos;
 	char c;
 
+#ifdef CONFIG_X86_32
 	if (RM_SCREEN_INFO.orig_video_mode == 0 && lines == 0 && cols == 0)
 		return;
+#endif
 
 	x = RM_SCREEN_INFO.orig_x;
 	y = RM_SCREEN_INFO.orig_y;
@@ -348,7 +365,7 @@ static void error(char *x)
 		asm("hlt");
 }
 
-asmlinkage void decompress_kernel(void *rmode, unsigned long heap,
+asmlinkage void decompress_kernel(void *rmode, memptr heap,
 				  uch *input_data, unsigned long input_len,
 				  uch *output)
 {
@@ -372,6 +389,12 @@ asmlinkage void decompress_kernel(void *rmode, unsigned long heap,
 	insize = input_len;
 	inptr  = 0;
 
+#ifdef CONFIG_X86_64
+	if ((ulg)output & (__KERNEL_ALIGN - 1))
+		error("Destination address not 2M aligned");
+	if ((ulg)output >= 0xffffffffffUL)
+		error("Destination address too large");
+#else
 	if ((u32)output & (CONFIG_PHYSICAL_ALIGN -1))
 		error("Destination address not CONFIG_PHYSICAL_ALIGN aligned");
 	if (heap > ((-__PAGE_OFFSET-(512<<20)-1) & 0x7fffffff))
@@ -380,6 +403,7 @@ asmlinkage void decompress_kernel(void *rmode, unsigned long heap,
 	if ((u32)output != LOAD_PHYSICAL_ADDR)
 		error("Wrong destination address");
 #endif
+#endif
 
 	makecrc();
 	putstr("Uncompressing Linux... ");
diff --git a/arch/x86/boot/compressed/misc_64.c b/arch/x86/boot/compressed/misc_64.c
deleted file mode 100644
index 04f5435..0000000
--- a/arch/x86/boot/compressed/misc_64.c
+++ /dev/null
@@ -1,381 +0,0 @@
-/*
- * misc.c
- *
- * This is a collection of several routines from gzip-1.0.3
- * adapted for Linux.
- *
- * malloc by Hannu Savolainen 1993 and Matthias Urlichs 1994
- * puts by Nick Holloway 1993, better puts by Martin Mares 1995
- * High loaded stuff by Hans Lermen & Werner Almesberger, Feb. 1996
- */
-
-/*
- * we have to be careful, because no indirections are allowed here, and
- * paravirt_ops is a kind of one. As it will only run in baremetal anyway,
- * we just keep it from happening
- */
-#undef CONFIG_PARAVIRT
-#define _LINUX_STRING_H_ 1
-#define __LINUX_BITMAP_H 1
-
-#include <linux/linkage.h>
-#include <linux/screen_info.h>
-#include <asm/io.h>
-#include <asm/page.h>
-#include <asm/boot.h>
-
-/* WARNING!!
- * This code is compiled with -fPIC and it is relocated dynamically
- * at run time, but no relocation processing is performed.
- * This means that it is not safe to place pointers in static structures.
- */
-
-/*
- * Getting to provable safe in place decompression is hard.
- * Worst case behaviours need to be analyzed.
- * Background information:
- *
- * The file layout is:
- *    magic[2]
- *    method[1]
- *    flags[1]
- *    timestamp[4]
- *    extraflags[1]
- *    os[1]
- *    compressed data blocks[N]
- *    crc[4] orig_len[4]
- *
- * resulting in 18 bytes of non compressed data overhead.
- *
- * Files divided into blocks
- * 1 bit (last block flag)
- * 2 bits (block type)
- *
- * 1 block occurs every 32K -1 bytes or when there 50% compression has been achieved.
- * The smallest block type encoding is always used.
- *
- * stored:
- *    32 bits length in bytes.
- *
- * fixed:
- *    magic fixed tree.
- *    symbols.
- *
- * dynamic:
- *    dynamic tree encoding.
- *    symbols.
- *
- *
- * The buffer for decompression in place is the length of the
- * uncompressed data, plus a small amount extra to keep the algorithm safe.
- * The compressed data is placed at the end of the buffer.  The output
- * pointer is placed at the start of the buffer and the input pointer
- * is placed where the compressed data starts.  Problems will occur
- * when the output pointer overruns the input pointer.
- *
- * The output pointer can only overrun the input pointer if the input
- * pointer is moving faster than the output pointer.  A condition only
- * triggered by data whose compressed form is larger than the uncompressed
- * form.
- *
- * The worst case at the block level is a growth of the compressed data
- * of 5 bytes per 32767 bytes.
- *
- * The worst case internal to a compressed block is very hard to figure.
- * The worst case can at least be boundined by having one bit that represents
- * 32764 bytes and then all of the rest of the bytes representing the very
- * very last byte.
- *
- * All of which is enough to compute an amount of extra data that is required
- * to be safe.  To avoid problems at the block level allocating 5 extra bytes
- * per 32767 bytes of data is sufficient.  To avoind problems internal to a block
- * adding an extra 32767 bytes (the worst case uncompressed block size) is
- * sufficient, to ensure that in the worst case the decompressed data for
- * block will stop the byte before the compressed data for a block begins.
- * To avoid problems with the compressed data's meta information an extra 18
- * bytes are needed.  Leading to the formula:
- *
- * extra_bytes = (uncompressed_size >> 12) + 32768 + 18 + decompressor_size.
- *
- * Adding 8 bytes per 32K is a bit excessive but much easier to calculate.
- * Adding 32768 instead of 32767 just makes for round numbers.
- * Adding the decompressor_size is necessary as it musht live after all
- * of the data as well.  Last I measured the decompressor is about 14K.
- * 10K of actual data and 4K of bss.
- *
- */
-
-/*
- * gzip declarations
- */
-
-#define OF(args)  args
-#define STATIC static
-
-#undef memset
-#undef memcpy
-#define memzero(s, n)     memset ((s), 0, (n))
-
-typedef unsigned char  uch;
-typedef unsigned short ush;
-typedef unsigned long  ulg;
-
-#define WSIZE 0x80000000	/* Window size must be at least 32k,
-				 * and a power of two
-				 * We don't actually have a window just
-				 * a huge output buffer so I report
-				 * a 2G windows size, as that should
-				 * always be larger than our output buffer.
-				 */
-
-static uch *inbuf;	/* input buffer */
-static uch *window;	/* Sliding window buffer, (and final output buffer) */
-
-static unsigned insize;  /* valid bytes in inbuf */
-static unsigned inptr;   /* index of next byte to be processed in inbuf */
-static unsigned outcnt;  /* bytes in output buffer */
-
-/* gzip flag byte */
-#define ASCII_FLAG   0x01 /* bit 0 set: file probably ASCII text */
-#define CONTINUATION 0x02 /* bit 1 set: continuation of multi-part gzip file */
-#define EXTRA_FIELD  0x04 /* bit 2 set: extra field present */
-#define ORIG_NAME    0x08 /* bit 3 set: original file name present */
-#define COMMENT      0x10 /* bit 4 set: file comment present */
-#define ENCRYPTED    0x20 /* bit 5 set: file is encrypted */
-#define RESERVED     0xC0 /* bit 6,7:   reserved */
-
-#define get_byte()  (inptr < insize ? inbuf[inptr++] : fill_inbuf())
-		
-/* Diagnostic functions */
-#ifdef DEBUG
-#  define Assert(cond,msg) {if(!(cond)) error(msg);}
-#  define Trace(x) fprintf x
-#  define Tracev(x) {if (verbose) fprintf x ;}
-#  define Tracevv(x) {if (verbose>1) fprintf x ;}
-#  define Tracec(c,x) {if (verbose && (c)) fprintf x ;}
-#  define Tracecv(c,x) {if (verbose>1 && (c)) fprintf x ;}
-#else
-#  define Assert(cond,msg)
-#  define Trace(x)
-#  define Tracev(x)
-#  define Tracevv(x)
-#  define Tracec(c,x)
-#  define Tracecv(c,x)
-#endif
-
-static int  fill_inbuf(void);
-static void flush_window(void);
-static void error(char *m);
-static void gzip_mark(void **);
-static void gzip_release(void **);
-  
-/*
- * This is set up by the setup-routine at boot-time
- */
-static unsigned char *real_mode; /* Pointer to real-mode data */
-
-#define RM_EXT_MEM_K   (*(unsigned short *)(real_mode + 0x2))
-#ifndef STANDARD_MEMORY_BIOS_CALL
-#define RM_ALT_MEM_K   (*(unsigned long *)(real_mode + 0x1e0))
-#endif
-#define RM_SCREEN_INFO (*(struct screen_info *)(real_mode+0))
-
-extern unsigned char input_data[];
-extern int input_len;
-
-static long bytes_out = 0;
-
-static void *malloc(int size);
-static void free(void *where);
-
-static void *memset(void *s, int c, unsigned n);
-static void *memcpy(void *dest, const void *src, unsigned n);
-
-static void putstr(const char *);
-
-static long free_mem_ptr;
-static long free_mem_end_ptr;
-
-#define HEAP_SIZE             0x7000
-
-static char *vidmem = (char *)0xb8000;
-static int vidport;
-static int lines, cols;
-
-#include "../../../../lib/inflate.c"
-
-static void *malloc(int size)
-{
-	void *p;
-
-	if (size <0) error("Malloc error");
-	if (free_mem_ptr <= 0) error("Memory error");
-
-	free_mem_ptr = (free_mem_ptr + 3) & ~3;	/* Align */
-
-	p = (void *)free_mem_ptr;
-	free_mem_ptr += size;
-
-	if (free_mem_ptr >= free_mem_end_ptr)
-		error("Out of memory");
-
-	return p;
-}
-
-static void free(void *where)
-{	/* Don't care */
-}
-
-static void gzip_mark(void **ptr)
-{
-	*ptr = (void *) free_mem_ptr;
-}
-
-static void gzip_release(void **ptr)
-{
-	free_mem_ptr = (long) *ptr;
-}
- 
-static void scroll(void)
-{
-	int i;
-
-	memcpy ( vidmem, vidmem + cols * 2, ( lines - 1 ) * cols * 2 );
-	for ( i = ( lines - 1 ) * cols * 2; i < lines * cols * 2; i += 2 )
-		vidmem[i] = ' ';
-}
-
-static void putstr(const char *s)
-{
-	int x,y,pos;
-	char c;
-
-	x = RM_SCREEN_INFO.orig_x;
-	y = RM_SCREEN_INFO.orig_y;
-
-	while ( ( c = *s++ ) != '\0' ) {
-		if ( c == '\n' ) {
-			x = 0;
-			if ( ++y >= lines ) {
-				scroll();
-				y--;
-			}
-		} else {
-			vidmem [(x + cols * y) * 2] = c;
-			if ( ++x >= cols ) {
-				x = 0;
-				if ( ++y >= lines ) {
-					scroll();
-					y--;
-				}
-			}
-		}
-	}
-
-	RM_SCREEN_INFO.orig_x = x;
-	RM_SCREEN_INFO.orig_y = y;
-
-	pos = (x + cols * y) * 2;	/* Update cursor position */
-	outb(14, vidport);
-	outb(0xff & (pos >> 9), vidport+1);
-	outb(15, vidport);
-	outb(0xff & (pos >> 1), vidport+1);
-}
-
-static void* memset(void* s, int c, unsigned n)
-{
-	int i;
-	char *ss = s;
-
-	for (i=0;i<n;i++) ss[i] = c;
-	return s;
-}
-
-static void* memcpy(void* dest, const void* src, unsigned n)
-{
-	int i;
-	const char *s = src;
-	char *d = dest;
-
-	for (i=0;i<n;i++) d[i] = s[i];
-	return dest;
-}
-
-/* ===========================================================================
- * Fill the input buffer. This is called only when the buffer is empty
- * and at least one byte is really needed.
- */
-static int fill_inbuf(void)
-{
-	error("ran out of input data");
-	return 0;
-}
-
-/* ===========================================================================
- * Write the output window window[0..outcnt-1] and update crc and bytes_out.
- * (Used for the decompressed data only.)
- */
-static void flush_window(void)
-{
-	/* With my window equal to my output buffer
-	 * I only need to compute the crc here.
-	 */
-	ulg c = crc;         /* temporary variable */
-	unsigned n;
-	uch *in, ch;
-
-	in = window;
-	for (n = 0; n < outcnt; n++) {
-		ch = *in++;
-		c = crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8);
-	}
-	crc = c;
-	bytes_out += (ulg)outcnt;
-	outcnt = 0;
-}
-
-static void error(char *x)
-{
-	putstr("\n\n");
-	putstr(x);
-	putstr("\n\n -- System halted");
-
-	while (1)
-		asm("hlt");
-}
-
-asmlinkage void decompress_kernel(void *rmode, unsigned long heap,
-				  uch *input_data, unsigned long input_len,
-				  uch *output)
-{
-	real_mode = rmode;
-
-	if (RM_SCREEN_INFO.orig_video_mode == 7) {
-		vidmem = (char *) 0xb0000;
-		vidport = 0x3b4;
-	} else {
-		vidmem = (char *) 0xb8000;
-		vidport = 0x3d4;
-	}
-
-	lines = RM_SCREEN_INFO.orig_video_lines;
-	cols = RM_SCREEN_INFO.orig_video_cols;
-
-	window = output;		/* Output buffer (Normally at 1M) */
-	free_mem_ptr     = heap;	/* Heap */
-	free_mem_end_ptr = heap + HEAP_SIZE;
-	inbuf  = input_data;		/* Input buffer */
-	insize = input_len;
-	inptr  = 0;
-
-	if ((ulg)output & (__KERNEL_ALIGN - 1))
-		error("Destination address not 2M aligned");
-	if ((ulg)output >= 0xffffffffffUL)
-		error("Destination address too large");
-
-	makecrc();
-	putstr("Uncompressing Linux... ");
-	gunzip();
-	putstr("Ok, booting the kernel.\n");
-	return;
-}
-- 
1.5.3.8


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH 3/9] x86_64: Switch to .data.compressed in arch/x86/boot/compressed/vmlinux_64.scr
  2008-01-26 11:54   ` [PATCH 3/9] x86_64: Switch to .data.compressed in arch/x86/boot/compressed/vmlinux_64.scr Ian Campbell
  2008-01-26 11:54     ` [PATCH 4/9] x86_64: Unify arch/x86/boot/compressed/vmlinux_??.scr Ian Campbell
@ 2008-01-27  0:59     ` Yinghai Lu
  2008-01-27 22:04       ` Ian Campbell
  1 sibling, 1 reply; 18+ messages in thread
From: Yinghai Lu @ 2008-01-27  0:59 UTC (permalink / raw)
  To: Ian Campbell; +Cc: linux-kernel, Thomas Gleixner, Ingo Molnar, H. Peter Anvin

On Jan 26, 2008 3:54 AM, Ian Campbell <ijc@hellion.org.uk> wrote:
> This makes the file identical to vmlinux_32.scr.
>
> size shows an expected movement from .text to .data and 4 extra bytes
> of padding.
>
> Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: H. Peter Anvin <hpa@zytor.com>
> ---
>  arch/x86/boot/compressed/vmlinux_64.lds |    8 ++++++--
>  arch/x86/boot/compressed/vmlinux_64.scr |    2 +-
>  2 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/boot/compressed/vmlinux_64.lds b/arch/x86/boot/compressed/vmlinux_64.lds
> index 8d63b3a..fe1baf5 100644
> --- a/arch/x86/boot/compressed/vmlinux_64.lds
> +++ b/arch/x86/boot/compressed/vmlinux_64.lds
> @@ -7,11 +7,15 @@ SECTIONS
>          * address 0.
>          */
>         . = 0;
> -       .text : {
> +       .text.head : {
>                 _head = . ;
>                 *(.text.head)
>                 _ehead = . ;
> -               *(.text.compressed)
> +       }
> +       .data.compressed : {
> +               *(.data.compressed)
> +       }
> +       .text : {
>                 _text = .;      /* Text */
>                 *(.text)
>                 *(.text.*)
> diff --git a/arch/x86/boot/compressed/vmlinux_64.scr b/arch/x86/boot/compressed/vmlinux_64.scr
> index bd1429c..a549526 100644
> --- a/arch/x86/boot/compressed/vmlinux_64.scr
> +++ b/arch/x86/boot/compressed/vmlinux_64.scr
> @@ -1,6 +1,6 @@
>  SECTIONS
>  {
> -  .text.compressed : {
> +  .data.compressed : {
>         input_len = .;
>         LONG(input_data_end - input_data) input_data = .;
>         *(.data)

can you make 32 bit use .text.compressed instead ?

YH

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 5/9] x86: Unify strings in arch/x86/boot/compressed/misc_??.c
  2008-01-26 11:54       ` [PATCH 5/9] x86: Unify strings in arch/x86/boot/compressed/misc_??.c Ian Campbell
  2008-01-26 11:54         ` [PATCH 6/9] x86: Unify whitespace and comments " Ian Campbell
@ 2008-01-27  1:03         ` Yinghai Lu
  2008-01-27  1:11           ` H. Peter Anvin
  1 sibling, 1 reply; 18+ messages in thread
From: Yinghai Lu @ 2008-01-27  1:03 UTC (permalink / raw)
  To: Ian Campbell; +Cc: linux-kernel, Thomas Gleixner, Ingo Molnar, H. Peter Anvin

On Jan 26, 2008 3:54 AM, Ian Campbell <ijc@hellion.org.uk> wrote:
> It seems pretty arbitrary which version survives, so I chose the 32
> bit version.
>
> Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: H. Peter Anvin <hpa@zytor.com>
> ---
>  arch/x86/boot/compressed/misc_64.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/boot/compressed/misc_64.c b/arch/x86/boot/compressed/misc_64.c
> index 8c1573b..bd822b7 100644
> --- a/arch/x86/boot/compressed/misc_64.c
> +++ b/arch/x86/boot/compressed/misc_64.c
> @@ -372,8 +372,8 @@ asmlinkage void decompress_kernel(void *rmode, unsigned long heap,
>                 error("Destination address too large");
>
>         makecrc();
> -       putstr(".\nDecompressing Linux...");
> +       putstr("Uncompressing Linux... ");
>         gunzip();
> -       putstr("done.\nBooting the kernel.\n");
> +       putstr("Ok, booting the kernel.\n");
>         return;
>  }

64 bit old print out seem more clear. again can you change that in misc_32.c

YH

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 5/9] x86: Unify strings in arch/x86/boot/compressed/misc_??.c
  2008-01-27  1:03         ` [PATCH 5/9] x86: Unify strings in arch/x86/boot/compressed/misc_??.c Yinghai Lu
@ 2008-01-27  1:11           ` H. Peter Anvin
  0 siblings, 0 replies; 18+ messages in thread
From: H. Peter Anvin @ 2008-01-27  1:11 UTC (permalink / raw)
  To: Yinghai Lu; +Cc: Ian Campbell, linux-kernel, Thomas Gleixner, Ingo Molnar

Yinghai Lu wrote:
>>
>> diff --git a/arch/x86/boot/compressed/misc_64.c b/arch/x86/boot/compressed/misc_64.c
>> index 8c1573b..bd822b7 100644
>> --- a/arch/x86/boot/compressed/misc_64.c
>> +++ b/arch/x86/boot/compressed/misc_64.c
>> @@ -372,8 +372,8 @@ asmlinkage void decompress_kernel(void *rmode, unsigned long heap,
>>                 error("Destination address too large");
>>
>>         makecrc();
>> -       putstr(".\nDecompressing Linux...");
>> +       putstr("Uncompressing Linux... ");
>>         gunzip();
>> -       putstr("done.\nBooting the kernel.\n");
>> +       putstr("Ok, booting the kernel.\n");
>>         return;
>>  }
> 
> 64 bit old print out seem more clear. again can you change that in misc_32.c
> 

Yes, except for the odd stray dot.

	-hpa

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 3/9] x86_64: Switch to .data.compressed in arch/x86/boot/compressed/vmlinux_64.scr
  2008-01-27  0:59     ` [PATCH 3/9] x86_64: Switch to .data.compressed in arch/x86/boot/compressed/vmlinux_64.scr Yinghai Lu
@ 2008-01-27 22:04       ` Ian Campbell
  2008-01-27 22:57         ` H. Peter Anvin
  2008-01-27 23:38         ` Yinghai Lu
  0 siblings, 2 replies; 18+ messages in thread
From: Ian Campbell @ 2008-01-27 22:04 UTC (permalink / raw)
  To: Yinghai Lu; +Cc: linux-kernel, Thomas Gleixner, Ingo Molnar, H. Peter Anvin

[-- Attachment #1: Type: text/plain, Size: 289 bytes --]


On Sat, 2008-01-26 at 16:59 -0800, Yinghai Lu wrote:

> can you make 32 bit use .text.compressed instead ?

Any reason to prefer .text? It is data at this stage after all.

Ian.

-- 
Ian Campbell

Justice always prevails ... three times out of seven!
		-- Michael J. Wagner

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 3/9] x86_64: Switch to .data.compressed in arch/x86/boot/compressed/vmlinux_64.scr
  2008-01-27 22:04       ` Ian Campbell
@ 2008-01-27 22:57         ` H. Peter Anvin
  2008-01-27 23:38         ` Yinghai Lu
  1 sibling, 0 replies; 18+ messages in thread
From: H. Peter Anvin @ 2008-01-27 22:57 UTC (permalink / raw)
  To: Ian Campbell; +Cc: Yinghai Lu, linux-kernel, Thomas Gleixner, Ingo Molnar

Ian Campbell wrote:
> On Sat, 2008-01-26 at 16:59 -0800, Yinghai Lu wrote:
> 
>> can you make 32 bit use .text.compressed instead ?
> 
> Any reason to prefer .text? It is data at this stage after all.
> 

Technically, it's .rodata...

	-hpa

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 3/9] x86_64: Switch to .data.compressed in arch/x86/boot/compressed/vmlinux_64.scr
  2008-01-27 22:04       ` Ian Campbell
  2008-01-27 22:57         ` H. Peter Anvin
@ 2008-01-27 23:38         ` Yinghai Lu
  2008-01-28  0:33           ` H. Peter Anvin
  1 sibling, 1 reply; 18+ messages in thread
From: Yinghai Lu @ 2008-01-27 23:38 UTC (permalink / raw)
  To: Ian Campbell; +Cc: linux-kernel, Thomas Gleixner, Ingo Molnar, H. Peter Anvin

On Jan 27, 2008 2:04 PM, Ian Campbell <ijc@hellion.org.uk> wrote:
>
> On Sat, 2008-01-26 at 16:59 -0800, Yinghai Lu wrote:
>
> > can you make 32 bit use .text.compressed instead ?
>
> Any reason to prefer .text? It is data at this stage after all.
>
it is comressed text insead of compressed data.

YH

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 3/9] x86_64: Switch to .data.compressed in arch/x86/boot/compressed/vmlinux_64.scr
  2008-01-27 23:38         ` Yinghai Lu
@ 2008-01-28  0:33           ` H. Peter Anvin
  2008-01-28  1:49             ` Yinghai Lu
  0 siblings, 1 reply; 18+ messages in thread
From: H. Peter Anvin @ 2008-01-28  0:33 UTC (permalink / raw)
  To: Yinghai Lu; +Cc: Ian Campbell, linux-kernel, Thomas Gleixner, Ingo Molnar

Yinghai Lu wrote:
> On Jan 27, 2008 2:04 PM, Ian Campbell <ijc@hellion.org.uk> wrote:
>> On Sat, 2008-01-26 at 16:59 -0800, Yinghai Lu wrote:
>>
>>> can you make 32 bit use .text.compressed instead ?
>> Any reason to prefer .text? It is data at this stage after all.
>>
> it is comressed text insead of compressed data.
> 

No it's not.  It's both.

	-hpa

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 3/9] x86_64: Switch to .data.compressed in arch/x86/boot/compressed/vmlinux_64.scr
  2008-01-28  0:33           ` H. Peter Anvin
@ 2008-01-28  1:49             ` Yinghai Lu
  2008-01-28  1:55               ` H. Peter Anvin
  0 siblings, 1 reply; 18+ messages in thread
From: Yinghai Lu @ 2008-01-28  1:49 UTC (permalink / raw)
  To: H. Peter Anvin; +Cc: Ian Campbell, linux-kernel, Thomas Gleixner, Ingo Molnar

On Jan 27, 2008 4:33 PM, H. Peter Anvin <hpa@zytor.com> wrote:
>
> Yinghai Lu wrote:
> > On Jan 27, 2008 2:04 PM, Ian Campbell <ijc@hellion.org.uk> wrote:
> >> On Sat, 2008-01-26 at 16:59 -0800, Yinghai Lu wrote:
> >>
> >>> can you make 32 bit use .text.compressed instead ?
> >> Any reason to prefer .text? It is data at this stage after all.
> >>
> > it is comressed text insead of compressed data.
> >
>
> No it's not.  It's both.

payload.compressed ?

YH

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 3/9] x86_64: Switch to .data.compressed in arch/x86/boot/compressed/vmlinux_64.scr
  2008-01-28  1:49             ` Yinghai Lu
@ 2008-01-28  1:55               ` H. Peter Anvin
  0 siblings, 0 replies; 18+ messages in thread
From: H. Peter Anvin @ 2008-01-28  1:55 UTC (permalink / raw)
  To: Yinghai Lu; +Cc: Ian Campbell, linux-kernel, Thomas Gleixner, Ingo Molnar

Yinghai Lu wrote:
> 
> payload.compressed ?
> 

We can call it .payload, or just .rodata.compressed.

	-hpa

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2008-01-28  1:56 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-01-26 11:54 [PATCH 1/9] x86: Unify whitespace and comments in arch/x86/boot/compressed/vmlinux_??.lds Ian Campbell
2008-01-26 11:54 ` [PATCH 2/9] x86: Unify whitespace in arch/x86/boot/compressed/vmlinux_??.scr Ian Campbell
2008-01-26 11:54   ` [PATCH 3/9] x86_64: Switch to .data.compressed in arch/x86/boot/compressed/vmlinux_64.scr Ian Campbell
2008-01-26 11:54     ` [PATCH 4/9] x86_64: Unify arch/x86/boot/compressed/vmlinux_??.scr Ian Campbell
2008-01-26 11:54       ` [PATCH 5/9] x86: Unify strings in arch/x86/boot/compressed/misc_??.c Ian Campbell
2008-01-26 11:54         ` [PATCH 6/9] x86: Unify whitespace and comments " Ian Campbell
2008-01-26 11:54           ` [PATCH 7/9] x86: Unify headers " Ian Campbell
2008-01-26 11:54             ` [PATCH 8/9] x86: Unify variable names " Ian Campbell
2008-01-26 11:54               ` [PATCH 9/9] x86: Unify arch/x86/boot/compressed/misc_??.c Ian Campbell
2008-01-27  1:03         ` [PATCH 5/9] x86: Unify strings in arch/x86/boot/compressed/misc_??.c Yinghai Lu
2008-01-27  1:11           ` H. Peter Anvin
2008-01-27  0:59     ` [PATCH 3/9] x86_64: Switch to .data.compressed in arch/x86/boot/compressed/vmlinux_64.scr Yinghai Lu
2008-01-27 22:04       ` Ian Campbell
2008-01-27 22:57         ` H. Peter Anvin
2008-01-27 23:38         ` Yinghai Lu
2008-01-28  0:33           ` H. Peter Anvin
2008-01-28  1:49             ` Yinghai Lu
2008-01-28  1:55               ` H. Peter Anvin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).