diff --git a/conf/i386-coreboot.rmk b/conf/i386-coreboot.rmk
index d73c9f0e2..8676aaea3 100644
--- a/conf/i386-coreboot.rmk
+++ b/conf/i386-coreboot.rmk
@@ -163,7 +163,7 @@ aout_mod_LDFLAGS = $(COMMON_LDFLAGS)
# For bsd.mod
pkglib_MODULES += bsd.mod
-bsd_mod_SOURCES = loader/i386/bsd.c loader/i386/bsd32.c loader/i386/bsd64.c loader/i386/bsd_helper.S loader/i386/bsd_trampoline.S
+bsd_mod_SOURCES = loader/i386/bsd.c loader/i386/bsd32.c loader/i386/bsd64.c
bsd_mod_CFLAGS = $(COMMON_CFLAGS)
bsd_mod_LDFLAGS = $(COMMON_LDFLAGS)
bsd_mod_ASFLAGS = $(COMMON_ASFLAGS)
diff --git a/conf/i386-pc.rmk b/conf/i386-pc.rmk
index c155047f6..36ca76950 100644
--- a/conf/i386-pc.rmk
+++ b/conf/i386-pc.rmk
@@ -264,7 +264,7 @@ aout_mod_CFLAGS = $(COMMON_CFLAGS)
aout_mod_LDFLAGS = $(COMMON_LDFLAGS)
# For bsd.mod
-bsd_mod_SOURCES = loader/i386/bsd.c loader/i386/bsd32.c loader/i386/bsd64.c loader/i386/bsd_helper.S loader/i386/bsd_trampoline.S
+bsd_mod_SOURCES = loader/i386/bsd.c loader/i386/bsd32.c loader/i386/bsd64.c
bsd_mod_CFLAGS = $(COMMON_CFLAGS)
bsd_mod_LDFLAGS = $(COMMON_LDFLAGS)
bsd_mod_ASFLAGS = $(COMMON_ASFLAGS)
diff --git a/loader/i386/bsd_helper.S b/loader/i386/bsd_helper.S
deleted file mode 100644
index 25aee3a80..000000000
--- a/loader/i386/bsd_helper.S
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * GRUB -- GRand Unified Bootloader
- * Copyright (C) 1999,2000,2001,2002,2003,2005,2006,2007,2008, 2009 Free Software Foundation, Inc.
- *
- * GRUB is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * GRUB is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GRUB. If not, see .
- */
-
-#include
-
- .p2align 2
-
-
- .code32
-
-/*
- * Use cdecl calling convention for *BSD kernels.
- */
-
-FUNCTION(grub_unix_real_boot)
-
- /* Interrupts should be disabled. */
- cli
-
- /* Discard `grub_unix_real_boot' return address. */
- popl %eax
-
- /* Fetch `entry' address ... */
- popl %eax
-
- /*
- * ... and put our return address in its place. The kernel will
- * ignore it, but it expects %esp to point to it.
- */
- call *%eax
diff --git a/loader/i386/bsd_trampoline.S b/loader/i386/bsd_trampoline.S
deleted file mode 100644
index a568fff4d..000000000
--- a/loader/i386/bsd_trampoline.S
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * GRUB -- GRand Unified Bootloader
- * Copyright (c) 2003 Peter Wemm
- * Copyright (C) 2009 Free Software Foundation, Inc.
- *
- * GRUB is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * GRUB is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GRUB. If not, see .
- */
-
-/* Based on the code from FreeBSD originally distributed under the
- following terms: */
-
-/*-
- * Copyright (c) 2003 Peter Wemm
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD$
- */
-
-
-#define MSR_EFER 0xc0000080
-#define EFER_LME 0x00000100
-#define CR4_PAE 0x00000020
-#define CR4_PSE 0x00000010
-#define CR0_PG 0x80000000
-
-#include
-
- .p2align 2
-
- .code32
-
-
-VARIABLE(grub_bsd64_trampoline_start)
-
- /* Discard `grub_unix_real_boot' return address. */
- popl %eax
-
- /* entry */
- popl %edi
-
- /* entry_hi */
- popl %esi
-
- cli
-
- /* Turn on EFER.LME. */
- movl $MSR_EFER, %ecx
- rdmsr
- orl $EFER_LME, %eax
- wrmsr
-
- /* Turn on PAE. */
- movl %cr4, %eax
- orl $(CR4_PAE | CR4_PSE), %eax
- movl %eax, %cr4
-
- /* Set %cr3 for PT4. */
- popl %eax
- movl %eax, %cr3
-
- /* Push a dummy return address. */
- pushl %eax
-
- /* Turn on paging (implicitly sets EFER.LMA). */
- movl %cr0, %eax
- orl $CR0_PG, %eax
- movl %eax, %cr0
-
- /* Now we're in compatibility mode. set %cs for long mode. */
- /* lgdt */
- .byte 0x0f
- .byte 0x01
- .byte 0x15
-VARIABLE (grub_bsd64_trampoline_gdt)
- .long 0x0
-
- /* ljmp */
- .byte 0xea
-VARIABLE (grub_bsd64_trampoline_selfjump)
- .long 0x0
- .word 0x08
-
- .code64
-
-bsd64_longmode:
- /* We're still running V=P, jump to entry point. */
- movl %esi, %eax
- salq $32, %rax
- orq %rdi, %rax
- pushq %rax
- ret
-VARIABLE(grub_bsd64_trampoline_end)