2007-10-19 Robert Millan
* conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
(pkgdata_MODULES): Add `biosdisk.mod'.
(biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
variables.
* disk/i386/pc/biosdisk.c: Include `'.
(grub_biosdisk_init): Replace with ...
(GRUB_MOD_INIT(biosdisk)): ... this.
(grub_biosdisk_fini): Replace with ...
(GRUB_MOD_FINI(biosdisk)): ... this.
* kern/i386/pc/init.c: Remove `'.
(grub_machine_init): Remove call to grub_biosdisk_init().
(grub_machine_fini): Remove call to grub_machine_fini().
* util/i386/pc/grub-install.in (modules): Add `biosdisk'.
diff -urp grub2/conf/i386-pc.rmk grub2.biosdisk/conf/i386-pc.rmk
--- grub2/conf/i386-pc.rmk 2007-10-01 17:50:34.000000000 +0200
+++ grub2.biosdisk/conf/i386-pc.rmk 2007-10-19 22:00:34.000000000 +0200
@@ -27,7 +27,7 @@ kernel_img_SOURCES = kern/i386/pc/startu
kern/disk.c kern/dl.c kern/file.c kern/fs.c kern/err.c \
kern/misc.c kern/mm.c kern/loader.c kern/rescue.c kern/term.c \
kern/i386/dl.c kern/i386/pc/init.c kern/parser.c kern/partition.c \
- kern/env.c disk/i386/pc/biosdisk.c \
+ kern/env.c \
term/i386/pc/console.c \
symlist.c
kernel_img_HEADERS = arg.h boot.h cache.h device.h disk.h dl.h elf.h elfload.h \
@@ -127,11 +127,16 @@ grub_install_SOURCES = util/i386/pc/grub
grub_mkrescue_SOURCES = util/i386/pc/grub-mkrescue.in
# Modules.
-pkgdata_MODULES = _chain.mod _linux.mod linux.mod normal.mod \
+pkgdata_MODULES = biosdisk.mod _chain.mod _linux.mod linux.mod normal.mod \
_multiboot.mod chain.mod multiboot.mod reboot.mod halt.mod \
vbe.mod vbetest.mod vbeinfo.mod video.mod gfxterm.mod \
videotest.mod play.mod bitmap.mod tga.mod cpuid.mod serial.mod
+# For biosdisk.mod.
+biosdisk_mod_SOURCES = disk/i386/pc/biosdisk.c
+biosdisk_mod_CFLAGS = $(COMMON_CFLAGS)
+biosdisk_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
# For _chain.mod.
_chain_mod_SOURCES = loader/i386/pc/chainloader.c
_chain_mod_CFLAGS = $(COMMON_CFLAGS)
diff -urp grub2/disk/i386/pc/biosdisk.c grub2.biosdisk/disk/i386/pc/biosdisk.c
--- grub2/disk/i386/pc/biosdisk.c 2007-07-22 01:32:20.000000000 +0200
+++ grub2.biosdisk/disk/i386/pc/biosdisk.c 2007-10-19 22:00:34.000000000 +0200
@@ -19,6 +19,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -311,14 +312,12 @@ static struct grub_disk_dev grub_biosdis
.next = 0
};
-void
-grub_biosdisk_init (void)
+GRUB_MOD_INIT(biosdisk)
{
grub_disk_dev_register (&grub_biosdisk_dev);
}
-void
-grub_biosdisk_fini (void)
+GRUB_MOD_FINI(biosdisk)
{
grub_disk_dev_unregister (&grub_biosdisk_dev);
}
diff -urp grub2/kern/i386/pc/init.c grub2.biosdisk/kern/i386/pc/init.c
--- grub2/kern/i386/pc/init.c 2007-09-07 23:55:26.000000000 +0200
+++ grub2.biosdisk/kern/i386/pc/init.c 2007-10-19 22:00:34.000000000 +0200
@@ -21,7 +21,6 @@
#include
#include
#include
-#include
#include
#include
#include
@@ -226,9 +225,6 @@ grub_machine_init (void)
if (! grub_os_area_addr)
grub_fatal ("no upper memory");
-
- /* The memory system was initialized, thus register built-in devices. */
- grub_biosdisk_init ();
}
void
@@ -241,7 +237,6 @@ grub_machine_set_prefix (void)
void
grub_machine_fini (void)
{
- grub_biosdisk_fini ();
grub_console_fini ();
}
diff -urp grub2/util/i386/pc/grub-install.in grub2.biosdisk/util/i386/pc/grub-install.in
--- grub2/util/i386/pc/grub-install.in 2007-07-22 01:32:32.000000000 +0200
+++ grub2.biosdisk/util/i386/pc/grub-install.in 2007-10-19 22:00:34.000000000 +0200
@@ -224,7 +224,7 @@ fi
partmap_module=`$grub_probe --target=partmap --device-map=${device_map} ${grubdir} 2> /dev/null`
# _chain is often useful
-modules="$modules $fs_module $partmap_module _chain"
+modules="$modules $fs_module $partmap_module biosdisk _chain"
$grub_mkimage --output=${grubdir}/core.img --prefix=`make_system_path_relative_to_its_root ${grubdir}` $modules || exit 1