]> git.proxmox.com Git - grub2.git/log
grub2.git
17 years ago2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Fri, 3 Nov 2006 20:28:04 +0000 (20:28 +0000)]
2006-11-03  Hollis Blanchard  <hollis@penguinppc.org>

* conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
(kernel_elf_SOURCES): Likewise.
* conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
* conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
* conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
* conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
* conf/common.rmk (pkgdata_MODULES): Add elf.mod.
(elf_mod_SOURCES): New variable.
(elf_mod_CFLAGS): Likewise.
(elf_mod_LDFLAGS): Likewise.
* include/grub/types.h (__unused): New macro.
* include/grub/elfload.h: New file.
* kern/elf.c: Likewise.
* loader/powerpc/ieee1275/linux.c: Include elfload.h.
(ELF32_LOADMASK): New macro.
(ELF64_LOADMASK): Likewise.
(vmlinux): Removed.
(grub_linux_load32): New function.
(grub_linux_load64): Likewise.
(grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
Use grub_elf_t instead of grub_file_t.

17 years ago2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Thu, 2 Nov 2006 16:30:17 +0000 (16:30 +0000)]
2006-11-02  Hollis Blanchard  <hollis@penguinppc.org>

* kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
`catch_result' to struct set_color_args.

17 years ago2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sat, 28 Oct 2006 14:00:05 +0000 (14:00 +0000)]
2006-10-28  Yoshinori K. Okuji  <okuji@enbug.org>

        * normal/menu.c: Include grub/script.h.
        * normal/menu_entry.c: Likewise.
        * include/grub/normal.h: Do not include grub/script.h.

17 years ago2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Fri, 27 Oct 2006 18:24:14 +0000 (18:24 +0000)]
2006-10-27  Hollis Blanchard  <hollis@penguinppc.org>

* kern/disk.c (grub_disk_read): Correct debug printf formatting.

17 years ago2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Fri, 27 Oct 2006 18:14:00 +0000 (18:14 +0000)]
2006-10-27  Hollis Blanchard  <hollis@penguinppc.org>

* kern/disk.c (grub_disk_open): Print debug messages when opening a
disk.
(grub_disk_close): Print debug messages when closing a disk.
(grub_disk_read): Print debug messages when disk read fails.
* kern/fs.c (grub_fs_probe): Print debug messages when detecting
filesystem type.
* kern/partition.c: Include misc.h.
(grub_partition_iterate): Print debug messages when detecting
partition type.

17 years ago2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Fri, 27 Oct 2006 17:57:05 +0000 (17:57 +0000)]
2006-10-27  Hollis Blanchard  <hollis@penguinppc.org>

* disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
is negative.
* kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.

17 years ago2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Thu, 26 Oct 2006 23:11:22 +0000 (23:11 +0000)]
2006-10-26  Hollis Blanchard  <hollis@penguinppc.org>

* kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.

17 years ago2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
jeroen [Wed, 25 Oct 2006 20:41:43 +0000 (20:41 +0000)]
2006-10-25  Jeroen Dekkers  <jeroen@dekkers.cx>

* disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
instead of sizeof(lv). Patch by Michael Guntsche.

17 years agoThe "don't use variable names that differ only one character" commit.
jeroen [Wed, 18 Oct 2006 21:42:42 +0000 (21:42 +0000)]
The "don't use variable names that differ only one character" commit.

2006-10-18  Jeroen Dekkers  <jeroen@dekkers.cx>

* disk/lvm.c: Rename VGS to VG_LIST.
(grub_lvm_iterate): Change VGS->LV to VG-LV.
(grub_lvm_open): Likewise.
Thanks to Michael Guntsche for finding this bug.

17 years ago2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sun, 15 Oct 2006 13:53:59 +0000 (13:53 +0000)]
2006-10-15  Yoshinori K. Okuji  <okuji@enbug.org>

        * configure.ac (AC_INIT): Bumped to 1.95.

17 years ago2006-10-14 Robert Millan <rmh@aybabtu.com>
robertmh [Sat, 14 Oct 2006 21:51:37 +0000 (21:51 +0000)]
2006-10-14  Robert Millan  <rmh@aybabtu.com>

* util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
with "/dev/.static/dev/md".

17 years agoUpdated.
okuji [Sat, 14 Oct 2006 21:17:33 +0000 (21:17 +0000)]
Updated.

17 years ago2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sat, 14 Oct 2006 21:07:48 +0000 (21:07 +0000)]
2006-10-14  Yoshinori K. Okuji  <okuji@enbug.org>

        * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
        DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
        DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
        DRIVE_NAME are always freed.

        * util/i386/pc/biosdisk.c (make_device_name): Add one into
        DOS_PART, as a DOS partition is counted from one instead of zero
        now. Reported by Robert Millan.

17 years agoArgh, really rename grub-probefs.c as the ChangeLog says.
robertmh [Sat, 14 Oct 2006 20:01:48 +0000 (20:01 +0000)]
Argh, really rename grub-probefs.c as the ChangeLog says.

17 years agoOops. Regenerate conf/i386-efi.mk and conf/i386-pc.mk (Using: ruby genmk.rb < conf...
robertmh [Sat, 14 Oct 2006 19:50:53 +0000 (19:50 +0000)]
Oops.  Regenerate conf/i386-efi.mk and conf/i386-pc.mk (Using: ruby genmk.rb < conf/foo.rmk > conf/foo.mk)

17 years ago2006-10-14 Robert Millan <rmh@aybabtu.com>
robertmh [Sat, 14 Oct 2006 18:59:34 +0000 (18:59 +0000)]
2006-10-14  Robert Millan  <rmh@aybabtu.com>

* util/i386/pc/getroot.c (grub_guess_root_device): Stop using
grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
* util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
string returned by grub_guess_root_device.
* util/i386/pc/grub-setup.c: Likewise.
* util/i386/pc/grub-probefs.c: Likewise.

* util/i386/pc/grub-probefs.c: Rename to ...
* util/i386/pc/grub-probe.c: ... this.
* DISTLIST: Remove grub-probefs, add grub-probe.
* conf/i386-efi.rmk: Likewise.
* conf/i386-pc.rmk: Likewise.
* util/i386/pc/grub-install.in: Likewise.

* util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
choose which information we want to print.

17 years ago2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sat, 14 Oct 2006 15:24:53 +0000 (15:24 +0000)]
2006-10-14  Yoshinori K. Okuji  <okuji@enbug.org>

        * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
        include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
        include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
        include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
        video/readers/tga.c and video/i386/pc/vbeutil.c.

2006-10-14  Jeroen Dekkers  <jeroen@dekkers.cx>

        Added support for RAID and LVM.

        * disk/lvm.c: New file.
        * disk/raid.c: Likewise.
        * include/grub/lvm.h: Likewise.
        * include/grub/raid.h: Likewise.
        * include/grub/util/lvm.h: Likewise.
        * include/grub/util/raid.h: Likewise.
        * util/lvm.c: Likewise.
        * util/raid.c: Likewise.

        * include/grub/disk.h (grub_disk_dev_id): Add
        GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
        (grub_disk_get_size): New prototype.
        * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
        returns a partition.
        (grub_disk_get_size): New function.

        * kern/i386/pc/init.c (make_install_device): Copy the prefix
        verbatim if grub_install_dos_part is -2.

        * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
        and LVM devices.

        * util/i386/pc/grub-setup.c (setup): New argument
        MUST_EMBED. Force embedding of GRUB when the argument is
        true. Close FILE before returning.
        (main): Add support for RAID and LVM.

        * conf/common.rmk: Add RAID and LVM modules.
        * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
        util/lvm.c.
        (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.

        * kern/misc.c (grub_strstr): New function.
        * include/grub/misc.h (grub_strstr): New prototype.

17 years ago2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
jrydberg [Tue, 10 Oct 2006 17:39:10 +0000 (17:39 +0000)]
2006-10-10  Tristan Gingold  <tristan.gingold@bull.net>

        * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.

17 years agoAdd Tristan Gingold
jeroen [Thu, 5 Oct 2006 19:04:09 +0000 (19:04 +0000)]
Add Tristan Gingold

17 years ago2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
jrydberg [Thu, 5 Oct 2006 12:19:56 +0000 (12:19 +0000)]
2006-10-05  Tristan Gingold  <tristan.gingold@bull.net>

        * kern/misc.c (grub_strtoull): Guess the base only if not
        specified.

17 years ago2005-10-01 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Sun, 1 Oct 2006 08:34:36 +0000 (08:34 +0000)]
2005-10-01  Hollis Blanchard  <hollis@penguinppc.org>

* kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
PowerMac support.

17 years ago2005-10-01 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Sun, 1 Oct 2006 08:30:09 +0000 (08:30 +0000)]
2005-10-01  Hollis Blanchard  <hollis@penguinppc.org>

* disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.

* include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
Remove `flags' argument.  All callers changed.
* kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
(IEEE1275_IHANDLE_INVALID): New variable.
(IEEE1275_CELL_INVALID): New variable.
(grub_ieee1275_finddevice, grub_ieee1275_get_property,
grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
codes from Open Firmware.  All callers updated.
(grub_ieee1275_next_property): Directly return Open Firmware return
code.
* kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
Standardize error checking from `grub_ieee1275_get_property'.
* kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
`devalias' to `aliases'.  Correct comments.  Consolidate error paths.

17 years ago2005-10-01 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Sun, 1 Oct 2006 06:45:53 +0000 (06:45 +0000)]
2005-10-01  Hollis Blanchard  <hollis@penguinppc.org>

* kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
`instance_to_package_args' to `instance_to_path_args'.

* kern/powerpc/ieee1275/init.c (grub_machine_init): Use
`grub_ieee1275_chosen'.

* term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
`grub_ieee1275_interpret'.

17 years ago2005-09-25 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Tue, 26 Sep 2006 04:24:38 +0000 (04:24 +0000)]
2005-09-25  Hollis Blanchard  <hollis@penguinppc.org>

* util/powerpc/ieee1275/grub-mkimage.c: Include config.h.

17 years ago2005-09-25 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Tue, 26 Sep 2006 03:49:41 +0000 (03:49 +0000)]
2005-09-25  Hollis Blanchard  <hollis@penguinppc.org>

* include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
(__cmpdi): Likewise.

* kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
`flags' to `grub_ieee1275_next_property'.  Change `pathlen' to type
`grub_ssize_t'.

* kern/powerpc/ieee1275/cmain.c: include grub/misc.h.

* loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
to type `grub_ssize_t'.
(grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.

17 years ago2006-09-22 Marco Gerards <marco@gnu.org>
marco_g [Fri, 22 Sep 2006 21:32:48 +0000 (21:32 +0000)]
2006-09-22  Marco Gerards  <marco@gnu.org>

* normal/script.c (grub_script_create_cmdmenu): Skip leading
newlines.

17 years ago2006-09-22 Marco Gerards <marco@gnu.org>
marco_g [Fri, 22 Sep 2006 21:09:14 +0000 (21:09 +0000)]
2006-09-22  Marco Gerards  <marco@gnu.org>

* commands/echo.c: New file.

* conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.

* conf/common.rmk (echo_mod_SOURCES): New variable.
(echo_mod_CFLAGS): Likewise.
(echo_mod_LDFLAGS): Likewise.

17 years ago2006-09-22 Marco Gerards <marco@gnu.org>
marco_g [Fri, 22 Sep 2006 20:23:00 +0000 (20:23 +0000)]
2006-09-22  Marco Gerards  <marco@gnu.org>

* normal/main.c (get_line): Malloc memory instead of using
preallocated memory.  Removed the arguments `cmdline' and
`max_len'.  Updated all callers.

17 years ago2006-09-22 Marco Gerards <marco@gnu.org>
marco_g [Fri, 22 Sep 2006 19:36:32 +0000 (19:36 +0000)]
2006-09-22  Marco Gerards  <marco@gnu.org>

* conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
(normal_mod_DEPENDENCIES): Likewise.

* conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
(normal_mod_DEPENDENCIES): Likewise.

* conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.

17 years ago2006-09-22 Johan Rydberg <jrydberg@gnu.org>
jrydberg [Fri, 22 Sep 2006 00:27:38 +0000 (00:27 +0000)]
2006-09-22  Johan Rydberg  <jrydberg@gnu.org>

        * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
        programs.
        * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
        (normal_mod_DEPENDENCIES): Likewise.
        * conf/i386-pc.mk: Regenerate.
        * conf/i386-efi.mk: Likewise
        * conf/common.mk: Likewise.
        * conf/powerpc-ieee1275.mk: Likewise.
        * conf/sparc64-ieee1275.mk: Likewise.

17 years ago2006-09-22 Robert Millan <rmh@aybabtu.com>
robertmh [Thu, 21 Sep 2006 22:24:05 +0000 (22:24 +0000)]
2006-09-22  Robert Millan  <rmh@aybabtu.com>

Sync with i386 version.
* conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
* conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.

17 years ago2006-09-21 Robert Millan <rmh@aybabtu.com>
robertmh [Thu, 21 Sep 2006 17:39:14 +0000 (17:39 +0000)]
2006-09-21  Robert Millan  <rmh@aybabtu.com>

Import from GRUB Legacy (lib/device.c):
* util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
(init_device_map) [__linux__]: Add support for I2O devices.

17 years agoMinor fix in my changelog entry.
robertmh [Thu, 21 Sep 2006 17:08:19 +0000 (17:08 +0000)]
Minor fix in my changelog entry.

17 years ago2006-09-14 Marco Gerards <marco@gnu.org>
marco_g [Thu, 14 Sep 2006 19:04:18 +0000 (19:04 +0000)]
2006-09-14  Marco Gerards  <marco@gnu.org>

* conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
`-melf_i386'.

17 years agoOops. Fix wrong ChangeLog date.
robertmh [Thu, 14 Sep 2006 18:53:24 +0000 (18:53 +0000)]
Oops.  Fix wrong ChangeLog date.

17 years ago2006-08-19 Robert Millan <rmh@aybabtu.com>
robertmh [Thu, 14 Sep 2006 18:52:50 +0000 (18:52 +0000)]
2006-08-19  Robert Millan  <rmh@aybabtu.com>

* util/i386/pc/grub-install.in: Skip menu.lst when removing
/boot/grub/*.lst.
* util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
* util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
before adding it to device.map.

18 years ago2006-08-15 Johan Rydberg <jrydberg@gnu.org>
jrydberg [Tue, 15 Aug 2006 12:29:08 +0000 (12:29 +0000)]
2006-08-15  Johan Rydberg  <jrydberg@gnu.org>

        * genmk.rb: Let GCC generate dependenceies the first time it
        compiles a file; using the -MD option.
        * conf/common.mk: Regenerate.
        * conf/i386-pc.mk: Likewise.
        * conf/i386-efi.mk: Likewise.
        * conf/powerpc-ieee1275.mk: Likewise.
        * conf/sparc64-ieee1275.mk: Likewise.

18 years ago2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Fri, 4 Aug 2006 19:23:28 +0000 (19:23 +0000)]
2006-08-04  Yoshinori K. Okuji  <okuji@enbug.org>

        Move the prototypes of grub_setjmp and grub_longjmp to
        cpu/setjmp.h, so that each architecture may specify different
        attributes.

        * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
        (grub_longjmp): Likewise.
        * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
        (grub_longjmp): Likewise.
        * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
        (grub_longjmp): Likewise.

        * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
        [!GRUB_UTIL] (grub_longjmp): Removed.

18 years ago2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
subdino [Tue, 1 Aug 2006 21:45:34 +0000 (21:45 +0000)]
2006-08-01  Pelletier Vincent  <subdino2004@yahoo.fr>

        * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
        "color!" method does not return any value.

18 years ago2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
chaac [Mon, 31 Jul 2006 14:21:36 +0000 (14:21 +0000)]
2006-07-29  Vesa Jaaskelainen  <chaac@nic.fi>

* include/grub/bitmap.h: New file.

* include/grub/i386/pc/vbeutil.h: Likewise.

* video/bitmap.c: Likewise.

* video/readers/tga.c: Likewise.

* video/i386/pc/vbeutil.c: Likewise.

* commands/videotest.c: Code cleanup and updated to reflect to new
video API.

* term/gfxterm.c: Likewise.

* video/video.c: Likewise.

* conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
(vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
(bitmap_mod_SOURCES): New entry.
(bitmap_mod_CFLAGS): Likewise.
(bitmap_mod_LDFLAGS): Likewise.
(tga_mod_SOURCES): Likewise.
(tga_mod_CFLAGS): Likewise.
(tga_mod_LDFLAGS): Likewise.

* include/grub/video.h (grub_video_blit_operators): New enum type.
(grub_video_render_target): Changed as forward declaration and moved
actual definition to be video driver specific.
(grub_video_adapter.blit_bitmap): Added blitting operator.
(grub_video_adapter.blit_render_target): Likewise.
(grub_video_blit_bitmap): Likewise.
(grub_video_blit_render_target): Likewise.

* include/grub/i386/pc/vbe.h (grub_video_render_target): Added
driver specific render target definition.
(grub_video_vbe_map_rgba): Added driver internal helper.
(grub_video_vbe_unmap_color): Updated to use
grub_video_i386_vbeblit_info.
(grub_video_vbe_get_video_ptr): Likewise.

* include/grub/i386/pc/vbeblit.h
(grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
grub_video_i386_vbeblit_info.
(grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
(grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
(grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
(grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
(grub_video_i386_vbeblit_index_R8G8B8): Likewise.
(grub_video_i386_vbeblit_index_index): Likewise.
(grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
(grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
(grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
(grub_video_i386_vbeblit_blend): Added generic blitter for blend
operator.
(grub_video_i386_vbeblit_replace): Added generic blitter for replace
operator.

* video/i386/pc/vbeblit.c: Updated to reflect changes on
include/grub/i386/pc/vbeblit.h.

* include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
Updated to use grub_video_i386_vbeblit_info.
(grub_video_i386_vbefill_R8G8B8): Likewise.
(grub_video_i386_vbefill_index): Likewise.
(grub_video_i386_vbefill): Added generic filler.

* video/i386/pc/vbefill.c: Updated to reflect changes on
include/grub/i386/pc/vbefill.h.

* video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
grub_video_i386_vbeblit_info.
(grub_video_vbe_unmap_color): Likewise.
(grub_video_vbe_blit_glyph): Likewise.
(grub_video_vbe_scroll): Likewise.
(grub_video_vbe_draw_pixel): Removed function.
(grub_video_vbe_get_pixel): Likewise.
(grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
updated code to use it.
(common_blitter): Added common blitter for render target and bitmap.
(grub_video_vbe_blit_bitmap): Updated to use common_blitter.
(grub_video_vbe_blit_render_target): Likewise.

18 years ago2006-07-30 Johan Rydberg <jrydberg@gnu.org>
jrydberg [Sun, 30 Jul 2006 12:20:48 +0000 (12:20 +0000)]
2006-07-30  Johan Rydberg  <jrydberg@gnu.org>

        * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
        is in text mode if there is no console control protocol instance
        available.

18 years ago2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
chaac [Sat, 29 Jul 2006 11:22:52 +0000 (11:22 +0000)]
2006-07-29  Vesa Jaaskelainen  <chaac@nic.fi>

        * include/grub/video.h: Code cleanup.

        * include/grub/i386/pc/vbe.h: Likewise.

        * video/i386/pc/vbe.c: Likewise.

        * video/i386/pc/vbeblit.c: Likewise.

        * video/i386/pc/vbefill.c: Likewise.

        * video/video.c: Likewise.  Also added more comments.

18 years ago2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
chaac [Sat, 29 Jul 2006 10:11:01 +0000 (10:11 +0000)]
2006-07-29  Vesa Jaaskelainen  <chaac@nic.fi>

        * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
        (struct grub_biosdisk_dap): Likewise.

        * include/grub/i386/pc/biosdisk.h: ... to here.  Also corrected
        linkage settings for all functions.

18 years ago2006-07-12 Marco Gerards <marco@gnu.org>
marco_g [Wed, 12 Jul 2006 20:42:52 +0000 (20:42 +0000)]
2006-07-12  Marco Gerards  <marco@gnu.org>

* configure.ac (--enable-mm-debug): Fix typo.

* genkernsyms.sh.in: Use proper quoting for `CC'.

18 years agoRegenerate conf/i386-pc.mk.
jeroen [Tue, 4 Jul 2006 20:00:28 +0000 (20:00 +0000)]
Regenerate conf/i386-pc.mk.

18 years ago2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
jeroen [Sun, 2 Jul 2006 15:30:43 +0000 (15:30 +0000)]
2006-07-02  Jeroen Dekkers  <jeroen@dekkers.cx>

* conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
(normal_mod_ASFLAGS): Remove "-m32".

18 years agoChange the address of Johan to gnu.org.
okuji [Sat, 1 Jul 2006 10:26:37 +0000 (10:26 +0000)]
Change the address of Johan to gnu.org.

18 years ago2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Tue, 13 Jun 2006 22:50:01 +0000 (22:50 +0000)]
2006-06-14  Yoshinori K. Okuji  <okuji@enbug.org>

        * util/misc.c: Include config.h.
        [!HAVE_MEMALIGN]: Do not include malloc.h.
        (grub_memalign): Use posix_memalign, if present. Then, use
        memalign, if present. Otherwise, emit an error.

        * util/grub-emu.c: Do not include malloc.h.

        * include/grub/util/misc.h: Include unistd.h. This is required for
        FreeBSD, because off_t is defined in unistd.h. Reported by Harley
        D. Eades III <hde@foobar-qux.org>.

        * configure.ac (AC_GNU_SOURCE): Added.
        (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
        type.

18 years ago2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Thu, 8 Jun 2006 22:30:25 +0000 (22:30 +0000)]
2006-06-09  Yoshinori K. Okuji  <okuji@enbug.org>

        * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
        ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.

18 years ago2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
jeroen [Thu, 8 Jun 2006 12:38:44 +0000 (12:38 +0000)]
2006-06-07  Jeroen Dekkers  <jeroen@dekkers.cx>

* include/grub/types.h (grub_host_addr_t): Rename to
grub_target_addr_t.
(grub_host_off_t): Rename to grub_target_off_t.
(grub_host_size_t): Rename to grub_target_size_t.
(grub_host_ssize_t): Rename to grub_target_ssize_t.
Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.

* include/grub/kernel.h (struct grub_module_header): Change type
of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
(grub_module_info): Likewise.

18 years ago2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Mon, 5 Jun 2006 19:59:33 +0000 (19:59 +0000)]
2006-06-05  Yoshinori K. Okuji  <okuji@enbug.org>

        * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
        of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
        Velazquez <jesus.velazquez@gmail.com>.

18 years ago2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Mon, 5 Jun 2006 17:18:31 +0000 (17:18 +0000)]
2006-06-05  Yoshinori K. Okuji  <okuji@enbug.org>

        Count partitions from 1 instead of 0 in the string representation
        of partitions. Still use 0-based internally.

        * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
        (sun_partition_map_iterate): Use grub_partition_t instead of
        struct grub_partition *. Cast DESC->START_CYLINDER to
        grub_uint64_t after converting the endian.
        (sun_partition_map_probe): Subtract 1 for PARTNUM.
        (sun_partition_map_get_name): Add 1 to P->INDEX.

        * partmap/pc.c (grub_partition_parse): Subtract 1 for
        PCDATA->DOS_PART.
        (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.

        * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
        zero instead of one.
        (gpt_partition_map_probe): Subtract 1 for PARTNUM.
        (gpt_partition_map_get_name): Add 1 into P->INDEX.

        * partmap/apple.c (apple_partition_map_iterate): Change the type
        of POS to unsigned.
        (apple_partition_map_probe): Subtract 1 for PARTNUM.
        (apple_partition_map_get_name): Add 1 into P->INDEX.

        * partmap/amiga.c (amiga_partition_map_iterate): Change the type
        of POS to unsigned.
        (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
        calculate the offset of a partition.
        (amiga_partition_map_probe): Subtract 1 for PARTNUM.
        (amiga_partition_map_get_name): Add 1 into P->INDEX.

        * partmap/acorn.c (acorn_partition_map_find): Change the type of
        SECTOR to grub_disk_addr_t.
        (acorn_partition_map_iterate): Likewise.
        (acorn_partition_map_probe): Subtract 1 for PARTNUM.
        Change the type of SECTOR to grub_disk_addr_t. Declare P on the
        top.
        (acorn_partition_map_get_name): Add 1 into P->INDEX.

        * kern/i386/pc/init.c (make_install_device): Add 1 into
        GRUB_INSTALL_DOS_PART.

        * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
        conditional.

18 years ago2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sun, 4 Jun 2006 15:56:55 +0000 (15:56 +0000)]
2006-06-04  Yoshinori K. Okuji  <okuji@enbug.org>

        Clean up the code to support 64-bit addressing in disks and
        files. This change is not enough for filesystems yet.

        * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
        type of "start" to grub_uint64_t.
        (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
        grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
        save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
        convert addresses.

        * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
        to grub_disk_addr_t.

        * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
        string.

        * partmap/pc.c (pc_partition_map_iterate): Likewise.

        * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
        to char *.

        * normal/script.c (grub_script_parse): Remove unused MEMFREE.

        * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.

        * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.

        * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
        to grub_off_t, to detect an error from grub_file_seek.
        (grub_multiboot_load_elf32): Likewise.

        * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
        maximum unsigned long value when an overflow is detected.
        (grub_strtoull): New function.
        (grub_divmod64): Likewise.
        (grub_lltoa): use grub_divmod64.

        * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
        grub_disk_addr_t.
        (grub_fs_blocklist_open): Increase P if P is not NULL to advance
        the pointer to next character. Use grub_strtoull instead of
        grub_strtoul.
        (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
        SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
        respectively.

        * kern/file.c (grub_file_read): Prevent an oveflow of LEN, as the
        return value is signed.
        (grub_file_seek): Change the type of OLD to grub_off_t. Do not
        test if OFFSET is less than zero, as OFFSET is unsigned now.

        * kern/disk.c (struct grub_disk_cache): Change the type of
        "sector" to grub_disk_addr_t.
        (grub_disk_cache_get_index): Change the type of SECTOR to
        grub_disk_addr_t. Calculate the hash with SECTOR casted to
        unsigned after shifting.
        (grub_disk_cache_invalidate): Change the type of SECTOR to
        grub_disk_addr_t.
        (grub_disk_cache_unlock): Likewise.
        (grub_disk_cache_store): Likewise.
        (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
        START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
        grub_disk_addr_t and grub_uint64_t, respectively.
        (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
        body, as the value of OFFSET is tweaked by
        grub_disk_check_range. Change the types of START_SECTOR, LEN and
        POS to grub_disk_addr_t, grub_size_t and grub_size_t,
        respectively.
        (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
        body, as the value of OFFSET is tweaked by
        grub_disk_check_range. Change the types of LEN and N to
        grub_size_t.

        * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
        and "saved_offset" to grub_off_t.
        (test_header): Cast BUF to char *.
        (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
        to char *.
        (grub_gzio_read): Change the types of OFFSET and SIZE to
        grub_off_t and grub_size_t, respectively.

        * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
        Removed.
        (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
        (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
        (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
        (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
        (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.

        * include/grub/types.h (grub_off_t): Unconditionally set to
        grub_uint64_t.
        (grub_disk_addr_t): Changed to grub_uint64_t.

        * include/grub/partition.h (struct grub_partition): Change the
        types of "start", "len" and "offset" to grub_disk_addr_t,
        grub_uint64_t and grub_disk_addr_t, respectively.
        (grub_partition_get_start): Return grub_disk_addr_t.
        (grub_partition_get_len): Return grub_uint64_t.

        * include/grub/misc.h (grub_strtoull): New prototype.
        (grub_divmod64): Likewise.

        * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
        of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
        grub_off_t, respectively.
        All callers and references changed.

        * include/grub/fs.h (struct grub_fs): Change the type of LEN to
        grub_size_t in "read".
        All callers and references changed.

        * include/grub/file.h (struct grub_file): Change the types of
        "offset" and "size" to grub_off_t and grub_off_t,
        respectively. Change the type of SECTOR to grub_disk_addr_t in
        "read_hook".
        (grub_file_read): Change the type of LEN to grub_size_t.
        (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
        grub_off_t.
        (grub_file_size): Return grub_off_t.
        (grub_file_tell): Likewise.
        All callers and references changed.

        * include/grub/disk.h (struct grub_disk_dev): Change the types of
        SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
        "write".
        (struct grub_disk): Change the type of "total_sectors" to
        grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
        "read_hook".
        (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
        grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
        (grub_disk_write): Likewise.
        All callers and references changed.

        * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
        char * for grub_strncmp to silence gcc.
        (grub_iso9660_mount): Likewise.
        (grub_iso9660_mount): Likewise.
        (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
        return statement.
        (grub_iso9660_iterate_dir): Likewise.
        (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.

        * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
        LEN to grub_disk_addr_t and grub_size_t, respectively.

        * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.

        * fs/jfs.c (grub_jfs_read_file): Likewise.

        * fs/minix.c (grub_jfs_read_file): Likewise.

        * fs/sfs.c (grub_jfs_read_file): Likewise.

        * fs/ufs.c (grub_jfs_read_file): Likewise.

        * fs/xfs.c (grub_jfs_read_file): Likewise.

        * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
        and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
        respectively.

        * fs/ext2.c (grub_ext2_read_block): When an error happens, set
        BLKNR to -1 instead of returning GRUB_ERRNO.
        (grub_ext2_read_file): Change the types of SECTOR and
        LEN to grub_disk_addr_t and grub_size_t, respectively.

        * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
        LEN to grub_disk_addr_t and grub_size_t, respectively.

        * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
        grub_file_read.

        * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
        string. Do not cast SECTOR explicitly.

        * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
        TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
        (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
        grub_disk_addr_t and grub_size_t, respectively. If the sector is
        over 2TB and LBA mode is not supported, raise an error.
        (get_safe_sectors): New function.
        (grub_biosdisk_read): Use get_safe_sectors.
        (grub_biosdisk_write): Likewise.

        * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
        (grub_efidisk_write): Likewise.

        * disk/loopback.c (delete_loopback): Cosmetic changes.
        (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
        correctly.
        (grub_loopback_open): Likewise.
        (grub_loopback_read): Likewise. Also, change the type of POS to
        grub_off_t, and fix the usage of grub_memset.

        * commands/i386/pc/play.c: Include grub/machine/time.h.

        * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
        print FILE->SIZE.

        * commands/configfile.c: Include grub/env.h.

        * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
        GRUB_ERRNO directly instead. Change the type of POS to
        grub_off_t. Follow the coding standard.

        * commands/blocklist.c: Include grub/partition.h.
        (grub_cmd_blocklist): Return an error if the underlying device is
        not a disk. Take the starting sector of a partition into account,
        if a partition is used.

        * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
        a length field.
        (lba_mode): Support 64-bit addresses.
        (chs_mode): Likewise.
        (copy_buffer): Adapted to the new offsets of a length field and a
        segment field.
        (blocklist_default_start): Allocate 64-bit space.

        * boot/i386/pc/boot.S (force_lba): Removed.
        (boot_drive): Moved to under KERNEL_SECTOR.
        (kernel_sector): Moved to under KENREL_SEGMENT. Allocate 64-bit
        space.
        (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
        is useless.
        (lba_mode): Refactored to support a 64-bit address. More size
        optimization.
        (setup_sectors): Likewise.

18 years ago2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sun, 4 Jun 2006 12:59:19 +0000 (12:59 +0000)]
2006-06-04  Yoshinori K. Okuji  <okuji@enbug.org>

        * DISTLIST: Added include/grub/i386/linux.h. Removed
        include/grub/i386/pc/linux.h

        * configure.ac (AC_INIT): Bumped to 1.94.

        * config.guess: Updated from gnulib.
        * config.sub: Likewise.
        * install-sh: Likewise.
        * mkinstalldirs: Likewise.

18 years ago2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Fri, 2 Jun 2006 19:33:58 +0000 (19:33 +0000)]
2006-06-02  Yoshinori K. Okuji  <okuji@enbug.org>

        * conf/common.rmk (grub_modules_init.lst): Depended on
        grub_emu_SOURCES, excluding grub_emu_init.c, instead of
        MODSRCFILES.

        * genmk.rb (PModule::rule): Reverted the previous change.

18 years ago2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Fri, 2 Jun 2006 19:23:08 +0000 (19:23 +0000)]
2006-06-02  Yoshinori K. Okuji  <okuji@enbug.org>

        * conf/common.rmk (grub_modules_init.lst): Depends on
        $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
        that the target does not exist before producing.
        (grub_modules_init.h): Remove the target before generating.
        (grub_emu_init.c): Likewise.

        * genmk.rb (PModule::rule): Add source files into MODSRCFILES.

18 years ago2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
jeroen [Thu, 1 Jun 2006 15:51:51 +0000 (15:51 +0000)]
2006-05-31  Jeroen Dekkers  <jeroen@dekkers.cx>

* configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
for the target-specific tests. Make sure that we also have the
up-to-date target variables for those tests.

18 years ago2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Wed, 31 May 2006 00:46:37 +0000 (00:46 +0000)]
2006-05-31  Yoshinori K. Okuji  <okuji@enbug.org>

        * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
        (PModule::rule): Likewise.

18 years ago2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Wed, 31 May 2006 00:28:03 +0000 (00:28 +0000)]
2006-05-31  Yoshinori K. Okuji  <okuji@enbug.org>

        * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
        TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
        target-specific flags should be prefixed.
        (PModule::rule): Likewise.

18 years ago2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Tue, 30 May 2006 00:32:29 +0000 (00:32 +0000)]
2006-05-30  Yoshinori K. Okuji  <okuji@enbug.org>

        * configure.ac (CMP): Check if cmp is available explicitly.

18 years ago2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sun, 28 May 2006 23:01:43 +0000 (23:01 +0000)]
2006-05-29  Yoshinori K. Okuji  <okuji@enbug.org>

        * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
        (target_cpu): New variable.
        (pkglibdir): Use target_cpu instead of host_cpu.

        * util/i386/pc/grub-install.in (host_cpu): Removed.
        (target_cpu): New variable.
        (pkglibdir): Use target_cpu instead of host_cpu.

        * util/genmoddep.c: Removed.

        * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
        instead of GRUB_HOST_SIZEOF_VOID_P.
        * kern/dl.c: Likewise.

        * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
        ...
        (GRUB_TARGET_SIZEOF_VOID_P): ... this.
        (GRUB_HOST_SIZEOF_LONG): Renamed to ...
        (GRUB_TARGET_SIZEOF_LONG): ... this.
        (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
        (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
        * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
        to ...
        (GRUB_TARGET_SIZEOF_VOID_P): ... this.
        (GRUB_HOST_SIZEOF_LONG): Renamed to ...
        (GRUB_TARGET_SIZEOF_LONG): ... this.
        (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
        (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
        * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
        to ...
        (GRUB_TARGET_SIZEOF_VOID_P): ... this.
        (GRUB_HOST_SIZEOF_LONG): Renamed to ...
        (GRUB_TARGET_SIZEOF_LONG): ... this.
        (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
        (GRUB_TARGET_WORDS_BIGENDIAN): ... this.

        * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
        GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
        [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
        instead of GRUB_HOST_SIZEOF_LONG.
        [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
        GRUB_HOST_WORDS_BIGENDIAN to define or undefine
        GRUB_CPU_WORDS_BIGENDIAN.
        Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
        define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
        grub_host_ssize_t.

        * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
        (genmoddep_SOURCES): Likewise.
        * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
        (genmoddep_SOURCES): Likewise.
        * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
        (genmoddep_SOURCES): Likewise.
        * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
        Likewise.
        (genmoddep_SOURCES): Likewise.

        * genmoddep.awk: New file.

        * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
        TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
        CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
        (PModule::rule): Likewise.
        (Program::rule): Likewise.
        (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
        BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
        respectively.

        * configure.ac: Rewritten intensively to use host and target
        instead of build and host, respectively.

        * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
        (host_cpu): Removed.
        (target_cpu): New variable.
        (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
        (BUILD_CC): Removed.
        (BUILD_CFLAGS): Likewise.
        (BUILD_CPPFLAGS): Likewise.
        (TARGET_CC): New variable.
        (TARGET_CFLAGS): Likewise.
        (TARGET_CPPFLAGS): Likewise.
        (TARGET_LDFLAGS): Likewise.
        (AWK): Likewise.
        (include): Use target_cpu instead of host_cpu.
        (moddep.lst:): Use genmoddep.awk instead of genmoddep.

        * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.

18 years ago2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
chaac [Sun, 28 May 2006 21:58:35 +0000 (21:58 +0000)]
2006-05-29  Vesa Jaaskelainen  <chaac@nic.fi>

        * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
        'exec_to_evaluate'.  Renamed field 'true' to 'exec_on_true'.  Renamed
        field 'false' to 'exec_on_false'.
        (grub_script_create_cmdif): Renamed argument names to reflect above
        changes.

        * normal/execute.c (grub_script_execute_cmdif): Likewise.

        * normal/script.c (grub_script_create_cmdif): Likewise.

18 years ago2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sun, 28 May 2006 03:20:18 +0000 (03:20 +0000)]
2006-05-28  Yoshinori K. Okuji  <okuji@enbug.org>

        * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
        top.
        (grub_hfsplus_btree_recptr): Likewise.
        (grub_hfsplus_find_block): Do not take RETRY any longer. Use
        FILEBLOCK both to pass a block number and store next block
        number.
        (grub_hfsplus_read_block): Rewritten heavily to support an extent
        overflow file correctly. Specify errors appropriately, because
        fshelp expects that GRUB_ERRNO is set when fails. Reuse
        grub_hfsplus_btree_recptr to get the pointer to a found key.
        (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
        is found.

        * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
        linux.mod.
        (_linux_mod_SOURCES): New variable.
        (_linux_mod_CFLAGS): Likewise.
        (_linux_mod_LDFLAGS): Likewise.
        (linux_mod_SOURCES): Likewise.
        (linux_mod_CFLAGS): Likewise.
        (linux_mod_LDFLAGS): Likewise.

        * DISTLIST: Added loader/i386/efi/linux.c,
        loader/i386/efi/linux_normal.c and
        include/grub/i386/efi/loader.h.

        * loader/i386/efi/linux.c: New file.
        * loader/i386/efi/linux_normal.c: Likewise.
        * include/grub/i386/efi/loader.h: Likewise.

18 years agoFix a typo.
okuji [Sat, 27 May 2006 21:32:36 +0000 (21:32 +0000)]
Fix a typo.

18 years ago2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sat, 27 May 2006 21:09:25 +0000 (21:09 +0000)]
2006-05-27  Yoshinori K. Okuji  <okuji@enbug.org>

        * commands/blocklist.c: New file.

        * DISTLIST: Added commands/blocklist.c.

        * term/efi/console.c (grub_console_highlight_color): Use a lighter
        color for the background, and a daker color for the foreground.
        (grub_console_checkkey): Return READ_KEY.
        (grub_console_cls): Set the background to
        GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.

        * kern/efi/efi.c (grub_efi_exit_boot_services): New function.

        * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
        the size of "padding5", "hd0_drive_info" and "hd1_drive_info".

        * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
        prototype.

        * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
        BG. The spec is wrong again.

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

        * conf/i386-pc.rmk (grub_emu_SOURCES): Added
        commands/blocklist.c.
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.

        * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
        (blocklist_mod_SOURCES): New variable.
        (blocklist_mod_CFLAGS): Likewise.
        (blocklist_mod_LDFLAGS): Likewise.

18 years ago2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sat, 20 May 2006 14:54:45 +0000 (14:54 +0000)]
2006-05-20  Yoshinori K. Okuji  <okuji@enbug.org>

        * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
        duplication.
        (lba_mode): Use %eax more intensively to reduce the code size.

18 years ago*** empty log message ***
marco_g [Sat, 20 May 2006 14:44:59 +0000 (14:44 +0000)]
*** empty log message ***

18 years ago2006-05-20 Marco Gerards <marco@gnu.org>
marco_g [Sat, 20 May 2006 11:10:22 +0000 (11:10 +0000)]
2006-05-20  Marco Gerards  <marco@gnu.org>

* normal/lexer.c (grub_script_yylex): Don't filter out newlines.

* normal/parser.y (commandblock): Defined as <cmd>.  A subroutine
for `menuentry'.
(script): Accept leading newlines.
(newlines): New rule to describe 0 or more newlines.
(commands): Accept `command' with trailing newline.  Fixed the
order in which arguments were passed to `grub_script_add_cmd'.
Accept commands separated by newlines.
(function): Changed to accept newlines.
(menuentry) Rewritten.

* normal/script.c (grub_script_create_cmdmenu): Add new entries in
front of the list, instead of to the end.

18 years ago2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Fri, 19 May 2006 11:22:47 +0000 (11:22 +0000)]
2006-05-19  Yoshinori K. Okuji  <okuji@enbug.org>

        * util/i386/pc/grub-install.in (bindir): New variable.
        (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
        Shaver <lbgwjl@gmail.com>.

18 years ago2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sun, 14 May 2006 21:16:20 +0000 (21:16 +0000)]
2006-05-14  Yoshinori K. Okuji  <okuji@enbug.org>

        * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
        grub/machine/linux.h
        * loader/i386/pc/linux.c: Likewise.

        * include/grub/i386/pc/linux.h: Moved to ...
        * include/grub/i386/linux.h: ... here.

        * include/grub/i386/linux.h (struct linux_kernel_params): New
        struct.

18 years ago2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
chaac [Tue, 9 May 2006 20:11:11 +0000 (20:11 +0000)]
2006-05-09  Vesa Jaaskelainen  <chaac@nic.fi>

        * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
        checking.
        (grub_video_vbe_blit_glyph): Likewise.
        (grub_video_vbe_blit_bitmap): Likewise.
        (grub_video_vbe_blit_render_target): Likewise.

18 years ago2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Tue, 9 May 2006 00:05:49 +0000 (00:05 +0000)]
2006-05-09  Yoshinori K. Okuji  <okuji@enbug.org>

        * configure.ac (--with-platform): Properly quote the square
        brackets.

18 years ago2006-05-08 Marco Gerards <marco@gnu.org>
marco_g [Mon, 8 May 2006 21:47:20 +0000 (21:47 +0000)]
2006-05-08  Marco Gerards  <marco@gnu.org>

* conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
this...
(kernel_elf_HEADERS): ...to this.  Updated all users.
(grubof_symlist.c): Renamed from this...
(kernel_elf_symlist.c): ...to this.  Updated all users.
(pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
(grubof_SOURCES): Renamed from this...
(kernel_elf_SOURCES): ...to this.
(grubof_HEADERS): Renamed from this...
(kernel_elf_HEADERS): ...to this.
(grubof_CFLAGS): Renamed from this...
(kernel_elf_CFLAGS): ...to this.
(grubof_ASFLAGS): Renamed from this...
(kernel_elf_ASFLAGS): ...to this.
(grubof_LDFLAGS): Renamed from this...
(kernel_elf_LDFLAGS): ...to this.

* conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
this...
(kernel_elf_HEADERS): ...to this.  Updated all users.
(grubof_symlist.c): Renamed from this...
(kernel_elf_symlist.c): ...to this.  Updated all users.
(pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
(grubof_SOURCES): Renamed from this...
(kernel_elf_SOURCES): ...to this.
(grubof_HEADERS): Renamed from this...
(kernel_elf_HEADERS): ...to this.
(grubof_CFLAGS): Renamed from this...
(kernel_elf_CFLAGS): ...to this.
(grubof_ASFLAGS): Renamed from this...
(kernel_elf_ASFLAGS): ...to this.
(grubof_LDFLAGS): Renamed from this...
(kernel_elf_LDFLAGS): ...to this.

* util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
`kernel.elf' instead of `grubof'.

18 years ago2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Mon, 8 May 2006 19:29:10 +0000 (19:29 +0000)]
2006-05-08  Yoshinori K. Okuji  <okuji@enbug.org>

        Add --with-platform to configure. Use pkglibdir instead of
        pkgdatadir. This is reported by Roger Leigh.

        * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
        (host_vendor): Likewise.
        (host_os): Likewise.
        (pkgdatadir): Likewise.
        (platform): New variable.
        (pkglibdir): Likewise.
        Use PKGLIBDIR instead of PKGDATADIR.

        * util/i386/pc/grub-install.in (datadir): Removed.
        (host_vendor): Likewise.
        (host_os): Likewise.
        (pkgdatadir): Likewise.
        (platform): New variable.
        (pkglibdir): Likewise.
        Use PKGLIBDIR instead of PKGDATADIR.

        * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
        instead of GRUB_DATADIR.
        (main): Likewise.
        * util/i386/pc/grub-mkimage.c (usage): Likewise.
        (main): Likewise.
        * util/i386/efi/grub-mkimage.c (usage): Likewise.
        (main): Likewise.

        * configure.ac (--with-platform): New option.
        Use PLATFORM instead of HOST_VENDOR to specify a platform.

        * Makefile.in: Include a makefile based on PLATFORM instead of
        HOST_VENDOR.
        (pkgdatadir): Not appended by the machine type.
        (pkglibdir): Appended by the machine type.
        (host_vendor): Removed.
        (platform): New variable.
        (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
        (install-local): Use PKGLIBDIR instead of PKGDATADIR.
        (uninstall): Likewise.

18 years ago2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sun, 7 May 2006 18:28:24 +0000 (18:28 +0000)]
2006-05-07  Yoshinori K. Okuji  <okuji@enbug.org>

        Use the environment context in the menu. Remove the commands
        "default" and "timeout", and use variables instead.

        * normal/menu.c: Include grub/env.h.
        (print_entry): Cast TITLE to silence gcc.
        (get_timeout): New function.
        (set_timeout): Likewise.
        (get_entry_number): Likewise.
        (run_menu): Use a default entry, a fallback entry and a timeout
        in the environment variables "default", "fallback" and
        "timeout". Also, tweak the default entry if it is not within the
        current menu entries.
        (grub_menu_run): Use a fallback entry in the environment variable
        "fallback".

        * normal/main.c (read_config_file): Do not initialize
        NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
        NEWMENU->TIMEOUT.
        (grub_normal_execute): Use a data slot to store the menu.

        * include/grub/normal.h (struct grub_menu): Removed default_entry,
        fallback_entry and timeout.
        (struct grub_menu_list): Removed.
        (grub_menu_list_t): Likewise.
        (struct grub_context): Likewise.
        (grub_context_t): Likewise.
        (grub_context_get): Likewise.
        (grub_context_get_current_menu): Likewise.
        (grub_context_push_menu): Likewise.
        (grub_context_pop_menu): Likewise.
        (grub_default_init): Likewise.
        (grub_default_fini): Likewise.
        (grub_timeout_init): Likewise.
        (grub_timeout_fini): Likewise.

        * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
        and timeout.mod.
        (normal_mod_SOURCES): Removed normal/context.c.

        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
        commands/default.c, commands/timeout.c and normal/context.c.
        (normal_mod_SOURCES): Removed normal/context.c.

        * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
        commands/timeout.c and normal/context.c.
        (normal_mod_SOURCES): Removed normal/context.c.

        * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
        commands/default.c, commands/timeout.c and normal/context.c.
        (normal_mod_SOURCES): Removed normal/context.c.

        * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
        timeout.mod.
        (default_mod_SOURCES): Removed.
        (default_mod_CFLAGS): Likewise.
        (default_mod_LDFLAGS): Likewise.
        (timeout_mod_SOURCES): Removed.
        (timeout_mod_CFLAGS): Likewise.
        (timeout_mod_LDFLAGS): Likewise.

        * DISTLIST: Removed commands/default.c, commands/timeout.c and
        normal/context.c.

        * commands/default.c: Removed.
        * commands/timeout.c: Likewise.
        * normal/context.c: Likewise.

18 years ago2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
chaac [Sat, 6 May 2006 22:33:51 +0000 (22:33 +0000)]
2006-05-07  Vesa Jaaskelainen  <chaac@nic.fi>

        * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.

18 years ago2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Mon, 1 May 2006 23:30:51 +0000 (23:30 +0000)]
2006-05-02  Yoshinori K. Okuji  <okuji@enbug.org>

        * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
        "next" to "prev" for readability.
        (struct grub_env_sorted_var): New struct.
        (grub_env_context): Renamed to ...
        (initial_context): ... this.
        (grub_env_var_context): Renamed to ...
        (current_context): ... this.
        (grub_env_find): Look only at CURRENT_CONTEXT.
        (grub_env_context_open): Rewritten to copy exported variables from
        previous context.
        (grub_env_context_close): Rewritten according to the new
        scheme. Also, add an assertion to prevent the initial context from
        removed.
        (grub_env_insert): Removed the code for the sorted list.
        (grub_env_remove): Likewise.
        (grub_env_export): Simply mark the variable with
        GRUB_ENV_VAR_GLOBAL.
        (grub_env_set): A cosmetic change for naming consistency.
        (grub_env_get): Likewise.
        (grub_env_unset): Likewise.
        (grub_env_iterate): Rewritten to sort variables within this
        function.
        (grub_register_variable_hook): Fixed for naming consistency. Call
        grub_env_find again, only if NAME is not found at the first time.
        (mangle_data_slot_name): New function.
        (grub_env_set_data_slot): Likewise.
        (grub_env_get_data_slot): Likewise.
        (grub_env_unset_data_slot): Likewise.

        * include/grub/env.h (grub_env_var_type): New enum.
        (GRUB_ENV_VAR_LOCAL): New constant.
        (GRUB_ENV_VAR_GLOBAL): Likewise.
        (GRUB_ENV_VAR_DATA): Likewise.
        (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
        "type".
        (grub_env_set): Replace VAR with NAME for consistency.
        (grub_register_variable_hook): Likewise.
        (grub_env_export): Specify the name of the argument.
        (grub_env_set_data_slot): New prototype.
        (grub_env_get_data_slot): Likewise.
        (grub_env_unset_data_slot): Likewise.

18 years ago2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sun, 30 Apr 2006 21:09:37 +0000 (21:09 +0000)]
2006-04-30  Yoshinori K. Okuji  <okuji@enbug.org>

        Extend the loader so that GRUB can accept a loader which comes
        back to GRUB when a loaded image exits. Also, this change adds
        support for a chainloader on EFI.

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

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

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

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

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

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

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

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

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

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

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

        * include/grub/efi/chainloader.h: New file.
        * loader/efi/chainloader.c: Likewise.
        * loader/efi/chainloader_normal.c: Likewise.

18 years ago2006-04-30 Marco Gerards <marco@gnu.org>
marco_g [Sun, 30 Apr 2006 20:48:05 +0000 (20:48 +0000)]
2006-04-30  Marco Gerards  <marco@gnu.org>

* commands/configfile.c (grub_cmd_source): New function.
(GRUB_MOD_INIT): Register the commands `source' and `.'.
(GRUB_MOD_FINI): De-register the commands `source' and `.'.

18 years ago2006-04-30 Marco Gerards <marco@gnu.org>
marco_g [Sun, 30 Apr 2006 20:29:51 +0000 (20:29 +0000)]
2006-04-30  Marco Gerards  <marco@gnu.org>

* normal/execute.c (grub_script_execute_cmd): Change the return
type to `grub_err_t'.  Correctly return the error.
(grub_script_execute_cmdline): In case a command line is not a
command or a function, try to interpret it as an assignment.

18 years ago2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sun, 30 Apr 2006 17:30:12 +0000 (17:30 +0000)]
2006-04-30  Yoshinori K. Okuji  <okuji@enbug.org>

        * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
        (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
        skip a node whose name is obviously invalid as UTF-16,
        i.e. contains a NUL character. Stop the iteration when the last
        directory entry is found. Instead of using the return value of
        grub_hfsplus_btree_iterate_node, store the value in RET and use
        it, because the iterator can be stopped by the last directory
        entry.

18 years ago2006-04-30 Marco Gerards <marco@gnu.org>
marco_g [Sun, 30 Apr 2006 14:05:50 +0000 (14:05 +0000)]
2006-04-30  Marco Gerards  <marco@gnu.org>

* include/grub/env.h (grub_env_export): New prototype.  Reported
by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.

18 years ago2006-04-30 Marco Gerards <marco@gnu.org>
marco_g [Sun, 30 Apr 2006 13:57:19 +0000 (13:57 +0000)]
2006-04-30  Marco Gerards  <marco@gnu.org>

* fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
size of the extents in a catalog file record.

18 years ago2006-04-29 Marco Gerards <marco@gnu.org>
marco_g [Sat, 29 Apr 2006 20:29:42 +0000 (20:29 +0000)]
2006-04-29  Marco Gerards  <marco@gnu.org>

* commands/configfile.c (grub_cmd_configfile): Execute the
configfile within its own context.

* include/grub/env.h (grub_env_context_open): New prototype.
(grub_env_context_close): Likewise.

* kern/env.c (grub_env): Removed.
(grub_env_sorted): Likewise.
(grub_env_context): New variable.
(grub_env_var_context): Likewise.
(grub_env_find): Search both the active context and the global
context.
(grub_env_context_open): New function.
(grub_env_context_close): Likewise.
(grub_env_insert): Likewise.
(grub_env_remove): Likewise.
(grub_env_export): Likewise.
(grub_env_set): Changed to use helper functions to avoid code
duplication.
(grub_env_iterate): Rewritten so both the current context and the
global context are being used.

* normal/command.c (export_command): New function.
(grub_command_init): Register the `export' function.

18 years ago2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Wed, 26 Apr 2006 21:58:36 +0000 (21:58 +0000)]
2006-04-26  Yoshinori K. Okuji  <okuji@enbug.org>

        * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
        explicitly to suppress gcc's warnings.
        * fs/fat.c (grub_fat_find_dir): Likewise.
        (grub_fat_label): Likewise.
        * fs/xfs.c (grub_xfs_read_inode): Likewise.
        (grub_xfs_mount): Likewise.
        (grub_xfs_label): Likewise.
        * fs/affs.c (grub_affs_mount): Likewise.
        (grub_affs_label): Likewise.
        (grub_affs_iterate_dir): Likewise.
        * fs/sfs.c (grub_sfs_mount): Likewise.
        (grub_sfs_iterate_dir): Likewise.
        * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
        * fs/hfs.c (grub_hfs_mount): Likewise.
        (grub_hfs_cmp_catkeys): Likewise.
        (grub_hfs_find_dir): Likewise.
        (grub_hfs_dir): Likewise.
        (grub_hfs_label): Likewise.
        * fs/jfs.c (grub_jfs_mount): Likewise.
        (grub_jfs_opendir): Likewise.
        (grub_jfs_getent): Likewise.
        (grub_jfs_lookup_symlink): Likewise.
        (grub_jfs_label): Likewise.
        * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
        (grub_hfsplus_iterate_dir): Likewise.
        (grub_hfsplus_btree_iterate_node): Made static.

        * util/grub-emu.c (prefix): New variable.
        (grub_machine_set_prefix): New function.
        (main): Do not set the environment variable "prefix" here. Only
        set PREFIX, which is used later by grub_machine_set_prefix.

        * include/grub/video.h: Do not include grub/symbol.h.
        (grub_video_register): Not exported. This symbol is not defined in
        the kernel.
        (grub_video_unregister): Likewise.
        (grub_video_iterate): Likewise.
        (grub_video_setup): Likewise.
        (grub_video_restore): Likewise.
        (grub_video_get_info): Likewise.
        (grub_video_get_blit_format): Likewise.
        (grub_video_set_palette): Likewise.
        (grub_video_get_palette): Likewise.
        (grub_video_set_viewport): Likewise.
        (grub_video_get_viewport): Likewise.
        (grub_video_map_color): Likewise.
        (grub_video_map_rgb): Likewise.
        (grub_video_map_rgba): Likewise.
        (grub_video_fill_rect): Likewise.
        (grub_video_blit_glyph): Likewise.
        (grub_video_blit_bitmap): Likewise.
        (grub_video_blit_render_target): Likewise.
        (grub_video_scroll): Likewise.
        (grub_video_swap_buffers): Likewise.
        (grub_video_create_render_target): Likewise.
        (grub_video_delete_render_target): Likewise.
        (grub_video_set_active_render_target): Likewise.

        * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
        Undefined.
        [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.

        * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
        config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
        (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
        instead of $(srcdir)/genkernsyms.sh.

        * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
        config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
        (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
        instead of $(srcdir)/genkernsyms.sh.

        * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
        gensymlist.sh instead of $(srcdir)/gensymlist.sh.
        (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
        instead of $(srcdir)/genkernsyms.sh.

        * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
        gensymlist.sh instead of $(srcdir)/gensymlist.sh.
        (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
        instead of $(srcdir)/genkernsyms.sh.

        * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
        genkernsyms.sh.

        * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
        genkernsyms.sh.
        (gensymlist.sh): New target.
        (genkernsyms.sh): Likewise.

        * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
        genkernsyms.sh.in and gensymlist.sh.in.

        * genkernsyms.sh: Removed.
        * gensymlist.sh: Likewise.

        * genkernsyms.sh.in: New file.
        * gensymlist.sh.in: Likewise.

18 years ago2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Wed, 26 Apr 2006 02:20:13 +0000 (02:20 +0000)]
2006-04-25  Hollis Blanchard  <hollis@penguinppc.org>

* kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
clobber "prefix", since we may have already set it manually.

18 years ago2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Tue, 25 Apr 2006 23:47:48 +0000 (23:47 +0000)]
2006-04-25  Hollis Blanchard  <hollis@penguinppc.org>

* kern/misc.c (abort): New alias for grub_abort.

18 years ago2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Tue, 25 Apr 2006 20:08:31 +0000 (20:08 +0000)]
2006-04-25  Yoshinori K. Okuji  <okuji@enbug.org>

        A new machine-specific function "grub_machine_set_prefix" is
        defined. This is called after loading modules, so that a prefix
        initialization can use modules. Also, this change adds an
        intensive debugging feature for the memory manager via the
        configure option "--enable-mm-debug".

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        * configure.ac (--enable-mm-debug): New option to enable the
        memory manager debugging feature. This makes the binary much
        bigger, so is disabled by default.

18 years ago2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sun, 23 Apr 2006 13:37:36 +0000 (13:37 +0000)]
2006-04-23  Yoshinori K. Okuji  <okuji@enbug.org>

        Use grub_abort instead of grub_stop, and grub_exit must be
        define in each architecture now. Also, this change adds support
        for EFI disks.

        * util/i386/pc/grub-probefs.c: Include grub/term.h.
        (grub_getkey): New function.
        (grub_term_get_current): Likewise.

        * util/i386/pc/grub-setup.c: Include grub/term.h.
        (grub_getkey): New function.
        (grub_term_get_current): Likewise.

        * util/misc.c (grub_stop): Renamed to ...
        (grub_exit): ... this.

        * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
        (grub_exit): ... this.
        (grub_machine_init): Use grub_abort instead of abort.
        (grub_stop): Removed.

        * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
        abort.

        * kern/i386/pc/startup.S (grub_exit): New function.
        (cold_reboot): New label.

        * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
        (grub_efi_init): Call grub_efidisk_init.
        (grub_efi_fini): Call grub_efidisk_fini.

        * kern/efi/efi.c: Include grub/mm.h.
        (grub_efi_console_control_guid): Renamed to ...
        (console_control_guid): ... this.
        (grub_efi_loaded_image_guid): Renamed to ...
        (loaded_image_guid): ... this.
        (grub_efi_locate_handle): New function.
        (grub_efi_open_protocol): Likewise.
        (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
        GRUB_EFI_CONSOLE_CONTROL_GUID.
        (grub_efi_exit): Removed.
        (grub_stop): Likewise.
        (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
        (grub_exit): New function.
        (grub_print_device_path): Likewise.

        * kern/rescue.c (grub_rescue_cmd_exit): New function.
        (grub_enter_rescue_mode): Register "exit".

        * kern/misc.c (grub_real_dprintf): A cosmetic change.
        (grub_abort): New function.

        * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.

        * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.

        * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.

        * include/grub/efi/efi.h (grub_efi_exit): Removed.
        (grub_print_device_path): New prototype.
        (grub_efi_locate_handle): Likewise.
        (grub_efi_open_protocol): Likewise.

        * include/grub/efi/disk.h (grub_efidisk_fini): New file.
        * disk/efi/efidisk.c: Likewise.

        * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.

        * include/grub/efi/console_control.h
        (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.

        * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
        last 8 bytes as an array.
        (GRUB_EFI_DISK_IO_GUID): New macro.
        (GRUB_EFI_BLOCK_IO_GUID): Likewise.
        (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
        (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
        grub_uint8_t.
        (struct grub_efi_guid): Use an array to specify the last 8 bytes.
        (struct grub_efi_device_path): Rename the member "sub_type" to
        "subtype".
        (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
        (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
        (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
        (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
        (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
        (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
        (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
        (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
        (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
        (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
        (struct grub_efi_pci_device_path): New structure.
        (grub_efi_pci_device_path_t): New type.
        (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
        (struct grub_efi_pccard_device_path): New structure.
        (grub_efi_pccard_device_path_t): New type.
        (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
        (struct grub_efi_memory_mapped_device_path): New structure.
        (grub_efi_memory_mapped_device_path_t): New type.
        (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
        (struct grub_efi_vendor_device_path): New structure.
        (grub_efi_vendor_device_path_t): New type.
        (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
        (struct grub_efi_controller_device_path): New structure.
        (grub_efi_controller_device_path_t): New type.
        (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
        (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
        (struct grub_efi_acpi_device_path): New structure.
        (grub_efi_acpi_device_path_t): New type.
        (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
        (struct grub_efi_expanded_acpi_device_path): New structure.
        (grub_efi_expanded_acpi_device_path_t): New type.
        (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
        (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
        (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
        (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
        (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
        (struct grub_efi_atapi_device_path): New structure.
        (grub_efi_atapi_device_path_t): New type.
        (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
        (struct grub_efi_fibre_channel_device_path): New structure.
        (grub_efi_fibre_channel_device_path_t): New type.
        (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
        (struct grub_efi_1394_device_path): New structure.
        (grub_efi_1394_device_path_t): New type.
        (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
        (struct grub_efi_usb_device_path): New structure.
        (grub_efi_usb_device_path_t): New type.
        (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
        (struct grub_efi_usb_class_device_path): New structure.
        (grub_efi_usb_class_device_path_t): New type.
        (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
        (struct grub_efi_i2o_device_path): New structure.
        (grub_efi_i2o_device_path_t): New type.
        (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
        (struct grub_efi_mac_address_device_path): New structure.
        (grub_efi_mac_address_device_path_t): New type.
        (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
        (struct grub_efi_ipv4_device_path): New structure.
        (grub_efi_ipv4_device_path_t): New type.
        (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
        (struct grub_efi_ipv6_device_path): New structure.
        (grub_efi_ipv6_device_path_t): New type.
        (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
        (struct grub_efi_infiniband_device_path): New structure.
        (grub_efi_infiniband_device_path_t): New type.
        (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
        (struct grub_efi_uart_device_path): New structure.
        (grub_efi_uart_device_path_t): New type.
        (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
        (struct grub_efi_vendor_messaging_device_path): New structure.
        (grub_efi_vendor_messaging_device_path_t): New type.
        (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
        (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
        (struct grub_efi_hard_drive_device_path): New structure.
        (grub_efi_hard_drive_device_path_t): New type.
        (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
        (struct grub_efi_cdrom_device_path): New structure.
        (grub_efi_cdrom_device_path_t): New type.
        (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
        (struct grub_efi_vendor_media_device_path): New structure.
        (grub_efi_vendor_media_device_path_t): New type.
        (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
        (struct grub_efi_file_path_device_path): New structure.
        (grub_efi_file_path_device_path_t): New type.
        (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
        (struct grub_efi_protocol_device_path): New structure.
        (grub_efi_protocol_device_path_t): New type.
        (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
        (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
        (struct grub_efi_bios_device_path): New structure.
        (grub_efi_bios_device_path_t): New type.
        (struct grub_efi_disk_io): New structure.
        (grub_efi_disk_io_t): New type.
        (struct grub_efi_block_io_media): New structure.
        (grub_efi_block_io_media_t): New type.
        (struct grub_efi_block_io): New structure.
        (grub_efi_block_io_t): New type.

        * include/grub/misc.h (grub_stop): Removed.
        (grub_exit): New prototype.
        (grub_abort): Likewise.

        * include/grub/disk.h (enum grub_disk_dev_id): Added
        GRUB_DISK_DEVICE_EFIDISK_ID.

        * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
        disk/efi/efidisk.c.
        (kernel_syms.lst): Remove the target if an error occurs.

18 years ago2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Sat, 22 Apr 2006 09:20:44 +0000 (09:20 +0000)]
2006-04-22  Yoshinori K. Okuji  <okuji@enbug.org>

        * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
        as it was simply too buggy.

18 years ago2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Fri, 21 Apr 2006 16:35:23 +0000 (16:35 +0000)]
2006-04-21  Yoshinori K. Okuji  <okuji@enbug.org>

        * kern/misc.c (grub_lltoa): New function.
        (grub_vsprintf): Added support for the long long suffix,
        i.e. "ll".

18 years ago2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
hollisb [Fri, 21 Apr 2006 00:47:11 +0000 (00:47 +0000)]
2006-04-20  Hollis Blanchard  <hollis@penguinppc.org>

* Makefile.in (LDFLAGS): Add variable.
(LD): Remove variable.
* configure.ac: Add -m32 to LDFLAGS.
* genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
* conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
(grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
(_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
variables.
* conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
* conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
* conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.

18 years ago2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
chaac [Thu, 20 Apr 2006 15:19:01 +0000 (15:19 +0000)]
2006-04-20  Vesa Jaaskelainen  <chaac@nic.fi>

        * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
        length for unknown glyph.

18 years ago2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Thu, 20 Apr 2006 04:29:17 +0000 (04:29 +0000)]
2006-04-20  Yoshinori K. Okuji  <okuji@enbug.org>

        Add support for pre-loaded modules into the EFI port.

        * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
        completely. Accept one more argument DIR. The caller has changed.

        * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.

        * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
        (grub_efi_loaded_image_guid): New variable.
        (grub_efi_get_loaded_image): New function.
        (grub_arch_modules_addr): Likewise.

        * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
        prototype.

        * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
        (struct grub_efi_loaded_image): New structure.
        (grub_efi_loaded_image_t): New type.

18 years ago2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Thu, 20 Apr 2006 02:33:44 +0000 (02:33 +0000)]
2006-04-20  Yoshinori K. Okuji  <okuji@enbug.org>

        * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
        size with GRUB_OS_AREA_SIZE as grub_size_t instead of
        grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.

18 years ago2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
marco_g [Wed, 19 Apr 2006 17:24:21 +0000 (17:24 +0000)]
2006-04-19  Roger Leigh  <rleigh@whinlatter.ukfsn.org>

* DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.

18 years ago2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Wed, 19 Apr 2006 08:59:44 +0000 (08:59 +0000)]
2006-04-19  Yoshinori K. Okuji  <okuji@enbug.org>

        * DISTLIST: Added include/grub/efi/console.h,
        include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
        kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.

        * include/grub/efi/console.h: New file.
        * include/grub/efi/time.h: Likewise.
        * include/grub/i386/efi/kernel.h: Likewise.
        * kern/efi/init.c: Likewise.
        * kern/efi/mm.c: Likewise.
        * term/efi/console.c: Likewise.

        * kern/i386/efi/init.c: Do not include grub/machine/time.h.
        (grub_stop): Removed.
        (grub_get_rtc): Likewise.
        (grub_machine_init): Simply call grub_efi_init.
        (grub_machine_fini): Call grub_efi_fini.

        * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
        (grub_efi_output_string): Removed.
        (grub_efi_stall): New function.
        (grub_stop): Likewise.
        (grub_get_rtc): Likewise.

        * include/grub/efi/efi.h (grub_efi_output_string): Removed.
        (grub_efi_stall): New prototype.
        (grub_efi_allocate_pages): Likewise.
        (grub_efi_free_pages): Likewise.
        (grub_efi_get_memory_map): Likewise.
        (grub_efi_mm_init): Likewise.
        (grub_efi_mm_fini): Likewise.
        (grub_efi_init): Likewise.
        (grub_efi_fini): Likewise.

        * include/grub/i386/efi/time.h: Do not include
        grub/symbol.h. Include grub/efi/time.h.
        (GRUB_TICKS_PER_SECOND): Removed.
        (grub_get_rtc): Likewise.

        * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
        Added padding. The EFI spec is buggy.
        (GRUB_EFI_BLACK): New macro.
        (GRUB_EFI_BLUE): Likewise.
        (GRUB_EFI_GREEN): Likewise.
        (GRUB_EFI_CYAN): Likewise.
        (GRUB_EFI_RED): Likewise.
        (GRUB_EFI_MAGENTA): Likewise.
        (GRUB_EFI_BROWN): Likewise.
        (GRUB_EFI_LIGHTGRAY): Likewise.
        (GRUB_EFI_BRIGHT): Likewise.
        (GRUB_EFI_DARKGRAY): Likewise.
        (GRUB_EFI_LIGHTBLUE): Likewise.
        (GRUB_EFI_LIGHTGREEN): Likewise.
        (GRUB_EFI_LIGHTCYAN): Likewise.
        (GRUB_EFI_LIGHTRED): Likewise.
        (GRUB_EFI_LIGHTMAGENTA): Likewise.
        (GRUB_EFI_YELLOW): Likewise.
        (GRUB_EFI_WHITE): Likewise.
        (GRUB_EFI_BACKGROUND_BLACK): Likewise.
        (GRUB_EFI_BACKGROUND_BLUE): Likewise.
        (GRUB_EFI_BACKGROUND_GREEN): Likewise.
        (GRUB_EFI_BACKGROUND_CYAN): Likewise.
        (GRUB_EFI_BACKGROUND_RED): Likewise.
        (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
        (GRUB_EFI_BACKGROUND_BROWN): Likewise.
        (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
        (GRUB_EFI_TEXT_ATTR): Likewise.

        * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
        kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
        (kernel_mod_HEADERS): Added efi/time.h.

18 years agoCorrect another strange date.
okuji [Tue, 18 Apr 2006 06:34:04 +0000 (06:34 +0000)]
Correct another strange date.

18 years ago2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
okuji [Tue, 18 Apr 2006 06:18:15 +0000 (06:18 +0000)]
2006-04-18  Yoshinori K. Okuji  <okuji@enbug.org>

        * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
        include/grub/efi/api.h, include/grub/efi/console_control.h,
        include/grub/efi/efi.h, include/grub/efi/pe32.h,
        include/grub/i386/efi/time.h, kern/efi/efi.c,
        kern/i386/efi/init.c, kern/i386/efi/startup.S,
        and util/i386/efi/grub-mkimage.c.

        * Makefile.in (RMKFILES): Added i386-efi.rmk.

        * genmk.rb (PModule#rule): Do not export symbols if
        #{prefix}_EXPORTS is set to "no".

        * conf/i386-efi.mk: New file.
        * conf/i386-efi.rmk: Likewise.
        * include/grub/efi/api.h: Likewise.
        * include/grub/efi/console_control.h: Likewise.
        * include/grub/efi/efi.h: Likewise.
        * include/grub/efi/pe32.h: Likewise.
        * include/grub/i386/efi/time.h: Likewise.
        * kern/efi/efi.c: Likewise.
        * kern/i386/efi/init.c: Likewise.
        * kern/i386/efi/startup.S: Likewise.
        * util/i386/efi/grub-mkimage.c: Likewise.

18 years ago2006-17-04 Marco Gerards <marco@gnu.org>
marco_g [Mon, 17 Apr 2006 13:01:20 +0000 (13:01 +0000)]
2006-17-04  Marco Gerards  <marco@gnu.org>

* include/grub/script.h: Include <grub/parser.h> and
"grub_script.tab.h".
(struct grub_lexer_param): New struct.
(struct grub_parser_param): Likewise.
(grub_script_create_arglist): Pass the state in an argument.
(grub_script_add_arglist): Likewise.
(grub_script_create_cmdline): Likewise.
(grub_script_create_cmdblock): Likewise.
(grub_script_create_cmdif): Likewise.
(grub_script_create_cmdmenu): Likewise.
(grub_script_add_cmd): Likewise.
(grub_script_arg_add): Likewise.
(grub_script_lexer_ref): Likewise.
(grub_script_lexer_deref): Likewise.
(grub_script_lexer_record_start): Likewise.
(grub_script_lexer_record_stop): Likewise.
(grub_script_mem_record): Likewise.
(grub_script_mem_record_stop): Likewise.
(grub_script_malloc): Likewise.
(grub_script_yylex): Likewise.
(grub_script_yyparse): Likewise.
(grub_script_yyerror): Likewise.
(grub_script_yylex): Likewise.
(grub_script_lexer_init): Return the state.

* normal/lexer.c (grub_script_lexer_state): Removed variable.
(grub_script_lexer_done): Likewise.
(grub_script_lexer_getline): Likewise.
(grub_script_lexer_refs): Likewise.
(script): Likewise.
(newscript): Likewise.
(record): Likewise.
(recording): Likewise.
(recordpos): Likewise.
(recordlen): Likewise.
(grub_script_lexer_init): Return the state instead of setting
global variables.
(grub_script_lexer_ref): Use the newly added argument for state
instead of globals.
(grub_script_lexer_deref): Likewise.
(grub_script_lexer_record_start): Likewise.
(grub_script_lexer_record_stop): Likewise.
(recordchar): Likewise.
(nextchar): Likewise.
(grub_script_yylex2): Likewise.
(grub_script_yylex): Likewise.
(grub_script_yyerror): Likewise.

* normal/parser.y (func_mem): Removed variable.
(menu_entry): Likewise.
(err): Likewise.
(%lex-param): New parser option.
(%parse-param): Likewise.
(script): Always return the AST.
(argument): Pass the state around.
(arguments): Likewise.
(grubcmd): Likewise.
(commands): Likewise.
(function): Likewise.
(menuentry): Likewise.
(if_statement): Likewise.
(if): Likewise.

* normal/script.c (grub_script_memused): Removed variable.
(grub_script_parsed): Likewise.
(grub_script_malloc): Added a state argument.  Use that instead of
global variables.
(grub_script_mem_record): Likewise.
(grub_script_mem_record_stop): Likewise.
(grub_script_arg_add): Likewise.
(grub_script_add_arglist): Likewise.
(grub_script_create_cmdline): Likewise.
(grub_script_create_cmdif): Likewise.
(grub_script_create_cmdmenu): Likewise.
(grub_script_add_cmd): Likewise.
(grub_script_parse): Setup the state before calling the parser.