+ i386-extend-bzimage-protocol-for-relocatable-protected-mode-kernel.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled
     i386: extend bzImage protocol for relocatable protected mode kernel
has been added to the -mm tree.  Its filename is
     i386-extend-bzimage-protocol-for-relocatable-protected-mode-kernel.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: i386: extend bzImage protocol for relocatable protected mode kernel
From: Vivek Goyal <vgoyal@xxxxxxxxxx>

Extend bzImage protocol to enable bootloaders to load a completely relocatable
bzImage.  Now protected mode component of kernel is also relocatable and a
boot-loader can load the protected mode component at a differnt physical
address than 1MB.  (If kernel was built with CONFIG_RELOCATABLE)

Kexec can make use of it to load this kernel at a different physical address
to capture kernel crash dumps.

Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx>
Cc: Andi Kleen <ak@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 Documentation/i386/boot.txt |    4 ++++
 arch/i386/boot/setup.S      |   13 ++++++++++++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff -puN Documentation/i386/boot.txt~i386-extend-bzimage-protocol-for-relocatable-protected-mode-kernel Documentation/i386/boot.txt
--- a/Documentation/i386/boot.txt~i386-extend-bzimage-protocol-for-relocatable-protected-mode-kernel
+++ a/Documentation/i386/boot.txt
@@ -35,6 +35,8 @@ Protocol 2.03:	(Kernel 2.4.18-pre1) Expl
 		initrd address available to the bootloader.
 
 Protocol 2.04:	(Kernel 2.6.14) Extend the syssize field to four bytes.
+Protocol 2.05:	(Kernel 2.6.20) Make protected mode kernel relocatable.
+		Introduce relocatable_kernel and kernel_alignment fields.
 
 
 **** MEMORY LAYOUT
@@ -129,6 +131,8 @@ Offset	Proto	Name		Meaning
 0226/2	N/A	pad1		Unused
 0228/4	2.02+	cmd_line_ptr	32-bit pointer to the kernel command line
 022C/4	2.03+	initrd_addr_max	Highest legal initrd address
+0230/4	2.04+	kernel_alignment Physical addr alignment required for kernel
+0234/1	2.04+	relocatable_kernel Whether kernel is relocatable or not
 
 (1) For backwards compatibility, if the setup_sects field contains 0, the
     real value is 4.
diff -puN arch/i386/boot/setup.S~i386-extend-bzimage-protocol-for-relocatable-protected-mode-kernel arch/i386/boot/setup.S
--- a/arch/i386/boot/setup.S~i386-extend-bzimage-protocol-for-relocatable-protected-mode-kernel
+++ a/arch/i386/boot/setup.S
@@ -81,7 +81,7 @@ start:
 # This is the setup header, and it must start at %cs:2 (old 0x9020:2)
 
 		.ascii	"HdrS"		# header signature
-		.word	0x0204		# header version number (>= 0x0105)
+		.word	0x0205		# header version number (>= 0x0105)
 					# or else old loadlin-1.5 will fail)
 realmode_swtch:	.word	0, 0		# default_switch, SETUPSEG
 start_sys_seg:	.word	SYSSEG
@@ -160,6 +160,17 @@ ramdisk_max:	.long (-__PAGE_OFFSET-(512 
 					# The highest safe address for
 					# the contents of an initrd
 
+kernel_alignment:  .long CONFIG_PHYSICAL_ALIGN 	#physical addr alignment
+						#required for protected mode
+						#kernel
+#ifdef CONFIG_RELOCATABLE
+relocatable_kernel:    .byte 1
+#else
+relocatable_kernel:    .byte 0
+#endif
+pad2:			.byte 0
+pad3:			.word 0
+
 trampoline:	call	start_of_setup
 		.align 16
 					# The offset at this point is 0x240
_

Patches currently in -mm which might be from vgoyal@xxxxxxxxxx are

i386-distinguish-absolute-symbols.patch
i386-remove-unnecessary-align-in-vmlinuxldss.patch
i386-force-data-segment-to-be-4k-aligned.patch
i386-define-__pa_symbol.patch
i386-reserve-kernel-memory-starting-from-_text.patch
i386-config_physical_start-cleanup.patch
i386-kallsyms-generate-relocatable-symbols.patch
i386-relocatable-kernel-support.patch
i386-warn-upon-absolute-relocations-being-present.patch
i386-implement-config_physical_align.patch
i386-extend-bzimage-protocol-for-relocatable-protected-mode-kernel.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux