Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e24df921 authored by David Woodhouse's avatar David Woodhouse Committed by H. Peter Anvin
Browse files

x86, boot: Use .code16 instead of .code16gcc



This reverts commit 28b48688 ("x86, boot: use .code16gcc instead
of .code16").

Versions of binutils older than 2.16 are already not working, so this
workaround is no longer necessary either.  At the same time, some of
the transformations that .code16gcc does can be *extremely*
counterintuitive to a human programmer.

[ hpa: folded ret -> retl and call -> calll fixes from followup patch ]

Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
Link: http://lkml.kernel.org/r/1388788242.2391.75.camel@shinybook.infradead.org


Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
parent df90ca96
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@
 * touching registers they shouldn't be.
 */

	.code16gcc
	.code16
	.text
	.globl	intcall
	.type	intcall, @function
+11 −11
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
 * Memory copy routines
 */

	.code16gcc
	.code16
	.text

GLOBAL(memcpy)
@@ -30,7 +30,7 @@ GLOBAL(memcpy)
	rep; movsb
	popw	%di
	popw	%si
	ret
	retl
ENDPROC(memcpy)

GLOBAL(memset)
@@ -45,25 +45,25 @@ GLOBAL(memset)
	andw	$3, %cx
	rep; stosb
	popw	%di
	ret
	retl
ENDPROC(memset)

GLOBAL(copy_from_fs)
	pushw	%ds
	pushw	%fs
	popw	%ds
	call	memcpy
	calll	memcpy
	popw	%ds
	ret
	retl
ENDPROC(copy_from_fs)

GLOBAL(copy_to_fs)
	pushw	%es
	pushw	%fs
	popw	%es
	call	memcpy
	calll	memcpy
	popw	%es
	ret
	retl
ENDPROC(copy_to_fs)

#if 0 /* Not currently used, but can be enabled as needed */
@@ -71,17 +71,17 @@ GLOBAL(copy_from_gs)
	pushw	%ds
	pushw	%gs
	popw	%ds
	call	memcpy
	calll	memcpy
	popw	%ds
	ret
	retl
ENDPROC(copy_from_gs)

GLOBAL(copy_to_gs)
	pushw	%es
	pushw	%gs
	popw	%es
	call	memcpy
	calll	memcpy
	popw	%es
	ret
	retl
ENDPROC(copy_to_gs)
#endif