1. 12 Apr, 2012 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      Terminate UNDI and PXE before launching the payload to avoid problems · 3c491b47
      Vladimir 'phcoder' Serbinenko authored
      	with DMA.
      
      	* grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
      	(grub_loader_flags): ... this. All users updated.
      	(grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
      	* grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
      	loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
      	* grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
      	function.
      	(grub_pxe_restore): Likewise.
      	(fini_hnd): New var.
      	(GRUB_MOD_INIT): Register shutdown hook.
      	(GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
      	* include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
      	(GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
      	(grub_loader_set): Rename second argument to flags.
      3c491b47
  2. 27 Feb, 2012 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      Remove grub_{modname}_init and grub_{modname}_fini. They should never · 036985b8
      Vladimir 'phcoder' Serbinenko authored
      	be used directly if it's really a module and GRUB_MOD_INIT shouldn't
      	be used on non-modules.
      
      	* grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
      	Rename to grub_boot_init.
      	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
      	* grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
      	[LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
      	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
      	* grub-core/font/font_cmd.c (GRUB_MOD_INIT)
      	[LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
      	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
      	* grub-core/kern/mips/loongson/init.c: Replace explicit protos with
      	includes.
      	(grub_machine_init): Remove empty inits.
      	* grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
      	includes.
      	(grub_machine_init): Remove empty inits.
      	* grub-core/term/arc/console.c: Remove explicit proto.
      	* grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
      	[LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
      	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
      	grub_at_keyboard_fini.
      	* grub-core/term/gfxterm.c (GRUB_MOD_INIT)
      	[LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
      	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
      	grub_gfxterm_fini.
      	* grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
      	[LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
      	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
      	grub_vgatext_fini.
      	* grub-core/term/ieee1275/console.c: Remove explicit proto.
      	* grub-core/term/serial.c (GRUB_MOD_INIT)
      	[LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
      	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
      	grub_serial_fini.
      	* grub-core/term/terminfo.c (GRUB_MOD_INIT)
      	[LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
      	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
      	grub_terminfo_fini.
      	* grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
      	(GRUB_MOD_FINI): Likewise.
      	* grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
      	[LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
      	(GRUB_MOD_FINI) [LOONGSON]: Rename to
      	grub_video_radeon_fuloong2e_fini.
      	* grub-core/video/sis315pro.c (GRUB_MOD_INIT)
      	[LOONGSON]: Rename to grub_video_sis315pro_init.
      	(GRUB_MOD_FINI) [LOONGSON]: Rename to
      	grub_video_sis315pro_fini.
      	* grub-core/video/sm712.c (GRUB_MOD_INIT)
      	[LOONGSON]: Rename to grub_video_sm712_init.
      	(GRUB_MOD_FINI) [LOONGSON]: Rename to
      	grub_video_sm712_fini.
      	* include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
      	(grub_at_keyboard_fini): Likewise.
      	* include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
      	Don't declare grub_{modname}_init.
      	(GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
      	* include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
      	New proto.
      	(grub_keylayouts_fini) [!EMU]: Likewise.
      	* include/grub/serial.h (grub_serial_init) [!EMU]:
      	New proto.
      	(grub_serial_fini) [!EMU]: Likewise.
      	* include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
      	New proto.
      	(grub_terminfo_fini) [!EMU]: Likewise.
      	* include/grub/video.h (grub_font_init) [!EMU]:
      	New proto.
      	(grub_font_fini) [!EMU]: Likewise.
      	(grub_gfxterm_init) [!EMU]: Likewise.
      	(grub_gfxterm_fini) [!EMU]: Likewise.
      	(grub_video_sm712_init) [!EMU]: Likewise.
      	(grub_video_sm712_fini) [!EMU]: Likewise.
      	(grub_video_sis315pro_init) [!EMU]: Likewise.
      	(grub_video_sis315pro_fini) [!EMU]: Likewise.
      	(grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
      	(grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
      036985b8
  3. 13 Dec, 2011 1 commit
  4. 27 Jun, 2011 1 commit
  5. 18 Sep, 2010 1 commit
  6. 17 Aug, 2010 1 commit
  7. 06 May, 2010 1 commit
  8. 27 Apr, 2009 1 commit
    • phcoder's avatar
      2009-04-27 Vladimir Serbinenko <phcoder@gmail.com> · 75a807cf
      phcoder authored
      	Preboot hooks support
      
      	* commands/boot.c (struct grub_preboot_t): new declaration
      	(preboots_head): new variable
      	(preboots_tail): likewise
      	(grub_loader_register_preboot_hook): new function
      	(grub_loader_unregister_preboot_hook): likewise
      	(grub_loader_set): launch preboot hooks
      	* include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
      	(grub_loader_register_preboot_hook): new declaration
      	(grub_loader_unregister_preboot_hook): likewise
      
      75a807cf
  9. 15 Apr, 2009 1 commit
    • phcoder's avatar
      2009-04-15 Vladimir Serbinenko <phcoder@gmail.com> · 0d5d5653
      phcoder authored
      	Move loader out of the kernel
      
      	* kern/loader.c: moved to ...
      	* commands/boot.c: ... moved here
      	* commands/minicmd.c (grub_mini_cmd_boot): moved to ...
      	* commands/boot.c (grub_cmd_boot): moved here. All users updated
      	* include/grub/kernel.h (grub_machine_fini): export
      	* include/grub/loader.h (grub_loader_is_loaded): update declaration
      	(grub_loader_set): likewise
      	(grub_loader_unset): likewise
      	(grub_loader_boot): likewise
      	* conf/common.rmk: new module boot.mod
      	(pkglib_MODULES): add boot.mod
      	* conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
      	(grub_emu_SOURCES): likewise
      	* conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
      	(grub_emu_SOURCES): likewise
      	* conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
      	(grub_emu_SOURCES): likewise
      	* conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
      	(grub_emu_SOURCES): likewise
      	* conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
      	(grub_emu_SOURCES): likewise
      	* conf/sparcs64-ieee1275.rmk (kernel_elf_SOURCES): likewise
      	(grub_emu_SOURCES): likewise   
      	* conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
      	(grub_emu_SOURCES): likewise 
      
      0d5d5653
  10. 22 Jul, 2007 1 commit
    • okuji's avatar
      2007-07-22 Yoshinori K. Okuji <okuji@enbug.org> · 5a79f472
      okuji authored
          Migrate to GNU General Public License Version 3.
      
          * COPYING: Replaced with the plain text version of GPLv3.
      
          * config.guess: Updated from gnulib.
          * config.sub: Likewise.
      
          * geninit.sh: Output a GPLv3 copyright notice.
          * geninitheader.sh: Likewise.
          * genmodsrc.sh: Likewise.
          * gensymlist.sh.in: Likewise.
      
          * boot/i386/pc/boot.S: Upgraded to GPLv3.
          * boot/i386/pc/diskboot.S: Likewise.
          * boot/i386/pc/pxeboot.S: Likewise.
          * commands/blocklist.c: Likewise.
          * commands/boot.c: Likewise.
          * commands/cat.c: Likewise.
          * commands/cmp.c: Likewise.
          * commands/configfile.c: Likewise.
          * commands/echo.c: Likewise.
          * commands/help.c: Likewise.
          * commands/ls.c: Likewise.
          * commands/search.c: Likewise.
          * commands/terminal.c: Likewise.
          * commands/test.c: Likewise.
          * commands/videotest.c: Likewise.
          * commands/i386/cpuid.c: Likewise.
          * commands/i386/pc/halt.c: Likewise.
          * commands/i386/pc/play.c: Likewise.
          * commands/i386/pc/reboot.c: Likewise.
          * commands/i386/pc/vbeinfo.c: Likewise.
          * commands/i386/pc/vbetest.c: Likewise.
          * commands/ieee1275/halt.c: Likewise.
          * commands/ieee1275/reboot.c: Likewise.
          * commands/ieee1275/suspend.c: Likewise.
          * disk/loopback.c: Likewise.
          * disk/lvm.c: Likewise.
          * disk/raid.c: Likewise.
          * disk/efi/efidisk.c: Likewise.
          * disk/i386/pc/biosdisk.c: Likewise.
          * disk/ieee1275/ofdisk.c: Likewise.
          * font/manager.c: Likewise.
          * fs/affs.c: Likewise.
          * fs/ext2.c: Likewise.
          * fs/fat.c: Likewise.
          * fs/fshelp.c: Likewise.
          * fs/hfs.c: Likewise.
          * fs/hfsplus.c: Likewise.
          * fs/iso9660.c: Likewise.
          * fs/jfs.c: Likewise.
          * fs/minix.c: Likewise.
          * fs/sfs.c: Likewise.
          * fs/ufs.c: Likewise.
          * fs/xfs.c: Likewise.
          * hello/hello.c: Likewise.
          * include/grub/acorn_filecore.h: Likewise.
          * include/grub/arg.h: Likewise.
          * include/grub/bitmap.h: Likewise.
          * include/grub/boot.h: Likewise.
          * include/grub/cache.h: Likewise.
          * include/grub/device.h: Likewise.
          * include/grub/disk.h: Likewise.
          * include/grub/dl.h: Likewise.
          * include/grub/elfload.h: Likewise.
          * include/grub/env.h: Likewise.
          * include/grub/err.h: Likewise.
          * include/grub/file.h: Likewise.
          * include/grub/font.h: Likewise.
          * include/grub/fs.h: Likewise.
          * include/grub/fshelp.h: Likewise.
          * include/grub/gzio.h: Likewise.
          * include/grub/hfs.h: Likewise.
          * include/grub/kernel.h: Likewise.
          * include/grub/loader.h: Likewise.
          * include/grub/lvm.h: Likewise.
          * include/grub/misc.h: Likewise.
          * include/grub/mm.h: Likewise.
          * include/grub/net.h: Likewise.
          * include/grub/normal.h: Likewise.
          * include/grub/parser.h: Likewise.
          * include/grub/partition.h: Likewise.
          * include/grub/pc_partition.h: Likewise.
          * include/grub/raid.h: Likewise.
          * include/grub/rescue.h: Likewise.
          * include/grub/script.h: Likewise.
          * include/grub/setjmp.h: Likewise.
          * include/grub/symbol.h: Likewise.
          * include/grub/term.h: Likewise.
          * include/grub/terminfo.h: Likewise.
          * include/grub/tparm.h: Likewise.
          * include/grub/types.h: Likewise.
          * include/grub/video.h: Likewise.
          * include/grub/efi/api.h: Likewise.
          * include/grub/efi/chainloader.h: Likewise.
          * include/grub/efi/console.h: Likewise.
          * include/grub/efi/console_control.h: Likewise.
          * include/grub/efi/disk.h: Likewise.
          * include/grub/efi/efi.h: Likewise.
          * include/grub/efi/pe32.h: Likewise.
          * include/grub/efi/time.h: Likewise.
          * include/grub/i386/linux.h: Likewise.
          * include/grub/i386/setjmp.h: Likewise.
          * include/grub/i386/types.h: Likewise.
          * include/grub/i386/efi/kernel.h: Likewise.
          * include/grub/i386/efi/loader.h: Likewise.
          * include/grub/i386/efi/time.h: Likewise.
          * include/grub/i386/pc/biosdisk.h: Likewise.
          * include/grub/i386/pc/boot.h: Likewise.
          * include/grub/i386/pc/chainloader.h: Likewise.
          * include/grub/i386/pc/console.h: Likewise.
          * include/grub/i386/pc/init.h: Likewise.
          * include/grub/i386/pc/kernel.h: Likewise.
          * include/grub/i386/pc/loader.h: Likewise.
          * include/grub/i386/pc/memory.h: Likewise.
          * include/grub/i386/pc/multiboot.h: Likewise.
          * include/grub/i386/pc/serial.h: Likewise.
          * include/grub/i386/pc/time.h: Likewise.
          * include/grub/i386/pc/vbe.h: Likewise.
          * include/grub/i386/pc/vbeblit.h: Likewise.
          * include/grub/i386/pc/vbefill.h: Likewise.
          * include/grub/i386/pc/vbeutil.h: Likewise.
          * include/grub/i386/pc/vga.h: Likewise.
          * include/grub/ieee1275/ieee1275.h: Likewise.
          * include/grub/ieee1275/ofdisk.h: Likewise.
          * include/grub/powerpc/libgcc.h: Likewise.
          * include/grub/powerpc/setjmp.h: Likewise.
          * include/grub/powerpc/types.h: Likewise.
          * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
          * include/grub/powerpc/ieee1275/console.h: Likewise.
          * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
          * include/grub/powerpc/ieee1275/kernel.h: Likewise.
          * include/grub/powerpc/ieee1275/loader.h: Likewise.
          * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
          * include/grub/powerpc/ieee1275/time.h: Likewise.
          * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
          * include/grub/sparc64/libgcc.h: Likewise.
          * include/grub/sparc64/setjmp.h: Likewise.
          * include/grub/sparc64/types.h: Likewise.
          * include/grub/sparc64/ieee1275/console.h: Likewise.
          * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
          * include/grub/sparc64/ieee1275/kernel.h: Likewise.
          * include/grub/sparc64/ieee1275/time.h: Likewise.
          * include/grub/util/biosdisk.h: Likewise.
          * include/grub/util/getroot.h: Likewise.
          * include/grub/util/lvm.h: Likewise.
          * include/grub/util/misc.h: Likewise.
          * include/grub/util/raid.h: Likewise.
          * include/grub/util/resolve.h: Likewise.
          * io/gzio.c: Likewise.
          * kern/device.c: Likewise.
          * kern/disk.c: Likewise.
          * kern/dl.c: Likewise.
          * kern/elf.c: Likewise.
          * kern/env.c: Likewise.
          * kern/err.c: Likewise.
          * kern/file.c: Likewise.
          * kern/fs.c: Likewise.
          * kern/loader.c: Likewise.
          * kern/main.c: Likewise.
          * kern/misc.c: Likewise.
          * kern/mm.c: Likewise.
          * kern/parser.c: Likewise.
          * kern/partition.c: Likewise.
          * kern/rescue.c: Likewise.
          * kern/term.c: Likewise.
          * kern/efi/efi.c: Likewise.
          * kern/efi/init.c: Likewise.
          * kern/efi/mm.c: Likewise.
          * kern/i386/dl.c: Likewise.
          * kern/i386/efi/init.c: Likewise.
          * kern/i386/efi/startup.S: Likewise.
          * kern/i386/pc/init.c: Likewise.
          * kern/i386/pc/lzo1x.S: Likewise.
          * kern/i386/pc/startup.S: Likewise.
          * kern/ieee1275/ieee1275.c: Likewise.
          * kern/powerpc/cache.S: Likewise.
          * kern/powerpc/dl.c: Likewise.
          * kern/powerpc/ieee1275/cmain.c: Likewise.
          * kern/powerpc/ieee1275/crt0.S: Likewise.
          * kern/powerpc/ieee1275/init.c: Likewise.
          * kern/powerpc/ieee1275/openfw.c: Likewise.
          * kern/sparc64/cache.S: Likewise.
          * kern/sparc64/dl.c: Likewise.
          * kern/sparc64/ieee1275/init.c: Likewise.
          * kern/sparc64/ieee1275/openfw.c: Likewise.
          * loader/efi/chainloader.c: Likewise.
          * loader/efi/chainloader_normal.c: Likewise.
          * loader/i386/efi/linux.c: Likewise.
          * loader/i386/efi/linux_normal.c: Likewise.
          * loader/i386/pc/chainloader.c: Likewise.
          * loader/i386/pc/chainloader_normal.c: Likewise.
          * loader/i386/pc/linux.c: Likewise.
          * loader/i386/pc/linux_normal.c: Likewise.
          * loader/i386/pc/multiboot.c: Likewise.
          * loader/i386/pc/multiboot_normal.c: Likewise.
          * loader/powerpc/ieee1275/linux.c: Likewise.
          * loader/powerpc/ieee1275/linux_normal.c: Likewise.
          * normal/arg.c: Likewise.
          * normal/cmdline.c: Likewise.
          * normal/command.c: Likewise.
          * normal/completion.c: Likewise.
          * normal/execute.c: Likewise.
          * normal/function.c: Likewise.
          * normal/lexer.c: Likewise.
          * normal/main.c: Likewise.
          * normal/menu.c: Likewise.
          * normal/menu_entry.c: Likewise.
          * normal/misc.c: Likewise.
          * normal/parser.y: Likewise.
          * normal/script.c: Likewise.
          * normal/i386/setjmp.S: Likewise.
          * normal/powerpc/setjmp.S: Likewise.
          * normal/sparc64/setjmp.S: Likewise.
          * partmap/acorn.c: Likewise.
          * partmap/amiga.c: Likewise.
          * partmap/apple.c: Likewise.
          * partmap/gpt.c: Likewise.
          * partmap/pc.c: Likewise.
          * partmap/sun.c: Likewise.
          * term/gfxterm.c: Likewise.
          * term/terminfo.c: Likewise.
          * term/efi/console.c: Likewise.
          * term/i386/pc/console.c: Likewise.
          * term/i386/pc/serial.c: Likewise.
          * term/i386/pc/vesafb.c: Likewise.
          * term/i386/pc/vga.c: Likewise.
          * term/ieee1275/ofconsole.c: Likewise.
          * util/biosdisk.c: Likewise.
          * util/console.c: Likewise.
          * util/genmoddep.c: Likewise.
          * util/getroot.c: Likewise.
          * util/grub-emu.c: Likewise.
          * util/grub-mkdevicemap.c: Likewise.
          * util/grub-probe.c: Likewise.
          * util/lvm.c: Likewise.
          * util/misc.c: Likewise.
          * util/raid.c: Likewise.
          * util/resolve.c: Likewise.
          * util/update-grub.in: Likewise.
          * util/update-grub_lib.in: Likewise.
          * util/grub.d/00_header.in: Likewise.
          * util/grub.d/10_hurd.in: Likewise.
          * util/grub.d/10_linux.in: Likewise.
          * util/i386/efi/grub-install.in: Likewise.
          * util/i386/efi/grub-mkimage.c: Likewise.
          * util/i386/pc/grub-install.in: Likewise.
          * util/i386/pc/grub-mkimage.c: Likewise.
          * util/i386/pc/grub-mkrescue.in: Likewise.
          * util/i386/pc/grub-setup.c: Likewise.
          * util/i386/pc/misc.c: Likewise.
          * util/powerpc/ieee1275/grub-install.in: Likewise.
          * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
          * util/powerpc/ieee1275/misc.c: Likewise.
          * video/bitmap.c: Likewise.
          * video/video.c: Likewise.
          * video/i386/pc/vbe.c: Likewise.
          * video/i386/pc/vbeblit.c: Likewise.
          * video/i386/pc/vbefill.c: Likewise.
          * video/i386/pc/vbeutil.c: Likewise.
          * video/readers/tga.c: Likewise.
      5a79f472
  11. 01 May, 2006 1 commit
    • okuji's avatar
      2006-04-30 Yoshinori K. Okuji <okuji@enbug.org> · 7f362539
      okuji authored
              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.
      7f362539
  12. 27 Dec, 2004 1 commit
    • marco_g's avatar
      2004-12-27 Marco Gerards <metgerards@student.han.nl> · 924b6140
      marco_g authored
      	* genmk.rb: Handle the `Program' class in the main loop.  Written
      	by Johan Rydberg <jrydberg@gnu.org>.
      	(Program): New class.
      	(programs): New variable.
      	* boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
      	instead of "grub/machine/ieee1275.h".  Include <grub/kernel.h>
      	instead of "grub/kernel.h".  Include <grub/machine/init.h>.
      	(help_arch): Function removed.
      	* conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
      	`powerpc/libgcc.h' and `loader.h'.
      	(pkgdata_PROGRAMS): New variable.
      	(sbin_UTILITIES): Variable removed.
      	(grub_emu_SOURCES): Added kern/powerpc/cache.S.
      	(grubof_SOURCES): Variable re-defined so it only includes the
      	core functionality.
      	(grubof_CFLAGS): Remove `-DGRUBOF'.
      	(pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
      	(fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
      	(ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
      	(minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
      	(hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
      	(iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
      	(_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
      	(normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
      	(hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
      	(boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
      	(ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
      	(cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
      	(font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
      	(apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
      	(pc_mod_CFLAGS): New variables.
      	* disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
      	(grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
      	* include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
      	* include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
      	Moved from here...
      	* include/grub/i386/pc/init.h (grub_os_area_addr)
      	(rub_os_area_size): ... to here.
      	* include/grub/powerpc/ieee1275/ieee1275.h
      	(grub_ieee1275_entry_fn): Export symbol.
      	* include/grub/powerpc/ieee1275/init.h: New file.
      	* include/grub/powerpc/libgcc.h: Likewise.
      	* include/grub/cache.h: Likewise.
      	* kern/powerpc/cache.S: Likewise.  Written by Hollis Blanchard
      	<hollis@penguinppc.org>.
      	* kern/dl.c: Include <grub/cache.h>.
      	(grub_dl_flush_cache): New function.
      	(grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
      	for this module.
      	* kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
      	(grub_console_init): Removed prototypes.
      	(grub_machine_init): Don't initialize the modules anymore.
      	* kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
      	static.
      	* include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
      	Macro undef removed.
      	(GRUB_HOST_WORDS_BIGENDIAN): New macro.
      	* kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
      	relocation `R_PPC_REL32'.  Return an error when the relocation is
      	unknown.
      	* Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
      	* kern/i386/pc/init.c (grub_arch_sync_caches): New function.
      	* util/misc.c (grub_arch_sync_caches): Likewise.
      924b6140
  13. 11 Sep, 2004 1 commit
    • okuji's avatar
      2004-09-10 Yoshinori K. Okuji <okuji@enbug.org> · 3c52136a
      okuji authored
        * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
        (print_message): Add a missing newline.
        (run_menu): Added timeout support.
        (run_menu_entry): New local function.
        (grub_menu_run): Added support for booting.
      
        * kern/loader.c (grub_loader_is_loaded): New function.
      
        * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
        (grub_get_rtc): Exported.
      
        * include/grub/i386/pc/time.h: Include grub/symbol.h.
        (grub_get_rtc): Exported.
      
        * include/grub/normal.h (struct grub_command_list): Remove
        constant from the member `command'.
      
        * include/grub/loader.h (grub_loader_is_loaded): Declared.
      
        * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
      
        * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
      3c52136a
  14. 04 Apr, 2004 1 commit
    • okuji's avatar
      2004-04-04 Yoshinori K. Okuji <okuji@enbug.org> · 4b13b216
      okuji authored
      	All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
      	and grub_, respectively. Because the conversion is trivial and
      	mechanical, I omit the details here. Please refer to the CVS
      	if you need more information.
      4b13b216
  15. 24 Feb, 2004 1 commit
    • okuji's avatar
      shinori K. Okuji <okuji@enbug.org> · 8367695c
      okuji authored
      	* genkernsyms.sh: Updated copyright information.
      	* genmk.rb: Likewise.
      	* genmodsrc.sh: Likewise.
      	* gensymlist.sh: Likewise.
      	* boot/i386/pc/boot.S: Likewise.
      	* boot/i386/pc/diskboot.S: Likewise.
      	* disk/i386/pc/biosdisk.c: Likewise.
      	* disk/i386/pc/partition.c: Likewise.
      	* font/manager.c: Likewise.
      	* fs/ext2.c: Likewise.
      	* fs/fat.c: Likewise.
      	* include/pupa/boot.h: Likewise.
      	* include/pupa/device.h: Likewise.
      	* include/pupa/disk.h: Likewise.
      	* include/pupa/dl.h: Likewise.
      	* include/pupa/elf.h: Likewise.
      	* include/pupa/err.h: Likewise.
      	* include/pupa/file.h: Likewise.
      	* include/pupa/font.h: Likewise.
      	* include/pupa/fs.h: Likewise.
      	* include/pupa/kernel.h: Likewise.
      	* include/pupa/loader.h: Likewise.
      	* include/pupa/misc.h: Likewise.
      	* include/pupa/mm.h: Likewise.
      	* include/pupa/net.h: Likewise.
      	* include/pupa/normal.h: Likewise.
      	* include/pupa/rescue.h: Likewise.
      	* include/pupa/setjmp.h: Likewise.
      	* include/pupa/symbol.h: Likewise.
      	* include/pupa/term.h: Likewise.
      	* include/pupa/types.h: Likewise.
      	* include/pupa/i386/setjmp.h: Likewise.
      	* include/pupa/i386/types.h: Likewise.
      	* include/pupa/i386/pc/biosdisk.h: Likewise.
      	* include/pupa/i386/pc/boot.h: Likewise.
      	* include/pupa/i386/pc/console.h: Likewise.
      	* include/pupa/i386/pc/init.h: Likewise.
      	* include/pupa/i386/pc/kernel.h: Likewise.
      	* include/pupa/i386/pc/linux.h: Likewise.
      	* include/pupa/i386/pc/loader.h: Likewise.
      	* include/pupa/i386/pc/memory.h: Likewise.
      	* include/pupa/i386/pc/multiboot.h: Likewise.
      	* include/pupa/i386/pc/partition.h: Likewise.
      	* include/pupa/i386/pc/time.h: Likewise.
      	* include/pupa/i386/pc/vga.h: Likewise.
      	* include/pupa/i386/pc/util/biosdisk.h: Likewise.
      	* include/pupa/util/getroot.h: Likewise.
      	* include/pupa/util/misc.h: Likewise.
      	* include/pupa/util/resolve.h: Likewise.
      	* kern/device.c: Likewise.
      	* kern/disk.c: Likewise.
      	* kern/dl.c: Likewise.
      	* kern/err.c: Likewise.
      	* kern/file.c: Likewise.
      	* kern/fs.c: Likewise.
      	* kern/loader.c: Likewise.
      	* kern/main.c: Likewise.
      	* kern/misc.c: Likewise.
      	* kern/mm.c: Likewise.
      	* kern/rescue.c: Likewise.
      	* kern/term.c: Likewise.
      	* kern/i386/dl.c: Likewise.
      	* kern/i386/pc/init.c: Likewise.
      	* kern/i386/pc/lzo1x.S: Likewise.
      	* kern/i386/pc/startup.S: Likewise.
      	* loader/i386/pc/chainloader.c: Likewise.
      	* loader/i386/pc/linux.c: Likewise.
      	* loader/i386/pc/multiboot.c: Likewise.
      	* normal/cmdline.c: Likewise.
      	* normal/command.c: Likewise.
      	* normal/main.c: Likewise.
      	* normal/menu.c: Likewise.
      	* normal/i386/setjmp.S: Likewise.
      	* term/i386/pc/console.c: Likewise.
      	* term/i386/pc/vga.c: Likewise.
      	* util/console.c: Likewise.
      	* util/genmoddep.c: Likewise.
      	* util/misc.c: Likewise.
      	* util/pupa-emu.c: Likewise.
      	* util/resolve.c: Likewise.
      	* util/unifont2pff.rb: Likewise.
      	* util/i386/pc/biosdisk.c: Likewise.
      	* util/i386/pc/getroot.c: Likewise.
      	* util/i386/pc/pupa-mkimage.c: Likewise.
      	* util/i386/pc/pupa-setup.c: Likewise.
      8367695c
  16. 16 Nov, 2003 1 commit
    • jeroen's avatar
      2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx> · 9a5c1ade
      jeroen authored
      	* conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
      	(_multiboot_mod_SOURCES): New variable.
      	(_multiboot_mod_CFLAGS): Likewise.
      	* loader/i386/pc/multiboot.c: New file.
      	* include/pupa/i386/pc/multiboot.h: Likewise.
      	* kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
      	(pupa_multiboot_real_boot): New function.
      	* include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
      	(pupa_multiboot_real_boot): New prototype.
      	(pupa_rescue_cmd_multiboot): Likewise
      	(pupa_rescue_cmd_module): Likewise.
      
      	* kern/loader.c (pupa_loader_set): Continue when
      	pupa_loader_unload_func() fails.
      	(pupa_loader_unset): New function.
      	* include/pupa/loader.h (pupa_loader_unset): New prototype.
      
      	* kern/misc.c (pupa_stpcpy): New function.
      	* include/pupa/misc.h (pupa_stpcpy): New prototype.
      9a5c1ade
  17. 17 Jan, 2003 1 commit
    • okuji's avatar
      2003-01-17 Yoshinori K. Okuji <okuji@enbug.org> · c04da074
      okuji authored
      	* include/pupa/i386/pc/linux.h: New file.
      	* loader/i386/pc/linux.c: Likewise.
      
      	* loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
      	Removed.
      	(pupa_chainloader_unload): Return PUPA_ERR_NONE.
      	(pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
      	of PUPA_CHAINLOADER_BOOT_SECTOR.
      
      	* kern/i386/pc/startup.S: Include pupa/machine/linux.h.
      	(pupa_linux_prot_size): New variable.
      	(pupa_linux_tmp_addr): Likewise.
      	(pupa_linux_real_addr): Likewise.
      	(pupa_linux_boot_zimage): New function.
      	(pupa_linux_boot_bzimage): Likewise.
      
      	* kern/i386/pc/init.c (struct mem_region): New structure.
      	(MAX_REGIONS): New macro.
      	(mem_regions): New variable.
      	(num_regions): Likewise.
      	(pupa_os_area_addr): Likewise.
      	(pupa_os_area_size): Likewise.
      	(pupa_lower_mem): Likewise.
      	(pupa_upper_mem): Likewise.
      	(add_mem_region): New function.
      	(compact_mem_regions): Likewise.
      	(pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
      	the size of the conventional memory and that of so-called upper
      	memory (before the first memory hole).
      	Instead of adding each found region to free memory, use
      	add_mem_region and add them after removing overlaps.
      	Also, add only 1/4 of the upper memory to free memory. The rest
      	is used for loading OS images. Maybe this is ad hoc, but this
      	makes it much easier to relocate OS images when booting.
      
      	* kern/rescue.c (pupa_rescue_cmd_module): Removed.
      	(pupa_enter_rescue_mode): Don't register initrd and module.
      
      	* kern/mm.c: Include pupa/dl.h.
      
      	* kern/main.c: Include pupa/file.h and pupa/device.h.
      
      	* kern/loader.c (pupa_loader_load_module_func): Removed.
      	(pupa_loader_load_module): Likewise.
      
      	* kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
      	``.o''.
      
      	* include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
      	(pupa_linux_tmp_addr): Likewise.
      	(pupa_linux_real_addr): Likewise.
      	(pupa_linux_boot_zimage): Likewise.
      	(pupa_linux_boot_bzimage): Likewise.
      
      	* include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
      	(pupa_upper_mem): Likewise.
      	(pupa_gate_a20): Don't export, because turning off Gate A20 in a
      	module is too dangerous.
      
      	* include/pupa/loader.h (pupa_os_area_addr): Declared.
      	(pupa_os_area_size): Likewise.
      	(pupa_loader_set): Remove the first argument. Loader doesn't
      	manage modules or initrd any longer.
      	(pupa_loader_load_module): Removed.
      
      	* conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
      	(linux_mod_SOURCES): New variable.
      	(linux_mod_CFLAGS): Likewise.
      c04da074
  18. 27 Dec, 2002 1 commit