]> git.proxmox.com Git - grub2.git/log
grub2.git
18 years ago2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sat, 15 Oct 2005 18:10:37 +0000 (18:10 +0000)]
2005-10-15  Yoshinori K. Okuji  <okuji@enbug.org>

        * configure.ac (AC_INIT): Increase the version number to 1.91.

        * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
        include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
        term/i386/pc/serial.c.

18 years ago2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sat, 15 Oct 2005 17:28:36 +0000 (17:28 +0000)]
2005-10-15  Yoshinori K. Okuji  <okuji@enbug.org>

        * kern/file.c (grub_file_seek): Seeking to an offset equal to a
        file size must be permitted.

        * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
        between %ah and %al.

18 years agoUpdated.
okuji [Sat, 15 Oct 2005 12:22:37 +0000 (12:22 +0000)]
Updated.

18 years ago2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sat, 15 Oct 2005 09:22:32 +0000 (09:22 +0000)]
2005-10-15  Yoshinori K. Okuji  <okuji@enbug.org>

        * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
        grub_uint64_t.
        Call the hook with a NUL-terminated filename.
        (grub_xfs_mount): Use grub_be_to_cpu32 instead of
        grub_cpu_to_be32.

        * kern/term.c (cursor_state): New variable.
        (grub_term_set_current): Reset the cursor state on a new
        terminal.
        (grub_setcursor): Rewritten to use CURSOR_STATE.
        (grub_getcursor): New function.

        * include/grub/term.h (grub_getcursor): New prototype.

        * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
        integers on ARM. Reported by Timothy Baldwin
        <T.E.Baldwin99@members.leeds.ac.uk>.

18 years ago2005-10-11 Marco Gerards <mgerards@xs4all.nl>
marco_g [Tue, 11 Oct 2005 16:42:32 +0000 (16:42 +0000)]
2005-10-11  Marco Gerards  <mgerards@xs4all.nl>

* fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
allocated.
(grub_sfs_dir): Likewise.

18 years ago2005-10-09 Marco Gerards <mgerards@xs4all.nl>
marco_g [Sun, 9 Oct 2005 13:03:53 +0000 (13:03 +0000)]
2005-10-09  Marco Gerards  <mgerards@xs4all.nl>

Add support for the SFS filesystem.

* fs/sfs.c: New file.

* DISTLIST: Added `fs/sfs.c'.

* conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
(grub_probefs_SOURCES): Likewise.
(grub_emu_SOURCES): Likewise.
(pkgdata_MODULES): Add `sfs.mod'.
(sfs_mod_SOURCES): New variable.
(sfs_mod_CFLAGS): Likewise.
(sfs_mod_LDFLAGS): Likewise.

* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
(pkgdata_MODULES): Add `sfs.mod'.
(sfs_mod_SOURCES): New variable.
(sfs_mod_CFLAGS): Likewise.

* util/grub-emu.c (main): Call `grub_sfs_init' and
`grub_sfs_fini'.

* include/grub/fs.h (grub_sfs_init): New prototype.
(grub_sfs_fini): Likewise.

18 years agoFix typo in last commit.
marco_g [Sat, 8 Oct 2005 11:24:48 +0000 (11:24 +0000)]
Fix typo in last commit.

18 years ago2005-10-07 Marco Gerards <mgerards@xs4all.nl>
marco_g [Fri, 7 Oct 2005 19:25:46 +0000 (19:25 +0000)]
2005-10-07  Marco Gerards  <mgerards@xs4all.nl>

Add support for the AFFS filesystem.

* fs/affs.c: New file.

* DISTLIST: Added `fs/affs.c'.

* conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
(grub_probefs_SOURCES): Likewise.
(grub_emu_SOURCES): Likewise.
(pkgdata_MODULES): Add `affs.mod'.
(affs_mod_SOURCES): New variable.
(affs_mod_CFLAGS): Likewise.
(affs_mod_LDFLAGS): Likewise.

* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
(pkgdata_MODULES): Add `affs.mod'.
(affs_mod_SOURCES): New variable.
(affs_mod_CFLAGS): Likewise.

* util/grub-emu.c (main): Call `grub_affs_init' and
`grub_affs_fini'.

* include/grub/fs.h (grub_affs_init): New prototype.
(grub_affs_fini): Likewise.

18 years ago2005-10-01 Marco Gerards <mgerards@xs4all.nl>
marco_g [Sat, 1 Oct 2005 20:41:53 +0000 (20:41 +0000)]
2005-10-01  Marco Gerards  <mgerards@xs4all.nl>

* fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.

18 years ago2005-10-01 Marco Gerards <mgerards@xs4all.nl>
marco_g [Sat, 1 Oct 2005 19:49:55 +0000 (19:49 +0000)]
2005-10-01  Marco Gerards  <mgerards@xs4all.nl>

* configure.ac: Accept `x86_64' as host_cpu.  In that case add
`-m32' to CFLAGS.

* genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
linking.

* conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
(COMMON_LDFLAGS): New variable.
(kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
(_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
(ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
(hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
(xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
(normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
(terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
(cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
(halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
(terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
(multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
(pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
(default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
(vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
(vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
variables.
(normal_mod_ASFLAGS): Add `-m32'.

* include/grub/types.h (grub_host_addr_t, grub_host_off_t)
(grub_host_size_t, grub_host_ssize_t): New types.
(grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
dependant of `GRUB_CPU_SIZEOF_VOID_P' instead on
`GRUB_HOST_SIZEOF_VOID_P'.

* include/grub/kernel.h (struct grub_module_header): Type of
member offset changed to `grub_host_off_t'.  Type of member size
changed to `grub_host_size_t'.
(struct grub_module_info): Type of member offset changed to
`grub_host_off_t'.  Type of member size changed to
`grub_host_size_t'.

18 years ago2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Wed, 28 Sep 2005 23:04:26 +0000 (23:04 +0000)]
2005-09-29  Yoshinori K. Okuji  <okuji@enbug.org>

        Make GRUB's kernel compliant to Multiboot Specification.

        * kern/i386/pc/startup.S (multiboot_header): New label.
        (multiboot_entry): Likewise.
        (multiboot_trampoline): Likewise.

        * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
        Increased to 0x4A0.

        * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
        put parentheses after a question mark.
        [!GRUB_UTIL] (my_mod): New variable.

        * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.

18 years ago2005-09-28 Marco Gerards <metgerards@student.han.nl>
marco_g [Wed, 28 Sep 2005 10:07:22 +0000 (10:07 +0000)]
2005-09-28  Marco Gerards  <metgerards@student.han.nl>

Adds support for the XFS filesystem.  Btrees are not supported
yet.

* fs/xfs.c: New file.

* DISTLIST: Added `fs/xfs.c'.

* conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
(grub_probefs_SOURCES): Likewise.
(grub_emu_SOURCES): Likewise.
(pkgdata_MODULES): Add `xfs.mod'.
(xfs_mod_SOURCES): New variable.
(xfs_mod_CFLAGS): Likewise.

* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
(pkgdata_MODULES): Add `xfs.mod'.
(xfs_mod_SOURCES): New variable.
(xfs_mod_CFLAGS): Likewise.

* util/grub-emu.c (main): Call `grub_xfs_init' and
`grub_xfs_fini'.

* include/grub/fs.h (grub_xfs_init): New prototype.
(grub_xfs_fini): Likewise.

18 years ago2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
chaac [Sun, 18 Sep 2005 21:04:41 +0000 (21:04 +0000)]
2005-09-18  Vesa Jaaskelainen  <chaac@nic.fi>

        * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
        color modes, allow greater than 16 colors to be configured as
        a default palette.

18 years agoAdd support for terminfo and serial.
okuji [Sat, 3 Sep 2005 16:55:38 +0000 (16:55 +0000)]
Add support for terminfo and serial.

18 years ago2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sat, 3 Sep 2005 16:54:27 +0000 (16:54 +0000)]
2005-09-03  Yoshinori K. Okuji  <okuji@enbug.org>

        * normal/completion.c (complete_arguments): Add the qualifier
        const into OPTIONS.

        From Omniflux <omniflux+lists@omniflux.com>:
        * include/grub/terminfo.h: New file.
        * include/grub/tparm.h: Likewise.
        * include/grub/i386/pc/serial.h: Likewise.
        * term/terminfo.c: Likewise.
        * term/tparm.c: Likewise.
        * term/i386/pc/serial.c: Likewise.
        * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
        serial.mod.
        (terminfo_mod_SOURCES): New variable.
        (terminfo_mod_CFLAGS): Likewise.
        (serial_mod_SOURCES): Likewise.
        (serial_mod_CFLAGS): Likewise.

18 years ago2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Wed, 31 Aug 2005 16:51:15 +0000 (16:51 +0000)]
2005-08-31  Yoshinori K. Okuji  <okuji@enbug.org>

        * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
        boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
        and kern/powerpc/ieee1275/cmain.c, respectively.

        * boot/powerpc/ieee1275/crt0.S: Moved to ...
        * kern/powerpc/ieee1275/crt0.S: ... here.

        * boot/powerpc/ieee1275/cmain.c: Moved to ...
        * kern/powerpc/ieee1275/cmain.c: ... here.

        * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
        kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
        instead of boot/powerpc/ieee1275/crt0.S and
        boot/powerpc/ieee1275/cmain.c, respectively.

        * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
        sectors. It was not used anyway.

18 years ago2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Wed, 31 Aug 2005 01:26:34 +0000 (01:26 +0000)]
2005-08-30  Hollis Blanchard  <hollis@penguinppc.org>

* term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
`unused parameter' warning.

18 years ago2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Wed, 31 Aug 2005 01:02:05 +0000 (01:02 +0000)]
2005-08-30  Hollis Blanchard  <hollis@penguinppc.org>

* term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
function.
(grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
getcharwidth.

19 years ago2005-08-28 Marco Gerards <metgerards@student.han.nl>
marco_g [Sun, 28 Aug 2005 17:01:16 +0000 (17:01 +0000)]
2005-08-28  Marco Gerards  <metgerards@student.han.nl>

* include/grub/normal.h (enum grub_completion_type): Added
`GRUB_COMPLETION_TYPE_ARGUMENT'.

* normal/cmdline.c (print_completion): Handle
the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
* normal/menu_entry.c (store_completion): Likewise.

* normal/completion.c (complete_arguments): New function.
(grub_normal_do_completion): Call `complete_arguments' when the
current words start with a dash.

19 years ago2005-08-27 Marco Gerards <metgerards@student.han.nl>
marco_g [Sat, 27 Aug 2005 18:51:15 +0000 (18:51 +0000)]
2005-08-27  Marco Gerards  <metgerards@student.han.nl>

* conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
`gzio.mod' instead of `io.mod').

19 years ago2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Mon, 22 Aug 2005 17:28:59 +0000 (17:28 +0000)]
2005-08-22  Yoshinori K. Okuji  <okuji@enbug.org>

        * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
        (DISTDIRS): Added io and video.
        Rewrite the search routine to make an output consistently.

        * DISTLIST: Added conf/sparc64-ieee1275.mk,
        conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
        include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
        io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
        kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
        util/powerpc/ieee1275/misc.c.

        * include/grub/gzio.h: New file.
        * io/gzio.c: Likewise.

        * kern/file.c (grub_file_close): Call grub_device_close only if
        FILE->DEVICE is not NULL.

        * include/grub/mm.h [!NULL] (NULL): New macro.

        * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.

        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
        (pkgdata_MODULES): Added gzio.mod.
        (gzio_mod_SOURCES): New variable.
        (gzio_mod_CFLAGS): Likewise.

        * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
        (pkgdata_MODULES): Added gzio.mod.
        (gzio_mod_SOURCES): New variable.
        (gzio_mod_CFLAGS): Likewise.

        * commands/cat.c: Include grub/gzio.h.
        (grub_cmd_cat): Use grub_gzfile_open instead of
        grub_file_open.

        * commands/cmp.c: Include grub/gzio.h.
        (grub_cmd_cmp): Use grub_gzfile_open instead of
        grub_file_open.

        * loader/i386/pc/multiboot.c: Include grub/gzio.h.
        (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
        grub_file_open.
        (grub_rescue_cmd_module): Likewise.

19 years ago2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
subdino [Sun, 21 Aug 2005 19:33:14 +0000 (19:33 +0000)]
2005-08-21  Vincent Pelletier  <subdino2004@yahoo.fr>

        * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
        kern/sparc64/ieee1275/init.c because it contains _start.
        * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.

19 years ago2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
subdino [Sun, 21 Aug 2005 18:42:55 +0000 (18:42 +0000)]
2005-08-21  Vincent Pelletier  <subdino2004@yahoo.fr>

        * configure.ac: Add support for sparc64 host with ieee1275
        firmware.
        * configure: Generated from configure.ac.
        * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
        instead of int.
        (grub_ofdisk_read): Likewise.
        (grub_ofdisk_open): Use %p to print pointer values, and cast the
        pointers as (void *) to remove a warning.
        (grub_ofdisk_close): Likewise.
        (grub_ofdisk_read): Likewise.
        * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
        returns, so make it return void to remove a warning.
        * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
        Corresponding prototype change.
        * kern/mm.c (grub_mm_init_region): Use %p to print pointer
        values, and cast the pointers as (void *) to remove a warning.
        (grub_mm_dump): Likewise.
        * conf/sparc64-ieee1275.mk: New file.
        * conf/sparc64-ieee1275.rmk: 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.
        * kern/sparc64/cache.c: Likewise.
        * kern/sparc64/dl.c: Likewise.
        * kern/sparc64/ieee1275/init.c: Likewise.
        * kern/sparc64/ieee1275/openfw.c: Likewise.

19 years ago2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sun, 21 Aug 2005 07:22:51 +0000 (07:22 +0000)]
2005-08-21  Yoshinori K. Okuji  <okuji@enbug.org>

        * util/console.c (grub_ncurses_putchar): If C is greater than
        0x7f, set C to a question mark.
        (grub_ncurses_getcharwidth): New function.
        (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
        getcharwidth.

        * normal/menu.c (print_entry): Made aware of Unicode. First,
        convert TITLE to UCS-4, and predict the cursor position by
        grub_getcharwidth.

        * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
        const to SRC.
        * kern/misc.c (grub_utf16_to_utf8): Likewise.

19 years ago2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sat, 20 Aug 2005 08:25:51 +0000 (08:25 +0000)]
2005-08-20  Yoshinori K. Okuji  <okuji@enbug.org>

        * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
        the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
        grub_strcat.

        * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
        file by the option BOOT_IMAGE. Use grub_stpcpy instead of
        grub_strcpy and grub_strlen. Take it into account that a space
        character is inserted as a delimiter.

19 years ago2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sat, 20 Aug 2005 07:49:02 +0000 (07:49 +0000)]
2005-08-20  Yoshinori K. Okuji  <okuji@enbug.org>

        * partmap/pc.c (pc_partition_map_iterate): Include the value of an
        invalid magic in thre error.

        * commands/search.c: New file.

        * util/grub-emu.c (main): Call grub_search_init and
        grub_search_fini.

        * kern/rescue.c (grub_rescue_print_disks): Removed.
        (grub_rescue_print_devices): New function.
        (grub_rescue_cmd_ls): Use grub_device_iterate with
        grub_rescue_print_devices instead of grub_disk_dev_iterate with
        grub_rescue_print_disks.

        * kern/partition.c (grub_partition_iterate): Return the result of
        PARTMAP->ITERATE instead of GRUB_ERRNO.

        * kern/device.c: Include grub/partition.h.
        (grub_device_iterate): New function.

        * include/grub/partition.h (grub_partition_iterate): Return int
        instead of grub_err_t.

        * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
        prototype.
        [GRUB_UTIL] (grub_search_fini): Likewise.

        * include/grub/device.h (grub_device_iterate): New prototype.

        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
        commands/search.c.
        (pkgdata_MODULES): Added search.mod.
        (search_mod_SOURCES): New variable.
        (search_mod_CFLAGS): Likewise.

        * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
        (pkgdata_MODULES): Added search.mod.
        (search_mod_SOURCES): New variable.
        (search_mod_CFLAGS): Likewise.

        * commands/ls.c (grub_ls_list_disks): Renamed to ...
        (grub_ls_list_devices): ... this, and use grub_device_iterate.
        All callers changed.

        * DISTLIST: Added commands/search.c.

19 years ago2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sat, 20 Aug 2005 05:26:51 +0000 (05:26 +0000)]
2005-08-20  Yoshinori K. Okuji  <okuji@enbug.org>

        * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
        conversion.
        (grub_getcharwidth): New function.

        * kern/misc.c (grub_utf8_to_ucs4): New function.

        * include/grub/term.h (struct grub_term): Added a new member
        "getcharwidth".
        (grub_getcharwidth): New prototype.

        * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.

        * term/i386/pc/console.c (map_char): New function. Segregated from
        grub_console_putchar.
        (grub_console_putchar): Use map_char.
        (grub_console_getcharwidth): New function.
        (grub_console_term): Specified grub_console_getcharwidth as
        getcharwidth.

        * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
        (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.

        * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
        GRUB_ERRNO.
        (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
        on grub_strtoul completely.
        (write_char): Declare local variables in the beginning of the
        function.
        (grub_vesafb_getcharwidth): New function.
        (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
        getcharwidth.

19 years ago2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Fri, 19 Aug 2005 00:32:01 +0000 (00:32 +0000)]
2005-08-19  Yoshinori K. Okuji  <okuji@enbug.org>

        * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
        commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
        commands/i386/pc/vbetest.c.

        * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
        call grub_vbe_get_controller_info again, because the returned
        information is volatile.
        (grub_vbe_set_video_mode): Mostly rewritten.
        (grub_vbe_get_video_mode): Use grub_vbe_probe and use
        grub_vbe_status_t correctly.
        (grub_vbe_get_video_mode_info): Likewise.
        (grub_vbe_set_pixel_rgb): Use a switch statement rather than
        several if statements.

        * commands/i386/pc/vbe_list_modes.c: Renamed to ...
        * commands/i386/pc/vbeinfo.c: ... this.

        * commands/i386/pc/vbe_test.c: Renamed to ...
        * commands/i386/pc/vbetest.c: ... this.

        * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
        ...
        (grub_cmd_vbeinfo): ... this. Save video modes before
        iterating. Skip a video mode, if it is not available, not enough
        information is given or it is monochrome. Show the memory
        model. Leave the interpretation of MODEVAR to grub_strtoul
        completely.
        (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
        (GRUB_MOD_FINI): Likewise.

        * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
        (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
        grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
        duplicated grub_env_get. Leave the interpretation of MODEVAR to
        grub_strtoul completely.
        (real2pm): Removed.
        (GRUB_MOD_INIT): Rename vbe_test to vbetest.
        (GRUB_MOD_FINI): Likewise.

        * normal/misc.c: Include grub/mm.h.

        * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
        vbe_list_modes with vbetest.mod and vbeinfo.mod.
        (vbe_list_modes_mod_SOURCES): Removed.
        (vbe_list_modes_mod_CFLAGS): Likewise.
        (vbe_test_mod_SOURCES): Likewise.
        (vbe_test_mod_CFLAGS): Likewise.
        (vbeinfo_mod_SOURCES): New variable.
        (vbeinfo_mod_CFLAGS): Likewise.
        (vbetest_mod_SOURCES): Likewise.
        (vbetest_mod_CFLAGS): Likewise.

19 years agoForgot to commit this again.
okuji [Thu, 18 Aug 2005 03:15:21 +0000 (03:15 +0000)]
Forgot to commit this again.

19 years ago2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Thu, 18 Aug 2005 03:14:39 +0000 (03:14 +0000)]
2005-08-18  Yoshinori K. Okuji  <okuji@enbug.org>

        * normal/misc.c: New file.

        * DISTLIST: Added normal/misc.c.

        * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
        DISK to HOOK. Call HOOK with DISK.
        * partmap/apple.c (apple_partition_map_iterate): Likewise.
        * partmap/pc.c (pc_partition_map_iterate): Likewise.
        * partmap/sun.c (sun_partition_map_iterate): Likewise.

        * normal/menu_entry.c (struct screen): Added a new member
        "completion_shown".
        (completion_buffer): New global variable.
        (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
        (store_completion): New function.
        (complete): Likewise.
        (clear_completions): Likewise.
        (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
        call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
        a tab, call complete.

        * normal/completion.c (disk_dev): Removed.
        (print_simple_completion): Likewise.
        (print_partition_completion): Likewise.
        (print_func): New global variable.
        (add_completion): Do not take the arguments WHAT or PRINT any
        longer. Added a new argument TYPE. Instead of printing directly,
        call PRINT_FUNC if not NULL.
        All callers changed.
        (complete_device): Use a local variable DEV instead of
        DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
        (grub_normal_do_completion): Take a new argument HOOK. Do not
        initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
        empty string, return NULL instead.
        All callers changed.

        * normal/cmdline.c (print_completion): New function.

        * kern/partition.c (grub_partition_iterate): Add an argument DISK
        to HOOK.
        All callers changed.

        * kern/disk.c (grub_print_partinfo): Removed.

        * include/grub/partition.h (struct grub_partition_map): Add a new
        argument DISK into HOOK of ITERATE.
        (grub_partition_iterate): Add a new argument DISK to HOOK.

        * include/grub/normal.h (enum grub_completion_type): New enum.
        (grub_completion_type_t): New type.
        (GRUB_COMPLETION_TYPE_COMMAND): New constant.
        (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
        (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
        (GRUB_COMPLETION_TYPE_FILE): Likewise.
        (grub_normal_do_completion): Added a new argument HOOK.
        (grub_normal_print_device_info): New prototype.

        * include/grub/disk.h (grub_print_partinfo): Removed.

        * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
        (normal_mod_SOURCES): Likewise.
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
        (normal_mod_SOURCES): Likewise.

        * commands/ls.c (grub_ls_list_disks): Use
        grub_normal_print_device_info instead of grub_print_partinfo. Free
        PNAME.
        (grub_ls_list_files): Use grub_normal_print_device_info instead of
        duplicating the code.

19 years agoUpdate source to follow GCS more precisely.
chaac [Tue, 16 Aug 2005 18:34:17 +0000 (18:34 +0000)]
Update source to follow GCS more precisely.

19 years agoAdded first version of the VBE terminal code.
chaac [Mon, 15 Aug 2005 21:25:41 +0000 (21:25 +0000)]
Added first version of the VBE terminal code.

19 years agoRemove an invalid entry.
okuji [Sun, 14 Aug 2005 19:37:26 +0000 (19:37 +0000)]
Remove an invalid entry.

19 years ago2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sun, 14 Aug 2005 19:36:55 +0000 (19:36 +0000)]
2005-08-14  Yoshinori K. Okuji  <okuji@enbug.org>

        * normal/menu.c (run_menu_entry):

        * normal/command.c (grub_command_execute): If INTERACTIVE is
        false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
        CMDLINE. Disable the pager if INTERACTIVE is true.
        All callers are changed.

        * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
        before reading a config file.
        * normal/main.c (read_config_file): Even if a command is not
        found, register it if it is within an entry.

        * util/grub-emu.c: Include sys/types.h and unistd.h.
        (options): Added --hold.
        (struct arguments): Added a new member "hold".
        (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
        missing.
        (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
        cleared by a debugger, if it is not zero.

        * include/grub/normal.h (grub_command_execute): Add an argument
        INTERACTIVE.

19 years agoAdded forgotten include/grub/i386/pc/vbe.h to DISTLIST.
chaac [Sun, 14 Aug 2005 11:04:12 +0000 (11:04 +0000)]
Added forgotten include/grub/i386/pc/vbe.h to DISTLIST.

19 years ago2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sat, 13 Aug 2005 18:44:14 +0000 (18:44 +0000)]
2005-08-13  Yoshinori K. Okuji  <okuji@enbug.org>

        * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
        program with another one, because the old one didn't detect a bug
        in gcc-3.4. Always use regparm 2, because the new test is still
        not enough for gcc-4.0. Someone must investigate a simple test
        case which detects a bug in gcc-4.0.

19 years agoForgot to add this file.
okuji [Fri, 12 Aug 2005 19:53:59 +0000 (19:53 +0000)]
Forgot to add this file.

19 years ago2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Fri, 12 Aug 2005 19:53:33 +0000 (19:53 +0000)]
2005-08-12  Yoshinori K. Okuji  <okuji@enbug.org>

        * DISTLIST: Added normal/completion.c.

        * normal/completion.c: New file.

        * term/i386/pc/console.c (grub_console_getwh): New function.
        (grub_console_term): Assign grub_console_getwh to getwh.

        * normal/cmdline.c (grub_tab_complete): Removed. Now the same
        function is defined in normal/completion.c as
        grub_normal_do_completion.
        (grub_cmdline_get): Use grub_normal_do_completion instead of
        grub_tab_complete.

        * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
        returns non-zero, otherwise return 0.
        (grub_partition_iterate): First, probe the partition map. Then,
        call ITERATE only for this partition map.

        * kern/misc.c (grub_strncmp): Rewritten.

        * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
        returns non-zero. Otherwise return 0.

        * include/grub/partition.h (grub_partition_map_iterate): Return
        int instead of void.

        * include/grub/normal.h (grub_normal_do_completion): New prototype.

        * include/grub/misc.h (grub_strncmp): Change the type of N to
        grub_size_t.

        * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
        of void.

        * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
        unsigned explictly before comparing it with I.

        * kern/main.c (grub_env_write_root): Add the attribute unused into
        VAR.

        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
        normal/completion.c.
        (normal_mod_SOURCES): Likewise.
        * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
        (normal_mod_SOURCES): Likewise.

        * normal/command.c (grub_iterate_commands): If ITERATE returns
        non-zero, return one immediately.

19 years agoAdded support for VESA Bios Extension to i386 kernel.
chaac [Tue, 9 Aug 2005 14:39:50 +0000 (14:39 +0000)]
Added support for VESA Bios Extension to i386 kernel.

19 years ago2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Tue, 9 Aug 2005 03:36:50 +0000 (03:36 +0000)]
2005-08-08  Hollis Blanchard  <hollis@penguinppc.org>

* conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
* DISTLIST: Likewise.
* kern/ieee1275/of.c: Moved to ...
* kern/ieee1275/ieee1275.c: ... here.

19 years ago2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Tue, 9 Aug 2005 03:25:40 +0000 (03:25 +0000)]
2005-08-08  Hollis Blanchard  <hollis@penguinppc.org>

* term/ieee1275/ofconsole.c: Include <grub/mm.h>.
(grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
Pass 0 as `end' parameter to grub_strtoul().

19 years ago2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Tue, 9 Aug 2005 03:15:35 +0000 (03:15 +0000)]
2005-08-08  Hollis Blanchard  <hollis@penguinppc.org>

* include/grub/powerpc/ieee1275/console.h: Do not include
<grub/types.h>.  Do not include <grub/symbol.h>.  Remove ASM_FILE
ifdef.
(grub_console_cur_color): Remove i386-specific prototype.
(grub_console_real_putchar): Likewise.
(grub_console_checkkey): Likewise.
(grub_console_getkey): Likewise.
(grub_console_getxy): Likewise.
(grub_console_gotoxy): Likewise.
(grub_console_cls): Likewise.
(grub_console_setcursor): Likewise.
* kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
Include <grub/machine/console.h>.
* term/ieee1275/ofconsole.c: Likewise.

19 years agoThere were two Vladimir Serbinenko.
okuji [Mon, 8 Aug 2005 23:33:47 +0000 (23:33 +0000)]
There were two Vladimir Serbinenko.

19 years ago2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Mon, 8 Aug 2005 23:15:21 +0000 (23:15 +0000)]
2005-08-08  Yoshinori K. Okuji  <okuji@enbug.org>

        * Makefile.in (LIBLZO): New variable.

        * configure.ac: Check for LZO version 2.

        * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
        lzo/lzo1x.h instead of lzo1x.h.

        * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
        of -llzo.

        * util/i386/pc/grub-setup.c (main): Do not free PREFIX
        twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.

        * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
        copying the data from PARTITION to P.

19 years ago2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sun, 7 Aug 2005 17:12:52 +0000 (17:12 +0000)]
2005-08-07  Yoshinori K. Okuji  <okuji@enbug.org>

        * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
        negative, unload the module.

        * util/i386/pc/grub-setup.c (setup): The name of the PC partition
        map is "pc_partition_map" but not "pc".
        (usage): Fix the description. The options are --boot-image and
        --core-image but not --boot-file or --core-file.
        (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
        based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
        DEFAULT_DIRECTORY.

        * util/i386/pc/grub-install.in: Do not specify --boot-file or
        --core-file. Specify INSTALL_DEVICE as an argument.

        * util/console.c: Include config.h.
        [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
        [HAVE_NCURSES_H]: Include ncurses.h.
        [HAVE_CURSES_H]: Include curses.h.
        [!A_NORMAL] (A_NORMAL): Defined as zero.
        [!A_STANDOUT] (A_STANDOUT): Likewise.

        * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
        -lncurses.
        * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.

        * configure.ac: Check for curses libraries and headers.

        * Makefile.in (LIBCURSES): New variable.

        * genmk.rb (Script::rule): Set the executable bits.

        * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
        name of the PC partition map is "pc_partition_map" but not "pc".

19 years ago2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sun, 7 Aug 2005 14:59:56 +0000 (14:59 +0000)]
2005-08-07  Yoshinori K. Okuji  <okuji@enbug.org>

        * util/i386/pc/grub-install.in (grub_probefs): New variable.
        (modules): Likewise.
        (usage): Added descriptions for --modules and --grub-probefs.
        Handle --modules and --grub-probefs. Save the arguments in MODULES
        and GRUB_PROBEFS, respectively.
        Auto-detect a filesystem module against GRUBDIR. If the result is
        empty and modules are not specified explicitly, abort the
        installation. Add the result to MODULES.

        * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
        disk/powerpc/ieee1275/ofdisk.c,
        include/grub/powerpc/ieee1275/init.h and
        term/powerpc/ieee1275/ofconsole.c.
        Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
        term/ieee1275/ofconsole.c.

        * include/grub/powerpc/ieee1275/console.h: Resurrected.

        * COPYING: Upgraded to the latest version. Only the address of the
        FSF office has changed.

19 years ago2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sun, 7 Aug 2005 14:14:40 +0000 (14:14 +0000)]
2005-08-07  Yoshinori K. Okuji  <okuji@enbug.org>

        * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
        kern/ieee1275.c with kern/ieee1275/of.c.

        * kern/ieee1275.c: Moved to ...
        * kern/ieee1275/of.c: ... here.

19 years ago2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sat, 6 Aug 2005 15:50:07 +0000 (15:50 +0000)]
2005-08-06  Yoshinori K. Okuji  <okuji@enbug.org>

        * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
        readablity.

        * config.guess: Updated to the latest version from gnulib.
        * config.sub: Likewise.
        * install.sh: Likewise.
        * mkinstalldirs: Likewise.

        * include/grub/console.h: Removed. This file is arch-specific. Do
        not put this in include/grub.

        * include/grub/i386/pc/console.h: Resurrected.

        * util/console.c: Include grub/machine/console.h instead of
        grub/console.h.
        * util/grub-emu.c: Likewise.

19 years ago2005-08-04 Marco Gerards <metgerards@student.han.nl>
marco_g [Thu, 4 Aug 2005 18:10:51 +0000 (18:10 +0000)]
2005-08-04  Marco Gerards  <metgerards@student.han.nl>

* kern/term.c (grub_putcode): Use `grub_getwh' instead of
hardcoded value.

From Vincent Pelletier  <subdino2004@yahoo.fr>
* include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
Redefined to use grub_getwh.
(grub_term): New member named getwh.
(grub_getwh): New prototype.
* kern/term.c (grub_getwh): New function.
* term/i386/pc/console.c (grub_console_getwh): New function.
(grub_console_term): New member `getwh'.
* term/i386/pc/vga.c (grub_vga_getwh): New function.
(grub_vga_term): New member `getwh'.
* term/sparc64/ofconsole.c (grub_ofconsole_readkey): Use
grub_ssize_t.
(grub_ofconsole_getw): New function.
(grub_ofconsole_init): Use grub_ssize_t and unsigned char.
(grub_ofconsole_term): New field named getwh and new initial
value.

19 years ago2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Wed, 3 Aug 2005 22:53:51 +0000 (22:53 +0000)]
2005-08-03  Hollis Blanchard  <hollis@penguinppc.org>

* include/grub/powerpc/ieee1275/ieee1275.h: Move ...
* include/grub/ieee1275/ieee1275.h: ... to here.  All users updated.
Move `abort', `grub_reboot', and `grub_halt' prototypes ...
* include/grub/powerpc/ieee1275/kernel.h: ... to here.
* commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
of <grub/machine/ieee1275.h>.
* commands/ieee1275/reboot.c: Likewise.
* boot/powerpc/ieee1275/ieee1275.c: Move ...
* kern/ieee1275.c: ... to here.  All users updated.  Change all
parameter structs to use new type `grub_ieee1275_cell_t'.
* term/powerpc/ieee1275/ofconsole.c: Move ...
* term/ieee1275/ofconsole.c: ... to here.  All users updated.
* disk/powerpc/ieee1275/ofdisk.c: Move ...
* disk/ieee1275/ofdisk.c: ... to here.  All users updated.
* boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
to return int.
* include/grub/i386/pc/console.h: Move to include/grub/console.h.
Remove unused prototypes.  All users updated.
* include/grub/powerpc/ieee1275/console.h: Removed.
* include/grub/powerpc/ieee1275/ieee1275.h: Define
`grub_ieee1275_cell_t'.
* kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
Cast comparisons with -1 to the correct type.
* loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
type to match `grub_ieee1275_entry_fn'.

19 years ago2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Mon, 1 Aug 2005 20:38:46 +0000 (20:38 +0000)]
2005-08-01  Yoshinori K. Okuji  <okuji@enbug.org>

* DISTLIST: Added util/i386/pc/grub-probefs.c.

* conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
(grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
partmap/sun.c.
(grub_probefs_SOURCES): New variable.

* util/i386/pc/grub-probefs.c: New file.

* util/i386/pc/grub-setup.c (main): Call
grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
grub_hfs_init and grub_jfs_init to initialize the system. Call
grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
grub_pc_partition_map_fini to finish the system.

19 years ago2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sun, 31 Jul 2005 16:12:29 +0000 (16:12 +0000)]
2005-07-31  Yoshinori K. Okuji  <okuji@enbug.org>

* loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
function.
(grub_multiboot_load_elf32): Likewise.
(grub_multiboot_is_elf64): Likewise.
(grub_multiboot_load_elf64): Likewise.
(grub_multiboot_load_elf): Likewise.
(grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
an ELF32 or ELF64 file.
This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.

From Serbinenko Vladimir <serbinenko.vova@list.ru>:
* kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
NULL before calling FS->LABEL.
* fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
* commands/ls.c (grub_ls_list_files): Show labels, if possible.
(grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
before calling FS->LABEL.

19 years ago2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Tue, 26 Jul 2005 20:05:47 +0000 (20:05 +0000)]
2005-07-26  Yoshinori K. Okuji  <okuji@enbug.org>

        * util/i386/pc/grub-install.in (datadir): New variable.
        (libdir): Removed.
        (pkgdatadir): New variable.
        (pkglibdir): Removed.

19 years agoSorry. I forgot to commit ChangeLog.
okuji [Tue, 26 Jul 2005 20:02:40 +0000 (20:02 +0000)]
Sorry. I forgot to commit ChangeLog.

19 years ago2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sun, 24 Jul 2005 18:16:26 +0000 (18:16 +0000)]
2005-07-24  Yoshinori K. Okuji  <okuji@enbug.org>

* DISTLIST: Added util/i386/pc/grub-install.in.

* util/i386/pc/grub-install.in: New file.

* conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
(grub_install_SOURCES): Likewise.

* genmk.rb: Added support for scripts.
(Script): New class.
(scripts): New variable.

* Makefile.in (install-local): Install sbin_SCRIPTS by
INSTALL_SCRIPT.
(uninstall): Remove sbin_SCRIPTS.

* util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
device, try to get a GRUB device by
grub_util_biosdisk_get_grub_dev.
Free DEST_DEV.

* util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
description for --device-map.

19 years ago2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Wed, 20 Jul 2005 20:30:46 +0000 (20:30 +0000)]
2005-07-20  Yoshinori K. Okuji  <okuji@enbug.org>

Change the semantics of variable hooks. They now return strings
instead of error values.

* util/i386/pc/grub-setup.c: Include grub/env.h.
(setup): Use grub_device_set_root instead of grub_env_set.

* kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
grub_env_get instead of grub_device_set_root and
grub_device_get_root, respectively.

* kern/main.c (grub_env_write_root): New function.
(grub_set_root_dev): Register grub_env_write_hook for "root". Use
grub_env_set instead of grub_device_set_root.

* kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
many variables.
(grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
rather than calling ENV->WRITE_HOOK afterwards.
(grub_env_get): Return the result of ENV->READ_HOOK rather than
passing a pointer of a pointer.
(grub_register_variable_hook): Change the types of "read_hook" and
"write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
respectively.
Allocate the default empty string on the heap, because this string
may be freed later.

* kern/device.c: Include grub/env.h.
(grub_device_set_root): Removed.
(grub_device_get_root): Likewise.
(grub_device_open): Use grub_env_get instead of
grub_device_get_root.

* include/grub/env.h (grub_env_read_hook_t): New type.
(grub_env_write_hook_t): Likewise.
(grub_env_var): Change the types of "read_hook" and "write_hook"
to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
(grub_register_variable_hook): Likewise.

* include/grub/device.h (grub_device_set_root): Removed.
(grub_device_set_root): Likewise.

* fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
make sure that DIRNAME terminates with '/', so that
grub_fat_find_dir will fail if PATH is not a directory.

* commands/ls.c (grub_ls_list_files): Remove the qualifier const
from DIRNAME.
Use the qualifier auto for print_files and print_files_long.
If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
as a regular file.
Put a newline only if there is no error.
(grub_cmd_ls): Remove grub_ls_print_files, because this is not
used.

19 years ago2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Tue, 19 Jul 2005 22:30:36 +0000 (22:30 +0000)]
2005-07-20  Yoshinori K. Okuji  <okuji@enbug.org>

* kern/partition.c (grub_partition_probe): Initialize PART to
NULL. Otherwise, when no partition map is registered, this returns
a garbage.

19 years ago2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Mon, 18 Jul 2005 22:21:41 +0000 (22:21 +0000)]
2005-07-19  Yoshinori K. Okuji  <okuji@enbug.org>

* partmap/apple.c (apple_partition_map_iterate): Check if POS
equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
valid.

19 years ago2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Mon, 18 Jul 2005 20:30:37 +0000 (20:30 +0000)]
2005-07-18  Yoshinori K. Okuji  <okuji@enbug.org>

* commands/ls.c (grub_ls_list_disks): Print the filesystem
information on each device, if it does not have partitions. Print
"Device" instead of "Disk", because this function is not specific
to disk devices.

* normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
static to ensure that it is put on the memory rather than a
register.

19 years ago2005-07-17 Yoshinori Okuji <okuji@enbug.org>
okuji [Sun, 17 Jul 2005 20:26:07 +0000 (20:26 +0000)]
2005-07-17  Yoshinori Okuji  <okuji@enbug.org>

* commands/cat.c (GRUB_MOD_INIT): Use better documentation.
(grub_cat_init): Likewise.
* loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
(options): Likewise.
* commands/configfile.c (GRUB_MOD_INIT): Likewise.
(grub_configfile_init): Likewise.
* font/manager.c (GRUB_MOD_INIT): Likewise.
* commands/help.c (GRUB_MOD_INIT): Likewise.
(grub_help_init): Likewise.
* normal/command.c (grub_command_init): Likewise.
* loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
* disk/loopback.c (grub_loop_init): Likewise.
(GRUB_MOD_INIT): Likewise.
* commands/ls.c (grub_ls_init): Likewise.
(GRUB_MOD_INIT): Likewise.
(options): Likewise.
* commands/boot.c (grub_boot_init): Likewise.
(GRUB_MOD_INIT): Likewise.
* loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
* commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
(GRUB_MOD_INIT): Likewise.
* commands/cmp.c (grub_cmp_init): Likewise.
(GRUB_MOD_INIT): Likewise.

* normal/arg.c: Use <> instead of "" to include header files.
(SHORT_ARG_HELP): New macro.
(SHORT_ARG_USAGE): Likewise.
(help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
of 'h' and 'u' for help and usage, respectively. Use more GNU-like
descriptions.
(find_short): Check if C is 'h' or 'u' explicitly.
(grub_arg_show_help): Use space characters instead of tabs. Treat
SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
are shown with --help and --usage only if they are not used for
the command itself.
(parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
'h' and 'u'.

* include/grub/arg.h (struct grub_arg_option): Add the qualifier
const into "longarg". Change the type of "shortarg" to int.

19 years ago2005-07-17 Yoshinori Okuji <okuji@enbug.org>
okuji [Sun, 17 Jul 2005 14:57:07 +0000 (14:57 +0000)]
2005-07-17  Yoshinori Okuji  <okuji@enbug.org>

* boot/i386/pc/boot.S (boot_drive_check): New label.

* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
macro.

* util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
which do not pass a boot drive correctly. Copied from GRUB Legacy.

19 years ago2005-07-17 Yoshinori Okuji <okuji@enbug.org>
okuji [Sun, 17 Jul 2005 14:17:55 +0000 (14:17 +0000)]
2005-07-17  Yoshinori Okuji  <okuji@enbug.org>

* kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
When turning off Gate A20, skip the check and return immediately,
because this is not fatal usually.

19 years ago2005-07-17 Yoshinori Okuji <okuji@enbug.org>
okuji [Sat, 16 Jul 2005 22:06:33 +0000 (22:06 +0000)]
2005-07-17  Yoshinori Okuji  <okuji@enbug.org>

* conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
be 0x7C00 instead of 0x8000.

* boot/i386/pc/pxeboot.S: Rewritten.

* kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
EXT_C.
(gate_a20_check_state): Read a byte from 0x108000. Invert the
result.

19 years ago2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sat, 16 Jul 2005 09:32:52 +0000 (09:32 +0000)]
2005-07-16  Yoshinori K. Okuji  <okuji@enbug.org>

* kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
robustness. This routine now supports a BIOS call and System
Control Port A to modify the gate A20.

* include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
Increased to 0x440.

19 years ago2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Tue, 12 Jul 2005 22:36:43 +0000 (22:36 +0000)]
2005-07-12  Hollis Blanchard  <hollis@penguinppc.org>

* disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
device path and resulting ihandle.
(grub_ofdisk_close): dprintf the ihandle being closed.
(grub_ofdisk_read): dprintf function parameters.
* kern/mm.c (grub_mm_init_region): Likewise.
* loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
(grub_linux_boot): dprintf the Linux entry point, initrd address and
size, and boot arguments.
(grub_rescue_cmd_linux): dprintf each ELF segment's address and size
before loading into memory.
(grub_rescue_cmd_initrd): dprintf the initrd's address and size
before loading into memory.

19 years ago2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Tue, 12 Jul 2005 19:33:32 +0000 (19:33 +0000)]
2005-07-12  Yoshinori K. Okuji  <okuji@enbug.org>

* kern/mm.c: Added much documentation.
(GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
8, set to 5 instead of 8.

19 years ago2005-07-10 Yoshinori Okuji <okuji@enbug.org>
okuji [Sun, 10 Jul 2005 07:57:49 +0000 (07:57 +0000)]
2005-07-10  Yoshinori Okuji  <okuji@enbug.org>

* DISTLIST: Added util/i386/pc/grub-mkimage.c.

* conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
(grub_mkdevicemap_SOURCES): New variable.

* util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
lib/device.c of GRUB Legacy.

19 years ago2005-07-10 Yoshinori Okuji <okuji@enbug.org>
okuji [Sun, 10 Jul 2005 07:02:48 +0000 (07:02 +0000)]
2005-07-10  Yoshinori Okuji  <okuji@enbug.org>

* commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
instead of PATH is NULL.

19 years ago2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
subdino [Sat, 9 Jul 2005 16:29:02 +0000 (16:29 +0000)]
2005-07-09  Vincent Pelletier  <subdino2004@yahoo.fr>

* commands/cmp.c (BUFFER_SIZE): New macro.
(grub_cmd_cmp): Close the right file at the right time.  Compare
only data just read.  Don't report files of different  size as
identical.  Dynamically allocate buffers.  Move variable
declarations at the beginning of function.

19 years ago2005-07-09 Yoshinori Okuji <okuji@enbug.org>
okuji [Sat, 9 Jul 2005 09:34:39 +0000 (09:34 +0000)]
2005-07-09  Yoshinori Okuji  <okuji@enbug.org>

* aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
  reverse.

19 years ago2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
subdino [Mon, 4 Jul 2005 13:50:10 +0000 (13:50 +0000)]
2004-07-04  Vincent Pelletier  <subdino2004@yahoo.fr>

        * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
        when backspace is pressed at beginning of line.

19 years ago2005-07-03 Yoshinori Okuji <okuji@enbug.org>
okuji [Sun, 3 Jul 2005 18:06:56 +0000 (18:06 +0000)]
2005-07-03  Yoshinori Okuji  <okuji@enbug.org>

* DISTLIST: Added genfslist.sh.

* normal/main.c (fs_module_list): New variable.
(autoload_fs_module): New function.
(read_fs_list): Likewise.
(grub_normal_execute): Call read_fs_list.

* kern/fs.c (grub_fs_autoload_hook): New variable.
(grub_fs_probe): Added support for auto-loading.

* include/grub/normal.h (struct grub_fs_module_list): New struct.
(grub_fs_module_list_t): New type.

* include/grub/fs.h (grub_fs_autoload_hook_t): New type.
(grub_fs_autoload_hook): New prototype.

* genfslist.sh: New file.

* genmk.rb: Added a rule to generate a filesystem list.

19 years ago2005-06-30 Marco Gerards <metgerards@student.han.nl>
marco_g [Thu, 30 Jun 2005 10:21:37 +0000 (10:21 +0000)]
2005-06-30  Marco Gerards  <metgerards@student.han.nl>

* configure.ac: Fix the test for cross-compiling.

* genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'.  Don't
define GRUB_UTIL anymore.

* util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
so this function works on other systems than just big endian.
(load_modules): Likewise.
(add_segments): Likewise.

19 years ago2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Thu, 23 Jun 2005 23:13:57 +0000 (23:13 +0000)]
2005-06-23  Hollis Blanchard  <hollis@penguinppc.org>

* kern/misc.c (grub_vsprintf): Add `longfmt'.  If format string
contains `l' modifier, get a long from va_arg().

19 years ago2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Thu, 23 Jun 2005 08:12:19 +0000 (08:12 +0000)]
2005-06-23  Yoshinori K. Okuji  <okuji@enbug.org>

        * kern/mm.c (grub_free): If the next free block which is being
        merged is the first free block, set the first block to the block
        being freed.
        Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.

19 years ago2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Tue, 21 Jun 2005 03:12:15 +0000 (03:12 +0000)]
2005-05-08  Hollis Blanchard  <hollis@penguinppc.org>

* boot/powerpc/ieee1275/cmain.c (cmain): Initialize
`grub_ieee1275_chosen'.

19 years ago2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Tue, 21 Jun 2005 02:33:52 +0000 (02:33 +0000)]
2005-05-08  Hollis Blanchard  <hollis@penguinppc.org>

* boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
(grub_ieee1275_chosen): New variable.
(cmain): Initialize and use `grub_ieee1275_chosen' instead of
`chosen'.
* boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
* boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
Rename first argument to `phandle' for consistency.
(grub_ieee1275_get_property_length): Likewise.
(grub_ieee1275_next_property): Likewise.  Change type of first argument
to grub_ieee1275_phandle_t.
* include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
Move export next to declaration.
(grub_ieee1275_chosen): New variable.
* include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
Correct cosmetic typo.
* kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
`grub_ieee1275_chosen'.
* kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
* loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
(grub_rescue_cmd_linux): Set `initrd_addr' to 0.
* term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
`grub_ieee1275_chosen'.

19 years ago2005-05-16 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Tue, 17 May 2005 02:25:19 +0000 (02:25 +0000)]
2005-05-16  Hollis Blanchard  <hollis@penguinppc.org>

* boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
/chosen/bootargs.
* kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
/chosen/bootargs as "variable=value" pairs.

19 years ago2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
hollisb [Mon, 9 May 2005 01:47:37 +0000 (01:47 +0000)]
2005-05-08  Vincent Pelletier  <subdino2004@yahoo.fr>

* include/grub/misc.h (grub_dprintf): New macro.
(grub_real_dprintf): New prototype.
(grub_strword): Likewise.
(grub_iswordseparator): Likewise.
* kern/misc.c (grub_real_dprintf): New function.
(grub_strword): Likewise.
(grub_iswordseparator): Likewise.

19 years ago2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Sun, 1 May 2005 03:45:36 +0000 (03:45 +0000)]
2005-04-30  Hollis Blanchard  <hollis@penguinppc.org>

* boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
(roundup): Remove macro.
(grub_ieee1275_flags): Make static.
(grub_ieee1275_realmode): Remove.
(grub_ieee1275_test_flag): New function.
(grub_ieee1275_set_flag): Likewise.
(find_options): Rename to `grub_ieee1275_find_options'; update
callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
(cmain): New prototype.
(cmain): Use `grub_ieee1275_set_flag' instead of accessing
`grub_ieee1275_flags' directly.
* conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
machine/biosdisk.h.
* disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
Don't include grub/machine/init.h.
(grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
* include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
Remove prototype.
(grub_ieee1275_realmode): Likewise.
(grub_ieee1275_flag): New enum.
(grub_ieee1275_test_flag): New prototype.
(grub_ieee1275_set_flag): New prototype.
* include/grub/powerpc/ieee1275/init.h: Remove file.
* include/grub/powerpc/ieee1275/ofdisk.h: New file.
* kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
Include grub/machine/console.h.  Include grub/machine/ofdisk.h.
(grub_machine_fini): Don't call `grub_ieee1275_release'.  Remove
comment.
* kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
`grub_ieee1275_test_flag'.
(grub_ieee1275_encode_devname): Likewise.

19 years ago2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Fri, 22 Apr 2005 02:32:37 +0000 (02:32 +0000)]
2005-04-21  Hollis Blanchard  <hollis@penguinppc.org>

* include/grub/powerpc/ieee1275/ieee1275.h
(grub_ieee1275_encode_devname): New prototype.
(grub_ieee1275_get_filename): Likewise.
* kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
function.
(grub_set_prefix): Likewise.
(grub_machine_init): Call grub_set_prefix.
* kern/powerpc/ieee1275/openfw.c: Fix typos.
(grub_parse_type): New enum.
(grub_ieee1275_get_devargs): New function.
(grub_ieee1275_get_devname): Likewise.
(grub_ieee1275_parse_args): Likewise.
(grub_ieee1275_get_filename): Likewise.
(grub_ieee1275_encode_devname): Likewise.

19 years ago2005-03-30 Marco Gerards <metgerards@student.han.nl>
marco_g [Wed, 30 Mar 2005 18:59:00 +0000 (18:59 +0000)]
2005-03-30  Marco Gerards  <metgerards@student.han.nl>

* kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
`grub_loader_unset'.

19 years ago2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Sat, 26 Mar 2005 17:34:50 +0000 (17:34 +0000)]
2005-03-26  Hollis Blanchard  <hollis@penguinppc.org>

* commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
instead of grub_ieee1275_interpret.
(grub_halt_init): New function.
(grub_halt_fini): Likewise.
(GRUB_MOD_INIT): Correct message grammar.
* commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
instead of grub_ieee1275_interpret.
(grub_reboot_init): New function.
(grub_reboot_fini): Likewise.
* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
util/i386/pc/misc.c with commands/ieee1275/halt.c,
commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
* disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
function.
* include/grub/powerpc/ieee1275/console.h (grub_console_fini):
Add prototype.
* include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
prototype.
(grub_halt): Likewise.
* include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
(cmain): Remove __attribute__((unused)).
* kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
(grub_heap_len): Likewise.
(grub_machine_fini): New function.
* kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
(grub_halt): Likewise.
* term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
function.
* util/powerpc/ieee1275/misc.c: New file.

19 years ago2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sat, 19 Mar 2005 17:49:19 +0000 (17:49 +0000)]
2005-03-19  Yoshinori K. Okuji  <okuji@enbug.org>

  * DISTLIST: New file.
  * gendistlist.sh: Likewise.

  * Makefile.in (COMMON_DISTFILES): Removed.
  (BOOT_DISTFILES): Likewise.
  (CONF_DISTFILES): Likewise.
  (DISK_DISTFILES): Likewise.
  (FS_DISTFILES): Likewise.
  (INCLUDE_DISTFILES): Likewise.
  (KERN_DISTFILES): Likewise.
  (LOADER_DISTFILES): Likewise.
  (TERM_DISTFILES): Likewise.
  (UTIL_DISTFILES): Likewise.
  (DISTFILES): Likewise.
  (uninstall): Uninstall files in $(pkgdata_DATA).
  (DISTLIST): New target.
  (distdir): Use the contents of the file DISTLIST to get a list of
  distributed files.

19 years ago2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Fri, 18 Mar 2005 18:16:26 +0000 (18:16 +0000)]
2005-03-18  Yoshinori K. Okuji  <okuji@enbug.org>

  * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
  descriptor. This is ported from GRUB Legacy.

  * gencmdlist.sh: Added an extra semicolon to make it work with
  old sed versions. Reported by Robert Bihlmeyer
  <robbe@orcus.priv.at>.

19 years ago2005-03-08 Yoshinori Okuji <okuji@enbug.org>
okuji [Tue, 8 Mar 2005 01:01:06 +0000 (01:01 +0000)]
2005-03-08  Yoshinori Okuji  <okuji@enbug.org>

  Automatic loading of commands is supported.

  * normal/main.c (read_command_list): New function.
  (grub_normal_execute): Call read_command_list.

  * normal/command.c (grub_register_command): Return zero or CMD.
  Allocate CMD->NAME from the heap.
  Initialize CMD->MODULE_NAME to zero.
  Find the same name as well. If the same command is found and it is
  a dummy command, overwrite members. If it is not a dummy command,
  return zero.
  (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
  (grub_command_find): If a dummy command is found, load a module
  and retry to find a command only once.

  * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
  make sure that each command is loaded.

  * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
  macro.
  (struct grub_command): Remove const from the member `name'.
  Add a new member `module_name'.
  (grub_register_command): Return grub_command_t.

  * commands/help.c (grub_cmd_help): Call grub_command_find to make
  sure that each command is loaded.

  * genmk.rb (PModule::rule): Specify a module name without the
  suffix ".mod" to gencmdlist.sh.

19 years ago2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Wed, 2 Mar 2005 21:52:38 +0000 (21:52 +0000)]
2005-03-02  Yoshinori K. Okuji  <okuji@enbug.org>

  * gencmdlist.sh: New file.

  * genmk.rb (PModule::rule): Generate a rule for a command list.
  Clean command.lst.
  Generate command.lst from $(COMMANDFILES).

  * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
  (DATA): Added $(pkgdata_DATA).
  (install-local): Install files in $(pkgdata_DATA).

19 years agoAdded several people.
okuji [Wed, 2 Mar 2005 21:04:59 +0000 (21:04 +0000)]
Added several people.

19 years agoForgot to add configfile.c.
okuji [Wed, 2 Mar 2005 20:13:20 +0000 (20:13 +0000)]
Forgot to add configfile.c.

19 years ago2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Wed, 2 Mar 2005 20:12:46 +0000 (20:12 +0000)]
2005-03-02  Yoshinori K. Okuji  <okuji@enbug.org>

  * term/i386/pc/vga.c (debug_command): Removed.
  (GRUB_MOD_INIT): Do not register the command "debug".

  From Hollis Blanchard:
  * commands/configfile.c: New file.
  * conf/i386-pc.rmk (grub_emu_SOURCES): Added
  commands/configfile.c.
  (pkgdata_MODULES): Added configfile.mod.
  (configfile_mod_SOURCES): New variable.
  (configfile_mod_CFLAGS): Likewise.
  * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
  commands/configfile.c.
  (pkgdata_MODULES): Added configfile.mod.
  (configfile_mod_SOURCES): New variable.
  (configfile_mod_CFLAGS): Likewise.
  * util/grub-emu.c (main): Call grub_configfile_init and
  grub_configfile_fini.
  * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
  prototype.
  [GRUB_UTIL] (grub_configfile_fini): Likewise.

19 years ago2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sun, 27 Feb 2005 22:19:55 +0000 (22:19 +0000)]
2005-02-27  Yoshinori K. Okuji  <okuji@enbug.org>

  * normal/arg.c (grub_arg_show_help): Do not show the bug report
  address.

  * commands/help.c (grub_cmd_help): Do not print newlines after
  the last command in print_command_help.

19 years ago2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sun, 27 Feb 2005 21:19:06 +0000 (21:19 +0000)]
2005-02-27  Yoshinori K. Okuji  <okuji@enbug.org>

  * commands/default.h: New file.
  * commands/timeout.h: Likewise.
  * normal/context.c: Likewise.

  * util/misc.c: Do not include sys/times.h.
  Include sys/time.h and grub/machine/time.h.
  (grub_get_rtc): Rewritten with gettimeofday.

  * util/grub-emu.c (main): Call grub_default_init and
  grub_timeout_init before grub_normal_init, and call
  grub_timeout_fini and grub_default_fini after grub_main.

  * util/console.c (grub_ncurses_checkkey): Return the read
  character or -1.

  * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
  timeouts.

  * normal/main.c (read_config_file): Push MENU. If this fails,
  print an error and wait for a user input.
  Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
  If a menu is empty or an error occurs, pop MENU.
  (grub_normal_execute): Pop and free MENU after grub_menu_run
  returns.

  * kern/loader.c (grub_loader_boot): Call grub_machine_fini.

  * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
  include time.h.
  [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
  without GRUB_UTIL.
  * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
  time.h.
  [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
  without GRUB_UTIL.

  * include/grub/normal.h (struct grub_menu_list): New struct.
  (grub_menu_list_t): New type.
  (struct grub_context): New struct.
  (grub_context_t): New type.
  (grub_register_command): Got rid of EXPORT_FUNC.
  (grub_unregister_command): Likewise.
  (grub_context_get): New prototype.
  (grub_context_get_current_menu): Likewise.
  (grub_context_push_menu): Likewise.
  (grub_context_pop_menu): Likewise.
  [GRUB_UTIL] (grub_default_init): Likewise.
  [GRUB_UTIL] (grub_default_fini): Likewise.
  [GRUB_UTIL] (grub_timeout_init): Likewise.
  [GRUB_UTIL] (grub_timeout_fini): Likewise.

  * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
  commands/timeout.c and normal/context.c.
  (pkgdata_MODULES): Added default.mod and timeout.mod.
  (normal_mod_SOURCES): Added normal/context.c.
  (default_mod_SOURCES): New variable.
  (default_mod_CFLAGS): Likewise.
  (timeout_mod_SOURCES): Likewise.
  (timeout_mod_CFLAGS): Likewise.
  * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
  conf/i386-pc.rmk.
  (pkgdata_MODULES): Added default.mod and timeout.mod.
  (normal_mod_SOURCES): Added normal/context.c.
  (default_mod_SOURCES): New variable.
  (default_mod_CFLAGS): Likewise.
  (timeout_mod_SOURCES): Likewise.
  (timeout_mod_CFLAGS): Likewise.

  * Makefile.in (all-local): Added $(MKFILES).

19 years ago2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
marco_g [Mon, 21 Feb 2005 22:00:32 +0000 (22:00 +0000)]
2005-02-21  Vincent Pelletier  <subdino2004@yahoo.fr>

* conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
(grub_emu_SOURCES): Likewise.
(pkgdata_MODULES): Add `sun.mod'.
(sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
`partmap/sun.c'.
(pkgdata_MODULES): Add `sun.mod'.
(sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
* include/grub/partition.h (grub_sun_partition_map_init): New
prototype.
(grub_sun_partition_map_fini): Likewise.
* partmap/sun.c: New file.
* util/grub-emu.c (main): Initialize and de-initialize the sun
partitionmap support.

19 years ago2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sat, 19 Feb 2005 20:56:07 +0000 (20:56 +0000)]
2005-02-19  Yoshinori K. Okuji  <okuji@enbug.org>

  This implements an Emacs-like menu entry editor.

  * normal/menu_entry.c: New file.

  * util/console.c (grub_ncurses_putchar): Translate some Unicode
  characters to ASCII.
  (saved_char): New variable.
  (grub_ncurses_checkkey): Rewritten completely.
  (grub_ncurses_getkey): Likewise.
  (grub_ncurses_init): Call raw instead of cbreak.

  * normal/menu.c (print_entry): Do not put a space.
  (init_page): Renamed to ...
  (grub_menu_init_page): ... this. All callers changed.
  (edit_menu_entry): Removed.
  (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.

  * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.

  * kern/misc.c (grub_vprintf): Call grub_refresh.

  * normal/menu.c (DISP_LEFT): Renamed to ...
  * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
  * normal/menu.c (DISP_UP): Renamed to ...
  * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
  * normal/menu.c (DISP_RIGHT): Renamed to ...
  * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
  * normal/menu.c (DISP_DOWN): Renamed to ...
  * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
  * normal/menu.c (DISP_HLINE): Renamed to ...
  * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
  * normal/menu.c (DISP_VLINE): Renamed to ...
  * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
  * normal/menu.c (DISP_UL): Renamed to ...
  * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
  * normal/menu.c (DISP_UR): Renamed to ...
  * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
  * normal/menu.c (DISP_LL): Renamed to ...
  * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
  * normal/menu.c (DISP_LR): Renamed to ...
  * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
  * normal/menu.c (TERM_WIDTH): Renamed to ...
  * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
  * normal/menu.c (TERM_HEIGHT): Renamed to ...
  * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
  * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
  * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
  * normal/menu.c (TERM_MARGIN): Renamed to ...
  * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
  * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
  * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
  * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
  * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
  * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
  * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
  * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
  * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
  * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
  * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
  * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
  * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
  * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
  * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
  * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
  * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
  * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
  * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
  * normal/menu.c (TERM_CURSOR_X): Renamed to ...
  * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
  All callers changed.

  * include/grub/normal.h: New prototype.

  * conf/i386-pc.rmk (grub_emu_SOURCES): Added
  normal/menu_entry.c.
  (normal_mod_SOURCES): Likewise.
  * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
  (normal_mod_SOURCES): Likewise.

2005-02-15  Yoshinori K. Okuji  <okuji@enbug.org>

  * include/grub/normal.h (grub_halt_init): New prototype.
  (grub_halt_fini): Likewise.
  (grub_reboot_init): Likewise.
  (grub_reboot_fini): Likewise.

  * util/grub-emu.c: Include signal.h.
  (main_env): New global variable.
  (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
  catch C-c.
  (grub_machine_fini): New function.
  (main): Call grub_halt_init and grub_reboot_init before
  grub_main, and grub_reboot_fini and grub_halt_fini after it.
  Call setjmp with MAIN_ENV to go back afterwards.
  Call grub_machine_fini right before return.

  * include/grub/util/misc.h: Include setjmp.h.
  (main_env): New prototype.

  * include/grub/kernel.h (grub_machine_fini): New prototype.
  * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
  * include/grub/i386/pc/console.h (grub_console_fini): Likewise.

  * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
  * kern/i386/pc/init.c (grub_machine_fini): Likewise.
  * term/i386/pc/console.c (grub_console_fini): Likewise.

  * util/i386/pc/misc.c: New file.

  * conf/i386-pc.rmk (grub_emu_SOURCES): Added
  util/i386/pc/misc.c, commands/i386/pc/halt.c and
  commands/i386/pc/reboot.c.

19 years ago2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Tue, 15 Feb 2005 00:07:01 +0000 (00:07 +0000)]
2005-02-15  Yoshinori K. Okuji  <okuji@enbug.org>

  * include/grub/normal.h (grub_halt_init): New prototype.
  (grub_halt_fini): Likewise.
  (grub_reboot_init): Likewise.
  (grub_reboot_fini): Likewise.

  * util/grub-emu.c: Include signal.h.
  (main_env): New global variable.
  (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
  catch C-c.
  (grub_machine_fini): New function.
  (main): Call grub_halt_init and grub_reboot_init before
  grub_main, and grub_reboot_fini and grub_halt_fini after it.
  Call setjmp with MAIN_ENV to go back afterwards.
  Call grub_machine_fini right before return.

  * include/grub/util/misc.h: Include setjmp.h.
  (main_env): New prototype.

  * include/grub/kernel.h (grub_machine_fini): New prototype.
  * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
  * include/grub/i386/pc/console.h (grub_console_fini): Likewise.

  * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
  * kern/i386/pc/init.c (grub_machine_fini): Likewise.
  * term/i386/pc/console.c (grub_console_fini): Likewise.

  * util/i386/pc/misc.c: New file.

  * conf/i386-pc.rmk (grub_emu_SOURCES): Added
  util/i386/pc/misc.c, commands/i386/pc/halt.c and
  commands/i386/pc/reboot.c.

19 years ago2005-02-14 Guillem Jover <guillem@hadrons.org>
marco_g [Mon, 14 Feb 2005 18:41:33 +0000 (18:41 +0000)]
2005-02-14  Guillem Jover  <guillem@hadrons.org>

* include/grub/dl.h (grub_dl_check_header): New prototype.
(grub_arch_dl_check_header): Change return type to grub_err_t,
remove size parameter and export function.  Update all callers.
* kern/dl.c (grub_dl_check_header): New function.
(grub_dl_load_core): Use `grub_dl_check_header' instead of
`grub_arch_dl_check_header'.  Check ELF type.  Check if sections
are inside the core.
* kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
independent ELF header checks.
* kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
* loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
`grub_dl_check_header' instead of explicit checks.  Check for the
ELF type.
* loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
`grub_dl_check_header' instead of explicit checks.  Remove arch
specific ELF header checks.

19 years ago2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Sun, 13 Feb 2005 18:54:57 +0000 (18:54 +0000)]
2005-02-13  Hollis Blanchard  <hollis@penguinppc.org>

* conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
* include/grub/powerpc/libgcc.h (__mulsf3): New prototype.

19 years ago2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Sun, 13 Feb 2005 01:40:28 +0000 (01:40 +0000)]
2005-02-12  Hollis Blanchard  <hollis@penguinppc.org>

* kern/partition.c (grub_partition_probe): Clear `grub_errno' and
return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
(part_map_iterate): Clear `grub_errno' and return 0 if
`partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
* partmap/amiga.c (amiga_partition_map_iterate): Return
GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
* partmap/apple.c (apple_partition_map_iterate): Likewise.

19 years ago2005-02-01 Guillem Jover <guillem@hadrons.org>
marco_g [Tue, 1 Feb 2005 21:53:35 +0000 (21:53 +0000)]
2005-02-01  Guillem Jover  <guillem@hadrons.org>

* loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
help info.

19 years ago2005-01-31 Marco Gerards <metgerards@student.han.nl>
marco_g [Mon, 31 Jan 2005 21:44:35 +0000 (21:44 +0000)]
2005-01-31  Marco Gerards  <metgerards@student.han.nl>

* include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
Removed prototype.
(grub_rescue_cmd_linux): New prototype.
(grub_rescue_cmd_initrd): Likewise.
* powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
`bi_rec'.
(grub_linux_release_mem): Release the memory for the initrd.
(grub_load_linux): Renamed from this...
(grub_rescue_cmd_linux): ...To this.  Changed all callers.
Changed `entry' not to be static.  Loop over memory regions to
find another one when the default fails.
(grub_rescue_cmd_initrd): New function.
(grub_linux_init): Remove function.
(grub_linux_fini): Likewise.
(GRUB_MOD_INIT): Register `initrd'.
(GRUB_MOD_FINI): Unregister `initrd'.
* powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
Function removed.
(grub_linux_normal_fini): Likewise.
(GRUB_MOD_INIT): Register `initrd'.
(GRUB_MOD_FINI): Unregister `initrd'.