Commit graph

567 commits

Author SHA1 Message Date
robertmh
bc2d8ac639 2008-01-21 Robert Millan <rmh@aybabtu.com>
* kern/mm.c (grub_mm_init_region): Improve debug message.
2008-01-21 20:59:05 +00:00
robertmh
261bd4bc56 2008-01-21 Robert Millan <rmh@aybabtu.com>
* conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
        (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
        address.
        (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
        a C macro.
        * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
        Indicates start of upper memory.
        * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
        (generate_image): Abort when image size is big enough to corrupt
        upper memory.

        * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
        (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
        * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
        instead of hardcoding 0xA0000.
        * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
        (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
        instead of hardcoding 0xA0000.
2008-01-21 15:48:27 +00:00
robertmh
f970b55e43 2008-01-21 Robert Millan <rmh@aybabtu.com>
* disk/memdisk.c (memdisk_size): New variable.
        (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
        `memdisk_size'.
        (grub_memdisk_init): Initialize `memdisk_size'.  Reallocate memdisk
        image to dynamic memory.
        (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
        `memdisk_size'.  Free memdisk block.
2008-01-21 14:37:25 +00:00
robertmh
1a8b05264d 2008-01-21 Robert Millan <rmh@aybabtu.com>
Fix detection of very small filesystems (like tar).

        * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
        contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
        GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
        a problem with this disk).
2008-01-21 14:32:49 +00:00
robertmh
6e9b4aabd4 2008-01-21 Robert Millan <rmh@aybabtu.com>
* disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
        on grub_biosdisk_rw_standard() error.
2008-01-21 14:28:34 +00:00
robertmh
0d8837b229 2008-01-21 Robert Millan <rmh@aybabtu.com>
* include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
        recent changes.
        * kern/elf.c: Likewise.
        * kern/ieee1275/ieee1275.c: Likewise.
        * kern/powerpc/ieee1275/openfw.c: Likewise.
        * term/ieee1275/ofconsole.c: Likewise.
2008-01-21 14:22:38 +00:00
robertmh
3f0093d0af fix ChangeLog entry 2008-01-21 12:20:54 +00:00
robertmh
ffd36e34b3 2008-01-21 Robert Millan <rmh@aybabtu.com>
* include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.

        * include/grub/kernel.h (grub_arch_memdisk_addr,
        grub_arch_memdisk_size): Moved from here ...

        * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr,
        grub_arch_memdisk_size): ... to here.
2008-01-21 00:04:04 +00:00
robertmh
6c391b218e 2008-01-21 Robert Millan <rmh@aybabtu.com>
Mostly based on bugfix from Bean.

        * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
        attribute with hook() parameter.
        (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
        declaration.
        (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
        attribute with hook() parameter.
        (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
        declaration.
2008-01-20 23:47:54 +00:00
robertmh
55a581dc06 2008-01-21 Robert Millan <rmh@aybabtu.com>
* conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
        (pkglib_MODULES): Add `memdisk.mod'.
        (memdisk_mod_SOURCES): New variable.
        (memdisk_mod_CFLAGS): Likewise.
        (memdisk_mod_LDFLAGS): Likewise.

        * disk/memdisk.c: New file.

        * include/grub/disk.h (grub_disk_dev_id): Add
        `GRUB_DISK_DEVICE_MEMDISK_ID'.

        * include/grub/i386/pc/kernel.h
        (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
        (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
        (grub_kernel_image_size): New variable declaration.
        (grub_total_module_size): Likewise.
        (grub_memdisk_image_size): Likewise.

        * include/grub/i386/pc/memory.h
        (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.

        * include/grub/kernel.h: Include `<grub/symbol.h>'.
        (grub_arch_memdisk_addr): New variable declaration.
        (grub_arch_memdisk_size): Likewise.

        * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
        (grub_arch_memdisk_size): Likewise.

        * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
        (codestart): Replace hardcoded `0x100000' with
        `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.

        * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
        (generate_image): Add `memdisk_path' parameter.  When `memdisk_path' is
        not NULL, append the contents of the file it refers to, at the end of
        the compressed kernel image.  Initialize `grub_memdisk_image_size'
        variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
        (options): Add "memdisk"|'m' option.
        (main): Parse --memdisk|-m option, and pass user-provided path as
        parameter to generate_image().
2008-01-20 23:20:36 +00:00
robertmh
3d7f54c94d 2008-01-20 Robert Millan <rmh@aybabtu.com>
* kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
        grub_dprintf() calls from here ...
        * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
2008-01-20 17:20:48 +00:00
robertmh
0bf74728de 2008-01-20 Robert Millan <rmh@aybabtu.com>
Fix detection of "real mode" when /options/real-mode? doesn't exist.

        * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
        declaration.
        * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
        (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
        `GRUB_IEEE1275_FLAG_REAL_MODE'.
        (cmain): Intialize `grub_ieee1275_mmu' (using /chosen/mmu integer
        property).
        * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
        `grub_ieee1275_mmu' rather than obtaining a handler on every call.
2008-01-20 14:08:54 +00:00
robertmh
33bf70a759 2008-01-19 Robert Millan <rmh@aybabtu.com>
Get rid of confusing function (superceeded by
        `grub_ieee1275_get_integer_property')
        * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
        prototype.
        * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
        function.
        * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
        grub_ieee1275_decode_int_4(), by obtaining integer properties directly
        in native endianess from grub_ieee1275_get_integer_property().
2008-01-19 22:31:04 +00:00
robertmh
e2da7d26bb 2008-01-19 Robert Millan <rmh@aybabtu.com>
* kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
        command after "shut-down", since implementations differ on which
        the command for halt is.
2008-01-19 22:19:20 +00:00
robertmh
59f1fd8de8 2008-01-19 Robert Millan <rmh@aybabtu.com>
* include/grub/i386/linuxbios/console.h: Add header protection.
        (grub_keyboard_controller_init): New function prototype.
        * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
        (KEYBOARD_COMMAND_READ): Likewise.
        (KEYBOARD_COMMAND_WRITE): Likewise.
        (KEYBOARD_SCANCODE_SET1): Likewise.
        (grub_keyboard_controller_write): New function.
        (grub_keyboard_controller_read): Likewise.
        (grub_keyboard_controller_init): Likewise.

        * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
        (grub_console_init): On coreboot/LinuxBIOS, call
        grub_keyboard_controller_init().
2008-01-19 11:44:27 +00:00
robertmh
5f5a7c1518 2008-01-19 Robert Millan <rmh@aybabtu.com>
PowerPC changes provided by Pavel Roskin.

        * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
        * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
        don't rely on cmain() doing it.
        * kern/i386/ieee1275/startup.S (_start): Store %eax in
        grub_ieee1275_entry_fn, don't rely on cmain() doing it.
2008-01-19 11:41:00 +00:00
robertmh
1210e168fe 2008-01-16 Robert Millan <rmh@aybabtu.com>
* include/grub/i386/linuxbios/memory.h
        (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
        * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
        receive `table_header' as argument.  Instead, probe for it in the
        known memory ranges where it can be present.
        (grub_available_iterate): Do not pass a fixed `table_header' address
        to grub_linuxbios_table_iterate().
2008-01-16 21:03:07 +00:00
robertmh
3d04eab83e 2008-01-15 Robert Millan <rmh@aybabtu.com>
* configure.ac: Add `i386-ieee1275' to the list of supported targets.
        * conf/i386-ieee1275.rmk: New file.
        * include/grub/i386/ieee1275/console.h: Likewise.
        * include/grub/i386/ieee1275/ieee1275.h: Likewise.
        * include/grub/i386/ieee1275/kernel.h: Likewise.
        * include/grub/i386/ieee1275/time.h: Likewise.
        * kern/i386/ieee1275/init.c: Likewise.
        * kern/i386/ieee1275/startup.S: Likewise.
2008-01-15 20:05:44 +00:00
robertmh
d1bc1b738c 2008-01-15 Robert Millan <rmh@aybabtu.com>
* kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
        when pointers are 32-bit (but still do set it to one when they are
        64-bit).
2008-01-15 17:22:09 +00:00
robertmh
66a6580720 2008-01-15 Robert Millan <rmh@aybabtu.com>
* include/grub/ieee1275/ieee1275.h
        (grub_ieee1275_get_integer_property): New function prototype.

        * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
        (grub_ieee1275_get_integer_property): New function.  Wraps around
        grub_ieee1275_get_property() to handle endianess.

        * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
        grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
        where appropiate.
        * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
        (grub_map): Likewise.
        * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
2008-01-15 16:14:33 +00:00
bean
a83ccafd50 2008-01-15 Bean <bean123ch@gmail.com>
* normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
	(grub_script_execute_cmdline): Reset grub_errno.

	* normal/main.c (read_config_file): Reset grub_errno.

	* normal/parse.y (script_init): New.
	(script): Move function and menuentry here.
	(delimiter): New.
	(command): Add delimiter at the end of command.
	(commands): Adjust to match the new command.
	(commandblock): Remove grub_script_lexer_record_start.
	(menuentry): Add grub_script_lexer_record_start, use the new commands.
	(if): Use the new commands.

	* conf/common.rmk (pkgdata_MODULES): Add echo.mod.
2008-01-15 15:32:17 +00:00
robertmh
df6ecfc6f4 2008-01-15 Robert Millan <rmh@aybabtu.com>
* normal/menu.c (run_menu): Move timeout message from here ...
        (print_timeout): ... to here.
        (run_menu): Use print_timeout() once during initial draw to print
        the whole message, and again in every clock tick to update only
        the number of seconds.
2008-01-15 14:05:40 +00:00
robertmh
87ae25ebfd 2008-01-15 Robert Millan <rmh@aybabtu.com>
* kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
        actual size of `available' from grub_ieee1275_get_property(), and
        restrict parsing to that bound.
2008-01-15 12:13:45 +00:00
robertmh
47bf09a4ed 2008-01-15 Christian Franke <franke@computer.org>
* util/grub-emu.c: Replace <argp.h> by <getopt.h>.
        (argp_program_version): Remove variable.
        (argp_program_bug_address): Likewise.
        (options): Convert from struct argp_option to struct option.
        (struct arguments): Remove.
        (parse_opt): Remove.
        (usage): New function.
        (main): Replace struct args members by simple variables.
        Replace argp_parse() by getopt_long().
        Add switch to evaluate options.
        Add missing "(...)" around root_dev in prefix string.
2008-01-15 11:49:22 +00:00
robertmh
c86f14693a 2008-01-14 Robert Millan <rmh@aybabtu.com>
* kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
        for grub_ieee1275_exit(), in order to improve portability.
2008-01-14 14:30:59 +00:00
robertmh
e622c55943 2008-01-14 Robert Millan <rmh@aybabtu.com>
* util/grub.d/10_linux.in (prefix): Define.
        (exec_prefix): Likewise.  Both definitions are later used by `libdir'.
2008-01-14 12:24:48 +00:00
proski
44cb1ec888 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
grub_errno if no errors have been detected.
2008-01-14 04:16:20 +00:00
robertmh
1eb8c80241 2008-01-12 Robert Millan <rmh@aybabtu.com>
* include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
        (grub_util_get_dev_abstraction): New function prototype.

        * util/getroot.c: Include `<grub/util/getroot.h>'
        (grub_util_get_grub_dev): Move detection of abstraction type to ...
        (grub_util_get_dev_abstraction): ... here (new function).

        * util/grub-probe.c: Convert PRINT_* to an enum.  Add
        `PRINT_ABSTRACTION'.
        (probe): Probe for abstraction type when requested.
        (main): Understand `--target=abstraction'.

        * util/i386/efi/grub-install.in: Add abstraction module to core
        image when it is found to be necessary.
        * util/i386/pc/grub-install.in: Likewise.
        * util/powerpc/ieee1275/grub-install.in: Likewise.

        * util/update-grub_lib.in (font_path): Return system path without
        converting to GRUB path.
        * util/update-grub.in: Convert system path returned by font_path()
        to a GRUB path.  Use `grub-probe -t abstraction' to determine what
        abstraction module is needed for loading fonts (if any).  Export
        that as `GRUB_PRELOAD_MODULES'.
        * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
        insmod commands).
2008-01-12 15:11:57 +00:00
okuji
52bd3de956 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
Remove some unused code from reiserfs.

    * fs/reiserfs.c (struct grub_reiserfs_key)
    [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
    (struct grub_reiserfs_node_body): Removed.
    (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
    Likewise.
    (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
    Likewise.
    (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
    Likewise.
    (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
    Likewise.
    (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
    Likewise.
    (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
    Likewise.
    (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
    (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
    (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
2008-01-12 00:51:34 +00:00
robertmh
2f80039de8 2008-01-10 Robert Millan <rmh@aybabtu.com>
* util/update-grub_lib.in (grub_file_is_not_garbage): New function.
        Determines if a file is garbage left by packaging systems, etc.
        * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
        for processing /etc/grub.d scripts.
        * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
        * util/grub.d/10_linux.in: Likewise.  Use grub_file_is_not_garbage()
        as a condition for processing Linux images.
2008-01-10 13:52:24 +00:00
proski
87888032b6 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
to compile reiserfs.c on PowerPC.
2008-01-10 07:27:08 +00:00
robertmh
7e54fcedd9 Ooops, fix wrong date. 2008-01-09 23:27:36 +00:00
robertmh
de9993e01c 2008-01-08 Robert Millan <rmh@aybabtu.com>
* kern/device.c (grub_device_iterate): Do not abort device iteration
        when one of the devices cannot be opened.
        * kern/disk.c (grub_disk_open): Do not account previous failures of
        unrelated functions when grub_errno is checked for.
2008-01-09 23:25:54 +00:00
robertmh
5aa541e6eb 2008-01-08 Robert Millan <rmh@aybabtu.com>
* loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
        `! grub_linux_is_bzimage', change order of address comparison to make
        it more intuitive, and improve "too big zImage" error message.
2008-01-08 11:38:18 +00:00
robertmh
7076340d08 2008-01-08 Robert Millan <rmh@aybabtu.com>
* Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
        `$(update-grub_DATA)'.
        (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
        targets.
2008-01-08 10:00:42 +00:00
robertmh
9ca7033376 2008-01-07 Robert Millan <rmh@aybabtu.com>
* boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
        which instruction is modified by grub-setup during installation
        (since it wasn't obvious by only looking at this file).
2008-01-07 19:52:08 +00:00
robertmh
38ccf57536 2008-01-07 Robert Millan <rmh@aybabtu.com>
* TODO: Rewrite.  Just refer to the wiki and the BTS instead of
        listing actual TODO items.
2008-01-07 19:21:34 +00:00
okuji
868967cfaf 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
* fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
    correctly.
    (grub_reiserfs_get_key_offset): Likewise.
    (grub_reiserfs_set_key_offset): Likewise.
    (grub_reiserfs_set_key_type): Likewise.
    (grub_reiserfs_iterate_dir): Return 1 if found, otheriwise 0.

    (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
    better to remove the bitfield version completely.
2008-01-06 22:57:50 +00:00
okuji
f5db429174 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
* fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
    allocated from the heap, due to the fshelp implementation.
    (grub_reiserfs_dir): Free NODE, due to the same reason.
2008-01-06 15:34:11 +00:00
okuji
492e6d9d4b 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
Mostly from Vincent Pelletier:

    * fs/reiserfs.c: New file.

    * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
    (reiserfs_mod_SOURCES): New variable.
    (reiserfs_mod_CFLAGS): Likewise.
    (reiserfs_mod_LDFLAGS): Likewise.

    * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
    disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
    include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
    normal/color.c.
2008-01-06 14:14:31 +00:00
robertmh
9ce3e7c170 2008-01-06 Robert Millan <rmh@aybabtu.com>
* normal/color.c: Remove `<grub/env.h>'.
2008-01-06 12:58:46 +00:00
jeroen
f3b58148d6 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
* include/grub/normal.h: Include <grub/env.h>.
2008-01-05 21:45:21 +00:00
robertmh
fb3581902c Give credit to the person who reported that.. 2008-01-05 12:21:08 +00:00
robertmh
7ac3bcfa83 2008-01-05 Robert Millan <rmh@aybabtu.com>
* util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
        usage example with `(hd0,1)'.
2008-01-05 12:20:28 +00:00
robertmh
c8ee99d76e 2008-01-05 Robert Millan <rmh@aybabtu.com>
* kern/i386/loader.S (grub_linux_is_bzimage): New variable.
        (grub_linux_boot_zimage): Rename to ...
        (grub_linux_boot): ... this.
        (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
        (grub_linux_boot_zimage): Conditionalize zImage copy.

        * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
        (grub_linux_boot_bzimage): Remove prototype.
        (grub_linux_boot_zimage): Rename to ...
        (grub_linux_boot): ... this.

        * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
        (grub_linux_boot): Remove function.
2008-01-05 12:14:05 +00:00
robertmh
0ece25b1e1 2008-01-05 Robert Millan <rmh@aybabtu.com>
* include/grub/normal.h (grub_env_write_color_normal): New prototype.
	(grub_env_write_color_highlight): Likewise.
	(grub_wait_after_message): Likewise.

	* normal/color.c: New file.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
	(normal_mod_DEPENDENCIES): Likewise.

	* conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
	(normal_mod_DEPENDENCIES): Likewise.

	* conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
	(normal_mod_DEPENDENCIES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
	(normal_mod_DEPENDENCIES): Likewise.

	* normal/menu_entry.c (run): Rely on grub_wait_after_message()
	for waiting after a message is printed.
	* normal/main.c (read_config_file): Likewise.
	(grub_normal_init): Register grub_env_write_color_normal() and
	grub_env_write_color_highlight() hooks.  Mark `color_normal' and
	`color_highlight' variables as global.

	* normal/menu.c (grub_wait_after_message): New function.
	(grub_color_menu_normal): New variable.  Replaces ...
	(GRUB_COLOR_MENU_NORMAL): ... this macro.
	(grub_color_menu_highlight): New variable.  Replaces ...
	(GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
	(draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
	`GRUB_TERM_COLOR_STANDARD'.
	(print_message): Use `grub_setcolorstate' to reload colors.  Rename
	`normal_code' and `highlight_code' to `old_color_normal' and
	`old_color_highlight', respectively.
	(grub_menu_init_page): Update colors when drawing the menu, based on
	`menu_color_normal' and `menu_color_highlight' variables.
	(grub_menu_run): Rely on grub_wait_after_message() for waiting after
	a message is printed.
2008-01-05 12:10:28 +00:00
robertmh
182dd4e568 2008-01-05 Robert Millan <rmh@aybabtu.com>
* kern/env.c (grub_env_context_open): Propagate hooks for global
        variables to new context.

        * kern/main.c (grub_set_root_dev): Export `root' variable.
2008-01-05 12:04:35 +00:00
robertmh
ddf8f6add7 2008-01-05 Robert Millan <rmh@aybabtu.com>
* util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
        discs unconditionaly, since udev and others have options to provide
        them.
2008-01-05 12:02:03 +00:00
robertmh
d8b43d9b50 2008-01-05 Robert Millan <rmh@aybabtu.com>
* normal/completion.c (iterate_dir): Skip `.' and `..' directories.
2008-01-05 11:59:34 +00:00
robertmh
2bff2de347 2008-01-04 Christian Franke <franke@computer.org>
* kern/i386/pc/init.c (grub_machine_init): Fix evaluation
        of eisa_mmap.
2008-01-04 08:31:36 +00:00
proski
97eab9176c 2008-01-03 Pavel Roskin <proski@gnu.org>
* kern/i386/linuxbios/init.c: Put "void" to all function
	declarations with no arguments.
	* kern/powerpc/ieee1275/init.c: Likewise.
	* term/i386/pc/at_keyboard.c: Likewise.
	* term/i386/pc/vga_text.c: Likewise.
	* util/grub-mkdevicemap.c: Likewise.
2008-01-03 22:43:46 +00:00
robertmh
b9416d00ad 2008-01-02 Robert Millan <rmh@aybabtu.com>
* loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
        message when loaded image is out of bounds.
        (grub_multiboot_load_elf64): Likewise.
2008-01-02 11:55:23 +00:00
proski
92695df9e8 * util/grub.d/10_linux.in: Try version without ".old" when
looking for initrd.  It's better to use initrd from the newer
kernel of the same version than no initrd at all.
2008-01-02 08:34:41 +00:00
robertmh
d98d9cad88 2008-01-01 Robert Millan <rmh@aybabtu.com>
* util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
2008-01-01 21:59:03 +00:00
chaac
dbfdce36f1 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
* include/grub/video.h: Added grub_video_unmap_color and
        grub_video_get_active_render_target.
        (grub_video_adapter): Added unmap_color and get_active_render_target.

        * video/video.c: Added grub_video_unmap_color and
        grub_video_get_active_render_target.
        (grub_video_get_info): Changed method to accept NULL pointer as an
        argument to allow detection of active video adapter.

        * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
        grub_video_vbe_unmap_color_int.
        Added grub_video_vbe_unmap_color and
        grub_video_vbe_get_active_render_target.
        (grub_video_vbe_adapter): Added unmap_color and
        get_active_render_target.

        * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
        with grub_video_vbe_unmap_color_int.

        * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
        (DEFAULT_NORMAL_COLOR): Likewise.
        (DEFAULT_HIGHLIGHT_COLOR) Likewise.
        (DEFAULT_FG_COLOR): Removed.
        (DEFAULT_BG_COLOR): Likewise.
        (DEFAULT_CURSOR_COLOR): Changed value.
        (grub_virtual_screen): Added standard_color_setting,
        normal_color_setting, highlight_color_setting and term_color.
        (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
        (bitmap_width): Added.
        (bitmap_height): Likewise.
        (bitmap): Likewise.
        (set_term_color): Likewise.
        (grub_virtual_screen_setup): Changed to use new terminal coloring
        settings.
        (grub_gfxterm_init): Added init for bitmap.
        (grub_gfxterm_fini): Added destroy for bitmap.
        (redraw_screen_rect): Updated to use background bitmap and new
        terminal coloring.
        (scroll_up): Added optimization for case when there is no bitmap.
        (grub_gfxterm_cls): Fixed to use correct background color.
        (grub_virtual_screen_setcolorstate): Changed to use new terminal
        coloring.
        (grub_virtual_screen_setcolor): Likewise.
        (grub_virtual_screen_getcolor): Added.
        (grub_gfxterm_background_image_cmd): Likewise.
        (grub_video_term): Added setcolor and getcolor.
        (MOD_INIT): Added registration of background_image command.
        (MOD_TERM): Added unregistration for background_image command.
2008-01-01 12:02:07 +00:00
proski
df26671616 Fix date 2007-12-31 16:21:15 +00:00
proski
c3c20931a9 * loader/multiboot_loader.c: Fix multiboot command
unregistration.  Fix all typos in the word "multiboot".
2007-12-30 08:49:57 +00:00
proski
942391998a * util/grub.d/10_linux.in: Refactor search for initrd. Add
support for initrd names used in Fedora.
2007-12-29 20:53:20 +00:00
robertmh
fc6e896cc5 2007-12-26 Bean <bean123ch@gmail.com>
* conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
	(cpio_mod_SOURCES): New variable.
	(cpio_mod_CFLAGS): Likewise.
	(cpio_mod_LDFLAGS): Likewise.

	* fs/cpio.c: New file.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.

	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.

	* conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2007-12-26 07:51:19 +00:00
robertmh
533110ada7 2007-12-25 Robert Millan <rmh@aybabtu.com>
* include/grub/term.h (struct grub_term): Add `getcolor' function.
	(grub_getcolor): New function.

	* kern/term.c (grub_getcolor): New function.
	* normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
	(GRUB_COLOR_MENU_HIGHLIGHT): New macro.
	(print_entry): Set normal and highlight colors to
	`GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
	respectively, before printing and restore them to old
	values afterwards.
	(grub_menu_init_page): Likewise.  Fill an additional colored space
	that would otherwise be left blank.

	* term/efi/console.c (grub_console_getcolor): New function.
	(struct grub_console_term.getcolor): New variable.
	* term/i386/pc/console.c (grub_console_getcolor): New function.
	(struct grub_console_term.getcolor): New variable.
	* term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
	(struct grub_console_term.getcolor): New variable.

	* term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
	(struct grub_console_term.setcolor): Remove variable.
	* term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
	(struct grub_console_term.setcolor): Remove variable.
	* term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
	(struct grub_console_term.setcolor): Remove variable.
	* term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
	(struct grub_console_term.setcolor): Remove variable.
2007-12-25 11:10:47 +00:00
robertmh
4931827fe4 2007-12-25 Robert Millan <rmh@aybabtu.com>
* configure.ac: Search for possible unifont.hex locations, and
	define UNIFONT_HEX if found.

	* Makefile.in (UNIFONT_HEX): Define variable.
	(DATA): Rename to ...
	(PKGLIB): ... this.  Update all users.
	(PKGDATA): New variable.
	(pkgdata_IMAGES): Rename to ...
	(pkglib_IMAGES): ... this. Update all users.
	(pkgdata_MODULES): Rename to ...
	(pkglib_MODULES): ... this. Update all users.
	(pkgdata_PROGRAMS): Rename to ...
	(pkglib_PROGRAMS): ... this. Update all users.
	(pkgdata_DATA): Rename to ...
	(pkglib_DATA): ... this. Update all users.
	(CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
	(unicode.pff, ascii.pff): New rules.
	(all-local): Add `$(PKGDATA)' dependency.
	(install-local): Process `$(PKGDATA)'.

	* util/update-grub_lib.in (font_path): Search for *.pff files in
	a few more locations, including `${pkgdata}'.
2007-12-25 09:09:43 +00:00
robertmh
57e57e3167 2007-12-23 Robert Millan <rmh@aybabtu.com>
Patch from Bean  <bean123ch@gmail.com>:
	* disk/loopback.c (grub_loopback_read): Add missing bit shift to
	`size'.
2007-12-23 21:28:03 +00:00
robertmh
4bc72aa96f 2007-12-21 Bean <bean123ch@gmail.com>
* conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
	(ntfscomp_mod_SOURCES): New variable.
	(ntfscomp_mod_CFLAGS): Likewise.
	(ntfscomp_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
	(grub_probe_SOURCES): Likewise.
	(grub_emu_SOURCES): Likewise.

	* conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
	(grub_emu_SOURCES): Likewise.

	* conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
	(grub_emu_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
	(grub_emu_SOURCES): Likewise.

	* fs/ntfs.c (grub_ntfscomp_func): New variable.
	(read_run_list): Renamed to grub_ntfs_read_run_list.
	(decomp_nextvcn): Moved to ntfscomp.c.
	(decomp_getch): Likewise.
	(decomp_get16): Likewise.
	(decomp_block): Likewise.
	(read_block): Likewise.
	(read_data): Partially moved to ntfscomp.c.
	(fixup): Change unsigned to grub_uint16_t.
	(read_mft): Change unsigned long to grub_uint32_t.
	(read_attr): Likewise.
	(read_data): Likewise.
	(read_run_data): Likewise.
	(read_run_list): Likewise.
	(read_mft): Likewise.

	* fs/ntfscomp.c: New file.

	* include/grub/ntfs.h: New file.
2007-12-21 11:41:23 +00:00
robertmh
af680a8784 2007-12-16 Robert Millan <rmh@aybabtu.com>
* util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
	IDE disk check, since Linux is known to support 20 IDE disks.
	Reported by Colin Watson.
2007-12-15 23:08:25 +00:00
robertmh
84be7599f6 2007-12-15 Bean <bean123ch@gmail.com>
* conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
	(lnxboot_img_SOURCES): New variable.
	(lnxboot_img_ASFLAGS): Likewise.
	(lnxboot_img_LDFLAGS): Likewise.

	* boot/i386/pc/lnxboot.S: New file.
2007-12-15 10:42:17 +00:00
proski
6af9db01bc * configure.ac: Test if '--build-id=none' is supported by the
linker.  If yes, add it to TARGET_LDFLAGS.  Build ID causes
objcopy to generate incorrect binary files (binutils
2.17.50.0.18-1 as shipped by Fedora 8).
* aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
linking, so that build ID doesn't break the test.
2007-11-25 02:01:30 +00:00
proski
7361cfe62e * include/grub/i386/time.h: use "void" in the argument list
of grub_cpu_idle().
* include/grub/powerpc/time.h: Likewise.
* include/grub/sparc64/time.h: Likewise.
2007-11-25 01:46:59 +00:00
robertmh
68f6ac74e2 Fix ChangeLog entry. 2007-11-18 11:54:12 +00:00
robertmh
1593e10c1e 2007-11-18 Christian Franke <franke@computer.org>
* util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
	now return control chars instead of GRUB_CONSOLE_KEY_* constants.
	This fixes the problem that function keys did not work in grub-emu.
2007-11-18 07:20:45 +00:00
robertmh
3b8db1a82b 2007-11-18 Christian Franke <franke@computer.org>
* disk/host.c (grub_host_open): Remove attribute unused from
	name parameter. Add check for "host". This fixes the problem
	that grub-emu does not find partitions.
2007-11-18 07:17:40 +00:00
robertmh
2e29408d1f 2007-11-18 Christian Franke <franke@computer.org>
* util/hostfs.c (is_dir): New function.
	(grub_hostfs_dir):  Handle missing dirent.d_type case.
	(grub_hostfs_read): Add missing fseek().
	(grub_hostfs_label): Clear label pointer.  This fixes a crash
	of grub-emu on "ls (host)".
2007-11-18 07:14:26 +00:00
robertmh
398cd047ab 2007-11-18 Christian Franke <franke@computer.org>
* include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
	Add attribute packed, gcc 3.4.4 on Cygwin aligns this
	to 64 bit boundary by default.
2007-11-18 07:10:47 +00:00
robertmh
c405c39191 2007-11-18 Bean <bean123ch@gmail.com>
* conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
	(hexdump_mod_SOURCES): New variable.
	(hexdump_mod_CFLAGS): Likewise.
	(hexdump_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.

	* conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.

	* conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.

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

	* commands/hexdump.c: New file.
2007-11-18 06:41:46 +00:00
robertmh
5cced7fd10 2007-11-10 Robert Millan <rmh@aybabtu.com>
* commands/i386/pc/play.c (beep_off): Switch order of arguments
	in grub_outb() calls.
	(beep_on): Likewise.
2007-11-10 21:36:24 +00:00
robertmh
8b714eb0e1 2007-11-10 Christian Franke <franke@computer.org>
* normal/menu.c (run_menu): Check for empty menu to avoid crash.
	(grub_menu_run): Likewise.
2007-11-10 20:32:32 +00:00
robertmh
ce0f1839a5 2007-11-10 Robert Millan <rmh@aybabtu.com>
* include/grub/i386/efi/machine.h: New file.
	* include/grub/i386/linuxbios/machine.h: Likewise.
	* include/grub/i386/pc/machine.h: Likewise.
	* include/grub/powerpc/ieee1275/machine.h: Likewise.
	* include/grub/sparc64/ieee1275/machine.h: Likewise.

	* term/i386/pc/serial.c: Include <grub/machine/machine.h>.
	(serial_hw_io_addr): New variable.
	(serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
	instead of `(unsigned short *) 0x400'.
2007-11-10 20:23:14 +00:00
robertmh
270c237dbe 2007-11-10 Bean <bean123ch@gmail.com>
* fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
2007-11-10 20:08:33 +00:00
chaac
a87783bfa1 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
* conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
        (vga_mod_SOURCES): Added.
        (vga_mod_CFLAGS): Likewise.
        (vga_mod_LDFLAGS): Likewise.

        * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
        grub_outb() calls.
        (set_map_mask): Likewise.
        (set_read_map): Likewise.
        (set_read_address): Likewise.
        (vga_font): Removed variable.
        (get_vga_glyph): Removed function.
        (invalidate_char): Likewise.
        (write_char): Changed to use grub_font_get_glyph() for font
        information.
        (grub_vga_putchar): Likewise.
        (grub_vga_getcharwidth): Likewise.
2007-11-10 18:34:48 +00:00
chaac
6433b448ac 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
* conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
        flags.
        (pxeboot_img_LDFLAGS): Likewise.
        (diskboot_img_LDFLAGS): Likewise.
        (kernel_img_LDFLAGS): Likewise.
2007-11-10 18:30:40 +00:00
robertmh
4917851111 2007-11-06 Robert Millan <rmh@aybabtu.com>
* term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
	in grub_outb() calls.
	(serial_hw_init): Likewise.
2007-11-06 21:23:59 +00:00
robertmh
53b052dedb 2007-11-05 Robert Millan <rmh@aybabtu.com>
* util/update-grub.in: Allow files in ${update_grub_dir} to contain
	spaces.  Skip non-regular files.
2007-11-05 16:22:30 +00:00
robertmh
5ab33bba2f 2007-11-05 Robert Millan <rmh@aybabtu.com>
* kern/disk.c (grub_disk_firmware_fini)
	(grub_disk_firmware_is_tainted): New variables.

	* include/grub/disk.h (grub_disk_firmware_fini)
	(grub_disk_firmware_is_tainted): Likewise.

	* disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
	(grub_disk_biosdisk_fini): ... to here.
	(GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
	(GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
	is set.  Register grub_disk_biosdisk_fini() in
	`grub_disk_firmware_fini'.

	* disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
	(GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
	Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
	to finish existing firmware disk interface.

	* conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
	(ata_mod_SOURCES): New variable.
	(ata_mod_CFLAGS): Likewise.
	(ata_mod_LDFLAGS): Likewise.
2007-11-05 16:15:27 +00:00
robertmh
0149ab7c63 2007-11-05 Robert Millan <rmh@aybabtu.com>
* disk/ata.c: Remove `<grub/machine/time.h>'.  Include `<grub/time.h>'.
	(grub_ata_wait): Reimplement using grub_millisleep().

	* include/grub/misc.h (grub_div_roundup): Fix parenthesization.
	* include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
2007-11-05 14:54:00 +00:00
marco_g
be7ac41e14 2007-11-03 Marco Gerards <marco@gnu.org>
* term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
	(CRTC_ADDR_PORT): New macro.
	(CRTC_DATA_PORT): Likewise.
	(CRTC_CURSOR): Likewise.
	(CRTC_CURSOR_ADDR_HIGH): Likewise.
	(CRTC_CURSOR_ADDR_LOW): Likewise.
	(update_cursor): New function.
	(grub_console_real_putchar): Call `update_cursor'.
	(grub_console_gotoxy): Likewise.
	(grub_console_cls): Set the default color when clearing the
	screen.
	(grub_console_setcursor): Implemented.
2007-11-03 16:46:40 +00:00
marco_g
bb06ab2eb2 2007-11-03 Marco Gerards <marco@gnu.org>
* disk/ata.c (grub_ata_pio_read): Don't wait for the command to
	become activate.
	(grub_ata_pio_write): Likewise.

	(grub_atapi_identify): Wait after issuing an ATA command.
	(grub_atapi_packet): Likewise.
	(grub_ata_identify): Likewise.
	(grub_ata_readwrite): Likewise.
2007-11-03 15:45:07 +00:00
marco_g
cf8f780b84 2007-11-03 Marco Gerards <marco@gnu.org>
* disk/ata.c (grub_ata_pio_read): Detect and return the error code.
	(grub_ata_pio_write): Likewise.
	(grub_ata_readwrite): Use `grub_error', instead of
	returning `grub_errno'.
2007-11-03 13:12:52 +00:00
marco_g
ed649e5402 2007-11-03 Marco Gerards <marco@gnu.org>
* disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
	grub_ata_pio_write once for every single sector, instead of for
	multiple sectors.
2007-11-03 12:25:19 +00:00
robertmh
ca25d8f0c1 2007-10-31 Robert Millan <rmh@aybabtu.com>
* configure.ac: Add `i386-linuxbios' to the list of supported targets.

	* conf/i386-linuxbios.rmk: New file.

	* kern/i386/pc/hardware.c: Likewise.
	* term/i386/pc/at_keyboard.c: Likewise.
	* term/i386/pc/vga_text.c: Likewise.

	* include/grub/i386/linuxbios/boot.h: Likewise.
	* include/grub/i386/linuxbios/console.h: Likewise.
	* include/grub/i386/linuxbios/init.h: Likewise.
	* include/grub/i386/linuxbios/kernel.h: Likewise.
	* include/grub/i386/linuxbios/loader.h: Likewise.
	* include/grub/i386/linuxbios/memory.h: Likewise.
	* include/grub/i386/linuxbios/serial.h: Likewise.
	* include/grub/i386/linuxbios/time.h: Likewise.

	* kern/i386/linuxbios/init.c: Likewise.
	* kern/i386/linuxbios/startup.S: Likewise.
	* kern/i386/linuxbios/table.c: Likewise.
2007-10-31 22:35:13 +00:00
marco_g
e911ecc1c2 2007-10-31 Marco Gerards <marco@gnu.org>
* conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
	(ata_mod_SOURCES): New variable.
	(ata_mod_CFLAGS): Likewise.
	(ata_mod_LDFLAGS): Likewise.

	* disk/ata.c: New file.

	* include/grub/disk.h (grub_disk_dev_id): Add
	`GRUB_DISK_DEV_ATA_ID'.
2007-10-31 22:29:20 +00:00
robertmh
7f66d0e020 2007-10-31 Robert Millan <rmh@aybabtu.com>
* include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
	* include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.

	* include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
	* include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.

	* include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
	`<grub/types.h>'.

	* loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
2007-10-31 22:14:50 +00:00
robertmh
3236ca65b8 adjust last ChangeLog entry. 2007-10-27 12:11:25 +00:00
robertmh
5cd7dd4654 2007-10-27 Robert Millan <rmh@aybabtu.com>
* include/grub/types.h: Define ULONG_MAX.
2007-10-27 11:56:58 +00:00
robertmh
2ebfc90fdb 2007-10-22 Robert Millan <rmh@aybabtu.com>
* kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'.  Include
	`"../realmode.S"'.
	Remove `"kern/i386/loader.S"'.  Include `"../loader.S"'.
2007-10-22 20:14:45 +00:00
robertmh
73fcb0f38d 2007-10-22 Robert Millan <rmh@aybabtu.com>
* conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
	(pkgdata_MODULES): Add `biosdisk.mod'.
	(biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
	variables.

	* disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
	(grub_biosdisk_init): Replace with ...
	(GRUB_MOD_INIT(biosdisk)): ... this.
	(grub_biosdisk_fini): Replace with ...
	(GRUB_MOD_FINI(biosdisk)): ... this.

	* kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
	(grub_machine_init): Remove call to grub_biosdisk_init().
	(grub_machine_fini): Remove call to grub_machine_fini().

	* util/i386/pc/grub-install.in (modules): Add `biosdisk'.
2007-10-22 20:05:27 +00:00
robertmh
3381d27403 2007-10-22 Robert Millan <rmh@aybabtu.com>
* include/grub/time.h: New file.
	* include/grub/i386/time.h: Likewise.
	* include/grub/powerpc/time.h: Likewise.
	* include/grub/sparc64/time.h: Likewise.

	* include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
	instances to ...
	(KERNEL_MACHINE_TIME_HEADER): ... this.
	* include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
	instances to ...
	(KERNEL_MACHINE_TIME_HEADER): ... this.
	* include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
	instances to ...
	(KERNEL_MACHINE_TIME_HEADER): ... this.

	* kern/i386/efi/init.c: Include `<grub/time.h>'.
	(grub_millisleep): New function.
	* kern/i386/pc/init.c: Include `<grub/time.h>'.
	(grub_millisleep): New function.
	* kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
	Remove `grub/machine/time.h' include.
	(grub_millisleep): New function.
	* kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
	Remove `grub/machine/time.h' include.
	(grub_millisleep): New function.

	* include/grub/misc.h (grub_div_roundup): New function.

	* kern/misc.c: Include `<grub/time.h>'.
	(grub_millisleep_generic): New function.

	* conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
	Add `time.h'.
	* conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
	Add `time.h'.
	* conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
	`machine/time.h'.  Add `time.h'.
	* conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
2007-10-22 19:59:33 +00:00
robertmh
a39a031233 2007-10-21 Robert Millan <rmh@aybabtu.com>
* include/grub/misc.h (grub_max): New function.
2007-10-21 12:58:21 +00:00
robertmh
2aad70e250 2007-10-21 Robert Millan <rmh@aybabtu.com>
* util/misc.c (grub_util_info): Call fflush() before returning.
2007-10-21 12:29:33 +00:00
robertmh
54b71c4b7b 2007-10-20 Robert Millan <rmh@aybabtu.com>
* genmk.rb (Image): Copy `extra_flags' from here ...
	(PModule): ... to here.  Use it in `#{obj}: #{src}' rule.

	* commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
	to `argc' and `args' arguments.
2007-10-20 18:32:18 +00:00
robertmh
a979f513cd 2007-10-17 Robert Millan <rmh@aybabtu.com>
* kern/i386/loader.S: New file.

	* kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
	* kern/i386/loader.S (grub_linux_prot_size)... to here.
	* kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
	* kern/i386/loader.S (grub_linux_tmp_addr)... to here.
	* kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
	* kern/i386/loader.S (grub_linux_real_addr)... to here.
	* kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
	* kern/i386/loader.S (grub_linux_boot_zimage)... to here.
	* kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
	* kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
	* kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
	* kern/i386/loader.S (grub_multiboot_real_boot)... to here.
	* kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
	* kern/i386/loader.S (grub_multiboot2_real_boot)... to here.

	* kern/i386/realmode.S: New file.

	* kern/i386/pc/startup.S (protstack): Moved from here ...
	* kern/i386/realmode.S (protstack)... to here.
	* kern/i386/pc/startup.S (gdt): Moved from here ...
	* kern/i386/realmode.S (gdt)... to here.
	* kern/i386/pc/startup.S (prot_to_real): Moved from here ...
	* kern/i386/realmode.S (prot_to_real)... to here.

	* kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
	`kern/i386/realmode.S'.
2007-10-17 20:02:56 +00:00
robertmh
825fc8fda2 2007-10-17 Robert Millan <rmh@aybabtu.com>
* include/grub/i386/loader.h: New file.

	* include/grub/i386/pc/loader.h (grub_linux_prot_size)
	(grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
	(grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
	(grub_multiboot_real_boot, grub_multiboot2_real_boot)
	(grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
	* include/grub/i386/loader.h (grub_linux_prot_size)
	(grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
	(grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
	(grub_multiboot_real_boot, grub_multiboot2_real_boot)
	(grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.

	* include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
2007-10-17 09:38:55 +00:00