grub/DISTLIST
okuji 7f362539b7 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
Extend the loader so that GRUB can accept a loader which comes
        back to GRUB when a loaded image exits. Also, this change adds
        support for a chainloader on EFI.

        * term/efi/console.c: Include grub/misc.h.
        (grub_console_checkkey): Display a scan code on the top for
        debugging. This will be removed once the EFI port gets stable.
        Correct the scan code mapping.

        * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
        allocate memory from larger regions, in order to reduce the number
        of allocated regions. Otherwise, the MacOSX loader panics.
        (filter_memory_map): Avoid less than 1MB for compatibility with
        other loaders.
        (add_memory_regions): Allocate from the tail of a region, if
        possible, to avoid allocating a region near to 1MB, for the MacOSX
        loader.

        * kern/efi/init.c (grub_efi_set_prefix): Specify
        GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.

        * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
        argument IMAGE_HANDLE and specify it to get a loaded image.
        (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
        grub_efi_get_loaded_image.
        (grub_efi_get_filename): Divide the legnth by the size of
        grub_efi_char16_t.
        (grub_efi_get_device_path): New function.
        (grub_efi_print_device_path): Print End Device Path nodes. Divide
        the length by the size of grub_efi_char16_t for a file path device
        path node.

        * kern/loader.c (grub_loader_noreturn): New variable.
        (grub_loader_set): Accept a new argument NORETURN. Set
        GRUB_LOADER_NORETURN to NORETURN.
        All callers changed.
        (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
        grub_machine_fini.

        * include/grub/efi/efi.h (grub_efi_get_device_path): New
        prototype.
        (grub_efi_get_loaded_image): Take an argument to specify an image
        handle.

        * include/grub/loader.h (grub_loader_set): Added one more argument
        NORETURN.

        * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
        instead of grub_efi_open_protocol.
        (grub_efidisk_get_device_name): Likewise.
        (grub_efidisk_close): Print a newline.
        (grub_efidisk_get_device_handle): Fixed to use
        GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
        GRUB_EFI_DEVICE_PATH_TYPE.

        * disk/efi/efidisk.c (device_path_guid): Moved to ...
        * kern/efi/efi.c (device_path_guid): ... here.

        * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
        chain.mod.
        (kernel_mod_HEADERS): Added efi/disk.h.
        (_chain_mod_SOURCES): New variable.
        (_chain_mod_CFLAGS): Likewise.
        (_chain_mod_LDFLAGS): Likewise.
        (chain_mod_SOURCES): Likewise.
        (chain_mod_CFLAGS): Likewise.
        (chain_mod_LDFLAGS): Likewise.

        * DISTLIST: Added include/grub/efi/chainloader.h,
        loader/efi/chainloader.c and loader/efi/chainloader_normal.c.

        * include/grub/efi/chainloader.h: New file.
        * loader/efi/chainloader.c: Likewise.
        * loader/efi/chainloader_normal.c: Likewise.
2006-04-30 21:09:37 +00:00

264 lines
5.5 KiB
Text

AUTHORS
COPYING
ChangeLog
DISTLIST
INSTALL
NEWS
README
THANKS
TODO
Makefile.in
aclocal.m4
autogen.sh
config.guess
config.h.in
config.sub
configure
configure.ac
gencmdlist.sh
gendistlist.sh
genfslist.sh
geninitheader.sh
geninit.sh
genkernsyms.sh.in
genmk.rb
genmodsrc.sh
gensymlist.sh.in
install-sh
mkinstalldirs
stamp-h.in
boot/i386/pc/boot.S
boot/i386/pc/diskboot.S
boot/i386/pc/pxeboot.S
commands/boot.c
commands/cat.c
commands/cmp.c
commands/configfile.c
commands/default.c
commands/help.c
commands/ls.c
commands/search.c
commands/terminal.c
commands/test.c
commands/timeout.c
commands/videotest.c
commands/i386/pc/halt.c
commands/i386/pc/play.c
commands/i386/pc/reboot.c
commands/i386/pc/vbeinfo.c
commands/i386/pc/vbetest.c
commands/ieee1275/halt.c
commands/ieee1275/reboot.c
commands/ieee1275/suspend.c
conf/common.mk
conf/common.rmk
conf/i386-efi.mk
conf/i386-efi.rmk
conf/i386-pc.mk
conf/i386-pc.rmk
conf/powerpc-ieee1275.mk
conf/powerpc-ieee1275.rmk
conf/sparc64-ieee1275.mk
conf/sparc64-ieee1275.rmk
disk/loopback.c
disk/efi/efidisk.c
disk/i386/pc/biosdisk.c
disk/ieee1275/ofdisk.c
font/manager.c
fs/affs.c
fs/ext2.c
fs/fat.c
fs/fshelp.c
fs/hfs.c
fs/iso9660.c
fs/jfs.c
fs/minix.c
fs/ufs.c
fs/sfs.c
fs/xfs.c
fs/hfsplus.c
hello/hello.c
include/grub/acorn_filecore.h
include/grub/arg.h
include/grub/boot.h
include/grub/cache.h
include/grub/device.h
include/grub/disk.h
include/grub/dl.h
include/grub/elf.h
include/grub/env.h
include/grub/err.h
include/grub/file.h
include/grub/font.h
include/grub/fs.h
include/grub/fshelp.h
include/grub/gzio.h
include/grub/hfs.h
include/grub/kernel.h
include/grub/loader.h
include/grub/misc.h
include/grub/mm.h
include/grub/net.h
include/grub/normal.h
include/grub/parser.h
include/grub/partition.h
include/grub/pc_partition.h
include/grub/rescue.h
include/grub/script.h
include/grub/setjmp.h
include/grub/symbol.h
include/grub/term.h
include/grub/terminfo.h
include/grub/tparm.h
include/grub/types.h
include/grub/video.h
include/grub/efi/api.h
include/grub/efi/chainloader.h
include/grub/efi/console.h
include/grub/efi/console_control.h
include/grub/efi/disk.h
include/grub/efi/efi.h
include/grub/efi/pe32.h
include/grub/efi/time.h
include/grub/i386/setjmp.h
include/grub/i386/types.h
include/grub/i386/efi/kernel.h
include/grub/i386/efi/time.h
include/grub/i386/pc/biosdisk.h
include/grub/i386/pc/boot.h
include/grub/i386/pc/chainloader.h
include/grub/i386/pc/console.h
include/grub/i386/pc/init.h
include/grub/i386/pc/kernel.h
include/grub/i386/pc/linux.h
include/grub/i386/pc/loader.h
include/grub/i386/pc/memory.h
include/grub/i386/pc/multiboot.h
include/grub/i386/pc/serial.h
include/grub/i386/pc/time.h
include/grub/i386/pc/vbe.h
include/grub/i386/pc/vbeblit.h
include/grub/i386/pc/vbefill.h
include/grub/i386/pc/vga.h
include/grub/i386/pc/util/biosdisk.h
include/grub/ieee1275/ieee1275.h
include/grub/ieee1275/ofdisk.h
include/grub/powerpc/libgcc.h
include/grub/powerpc/setjmp.h
include/grub/powerpc/types.h
include/grub/powerpc/ieee1275/biosdisk.h
include/grub/powerpc/ieee1275/console.h
include/grub/powerpc/ieee1275/ieee1275.h
include/grub/powerpc/ieee1275/kernel.h
include/grub/powerpc/ieee1275/loader.h
include/grub/powerpc/ieee1275/multiboot.h
include/grub/powerpc/ieee1275/time.h
include/grub/powerpc/ieee1275/util/biosdisk.h
include/grub/sparc64/setjmp.h
include/grub/sparc64/types.h
include/grub/sparc64/ieee1275/console.h
include/grub/sparc64/ieee1275/ieee1275.h
include/grub/sparc64/ieee1275/kernel.h
include/grub/sparc64/ieee1275/time.h
include/grub/util/getroot.h
include/grub/util/misc.h
include/grub/util/resolve.h
io/gzio.c
kern/device.c
kern/disk.c
kern/dl.c
kern/env.c
kern/err.c
kern/file.c
kern/fs.c
kern/loader.c
kern/main.c
kern/misc.c
kern/mm.c
kern/parser.c
kern/partition.c
kern/rescue.c
kern/term.c
kern/efi/init.c
kern/efi/efi.c
kern/efi/mm.c
kern/i386/dl.c
kern/i386/efi/init.c
kern/i386/efi/startup.S
kern/i386/pc/init.c
kern/i386/pc/lzo1x.S
kern/i386/pc/startup.S
kern/ieee1275/ieee1275.c
kern/powerpc/cache.S
kern/powerpc/dl.c
kern/powerpc/ieee1275/cmain.c
kern/powerpc/ieee1275/crt0.S
kern/powerpc/ieee1275/init.c
kern/powerpc/ieee1275/openfw.c
kern/sparc64/cache.S
kern/sparc64/dl.c
kern/sparc64/ieee1275/init.c
kern/sparc64/ieee1275/openfw.c
loader/efi/chainloader.c
loader/efi/chainloader_normal.c
loader/i386/pc/chainloader.c
loader/i386/pc/chainloader_normal.c
loader/i386/pc/linux.c
loader/i386/pc/linux_normal.c
loader/i386/pc/multiboot.c
loader/i386/pc/multiboot_normal.c
loader/powerpc/ieee1275/linux.c
loader/powerpc/ieee1275/linux_normal.c
normal/arg.c
normal/cmdline.c
normal/command.c
normal/completion.c
normal/context.c
normal/execute.c
normal/function.c
normal/lexer.c
normal/main.c
normal/menu.c
normal/menu_entry.c
normal/misc.c
normal/parser.y
normal/script.c
normal/i386/setjmp.S
normal/powerpc/setjmp.S
partmap/acorn.c
partmap/amiga.c
partmap/apple.c
partmap/gpt.c
partmap/pc.c
partmap/sun.c
term/terminfo.c
term/tparm.c
term/gfxterm.c
term/efi/console.c
term/i386/pc/console.c
term/i386/pc/serial.c
term/i386/pc/vesafb.c
term/i386/pc/vga.c
term/ieee1275/ofconsole.c
util/console.c
util/genmoddep.c
util/grub-emu.c
util/misc.c
util/resolve.c
util/unifont2pff.rb
util/i386/efi/grub-mkimage.c
util/i386/pc/biosdisk.c
util/i386/pc/getroot.c
util/i386/pc/grub-install.in
util/i386/pc/grub-mkdevicemap.c
util/i386/pc/grub-mkimage.c
util/i386/pc/grub-probefs.c
util/i386/pc/grub-setup.c
util/i386/pc/misc.c
util/powerpc/ieee1275/grub-install.in
util/powerpc/ieee1275/grub-mkimage.c
util/powerpc/ieee1275/misc.c
video/video.c
video/i386/pc/vbe.c
video/i386/pc/vbeblit.c
video/i386/pc/vbefill.c