[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[2046] 2009-03-28 Robert Millan <address@hidden>
From: |
Robert Millan |
Subject: |
[2046] 2009-03-28 Robert Millan <address@hidden> |
Date: |
Sat, 28 Mar 2009 12:53:17 +0000 |
Revision: 2046
http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=2046
Author: robertmh
Date: 2009-03-28 12:53:16 +0000 (Sat, 28 Mar 2009)
Log Message:
-----------
2009-03-28 Robert Millan <address@hidden>
* conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
(linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
variables. Use 16-bit loader.
(linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
loader.
* kern/i386/loader.S (grub_linux_boot): Rename to ...
(grub_linux16_boot): ... this. Update all users.
* loader/i386/linux.c (grub_linux32_boot): Rename to ...
(grub_linux_boot): ... this. Update all users.
* loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
(GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
commands to `linux16' and `initrd16'.
(GRUB_MOD_FINI(linux)): Rename to ...
(GRUB_MOD_FINI(linux16)): ... this.
Modified Paths:
--------------
trunk/grub2/ChangeLog
trunk/grub2/conf/i386-pc.mk
trunk/grub2/conf/i386-pc.rmk
trunk/grub2/include/grub/i386/loader.h
trunk/grub2/kern/i386/loader.S
trunk/grub2/loader/i386/linux.c
trunk/grub2/loader/i386/pc/linux.c
Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog 2009-03-24 14:15:07 UTC (rev 2045)
+++ trunk/grub2/ChangeLog 2009-03-28 12:53:16 UTC (rev 2046)
@@ -1,3 +1,21 @@
+2009-03-28 Robert Millan <address@hidden>
+
+ * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
+ (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
+ variables. Use 16-bit loader.
+ (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
+ loader.
+ * kern/i386/loader.S (grub_linux_boot): Rename to ...
+ (grub_linux16_boot): ... this. Update all users.
+ * loader/i386/linux.c (grub_linux32_boot): Rename to ...
+ (grub_linux_boot): ... this. Update all users.
+
+ * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
+ (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
+ commands to `linux16' and `initrd16'.
+ (GRUB_MOD_FINI(linux)): Rename to ...
+ (GRUB_MOD_FINI(linux16)): ... this.
+
2009-03-24 Pavel Roskin <address@hidden>
* genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
Modified: trunk/grub2/conf/i386-pc.mk
===================================================================
--- trunk/grub2/conf/i386-pc.mk 2009-03-24 14:15:07 UTC (rev 2045)
+++ trunk/grub2/conf/i386-pc.mk 2009-03-28 12:53:16 UTC (rev 2046)
@@ -1010,7 +1010,7 @@
chmod +x $@
-pkglib_MODULES = biosdisk.mod chain.mod linux.mod normal.mod \
+pkglib_MODULES = biosdisk.mod chain.mod normal.mod \
multiboot.mod reboot.mod halt.mod \
vbe.mod vbetest.mod vbeinfo.mod play.mod serial.mod \
ata.mod vga.mod memdisk.mod pci.mod lspci.mod \
@@ -1132,14 +1132,71 @@
chain_mod_CFLAGS = $(COMMON_CFLAGS)
chain_mod_LDFLAGS = $(COMMON_LDFLAGS)
-# For _linux.mod.
-linux_mod_SOURCES = loader/i386/pc/linux.c
-CLEANFILES += linux.mod mod-linux.o mod-linux.c pre-linux.o
linux_mod-loader_i386_pc_linux.o und-linux.lst
+pkglib_MODULES += linux16.mod
+linux16_mod_SOURCES = loader/i386/pc/linux.c
+CLEANFILES += linux16.mod mod-linux16.o mod-linux16.c pre-linux16.o
linux16_mod-loader_i386_pc_linux.o und-linux16.lst
+ifneq ($(linux16_mod_EXPORTS),no)
+CLEANFILES += def-linux16.lst
+DEFSYMFILES += def-linux16.lst
+endif
+MOSTLYCLEANFILES += linux16_mod-loader_i386_pc_linux.d
+UNDSYMFILES += und-linux16.lst
+
+linux16.mod: pre-linux16.o mod-linux16.o $(TARGET_OBJ2ELF)
+ -rm -f $@
+ $(TARGET_CC) $(linux16_mod_LDFLAGS) $(TARGET_LDFLAGS) $(MODULE_LDFLAGS)
-Wl,-r,-d -o $@ pre-linux16.o mod-linux16.o
+ if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f
$@; exit 1); fi
+ $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K
_grub_mod_init -K _grub_mod_fini -R .note -R .comment $@
+
+pre-linux16.o: $(linux16_mod_DEPENDENCIES) linux16_mod-loader_i386_pc_linux.o
+ -rm -f $@
+ $(TARGET_CC) $(linux16_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@
linux16_mod-loader_i386_pc_linux.o
+
+mod-linux16.o: mod-linux16.c
+ $(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(linux16_mod_CFLAGS)
-c -o $@ $<
+
+mod-linux16.c: $(builddir)/moddep.lst $(srcdir)/genmodsrc.sh
+ sh $(srcdir)/genmodsrc.sh 'linux16' $< > $@ || (rm -f $@; exit 1)
+
+ifneq ($(linux16_mod_EXPORTS),no)
+def-linux16.lst: pre-linux16.o
+ $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 linux16/' > $@
+endif
+
+und-linux16.lst: pre-linux16.o
+ echo 'linux16' > $@
+ $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+linux16_mod-loader_i386_pc_linux.o: loader/i386/pc/linux.c
$(loader/i386/pc/linux.c_DEPENDENCIES)
+ $(TARGET_CC) -Iloader/i386/pc -I$(srcdir)/loader/i386/pc
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(linux16_mod_CFLAGS) -MD -c -o $@ $<
+-include linux16_mod-loader_i386_pc_linux.d
+
+CLEANFILES += cmd-linux16_mod-loader_i386_pc_linux.lst
fs-linux16_mod-loader_i386_pc_linux.lst
partmap-linux16_mod-loader_i386_pc_linux.lst
+COMMANDFILES += cmd-linux16_mod-loader_i386_pc_linux.lst
+FSFILES += fs-linux16_mod-loader_i386_pc_linux.lst
+PARTMAPFILES += partmap-linux16_mod-loader_i386_pc_linux.lst
+
+cmd-linux16_mod-loader_i386_pc_linux.lst: loader/i386/pc/linux.c
$(loader/i386/pc/linux.c_DEPENDENCIES) gencmdlist.sh
+ set -e; $(TARGET_CC) -Iloader/i386/pc
-I$(srcdir)/loader/i386/pc $(TARGET_CPPFLAGS) $(TARGET_CFLAGS)
$(linux16_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh linux16 > $@ ||
(rm -f $@; exit 1)
+
+fs-linux16_mod-loader_i386_pc_linux.lst: loader/i386/pc/linux.c
$(loader/i386/pc/linux.c_DEPENDENCIES) genfslist.sh
+ set -e; $(TARGET_CC) -Iloader/i386/pc
-I$(srcdir)/loader/i386/pc $(TARGET_CPPFLAGS) $(TARGET_CFLAGS)
$(linux16_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh linux16 > $@ ||
(rm -f $@; exit 1)
+
+partmap-linux16_mod-loader_i386_pc_linux.lst: loader/i386/pc/linux.c
$(loader/i386/pc/linux.c_DEPENDENCIES) genpartmaplist.sh
+ set -e; $(TARGET_CC) -Iloader/i386/pc
-I$(srcdir)/loader/i386/pc $(TARGET_CPPFLAGS) $(TARGET_CFLAGS)
$(linux16_mod_CFLAGS) -E $< | sh $(srcdir)/genpartmaplist.sh linux16 > $@
|| (rm -f $@; exit 1)
+
+
+linux16_mod_CFLAGS = $(COMMON_CFLAGS)
+linux16_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
+pkglib_MODULES += linux.mod
+linux_mod_SOURCES = loader/i386/linux.c
+CLEANFILES += linux.mod mod-linux.o mod-linux.c pre-linux.o
linux_mod-loader_i386_linux.o und-linux.lst
ifneq ($(linux_mod_EXPORTS),no)
CLEANFILES += def-linux.lst
DEFSYMFILES += def-linux.lst
endif
-MOSTLYCLEANFILES += linux_mod-loader_i386_pc_linux.d
+MOSTLYCLEANFILES += linux_mod-loader_i386_linux.d
UNDSYMFILES += und-linux.lst
linux.mod: pre-linux.o mod-linux.o $(TARGET_OBJ2ELF)
@@ -1148,9 +1205,9 @@
if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f
$@; exit 1); fi
$(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K
_grub_mod_init -K _grub_mod_fini -R .note -R .comment $@
-pre-linux.o: $(linux_mod_DEPENDENCIES) linux_mod-loader_i386_pc_linux.o
+pre-linux.o: $(linux_mod_DEPENDENCIES) linux_mod-loader_i386_linux.o
-rm -f $@
- $(TARGET_CC) $(linux_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@
linux_mod-loader_i386_pc_linux.o
+ $(TARGET_CC) $(linux_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@
linux_mod-loader_i386_linux.o
mod-linux.o: mod-linux.c
$(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(linux_mod_CFLAGS) -c
-o $@ $<
@@ -1167,23 +1224,23 @@
echo 'linux' > $@
$(NM) -u -P -p $< | cut -f1 -d' ' >> $@
-linux_mod-loader_i386_pc_linux.o: loader/i386/pc/linux.c
$(loader/i386/pc/linux.c_DEPENDENCIES)
- $(TARGET_CC) -Iloader/i386/pc -I$(srcdir)/loader/i386/pc
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(linux_mod_CFLAGS) -MD -c -o $@ $<
--include linux_mod-loader_i386_pc_linux.d
+linux_mod-loader_i386_linux.o: loader/i386/linux.c
$(loader/i386/linux.c_DEPENDENCIES)
+ $(TARGET_CC) -Iloader/i386 -I$(srcdir)/loader/i386 $(TARGET_CPPFLAGS)
$(TARGET_CFLAGS) $(linux_mod_CFLAGS) -MD -c -o $@ $<
+-include linux_mod-loader_i386_linux.d
-CLEANFILES += cmd-linux_mod-loader_i386_pc_linux.lst
fs-linux_mod-loader_i386_pc_linux.lst partmap-linux_mod-loader_i386_pc_linux.lst
-COMMANDFILES += cmd-linux_mod-loader_i386_pc_linux.lst
-FSFILES += fs-linux_mod-loader_i386_pc_linux.lst
-PARTMAPFILES += partmap-linux_mod-loader_i386_pc_linux.lst
+CLEANFILES += cmd-linux_mod-loader_i386_linux.lst
fs-linux_mod-loader_i386_linux.lst partmap-linux_mod-loader_i386_linux.lst
+COMMANDFILES += cmd-linux_mod-loader_i386_linux.lst
+FSFILES += fs-linux_mod-loader_i386_linux.lst
+PARTMAPFILES += partmap-linux_mod-loader_i386_linux.lst
-cmd-linux_mod-loader_i386_pc_linux.lst: loader/i386/pc/linux.c
$(loader/i386/pc/linux.c_DEPENDENCIES) gencmdlist.sh
- set -e; $(TARGET_CC) -Iloader/i386/pc
-I$(srcdir)/loader/i386/pc $(TARGET_CPPFLAGS) $(TARGET_CFLAGS)
$(linux_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh linux > $@ ||
(rm -f $@; exit 1)
+cmd-linux_mod-loader_i386_linux.lst: loader/i386/linux.c
$(loader/i386/linux.c_DEPENDENCIES) gencmdlist.sh
+ set -e; $(TARGET_CC) -Iloader/i386 -I$(srcdir)/loader/i386
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(linux_mod_CFLAGS) -E $< | sh
$(srcdir)/gencmdlist.sh linux > $@ || (rm -f $@; exit 1)
-fs-linux_mod-loader_i386_pc_linux.lst: loader/i386/pc/linux.c
$(loader/i386/pc/linux.c_DEPENDENCIES) genfslist.sh
- set -e; $(TARGET_CC) -Iloader/i386/pc
-I$(srcdir)/loader/i386/pc $(TARGET_CPPFLAGS) $(TARGET_CFLAGS)
$(linux_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh linux > $@ || (rm
-f $@; exit 1)
+fs-linux_mod-loader_i386_linux.lst: loader/i386/linux.c
$(loader/i386/linux.c_DEPENDENCIES) genfslist.sh
+ set -e; $(TARGET_CC) -Iloader/i386 -I$(srcdir)/loader/i386
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(linux_mod_CFLAGS) -E $< | sh
$(srcdir)/genfslist.sh linux > $@ || (rm -f $@; exit 1)
-partmap-linux_mod-loader_i386_pc_linux.lst: loader/i386/pc/linux.c
$(loader/i386/pc/linux.c_DEPENDENCIES) genpartmaplist.sh
- set -e; $(TARGET_CC) -Iloader/i386/pc
-I$(srcdir)/loader/i386/pc $(TARGET_CPPFLAGS) $(TARGET_CFLAGS)
$(linux_mod_CFLAGS) -E $< | sh $(srcdir)/genpartmaplist.sh linux > $@
|| (rm -f $@; exit 1)
+partmap-linux_mod-loader_i386_linux.lst: loader/i386/linux.c
$(loader/i386/linux.c_DEPENDENCIES) genpartmaplist.sh
+ set -e; $(TARGET_CC) -Iloader/i386 -I$(srcdir)/loader/i386
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(linux_mod_CFLAGS) -E $< | sh
$(srcdir)/genpartmaplist.sh linux > $@ || (rm -f $@; exit 1)
linux_mod_CFLAGS = $(COMMON_CFLAGS)
Modified: trunk/grub2/conf/i386-pc.rmk
===================================================================
--- trunk/grub2/conf/i386-pc.rmk 2009-03-24 14:15:07 UTC (rev 2045)
+++ trunk/grub2/conf/i386-pc.rmk 2009-03-28 12:53:16 UTC (rev 2046)
@@ -167,7 +167,7 @@
# For grub-mkrescue.
grub_mkrescue_SOURCES = util/i386/pc/grub-mkrescue.in
-pkglib_MODULES = biosdisk.mod chain.mod linux.mod normal.mod \
+pkglib_MODULES = biosdisk.mod chain.mod normal.mod \
multiboot.mod reboot.mod halt.mod \
vbe.mod vbetest.mod vbeinfo.mod play.mod serial.mod \
ata.mod vga.mod memdisk.mod pci.mod lspci.mod \
@@ -185,8 +185,13 @@
chain_mod_CFLAGS = $(COMMON_CFLAGS)
chain_mod_LDFLAGS = $(COMMON_LDFLAGS)
-# For _linux.mod.
-linux_mod_SOURCES = loader/i386/pc/linux.c
+pkglib_MODULES += linux16.mod
+linux16_mod_SOURCES = loader/i386/pc/linux.c
+linux16_mod_CFLAGS = $(COMMON_CFLAGS)
+linux16_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
+pkglib_MODULES += linux.mod
+linux_mod_SOURCES = loader/i386/linux.c
linux_mod_CFLAGS = $(COMMON_CFLAGS)
linux_mod_LDFLAGS = $(COMMON_LDFLAGS)
Modified: trunk/grub2/include/grub/i386/loader.h
===================================================================
--- trunk/grub2/include/grub/i386/loader.h 2009-03-24 14:15:07 UTC (rev
2045)
+++ trunk/grub2/include/grub/i386/loader.h 2009-03-28 12:53:16 UTC (rev
2046)
@@ -30,7 +30,7 @@
extern grub_addr_t EXPORT_VAR(grub_os_area_addr);
extern grub_size_t EXPORT_VAR(grub_os_area_size);
-grub_err_t EXPORT_FUNC(grub_linux_boot) (void);
+grub_err_t EXPORT_FUNC(grub_linux16_boot) (void);
void EXPORT_FUNC(grub_unix_real_boot) (grub_addr_t entry, ...)
__attribute__ ((cdecl,noreturn));
Modified: trunk/grub2/kern/i386/loader.S
===================================================================
--- trunk/grub2/kern/i386/loader.S 2009-03-24 14:15:07 UTC (rev 2045)
+++ trunk/grub2/kern/i386/loader.S 2009-03-28 12:53:16 UTC (rev 2046)
@@ -59,7 +59,7 @@
VARIABLE(grub_linux_is_bzimage)
.long 0
-FUNCTION(grub_linux_boot)
+FUNCTION(grub_linux16_boot)
/* Must be done before zImage copy. */
call EXT_C(grub_dl_unload_all)
Modified: trunk/grub2/loader/i386/linux.c
===================================================================
--- trunk/grub2/loader/i386/linux.c 2009-03-24 14:15:07 UTC (rev 2045)
+++ trunk/grub2/loader/i386/linux.c 2009-03-28 12:53:16 UTC (rev 2046)
@@ -263,7 +263,7 @@
#endif
static grub_err_t
-grub_linux32_boot (void)
+grub_linux_boot (void)
{
struct linux_kernel_params *params;
int e820_num;
@@ -522,7 +522,7 @@
if (grub_errno == GRUB_ERR_NONE)
{
- grub_loader_set (grub_linux32_boot, grub_linux_unload,
+ grub_loader_set (grub_linux_boot, grub_linux_unload,
0 /* set noreturn=0 in order to avoid
grub_console_fini() */);
loaded = 1;
}
Modified: trunk/grub2/loader/i386/pc/linux.c
===================================================================
--- trunk/grub2/loader/i386/pc/linux.c 2009-03-24 14:15:07 UTC (rev 2045)
+++ trunk/grub2/loader/i386/pc/linux.c 2009-03-28 12:53:16 UTC (rev 2046)
@@ -269,7 +269,7 @@
if (grub_errno == GRUB_ERR_NONE)
{
grub_linux_prot_size = prot_size;
- grub_loader_set (grub_linux_boot, grub_linux_unload, 1);
+ grub_loader_set (grub_linux16_boot, grub_linux_unload, 1);
loaded = 1;
}
@@ -378,18 +378,18 @@
static grub_command_t cmd_linux, cmd_initrd;
-GRUB_MOD_INIT(linux)
+GRUB_MOD_INIT(linux16)
{
cmd_linux =
- grub_register_command ("linux", grub_cmd_linux,
+ grub_register_command ("linux16", grub_cmd_linux,
0, "load linux");
cmd_initrd =
- grub_register_command ("initrd", grub_cmd_initrd,
+ grub_register_command ("initrd16", grub_cmd_initrd,
0, "load initrd");
my_mod = mod;
}
-GRUB_MOD_FINI(linux)
+GRUB_MOD_FINI(linux16)
{
grub_unregister_command (cmd_linux);
grub_unregister_command (cmd_initrd);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [2046] 2009-03-28 Robert Millan <address@hidden>,
Robert Millan <=