Commit 67a6af7a authored by Arvind Sankar's avatar Arvind Sankar Committed by Ard Biesheuvel
Browse files

x86/boot: Remove KEEP_SEGMENTS support

Commit a24e7851 ("i386: paravirt boot sequence") added this flag for
use by paravirtualized environments such as Xen. However, Xen never made
use of this flag [1], and it was only ever used by lguest [2].

Commit ecda85e7 ("x86/lguest: Remove lguest support") removed
lguest, so KEEP_SEGMENTS has lost its last user.

[1] https://lore.kernel.org/lkml/4D4B097C.5050405@goop.org
[2] https://www.mail-archive.com/lguest@lists.ozlabs.org/msg00469.html



Signed-off-by: default avatarArvind Sankar <nivedita@alum.mit.edu>
Link: https://lore.kernel.org/r/20200202171353.3736319-2-nivedita@alum.mit.edu


Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
parent 9f922377
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -490,15 +490,11 @@ Protocol: 2.00+
		kernel) to not write early messages that require
		accessing the display hardware directly.

  Bit 6 (write): KEEP_SEGMENTS
  Bit 6 (obsolete): KEEP_SEGMENTS

	Protocol: 2.07+

	- If 0, reload the segment registers in the 32bit entry point.
	- If 1, do not reload the segment registers in the 32bit entry point.

		Assume that %cs %ds %ss %es are all set to flat segments with
		a base of 0 (or the equivalent for their environment).
        - This flag is obsolete.

  Bit 7 (write): CAN_USE_HEAP

+0 −8
Original line number Diff line number Diff line
@@ -63,13 +63,6 @@
	__HEAD
SYM_FUNC_START(startup_32)
	cld
	/*
	 * Test KEEP_SEGMENTS flag to see if the bootloader is asking
	 * us to not reload segments
	 */
	testb	$KEEP_SEGMENTS, BP_loadflags(%esi)
	jnz	1f

	cli
	movl	$__BOOT_DS, %eax
	movl	%eax, %ds
@@ -77,7 +70,6 @@ SYM_FUNC_START(startup_32)
	movl	%eax, %fs
	movl	%eax, %gs
	movl	%eax, %ss
1:

/*
 * Calculate the delta between where we were compiled to run
+0 −8
Original line number Diff line number Diff line
@@ -53,19 +53,11 @@ SYM_FUNC_START(startup_32)
	 * all need to be under the 4G limit.
	 */
	cld
	/*
	 * Test KEEP_SEGMENTS flag to see if the bootloader is asking
	 * us to not reload segments
	 */
	testb $KEEP_SEGMENTS, BP_loadflags(%esi)
	jnz 1f

	cli
	movl	$(__BOOT_DS), %eax
	movl	%eax, %ds
	movl	%eax, %es
	movl	%eax, %ss
1:

/*
 * Calculate the delta between where we were compiled to run
+0 −6
Original line number Diff line number Diff line
@@ -67,11 +67,6 @@ __HEAD
SYM_CODE_START(startup_32)
	movl pa(initial_stack),%ecx
	
	/* test KEEP_SEGMENTS flag to see if the bootloader is asking
		us to not reload segments */
	testb $KEEP_SEGMENTS, BP_loadflags(%esi)
	jnz 2f

/*
 * Set segments to known values.
 */
@@ -82,7 +77,6 @@ SYM_CODE_START(startup_32)
	movl %eax,%fs
	movl %eax,%gs
	movl %eax,%ss
2:
	leal -__PAGE_OFFSET(%ecx),%esp

/*