grub/include/grub
okuji 2965c7cc2d 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
A new machine-specific function "grub_machine_set_prefix" is
        defined. This is called after loading modules, so that a prefix
        initialization can use modules. Also, this change adds an
        intensive debugging feature for the memory manager via the
        configure option "--enable-mm-debug".

        * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
        PART.LEN.

        * kern/sparc64/ieee1275/init.c (abort): Removed.
        (grub_stop): Likewise.
        (grub_exit): New function.
        (grub_set_prefix): Renamed to ...
        (grub_machine_set_prefix): ... this.
        (grub_machine_init): Do not call grub_set_prefix.

        * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
        (grub_machine_set_prefix): ... this.
        (grub_machine_init): Do not call grub_set_prefix.

        * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
        (grub_machine_init): Do not set the prefix here.

        * kern/i386/efi/init.c (grub_machine_set_prefix): New function.

        * kern/efi/init.c: Include grub/mm.h.
        (grub_efi_set_prefix): New function.

        * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
        (grub_efi_get_filename): New function.
        (grub_print_device_path): Renamed to ...
        (grub_efi_print_device_path): ... this.

        * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
        [MM_DEBUG] (grub_realloc): Likewise.
        [MM_DEBUG] (grub_free): Likewise.
        [MM_DEBUG] (grub_memalign): Likewise.
        [MM_DEBUG] (grub_mm_debug): New variable.
        [MM_DEBUG] (grub_debug_malloc): New function.
        [MM_DEBUG] (grub_debug_free): New function.
        [MM_DEBUG] (grub_debug_realloc): New function.
        [MM_DEBUG] (grub_debug_memalign): New function.

        * kern/misc.c (grub_abort): Print a newline to distinguish
        the message.

        * kern/main.c (grub_main): Call grub_machine_set_prefix and
        grub_set_root_dev after loading modules. This is necessary when
        setting a prefix depends on modules.

        * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
        (grub_efi_print_device_path): ... this.
        (grub_efi_get_filename): New prototype.
        (grub_efi_set_prefix): Likewise.

        * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
        and grub/disk.h.
        (grub_efidisk_get_device_handle): New prototype.
        (grub_efidisk_get_device_name): Likewise.

        * include/grub/mm.h: Include config.h.
        (MM_DEBUG): Removed.
        [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
        [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
        [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
        [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
        [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
        [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
        [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
        [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
        [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.

        * include/grub/kernel.h (grub_machine_set_prefix): New prototype.

        * disk/efi/efidisk.c: Include grub/partition.h.
        (iterate_child_devices): New function.
        (add_device): First, compare only last device path nodes, so that
        devices are sorted by the types.
        (grub_efidisk_get_device_handle): New function.
        (grub_efidisk_get_device_name): Likewise.

        * configure.ac (--enable-mm-debug): New option to enable the
        memory manager debugging feature. This makes the binary much
        bigger, so is disabled by default.
2006-04-25 20:08:31 +00:00
..
efi 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-25 20:08:31 +00:00
i386 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-19 08:59:44 +00:00
ieee1275 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr> 2005-08-21 18:42:55 +00:00
powerpc 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-23 13:37:36 +00:00
sparc64 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-23 13:37:36 +00:00
util 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org> 2005-02-15 00:07:01 +00:00
acorn_filecore.h 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk> 2005-11-13 19:45:12 +00:00
arg.h 2005-07-17 Yoshinori Okuji <okuji@enbug.org> 2005-07-17 20:26:07 +00:00
boot.h 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org> 2004-04-04 13:46:03 +00:00
cache.h 2004-12-27 Marco Gerards <metgerards@student.han.nl> 2004-12-27 13:46:20 +00:00
device.h 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org> 2005-08-20 07:49:02 +00:00
disk.h 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-23 13:37:36 +00:00
dl.h 2005-11-27 Marco Gerards <mgerards@xs4all.nl> 2005-11-27 12:21:12 +00:00
elf.h 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org> 2004-04-04 13:46:03 +00:00
env.h 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org> 2005-07-20 20:30:46 +00:00
err.h 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi> 2005-12-23 22:59:12 +00:00
file.h 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org> 2004-04-04 13:46:03 +00:00
font.h 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi> 2006-03-14 19:08:34 +00:00
fs.h 2005-10-09 Marco Gerards <mgerards@xs4all.nl> 2005-10-09 13:03:53 +00:00
fshelp.h 2005-12-25 Marco Gerards <marco@gnu.org> 2005-12-25 15:59:50 +00:00
gzio.h 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org> 2005-08-22 17:28:59 +00:00
hfs.h 2006-01-03 Hollis Blanchard <hollis@penguinppc.org> 2006-01-03 14:30:57 +00:00
kernel.h 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-25 20:08:31 +00:00
loader.h 2004-12-27 Marco Gerards <metgerards@student.han.nl> 2004-12-27 13:46:20 +00:00
misc.h 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-23 13:37:36 +00:00
mm.h 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org> 2006-04-25 20:08:31 +00:00
net.h 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org> 2004-04-04 13:46:03 +00:00
normal.h 2006-01-17 Marco Gerards <marco@gnu.org> 2006-01-17 09:50:47 +00:00
parser.h 2005-10-24 Marco Gerards <mgerards@xs4all.nl> 2005-10-24 10:23:46 +00:00
partition.h 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org> 2005-08-20 07:49:02 +00:00
pc_partition.h 2005-12-03 Marco Gerards <mgerards@xs4all.nl> 2005-12-03 17:54:55 +00:00
rescue.h 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org> 2004-04-04 13:46:03 +00:00
script.h 2006-17-04 Marco Gerards <marco@gnu.org> 2006-04-17 13:01:20 +00:00
setjmp.h 2004-11-17 Hollis Blanchard <hollis@penguinppc.org> 2004-11-16 23:34:45 +00:00
symbol.h 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk> 2005-11-13 21:37:16 +00:00
term.h 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org> 2005-10-15 09:22:32 +00:00
terminfo.h 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org> 2005-09-03 16:54:27 +00:00
tparm.h 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org> 2005-09-03 16:54:27 +00:00
types.h 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk> 2005-11-13 19:45:12 +00:00
video.h 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi> 2006-03-31 14:26:34 +00:00