]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Remove i386/loader.S
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 12 Jan 2010 21:24:41 +0000 (22:24 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 12 Jan 2010 21:24:41 +0000 (22:24 +0100)
kern/i386/loader.S [deleted file]
kern/i386/pc/startup.S

diff --git a/kern/i386/loader.S b/kern/i386/loader.S
deleted file mode 100644 (file)
index 3e9c713..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- *  GRUB  --  GRand Unified Bootloader
- *  Copyright (C) 1999,2000,2001,2002,2003,2005,2006,2007,2008 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 <http://www.gnu.org/licenses/>.
- */
-
-
-/*
- * Note: These functions defined in this file may be called from C.
- *       Be careful of that you must not modify some registers. Quote
- *       from gcc-2.95.2/gcc/config/i386/i386.h:
-
-   1 for registers not available across function calls.
-   These must include the FIXED_REGISTERS and also any
-   registers that can be used without being saved.
-   The latter must include the registers where values are returned
-   and the register where structure-value addresses are passed.
-   Aside from that, you can include as many other registers as you like.
-
-  ax,dx,cx,bx,si,di,bp,sp,st,st1,st2,st3,st4,st5,st6,st7,arg
-{  1, 1, 1, 0, 0, 0, 0, 1, 1,  1,  1,  1,  1,  1,  1,  1,  1 }
- */
-
-/*
- * Note: GRUB is compiled with the options -mrtd and -mregparm=3.
- *       So the first three arguments are passed in %eax, %edx, and %ecx,
- *       respectively, and if a function has a fixed number of arguments
- *       and the number if greater than three, the function must return
- *       with "ret $N" where N is ((the number of arguments) - 3) * 4.
- */
-
-/*
- *  This is the area for all of the special variables.
- */
-
-       .p2align        2       /* force 4-byte alignment */
-
-/*
- * void grub_linux_boot_zimage (void)
- */
-VARIABLE(grub_linux_prot_size)
-       .long   0
-VARIABLE(grub_linux_tmp_addr)
-       .long   0
-VARIABLE(grub_linux_real_addr)
-       .long   0
-VARIABLE(grub_linux_is_bzimage)
-       .long   0
-
-FUNCTION(grub_linux16_boot)
-       /* Must be done before zImage copy.  */
-       call    EXT_C(grub_dl_unload_all)
-
-       movl    EXT_C(grub_linux_is_bzimage), %ebx
-       test    %ebx, %ebx
-       jne bzimage
-
-       /* copy the kernel */
-       movl    EXT_C(grub_linux_prot_size), %ecx
-       addl    $3, %ecx
-       shrl    $2, %ecx
-       movl    $GRUB_LINUX_BZIMAGE_ADDR, %esi
-       movl    $GRUB_LINUX_ZIMAGE_ADDR, %edi
-       cld
-       rep
-       movsl
-
-bzimage:
-       movl    EXT_C(grub_linux_real_addr), %ebx
-
-       /* copy the real mode code */
-       movl    EXT_C(grub_linux_tmp_addr), %esi
-       movl    %ebx, %edi
-       movl    $GRUB_LINUX_SETUP_MOVE_SIZE, %ecx
-       cld
-       rep
-       movsb
-
-       /* change %ebx to the segment address */
-       shrl    $4, %ebx
-       movl    %ebx, %eax
-       addl    $0x20, %eax
-       movw    %ax, linux_setup_seg
-
-       /* XXX new stack pointer in safe area for calling functions */
-       movl    $0x4000, %esp
-       call    EXT_C(grub_stop_floppy)
-
-       /* final setup for linux boot */
-       call    prot_to_real
-       .code16
-
-       cli
-       movw    %bx, %ss
-       movw    $GRUB_LINUX_SETUP_STACK, %sp
-
-       movw    %bx, %ds
-       movw    %bx, %es
-       movw    %bx, %fs
-       movw    %bx, %gs
-
-       /* ljmp */
-       .byte   0xea
-       .word   0
-linux_setup_seg:
-       .word   0
-       .code32
-
index 23f3f398ea34329829dffdf1ca5f08dbeb8a3ca0..1a44792d5842c024e32dd00230f732547cfbc8bd 100644 (file)
@@ -564,8 +564,6 @@ FUNCTION(grub_chainloader_real_boot)
        ljmp    $0, $GRUB_MEMORY_MACHINE_BOOT_LOADER_ADDR
        .code32
 
-#include "../loader.S"
-
 /*
  *   int grub_biosdisk_rw_int13_extensions (int ah, int drive, void *dap)
  *