[2359] 2009-06-22 Robert Millan <[email protected]>

Robert Millan <[email protected]> Mon, 22 Jun 2009 18:04:38 +0000
Newsgroups gmane.comp.boot-loaders.grub.cvs
Message-ID <[email protected]>
Revision: 2359
          http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=2359
Author:   robertmh
Date:     2009-06-22 18:04:37 +0000 (Mon, 22 Jun 2009)
Log Message:
-----------
2009-06-22  Robert Millan  <[email protected]>

        * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
        * conf/i386-ieee1275.rmk: Likewise.
        * conf/i386-coreboot.rmk: Likewise.

        * kern/i386/pc/startup.S (grub_stop): Remove function.
        * kern/i386/ieee1275/startup.S: Likewise.
        * kern/i386/coreboot/startup.S: Likewise.
        * kern/i386/misc.S (grub_stop): New function.

Modified Paths:
--------------
    trunk/grub2/ChangeLog
    trunk/grub2/conf/i386-coreboot.rmk
    trunk/grub2/conf/i386-ieee1275.rmk
    trunk/grub2/conf/i386-pc.rmk
    trunk/grub2/kern/i386/coreboot/startup.S
    trunk/grub2/kern/i386/ieee1275/startup.S
    trunk/grub2/kern/i386/pc/startup.S

Added Paths:
-----------
    trunk/grub2/kern/i386/misc.S

Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog	2009-06-22 10:42:37 UTC (rev 2358)
+++ trunk/grub2/ChangeLog	2009-06-22 18:04:37 UTC (rev 2359)
@@ -1,5 +1,16 @@
 2009-06-22  Robert Millan  <[email protected]>
 
+	* conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
+	* conf/i386-ieee1275.rmk: Likewise.
+	* conf/i386-coreboot.rmk: Likewise.
+
+	* kern/i386/pc/startup.S (grub_stop): Remove function.
+	* kern/i386/ieee1275/startup.S: Likewise.
+	* kern/i386/coreboot/startup.S: Likewise.
+	* kern/i386/misc.S (grub_stop): New function.
+
+2009-06-22  Robert Millan  <[email protected]>
+
 	* kern/i386/pc/startup.S (real_to_prot): Move from here ...
 	* kern/i386/realmode.S (real_to_prot): ... to here.
 

Modified: trunk/grub2/conf/i386-coreboot.rmk
===================================================================
--- trunk/grub2/conf/i386-coreboot.rmk	2009-06-22 10:42:37 UTC (rev 2358)
+++ trunk/grub2/conf/i386-coreboot.rmk	2009-06-22 18:04:37 UTC (rev 2359)
@@ -12,6 +12,7 @@
 
 # For kernel.img.
 kernel_img_SOURCES = kern/i386/coreboot/startup.S \
+	kern/i386/misc.S \
 	kern/i386/coreboot/init.c \
 	kern/i386/multiboot_mmap.c \
 	kern/main.c kern/device.c \

Modified: trunk/grub2/conf/i386-ieee1275.rmk
===================================================================
--- trunk/grub2/conf/i386-ieee1275.rmk	2009-06-22 10:42:37 UTC (rev 2358)
+++ trunk/grub2/conf/i386-ieee1275.rmk	2009-06-22 18:04:37 UTC (rev 2359)
@@ -11,7 +11,9 @@
 pkglib_PROGRAMS = kernel.img
 
 # For kernel.img.
-kernel_img_SOURCES = kern/i386/ieee1275/startup.S kern/i386/ieee1275/init.c \
+kernel_img_SOURCES = kern/i386/ieee1275/startup.S \
+	kern/i386/misc.S \
+	kern/i386/ieee1275/init.c \
 	kern/ieee1275/init.c \
 	kern/ieee1275/mmap.c \
 	kern/ieee1275/cmain.c kern/ieee1275/openfw.c \

Modified: trunk/grub2/conf/i386-pc.rmk
===================================================================
--- trunk/grub2/conf/i386-pc.rmk	2009-06-22 10:42:37 UTC (rev 2358)
+++ trunk/grub2/conf/i386-pc.rmk	2009-06-22 18:04:37 UTC (rev 2359)
@@ -46,7 +46,9 @@
 cdboot_img_FORMAT = binary
 
 # For kernel.img.
-kernel_img_SOURCES = kern/i386/pc/startup.S kern/main.c kern/device.c \
+kernel_img_SOURCES = kern/i386/pc/startup.S \
+	kern/i386/misc.S \
+	kern/main.c kern/device.c \
 	kern/disk.c kern/dl.c kern/file.c kern/fs.c kern/err.c \
 	kern/misc.c kern/mm.c kern/reader.c kern/term.c \
 	kern/rescue_parser.c kern/rescue_reader.c \

Modified: trunk/grub2/kern/i386/coreboot/startup.S
===================================================================
--- trunk/grub2/kern/i386/coreboot/startup.S	2009-06-22 10:42:37 UTC (rev 2358)
+++ trunk/grub2/kern/i386/coreboot/startup.S	2009-06-22 18:04:37 UTC (rev 2359)
@@ -78,14 +78,6 @@
 	jmp EXT_C(grub_main)
 
 /*
- *  This call is special...  it never returns...  in fact it should simply
- *  hang at this point!
- */
-FUNCTION(grub_stop)
-	hlt
-	jmp EXT_C(grub_stop)
-
-/*
  *  prot_to_real and associated structures (but NOT real_to_prot, that is
  *  only needed for BIOS gates).
  */

Modified: trunk/grub2/kern/i386/ieee1275/startup.S
===================================================================
--- trunk/grub2/kern/i386/ieee1275/startup.S	2009-06-22 10:42:37 UTC (rev 2358)
+++ trunk/grub2/kern/i386/ieee1275/startup.S	2009-06-22 18:04:37 UTC (rev 2359)
@@ -59,14 +59,6 @@
 	jmp EXT_C(grub_main)
 
 /*
- *  This call is special...  it never returns...  in fact it should simply
- *  hang at this point!
- */
-FUNCTION(grub_stop)
-	hlt
-	jmp EXT_C(grub_stop)
-
-/*
  *  prot_to_real and associated structures (but NOT real_to_prot, that is
  *  only needed for BIOS gates).
  */

Added: trunk/grub2/kern/i386/misc.S
===================================================================
--- trunk/grub2/kern/i386/misc.S	                        (rev 0)
+++ trunk/grub2/kern/i386/misc.S	2009-06-22 18:04:37 UTC (rev 2359)
@@ -0,0 +1,29 @@
+/*
+ *  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/>.
+ */
+
+#include <grub/symbol.h>
+
+	.text
+/*
+ *  This call is special...  it never returns...  in fact it should simply
+ *  hang at this point!
+ */
+FUNCTION(grub_stop)
+	cli
+1:	hlt
+	jmp	1b

Modified: trunk/grub2/kern/i386/pc/startup.S
===================================================================
--- trunk/grub2/kern/i386/pc/startup.S	2009-06-22 10:42:37 UTC (rev 2358)
+++ trunk/grub2/kern/i386/pc/startup.S	2009-06-22 18:04:37 UTC (rev 2359)
@@ -463,14 +463,6 @@
  */
 	. = _start + GRUB_KERNEL_MACHINE_RAW_SIZE
 
-/*
- *  This call is special...  it never returns...  in fact it should simply
- *  hang at this point!
- */
-
-FUNCTION(grub_stop)
-	call	prot_to_real
-
 	/*
 	 * This next part is sort of evil.  It takes advantage of the
 	 * byte ordering on the x86 to work in either 16-bit or 32-bit