summaryrefslogtreecommitdiffstats
path: root/arch/x86/lib/linux_start.S
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2021-03-23 08:50:34 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2021-03-25 13:25:51 +0100
commitd44fdb7d9b8527c758deefc4262fedd6a121ffc6 (patch)
tree6d8f2c3218d1c745bda59eb6a9120c7ea6dadf3b /arch/x86/lib/linux_start.S
parent41fd0332e797c0a3c6a0d9cbf14e7528f2a3209d (diff)
downloadbarebox-d44fdb7d9b8527c758deefc4262fedd6a121ffc6.tar.gz
barebox-d44fdb7d9b8527c758deefc4262fedd6a121ffc6.tar.xz
x86: drop legacy (PC BIOS) boot in favor of EFI
The 16-bit port has experienced bitrot and failed to compile with more recent linkers for at least a year. Fixing the linker error is insufficient to restore a barebox that can boot to shell. This continued breakage likely means that there are no users interested in updating. As new x86 projects should be using MACH_EFI_GENERIC anyway, retire support for 16-bit legacy boot (MACH_X86_GENERIC). Acked-by: Juergen Borleis <jbe@pengutronix.de> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/x86/lib/linux_start.S')
-rw-r--r--arch/x86/lib/linux_start.S55
1 files changed, 0 insertions, 55 deletions
diff --git a/arch/x86/lib/linux_start.S b/arch/x86/lib/linux_start.S
deleted file mode 100644
index 07be37fed4..0000000000
--- a/arch/x86/lib/linux_start.S
+++ /dev/null
@@ -1,55 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* SPDX-FileCopyrightText: 2009 Juergen Beisert, Pengutronix */
-/* SPDX-FileCopyrightText: 1999-2008 Free Software Foundation, Inc. */
-
-/* Mostly stolen from the GRUB2 project */
-
-/**
- * @file
- * @brief Start the Linux real mode setup code
- *
- * Note: These functions are running in flat and real mode. Due to some
- * other restrictions these routines must running from an address
- * space below 0x10000
- */
-
-/*
- * void bios_start_linux(unsigned segment)
- *
- */
-
- .section .boot.text.bios_start_linux, "ax"
- .code32
- .globl bios_start_linux
- .type bios_start_linux, @function
-
- .extern prot_to_real
-
-bios_start_linux:
- /* 'prot_to_real' eats our eax content */
- movl %eax, %ebx
- addl $0x20, %eax
- movw %ax, setup_seg
-
- call prot_to_real
-
- .code16
-
- cli
- /* all segment registers are using the same segment */
- movw %bx, %ss
- movw %bx, %ds
- movw %bx, %es
- movw %bx, %fs
- movw %bx, %gs
-
- /* stack for the setup code (end of heap) */
- movw $0x9000, %sp
-
- /* do an 'ljmp' and never return */
- .byte 0xea
- .word 0
-setup_seg:
- .word 0
-
- .code32