Commit graph

1719 commits

Author SHA1 Message Date
robertmh
5c90cdd262 date fix 2009-08-30 15:08:50 +00:00
phcoder
64bf71d0b1 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/i386/xnu.h: Add license header.
	include grub/err.h explicitly.
2009-08-29 12:57:38 +00:00
robertmh
c90edae43a 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
* util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
        to `ufs' in the vfs.root.mountfrom kernel parameter.
2009-08-29 00:34:33 +00:00
robertmh
d8888b5cb4 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
* term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.

        [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
        value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).

        [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
        `ARRAY_SIZE' macro.
2009-08-29 00:24:32 +00:00
phcoder
6f07b921bc 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
* kern/file.c (grub_file_read): Check offset.
	* fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
	* fs/jfs.c (grub_jfs_read_file): Likewise.
	* fs/ntfs.c (grub_ntfs_read): Likewise.
	* fs/reiserfs.c (grub_reiserfs_read): Likewise.
	* fs/minix.c (grub_minix_read_file): Correct offset check.
	* fs/ufs.c (grub_ufs_read_file): Likewise.
2009-08-28 16:29:34 +00:00
cjwatson
b4f34077c8 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
* term/i386/pc/console.c (bios_data_area): Cast
	GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
2009-08-28 14:10:02 +00:00
phcoder
e7c69859a2 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1-bit optimised blitters.

	* include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
	prototype.
	(grub_video_fbblit_replace_24bit_1bit): Likewise.
	(grub_video_fbblit_replace_16bit_1bit): Likewise.
	(grub_video_fbblit_replace_8bit_1bit): Likewise.
	(grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
	(grub_video_fbblit_blend_XXX888_1bit): Likewise.
	(grub_video_fbblit_blend_XXX565_1bit): Likewise.
	* video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
	function.
	(grub_video_fbblit_replace_24bit_1bit): Likewise.
	(grub_video_fbblit_replace_16bit_1bit): Likewise.
	(grub_video_fbblit_replace_8bit_1bit): Likewise.
	(grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
	(grub_video_fbblit_blend_XXX888_1bit): Likewise.
	(grub_video_fbblit_blend_XXX565_1bit): Likewise.
	* video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
	when possible.
	* video/video.c (grub_video_get_blit_format): Return
	GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
2009-08-28 13:54:20 +00:00
cjwatson
a57da43f0d 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
* normal/cmdline.c (grub_cmdline_get): Supply a format string as
	the first argument to grub_printf.
2009-08-28 13:25:10 +00:00
cjwatson
4cbe67e509 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
2009-08-28  Robert Millan  <rmh.grub@aybabtu.com>

	Add `getkeystatus' terminal method.  Add a new `keystatus' command
	to query it.

	* include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
	GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
	modifier key bitmasks.
	(struct grub_term_input): Add `getkeystatus' member.
	(grub_getkeystatus): Add prototype.
	* kern/term.c (grub_getkeystatus): New function.

	* include/grub/i386/pc/memory.h
	(GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
	(struct grub_machine_bios_data_area): Define necessary parts of BIOS
	Data Area layout.
	* term/i386/pc/console.c (grub_console_getkeystatus): New function.
	(grub_console_term_input): Set `getkeystatus' member.
	* term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
	constants.
	(grub_usb_keyboard_getreport): Likewise.
	(grub_usb_keyboard_checkkey): Likewise.
	(grub_usb_keyboard_getkeystatus): New function.
	(grub_usb_keyboard_term): Set `getkeystatus' member.

	* commands/keystatus.c: New file.
	* conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
	(keystatus_mod_SOURCES): New variable.
	(keystatus_mod_CFLAGS): Likewise.
	(keystatus_mod_LDFLAGS): Likewise.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
	commands/keystatus.c.
	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
	* DISTLIST: Add commands/keystatus.c.
2009-08-28 13:20:34 +00:00
phcoder
6e2a90859a 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
Split befs.mod and afs.mod into *_be.mod and *.mod

	* conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
	(grub_fstest_SOURCES): Likewise.
	(pkglib_MODULES): Add afs_be.mod and befs_be.mod.
	(afs_be_mod_SOURCES): New variable.
	(afs_be_mod_CFLAGS): Likewise.
	(afs_be_mod_LDFLAGS): Likewise.
	(befs_be_mod_SOURCES): Likewise.
	(befs_be_mod_CFLAGS): Likewise.
	(befs_be_mod_LDFLAGS): Likewise.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
	(grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
	* fs/afs_be.c: New file.
	* fs/befs_be.c: New file.
	* fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
	(GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
	(U16): Replaced with ...
	(grub_afs_to_cpu16): ...this. All users updated.
	(U32): Replaced with ...
	(grub_afs_to_cpu32): ...this. All users updated.
	(U64): Replaced with ...
	(grub_afs_to_cpu64): ...this. All users updated.
	(GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
	(GRUB_AFS_BO_BIG_ENDIAN): Likewise.
	(grub_afs_validate_sblock): Check only one endiannness.
	(GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
	(GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
	(GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
	(GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
	(GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
	(GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
	(GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
	(GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
2009-08-28 13:01:26 +00:00
bean
32a716555d 2009-08-26 Bean <bean123ch@gmail.com>
* fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
	64-bit number.
	(GRUB_XFS_FSB_TO_BLOCK): Likewise.
	(grub_xfs_inode_block): Change return type to grub_uint64_t.
	(grub_xfs_read_inode): Change type of block to grub_uint64_t.
2009-08-26 14:17:34 +00:00
phcoder
552bf6c568 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
NetBSD memory map support.

	* include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
	(grub_netbsd_btinfo_mmap_header): New structure.
	(grub_netbsd_btinfo_mmap_entry): Likewise.
	* loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
2009-08-26 00:32:57 +00:00
phcoder
1ae2078cd8 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
Enable bsd.mod on coreboot.

	* conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
	(bsd_mod_SOURCES): New variable.
	(bsd_mod_CFLAGS): Likewise.
	(bsd_mod_LDFLAGS): Likewise.
	(bsd_mod_ASFLAGS): Likewise.
	* loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
	(grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
2009-08-25 23:18:48 +00:00
phcoder
beefc59841 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
Cleanup NetBSD root support.

	* loader/i386/bsd.c (grub_netbsd_boot): Remove call to
	grub_bsd_get_device.
	Fix typo.
2009-08-25 19:57:18 +00:00
fzielcke
3b76e68ba7 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
* util/grub.d/00_header.in: Move check for the video backend of
	gfxterm from here ...
	* util/grub-mkconfig.in: ... to here.  Enable gfxterm if there's
	a suitable video backend.
2009-08-25 19:42:56 +00:00
phcoder
aea664ea28 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
Fix breakage in grub-setup.

	* util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
	"msdos_partition_map".
2009-08-25 08:28:13 +00:00
phcoder
ff747d50c1 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
Fix breakage in normal/auth.c.

	* normal/auth.c (grub_iswordseparator): New function.
2009-08-25 08:11:50 +00:00
phcoder
e7e1f93ff6 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
Authentication support.

	* commands/password.c: New file.
	* conf/common.rmk (pkglib_MODULES): Add password.mod.
	(password_mod_SOURCES): New variable.
	(password_mod_CFLAGS): Likewise.
	(password_mod_LDFLAGS): Likewise.
	(normal_mod_SOURCES): Add normal/auth.c.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
	normal/auth.c.
	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
	* include/grub/auth.h: New file.
	* include/grub/err.h (grub_err_t): New enum value
	GRUB_ERR_ACCESS_DENIED.
	* include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
	'users'.
	* include/grub/normal.h (grub_cmdline_get): New argument 'history'.
	* normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
	users updated.
	* normal/auth.c: New file.
	* normal/main.c (grub_normal_add_menu_entry): Handle --users option.
	(grub_cmdline_run): Don't allow to go to command line without
	authentication.
	* normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
	* normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
	menuentry without superuser rights.
	* normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
	user isn't a superuser.
2009-08-24 23:55:06 +00:00
phcoder
70f1161d13 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
Save space by inlining misc.c functions.

	* kern/misc.c (grub_iswordseparator): Made static.
	* kern/misc.c (grub_strcat): Moved from here ...
	* include/grub/misc.h (grub_strcat): ... here. Inlined.
	* kern/misc.c (grub_strncat): Moved from here ...
	* include/grub/misc.h (grub_strncat): ... here. Inlined.
	* kern/misc.c (grub_strcasecmp): Moved from here ...
	* include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
	* kern/misc.c (grub_strncasecmp): Moved from here ...
	* include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
	* kern/misc.c (grub_isalpha): Moved from here ...
	* include/grub/misc.h (grub_isalpha): ... here. Inlined.
	* kern/misc.c (grub_isdigit): Moved from here ...
	* include/grub/misc.h (grub_isdigit): ... here. Inlined.
	* kern/misc.c (grub_isgraph): Moved from here ...
	* include/grub/misc.h (grub_isgraph): ... here. Inlined.
	* kern/misc.c (grub_tolower): Moved from here ...
	* include/grub/misc.h (grub_tolower): ... here. Inlined.
2009-08-24 19:40:40 +00:00
phcoder
48e40bff44 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
* script/sh/function.c (grub_script_function_find): Cut error message
	not to flood terminal.
	* script/sh/lexer.c (grub_script_yylex): Remove command line length
	limit.
	* script/sh/script.c (grub_script_arg_add): Duplicate string.
2009-08-24 19:08:11 +00:00
cjwatson
c385bfc37f 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
* term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
	`report' grub_uint8_t *.
	(grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
	Use a 50-millisecond timeout rather than just repeating
	grub_usb_keyboard_getreport 50 times.
	(grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
2009-08-24 17:03:24 +00:00
phcoder
2d21e3e8e0 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
Rename *_partition_map to part_*

	* partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
	* partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
	* partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
	* partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
	All users updated.
	* partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
	All users updated.
	* partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
	* util/grub-probe.c (probe_partmap): Don't transform partition name
	to get module name.
2009-08-24 13:34:03 +00:00
phcoder
dd103c4e04 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
Fix OpenBSD and NetBSD support.

	* include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
	memory address conflict.
	(OPENBSD_MMAP_ACPI): New definition.
	(OPENBSD_MMAP_NVS): Likewise.
	* loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
	and OPENBSD_MMAP_NVS.
	Add memory map terminator
	Explicit cast when calling grub_unix_real_boot.
	(grub_nebsd_boot): Explicit cast when calling grub_unix_real_boot.
2009-08-24 13:20:24 +00:00
phcoder
16c84d744c 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
Let user specify NetBSD root device.

	* loader/i386/bsd.c (netbsd_root): New variable.
	(netbsd_opts): New option 'root'.
	(NETBSD_ROOT_ARG): New macro.
	(grub_netbsd_boot): Use 'netbsd_root'.
	(grub_bsd_unload): Free 'netbsd_root'.
	(grub_cmd_netbsd): Fill 'netbsd_root'.
2009-08-24 13:10:12 +00:00
phcoder
adb29902f3 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
Support for 64-bit NetBSD.

	* loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
	point when booting non-FreeBSD.
2009-08-24 12:59:48 +00:00
phcoder
f5ae9f745f 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
Support --no-smp and --no-acpi for NetBSD.

	* include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
	(NETBSD_AB_NOACPI): Likewise.
	* loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
	(netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
2009-08-24 12:55:19 +00:00
phcoder
0b8e386c09 Revert 2 previous commits.
2009-08-23  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix grub-install.

	* util/grub-probe.c (probe_partmap): Prefix partmap with 'part_'.
2009-08-23 23:40:29 +00:00
phcoder
af0f0beafa 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
Fix grub-install.

	* util/i386/efi/grub-install.in: Add 'part_' to partmap_module.
	* util/sparc64/ieee1275/grub-install.in: Likewise.
2009-08-23 23:24:33 +00:00
phcoder
cb4735645d 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
Fix grub-install.

	* util/i386/pc/grub-install.in: Add 'part_' to partmap_module.
2009-08-23 21:04:44 +00:00
phcoder
de74f136b7 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
* fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
	errors.
	(grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
	errors. Call grub_error when needed.
2009-08-23 15:35:22 +00:00
phcoder
e9a925da69 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
* commands/search.c (search_fs): Try searching without autoload first.
	* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
	filesystem module explicitly for faster booting.
2009-08-23 15:27:07 +00:00
fzielcke
5174302b55 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
* util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
2009-08-23 15:09:05 +00:00
robertmh
c8c80635ae 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
* util/grub.d/30_os-prober.in: Disable os-prober if
        `GRUB_DISABLE_OS_PROBER' was set to true.
2009-08-23 12:59:22 +00:00
robertmh
71acf5e54b 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
* partmap/pc.c: Rename to ...
        * partmap/msdos.c: ... this.  Update all users.
        (grub_pc_partition_map): Rename to ...
        (grub_msdos_partition_map): ... this.  Update all users.

        * parttool/pcpart.c: Rename to ...
        * parttool/msdospart.c: ... this.  Update all users.

        * include/grub/pc_partition.h: Rename to ...
        * include/grub/msdos_partition.h: ... this.  Update all users.
        (grub_pc_partition_bsd_entry): Rename to ...
        (grub_msdos_partition_bsd_entry): ... this.  Update all users.
        (grub_pc_partition_disk_label): Rename to ...
        (grub_msdos_partition_disk_label): ... this.  Update all users.
        (grub_pc_partition_entry): Rename to ...
        (grub_msdos_partition_entry): ... this.  Update all users.
        (grub_pc_partition_mbr): Rename to ...
        (grub_msdos_partition_mbr): ... this.  Update all users.
        (grub_pc_partition): Rename to ...
        (grub_msdos_partition): ... this.  Update all users.
        (grub_pc_partition_is_empty): Rename to ...
        (grub_msdos_partition_is_empty): ... this.  Update all users.
        (grub_pc_partition_is_extended): Rename to ...
        (grub_msdos_partition_is_extended): ... this.  Update all users.
        (grub_pc_partition_is_bsd): Rename to ...
        (grub_msdos_partition_is_bsd): ... this.  Update all users.

        * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
        (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
        (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
        (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
        (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
        (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
        (gpt_mod_LDFLAGS): Rename to ...
        (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
        (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
        (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
        (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
        (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
        (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
        (part_gpt_mod_LDFLAGS): ... this.
        (pkglib_MODULES): Prefix partition modules with `part_'.  Rename
        `pcpart.mod' to `msdospart.mod'.
        (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
        to ...
        (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
        (msdospart_mod_LDFLAGS): ... this.
2009-08-23 12:00:57 +00:00
phcoder
c11fded5f2 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
* loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
	(openbsd_opts): Likewise.
	(netbsd_opts): Likewise.
	(freebsd_flags): Added 0 terminator.
	(openbsd_flags): Likewise.
	(netbsd_flags): Likewise.
	(grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
	(grub_cmd_freebsd): Transformed into extended command.
	(grub_cmd_openbsd): Likewise.
	(grub_cmd_netbsd): Likewise.
	(cmd_freebsd): Changed type to grub_extcmd_t.
	(cmd_openbsd): Likewise.
	(cmd_netbsd): Likewise.
	(GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
	grub_cmd_openbsd as extended commands.
	(GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
	cmd_netbsd and cmd_openbsd
2009-08-23 11:46:25 +00:00
phcoder
11d1c76966 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
* commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
2009-08-22 17:47:16 +00:00
proski
5496c37ebe 2009-08-21 Pavel Roskin <proski@gnu.org>
* Makefile.in (install-local): When checking if a file is in the
	build directory, use "test -e" to detect symlinks.
2009-08-21 21:42:58 +00:00
proski
7a9094e5bc 2009-08-21 Pavel Roskin <proski@gnu.org>
* Makefile.in (install-local): Remove all files in
	$(DESTDIR)$(pkglibdir) before installing new files there.
2009-08-21 21:40:58 +00:00
fzielcke
e53cea1182 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
* util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
	grub-mkelfimage.
2009-08-18 19:50:31 +00:00
proski
9aced5446d 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
* util/grub-mkconfig.in: Don't use gfxterm by default if not
	explicitly specified by the user.
2009-08-18 17:57:07 +00:00
proski
b7da6babe8 2009-08-18 Pavel Roskin <proski@gnu.org>
* include/grub/fbfill.h (struct grub_video_fbrender_target): Use
	grub_uint8_t pointer for data.
	* include/grub/fbutil.h (struct grub_video_fbblit_info):
	Likewise.
	* video/fb/fbutil.c: Remove unnecessary casts.
2009-08-18 17:26:35 +00:00
phcoder
19f1b335c3 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
VBE cleanup.

	* video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
	(grub_vbe_set_video_mode): Save active mode info
	only after setting the mode.
	(grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
	second argument.
2009-08-17 13:44:07 +00:00
phcoder
2f467aa9ad 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
Rename variables for clarity.

	* video/i386/pc/vbe.c (active_mode_info): Renamed to ...
	(active_vbe_mode_info): ... this. All users updated.
	(framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
	All users updated.
	(initial_mode): Rename to ...
	(initial_vbe_mode): ... this. All users updated.
	(mode_in_use): Rename to ..
	(vbe_mode_in_use): ... this. All users updated.
	(mode_list): Rename to ..
	(vbe_mode_list): ... this. All users updated.
	(grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
	'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
	(grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
	'mode_list_size' to 'vbe_mode_list_size'.
	(grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
	'best_mode_info' to 'best_vbe_mode_info' and
	'best_mode' to 'best_vbe_mode'
2009-08-17 13:37:22 +00:00
phcoder
6025fcd7f9 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
Remove duplicate grub_video_fb_get_video_ptr.

	* include/grub/fbutil.h (get_data_ptr): Rename to ...
	(grub_video_fb_get_video_ptr): ... this.
	* include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
	* video/fb/fbutil.c: Add comment about addressing.
	(get_data_ptr): Rename to ...
	(grub_video_fb_get_video_ptr): ... this. All users updated.
	* video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
2009-08-17 13:34:24 +00:00
robertmh
cc8c6fafe9 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
* fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
        grub_dprintf() that was just added.
2009-08-17 12:46:58 +00:00
robertmh
08aa61f0e2 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
* loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
        (DEFAULT_VIDEO_MODE): Remove macros.
        (grub_linux_boot): Remove assumption that Linux has FB support,
        and use "text" as default video mode.
2009-08-17 12:44:28 +00:00
phcoder
7cef4f7534 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
* fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
	grub_dprintf.
	* fs/fat.c (grub_fat_read_data): Likewise.
2009-08-15 14:45:08 +00:00
phcoder
e1f39873bc 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
* loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
	payload.
	(grub_module): Likewise.
2009-08-14 15:19:24 +00:00
phcoder
c166d79e62 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
* loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
	mbi->cmdline but free playground.
2009-08-14 15:15:33 +00:00
phcoder
c60cee8ee1 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
Handle group offset on UFS1.

	* fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
	(grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
2009-08-14 13:42:03 +00:00
phcoder
25fbd77a9d changelog fix 2009-08-14 13:32:09 +00:00
phcoder
c0d8b5d42a 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
Split ufs.mod into ufs1.mod and ufs2.mod.

	* conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
	(grub_fstest_SOURCES): Likewise.
	(pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
	(ufs_mod_SOURCES): Remove.
	(ufs_mod_CFLAGS): Likewise.
	(ufs_mod_LDFLAGS): Likewise.
	(ufs1_mod_SOURCES): New variable.
	(ufs1_mod_CFLAGS): Likewise.
	(ufs1_mod_LDFLAGS): Likewise.
	(ufs2_mod_SOURCES): New variable.
	(ufs2_mod_CFLAGS): Likewise.
	(ufs2_mod_LDFLAGS): Likewise.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
	* conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
	Likewise.
	(grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
	(grub_setup_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
	(grub_setup_SOURCES): Likewise.
	* conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
	Likewise.
	* fs/ufs2.c: New file.
	* fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
2009-08-14 13:31:09 +00:00
phcoder
d3539132cd 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
Framebuffer split.

	* commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
	subsystem at the end.
	* conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
	(video_fb_mod_SOURCES): New variable.
	(video_fb_mod_CFLAGS): Likewise.
	(video_fb_mod_LDFLAGS): Likewise.
	* conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
	video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
	* video/i386/pc/vbeblit.c: Moved from here ...
	* video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
	* video/i386/pc/vbefill.c: Moved from here ...
	* video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
	* video/i386/pc/vbeutil.c: Moved from here ...
	* video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
	* include/grub/i386/pc/vbeblit.h: Moved from here ...
	* include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
	* include/grub/i386/pc/vbefill.h: Moved from here ...
	* include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
	* include/grub/i386/pc/vbeutil.h: Moved from here ...
	* include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
	* include/grub/i386/pc/vbe.h: Moved framebuffer part ...
	* include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
	* include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
	(GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
	(grub_video_adapter): Added 'get_info_and_fini'.
	(grub_video_get_info_and_fini): New prototype.
	(grub_video_set_mode): make modestring const char *.
	* loader/i386/linux.c (grub_linux_setup_video): Use
	grub_video_get_info_and_fini.
	(grub_linux_boot): Move modesetting just before booting.
	* loader/i386/pc/xnu.c (grub_xnu_set_video): Use
	grub_video_get_info_and_fini.
	* video/i386/pc/vbe.c: Moved framebuffer part ...
	* video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
	* video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
	grub_video_fbstd_colors and grub_video_fb_set_palette.
	(grub_video_vbe_init): Clear 'framebuffer' variable and use
	grub_video_fb_init.
	(grub_video_vbe_fini): Use grub_video_fb_fini.
	(grub_video_vbe_setup): Use framebuffer.render_target instead of
	render_target and use grub_video_fb_set_active_render_target and
	grub_video_fb_set_palette.
	(grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
	(grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
	(grub_video_vbe_adapter): Use framebuffer.
	* video/video.c (grub_video_get_info_and_fini): New function.
	(grub_video_set_mode): Make modestring const char *.
	(GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
	values are already initialised.
2009-08-14 12:41:58 +00:00
proski
d404ee5646 2009-08-14 Pavel Roskin <proski@gnu.org>
* boot/i386/pc/cdboot.S: Use LOCAL for local labels.  Eliminate
	ABS and APPLE_CC.
	* boot/i386/pc/diskboot.S: Likewise.
	* boot/i386/pc/lnxboot.S: Likewise.  Hardcode the number of code
	sectors allow compilation on MacOSX.
	* conf/i386-pc.rmk: Enable unconditional compilation of
	lnxboot.img.
2009-08-14 04:12:22 +00:00
robertmh
9a10df160e 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
* util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
        * util/grub.d/00_header.in: Enter interruptible sleep if
        GRUB_HIDDEN_TIMEOUT is set.
2009-08-13 20:08:23 +00:00
proski
be3c9ca7cb 2009-08-13 Yves Blusseau <blusseau@zetam.org>
* include/grub/symbol.h: Add the LOCAL macro.
	* boot/i386/pc/boot.S: Use the LOCAL macro for all labels
	starting with "L_".
2009-08-13 06:09:39 +00:00
proski
9ca6284331 2009-08-13 Pavel Roskin <proski@gnu.org>
* boot/i386/pc/boot.S: Remove ABS macro, it's not required by
	any modern compilers we support.
2009-08-13 05:43:14 +00:00
proski
1f9e557e39 2009-08-13 Pavel Roskin <proski@gnu.org>
* boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
	Use local labels starting with "L_" so that Apple assembler
	knows they are local.
2009-08-13 05:34:39 +00:00
robertmh
81623db677 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
        (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
        (bsd_kernel_types): ... this enum.

        * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
        (grub_cmd_freebsd_module_elf): Abort with "You need to load the
        kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.

        (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
        (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
        (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
        messages.
2009-08-10 15:42:39 +00:00
robertmh
f5d35e7a4b 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
* util/grub-dumpdevtree: Moved from here ...
        * util/i386/efi/grub-dumpdevtree: ... to here.
        (hexify): New function.  Converts a string to its hex version.
        Generate hex versions of "efi" and "device-properties" by calling
        hexify() on the ASCII strings rather than by hardcoding numbers.
2009-08-08 19:24:58 +00:00
robertmh
d1e1d52774 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
* fs/jfs.c: Update copyright year.
2009-08-08 18:53:49 +00:00
fzielcke
1ebbe064d1 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
* util/grub.d/00_header.in: Fix a comment.
	* util/grub.d/10_linux.in: Likewise.
	* util/grub.d/10_windows.in: Likewise.
	* util/grub.d/10_hurd.in: Likewise.
2009-08-08 17:59:19 +00:00
fzielcke
a78c8d240b 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
* util/grub-mkconfig.in: Allow the user to specify the used font
	with GRUB_FONT.
2009-08-08 06:41:54 +00:00
proski
b5f16cc4cf 2009-08-08 Pavel Roskin <proski@gnu.org>
* include/grub/powerpc/libgcc.h: Export __ashrdi3() if
	available, xfs.mod needs it now.
2009-08-08 05:58:23 +00:00
proski
2f5cb8278a 2009-08-08 Pavel Roskin <proski@gnu.org>
* util/grub-mkconfig_lib.in (version_test_numeric): Don't use
	the "g" modifier in sed when the intention is to strip something
	once.  This fixes comparison of kernels with multiple dashes.
2009-08-08 05:37:49 +00:00
proski
29a6b9e8fa 2009-08-08 Pavel Roskin <proski@gnu.org>
* util/grub-mkconfig.in: Define datarootdir, datadir may depend
	on it.  Add missing space before closing bracket.  Fix
	misleading formatting.
2009-08-08 04:28:12 +00:00
robertmh
892a3d9805 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
* docs/grub.texi: Major overhaul.  Remove all sections that are
        specific to GRUB Legacy, or mostly composed of Legacy-specific
        information.
2009-08-07 17:18:12 +00:00
robertmh
ed94253fbf 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
* docs/version.texi: New file.  Provides version information for
        grub.texi.
2009-08-07 17:14:16 +00:00
robertmh
126d662892 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
* docs/grub.texi: Update CVS information to SVN.
        Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
2009-08-07 16:51:13 +00:00
fzielcke
998b5aa9ae 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
* util/grub-mkconfig.in: Remove a wrong `fi'.
2009-08-07 14:06:24 +00:00
fzielcke
818e094a04 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
* fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
	(grub_jfs_uuid): New function.
	(grub_jfs_fs): Set uuid field to grub_jfs_uuid.
2009-08-07 13:37:52 +00:00
fzielcke
b969c52f6b 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
* util/grub-mkconfig_lib.in (font_path): Move the functionality
	of it to ...
	* util/grub-mkconfig.in: ... here.  Prefer unicode.pf2 and
	unifont.pf2 over ascii.pf2.  Export LANG=C in case ascii.pf2 gets used.
2009-08-07 12:18:03 +00:00
robertmh
7a4894cc99 Split in two commits. This one's the first.
2009-08-07  Robert Millan  <rmh.grub@aybabtu.com>

        * util/grub.d/10_linux.in (test_numeric): Moved from here ...
        * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
        Update all users.

        * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
        not just "vmlinu[zx]".
        Moved from here ...
        * util/grub-mkconfig_lib.in (version_test_gt): ... to here.  Update
        all users.

        * util/grub.d/10_linux.in (find_latest): Moved from here ...
        * util/grub-mkconfig_lib.in (version_find_latest): ... to here.  Update
        all users.
2009-08-07 12:02:54 +00:00
robertmh
4e2171f866 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
* util/grub.d/10_freebsd.in: Use an absolute device path for
        `vfs.root.mountfrom'.  Set `vfs.root.mountfrom.options=rw'.
2009-08-07 11:55:36 +00:00
fzielcke
6dcfcb3291 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
	handling of multiple abstraction modules.
2009-08-06 07:05:48 +00:00
robertmh
f56a875639 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
Fix a bug resulting in black screen when loading Linux using a
        packed video mode.

        * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
        function.

        * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
        (grub_vbe_bios_getset_dac_palette_width): New function.
        (grub_vbe_bios_get_dac_palette_width)
        (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
        grub_vbe_bios_getset_dac_palette_width()).

        * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
        check for return status.
        (grub_vbe_get_video_mode_info): When getting information for a packed
        mode (<= 8 bpp), obtain DAC palette width using
        grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
        {red,green,blue}_mark_size.
2009-08-04 21:28:19 +00:00
robertmh
ecb1a6d9e9 Fix last ChangeLog entry. 2009-08-04 21:23:11 +00:00
fzielcke
222671b22e 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
* commands/search.c: Fix help output to match actual code.
2009-08-04 20:10:28 +00:00
phcoder
f84114f583 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
* commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
	of homegrown code.
2009-08-02 21:57:26 +00:00
phcoder
bd288a205f 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
* util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
	on XFS or ReiserFS.
2009-08-01 14:47:11 +00:00
phcoder
e768b77068 2009-08-01 14:44:15 +00:00
phcoder
8aab5e25a1 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
Support Apple partition map with sector size different from 512 bytes.

	* partmap/apple.c (grub_apple_header): New field 'blocksize'.
	(apple_partition_map_iterate): Respect 'aheader.blocksize'
	and 'apart.partmap_size'.
2009-08-01 14:40:30 +00:00
phcoder
6ad6258a28 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
2009-08-01  Robert Millan  <rmh.grub@aybabtu.com>

	Fix cpuid command.

	* commands/i386/cpuid.c (options): New variable.
	(grub_cmd_cpuid): Return real error.
	(GRUB_MOD_INIT(cpuid)): Declare options.
2009-08-01 14:30:59 +00:00
fzielcke
8fc6ffc62c Remove 2 empty lines in ChangeLog accidently added by r2459 commit 2009-07-31 16:14:03 +00:00
phcoder
67459bc69d 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
* partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
	valid.
2009-07-31 16:04:27 +00:00
fzielcke
19d50c2be8 Add missing ChangeLog entry for -r2293 2009-07-31 16:01:49 +00:00
bean
fbc6ab545e 2009-07-31 Bean <bean123ch@gmail.com>
* fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
	log2_inode.
	(grub_fshelp_node): Move inode field to the end.
	(grub_xfs_data): Remove inode field.
	(grub_xfs_inode_block): Calculate inode size using sblock.
	(grub_xfs_inode_offset): Likewise.
	(grub_xfs_read_inode): Calculate inode size using sblock.
	(grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
	(grub_xfs_iterate_dir): Calculate inode size using sblock.
	(grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
	to match inode size.
	(grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
	not accessible when data is null.
	(grub_xfs_open): Likewise.
2009-07-31 14:58:04 +00:00
bean
f45d6cfc48 2009-07-31 Bean <bean123ch@gmail.com>
* disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
	Don't change pv->disk if it's already set.

	* disk/raid.c (grub_raid_scan_device): Merge this function into ...
	(grub_raid_register): ... here.
	(grub_raid_rescan): Removed.

	* include/grub/raid.h (grub_raid_rescan): Removed.

	* util/grub-fstest.c: Remove include file <grub/raid.h>.
	(fstest): Replace grub_raid_rescan with module fini function followed
	by init function.

	* util/grub-probe.c: Add include file <grub/raid.h>.
	(probe_raid_level): New function.
	(probe): Detect abstraction by walking the disk device, support two
	level of abstraction (LVM on RAID) when detecting partition map.
2009-07-31 14:25:19 +00:00
proski
24443b5a47 2009-07-31 Pavel Roskin <proski@gnu.org>
* disk/raid5_recover.c (grub_raid5_recover): Revert conversion
	to grub_zalloc(), it was erroneous.
	Reported by Bean <bean123ch@gmail.com>
2009-07-31 04:38:20 +00:00
phcoder
a275d9e7c0 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
* util/i386/pc/grub-setup.c (setup): Check that no partition is in
	embeding zone, not only the first one.
2009-07-29 22:50:38 +00:00
proski
56c5a47f43 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
* term/gfxterm.c (clear_char): New function.
	(grub_virtual_screen_setup): Use clear_char.
	(scroll_up): Likewise.
	(grub_virtual_screen_cls): Likewise.
2009-07-29 22:12:00 +00:00
fzielcke
67bb323a1c 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
* util/deviceiter.c (get_acceleraid_disk_name): New static
	function.
	(grub_util_iterate_devices): Handle Accelraid devices.
	* util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
2009-07-29 14:11:50 +00:00
robertmh
388a7c7593 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
* loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
        separator for the suggested gfxpayload string (';' collides with the
        parser and needs escaping).
2009-07-28 21:40:34 +00:00
phcoder
3bb7abcfbf 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
* loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
	Clear direction flag before jumping to OS.
	(grub_multiboot2_real_boot): Likewise.
2009-07-28 21:32:20 +00:00
fzielcke
2ddd36d7a9 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
* util/i386/pc/grub-install: Fix parsing of --disk-module
	option.
2009-07-28 18:32:28 +00:00
fzielcke
c521b62b6c 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
* util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
	when embedding.
2009-07-28 15:58:40 +00:00
fzielcke
880e0a0c70 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
* util/grub-mkconfig.in (package_version): New variable.
	Use it do display the version.
2009-07-26 11:03:57 +00:00
fzielcke
2366e356ce 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
* kern/file.c (grub_file_open): Revert to previous check with
	grub_errno.
2009-07-25 18:28:58 +00:00
phcoder
7ad8c80ee8 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
* commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
	from help line. It's out of sync with code.
2009-07-25 17:46:38 +00:00
phcoder
72b9658be2 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
* kern/parser.c (grub_parser_execute): Fix a bug causing truncated
	entries on failed boot.
2009-07-25 15:13:07 +00:00
fzielcke
7743527799 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
* kern/file.c (grub_file_open): Fix an error check.
2009-07-25 09:30:25 +00:00
phcoder
35d16c74b2 Improved Changelog as suggested by Pavel Roskin. 2009-07-24 21:22:30 +00:00
phcoder
fcaa8b2177 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
* util/i386/pc/grub-setup.c (setup): Fix bug when
	installing on partionless disk.
2009-07-24 20:41:31 +00:00
proski
ef3c317f6f 2009-07-23 Pavel Roskin <proski@gnu.org>
* commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
	instead of WORDS_BIGENDIAN.  Use grub_le_to_cpu32(), so that the
	case of little endian words becomes just an optimization.
	Respect const modifier.
	(md5_final): Use code that doesn't depend on endianess.
2009-07-24 01:43:10 +00:00
proski
48904cd1a9 2009-07-23 Pavel Roskin <proski@gnu.org>
* include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
	to avoid loss of upper bits if align is unsigned and shorter
	than addr.
2009-07-23 16:41:29 +00:00
phcoder
260c9a8957 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
UUID support for UFS

	* fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
	(grub_ufs_uuid): New function.
	(grub_ufs_fs): add .uuid
2009-07-22 11:16:11 +00:00
proski
f76ce8896a 2009-07-21 Pavel Roskin <proski@gnu.org>
* kern/dl.c (grub_dl_check_header): Make static.
2009-07-21 20:18:44 +00:00
fzielcke
6a6cbcaf5e 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
* util/grub.d/30_os-prober.in: Remove unused CHAINROOT.  Don't
	add drivemap for Vista.  It breaks Windows 7.
2009-07-21 13:37:43 +00:00
phcoder
cffcddb2b5 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
* fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
	128 bytes
2009-07-21 12:58:41 +00:00
phcoder
1ef44b802b 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
Add BFS support

	* conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
	(grub_fstest_SOURCES): Likewise.
	(pkglib_MODULES): Add befs.mod.
	(befs_mod_SOURCES): New variable.
	(befs_mod_CFLAGS): Likewise.
	(befs_mod_LDFLAGS): Likewise.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
	(grub_setup_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	(grub_setup_SOURCES): Likewise.
	* fs/befs.c: New file.
	* fs/afs.c (GRUB_AFS_FSNAME): New declaration.
	(GRUB_AFS_SBLOCK_SECTOR): Likewise.
	(GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
	(GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
	(B_KEY_INDEX_ALIGN): New declaration.
	(B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
	(grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
	(grub_afs_btree) [MODE_BFS]: New conditional declaration.
	(grub_afs_sblock) [MODE_BFS]: Remove link_count.
	(grub_afs_validate_sblock) [MODE_BFS]: Support BFS
	(grub_afs_mount) [MODE_BFS]: Likewise.
	(grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
	(grub_afs_fs): Use GRUB_AFS_FSNAME
	(GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
	(GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
	(GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
	(GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
2009-07-20 21:18:59 +00:00
proski
4f253044ec 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
* util/getroot.c (find_root_device): Add support for MacOSX.
	* util/hostdisk.c: Likewise.
2009-07-20 20:03:18 +00:00
proski
75421ca9ea Fix typos, spacing 2009-07-20 18:46:46 +00:00
phcoder
57a55913e0 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
* font/font.c (find_glyph): Check whether a font is present to avoid
	segmentation fault.
2009-07-20 17:37:37 +00:00
phcoder
04c7c42969 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
* term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
2009-07-20 16:46:36 +00:00
proski
e98cd0c2fb 2009-07-20 Pavel Roskin <proski@gnu.org>
* configure.ac: Trim excessively wordy excuses.
2009-07-20 13:48:41 +00:00
phcoder
1d2d169ace 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
Add symlink, mtime and label support to AtheFS.

	* fs/afs.c (grub_afs_sblock): Declare `name' as char.
	(grub_afs_iterate_dir): Handle symlinks.
	(grub_afs_open): Use grub_afs_read_symlink.
	(grub_afs_dir): Likewise.
	Pass mtime.
	(grub_afs_label): New function.
	(grub_afs_fs): Add grub_afs_label.
	(grub_afs_read_symlink): New function.
2009-07-20 10:01:44 +00:00
phcoder
186f3189a1 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
Fix AtheFS support.

	* fs/afs.c: Fix comments style.
	(grub_afs_blockrun): Declare as packed.
	(grub_afs_datastream): Likewise.
	(grub_afs_bnode): Likewise.
	(grub_afs_btree): Likewise.
	(grub_afs_sblock): Likewise.
	Declare `name' as char.
	(grub_afs_inode): Declare as packed.
	Change void *vnode to grub_uint32_t unused.
	(grub_afs_iterate_dir): Check that key_size is positive.
	(grub_afs_mount): Don't read superblock twice.
	(grub_afs_dir): Don't free node in case of errorx
	grub_fshelp_find_file already handles this.
	(grub_afs_open): Likewise.
2009-07-20 09:48:25 +00:00
proski
5680109e00 2009-07-19 Pavel Roskin <proski@gnu.org>
* Makefile.in: Remove LIBLZO and enable_lzo.
	* conf/i386-pc.rmk: Remove lzo support.
	* configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
	* include/grub/i386/pc/kernel.h: Define ENABLE_LZMA.  Remove lzo
	support.
	* kern/i386/pc/lzo1x.S: Remove.
	* kern/i386/pc/startup.S: Remove lzo support.
	* util/i386/pc/grub-mkimage.c: Likewise.
2009-07-19 20:23:33 +00:00
phcoder
ac70fa32dd 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
* disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
	* fs/xfs.c (grub_xfs_dir): Likewise.
	* fs/afs.c (grub_afs_dir): Likewise.
	* fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
	(grub_iso9660_open): Likewise.
	* fs/jfs.c (grub_jfs_open): Likewise.
	* fs/ext2.c (grub_ext2_dir): Likewise.
	* include/grub/macho.h (grub_macho_fat_arch): Likewise.
	* script/sh/lexer.c (grub_script_yylex): Likewise.
2009-07-19 13:59:21 +00:00
proski
d283815647 2009-07-16 Pavel Roskin <proski@gnu.org>
* configure.ac: Never add "-c" to CFLAGS.
2009-07-16 23:00:59 +00:00
proski
55c7090456 2009-07-16 Pavel Roskin <proski@gnu.org>
* configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
2009-07-16 22:43:58 +00:00
proski
43e6200c73 2009-07-16 Pavel Roskin <proski@gnu.org>
* configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
	grub_cv_cc_efiemu should be used.
2009-07-16 22:33:20 +00:00
proski
ce7a733d47 2009-07-16 Pavel Roskin <proski@gnu.org>
* configure.ac: Typo fixes.
2009-07-16 22:22:02 +00:00
proski
eab58da22c 2009-07-16 Pavel Roskin <proski@gnu.org>
* kern/mm.c (grub_zalloc): New function.
	(grub_debug_zalloc): Likewise.
	* include/grub/mm.h: Declare grub_zalloc() and
	grub_debug_zalloc().
	* util/misc.c (grub_zalloc): New function.
	* bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
	instead of grub_malloc(), remove unneeded initializations.
	* bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
	* commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
	* commands/parttool.c (grub_cmd_parttool): Likewise.
	* disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
	* disk/raid5_recover.c (grub_raid5_recover): Likewise.
	* disk/raid6_recover.c (grub_raid6_recover): Likewise.
	* disk/usbms.c (grub_usbms_finddevs): Likewise.
	* efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
	* efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
	(grub_cmd_efiemu_pnvram): Likewise.
	* fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
	* fs/iso9660.c (grub_iso9660_mount): Likewise.
	(grub_iso9660_iterate_dir): Likewise.
	* fs/jfs.c (grub_jfs_opendir): Likewise.
	* fs/ntfs.c (list_file): Likewise.
	(grub_ntfs_mount): Likewise.
	* kern/disk.c (grub_disk_open): Likewise.
	* kern/dl.c (grub_dl_load_core): Likewise.
	* kern/elf.c (grub_elf_file): Likewise.
	* kern/env.c (grub_env_context_open): Likewise.
	(grub_env_set): Likewise.
	(grub_env_set_data_slot): Likewise.
	* kern/file.c (grub_file_open): Likewise.
	* kern/fs.c (grub_fs_blocklist_open): Likewise.
	* loader/i386/multiboot.c (grub_module): Likewise.
	* loader/xnu.c (grub_xnu_create_key): Likewise.
	(grub_xnu_create_value): Likewise.
	* normal/main.c (grub_normal_add_menu_entry): Likewise.
	(read_config_file): Likewise.
	* normal/menu_entry.c (make_screen): Likewise.
	* partmap/sun.c (sun_partition_map_iterate): Likewise.
	* script/sh/lexer.c (grub_script_lexer_init): Likewise.
	* script/sh/script.c (grub_script_parse): Likewise.
	* video/bitmap.c (grub_video_bitmap_create): Likewise.
	* video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
	* video/readers/png.c (grub_png_output_byte): Likewise.
	(grub_video_reader_png): Likewise.
2009-07-16 22:14:09 +00:00
phcoder
830afef7c2 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
Enable all targets that can be built by default

	* configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
	grub-mkfont and grub-fstest if they can be built
2009-07-16 16:38:19 +00:00
phcoder
5ce5507f1c Merge branch 'mainline' into newconf 2009-07-16 16:37:18 +00:00
phcoder
ee293aee1b 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
Fix hang and segmentation fault in grub-emu-usb

	* disk/scsi.c (grub_scsi_open): return err and not grub_errno
	* util/usb.c (grub_libusb_devices): likewise
	(grub_libusb_init): rename to ...
	(GRUB_MOD_INIT (libusb)):...this
	(grub_libusb_fini): rename to ..
	(GRUB_MOD_FINI (libusb)):...this
	* disk/usbms.c (grub_usbms_transfer): fix retry logic
	* include/grub/disk.h (grub_raid_init): removed, it's useless
	(grub_raid_fini): likewise
	(grub_lvm_init): likewise
	(grub_lvm_fini): likewise
	* util/grub-emu.c (main): don't call grub_libusb_init, it's done
	by grub_init_all
2009-07-16 15:36:43 +00:00
phcoder
94414221cf 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
Fix libusb

	* Makefile.in (LIBUSB): new macro
	* genmk.rb (Utility/print_tail): new method
	(Utility/rule): use intermediary variable #{prefix}_OBJECTS
	(top level): call util.print_tail at the end.
2009-07-16 14:53:33 +00:00
phcoder
59ade63d27 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
Make FreeBSD accept zpool.cache

	* loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
	type is /boot/zfs/zpool.cache
2009-07-15 22:51:47 +00:00
phcoder
a58da8c77b 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
Fix 64-bit efiemu

	* include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
	correct wrong typedef
	* efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
2009-07-15 22:04:41 +00:00
proski
560ca572fa 2009-07-15 Pavel Roskin <proski@gnu.org>
* include/grub/disk.h (struct grub_disk_dev): Use enum for id.
	* kern/disk.c (struct grub_disk_cache): Likewise.
2009-07-15 19:45:44 +00:00
proski
e8e8e4fd88 2009-07-15 Pavel Roskin <proski@gnu.org>
* commands/probe.c (options): Typo fix.
2009-07-15 19:30:34 +00:00
proski
fde24e10a8 2009-07-15 Pavel Roskin <proski@gnu.org>
* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
	Increase to 0x5a to accommodate FAT32.  Adjust other offsets
	accordingly.
	Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
2009-07-15 15:06:12 +00:00
proski
379c54c1b3 2009-07-15 Pavel Roskin <proski@gnu.org>
* boot/i386/pc/boot.S (general_error_string): Add DOS newline at
	the end of "Error" to make the message more readable.
2009-07-15 15:00:26 +00:00
proski
7bd8f5bfe1 2009-07-15 Pavel Roskin <proski@gnu.org>
* boot/i386/pc/boot.S (kernel_segment): Remove.
	(copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
	for destination.
2009-07-15 14:58:07 +00:00
proski
40b132c562 2009-07-15 Pavel Roskin <proski@gnu.org>
* boot/i386/pc/boot.S (boot_version): Remove.
	* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
	Remove.
2009-07-15 14:55:24 +00:00
proski
2059157753 2009-07-15 Pavel Roskin <proski@gnu.org>
* include/grub/i386/pc/boot.h: Sort all offsets.
	(GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
	(GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
	* boot/i386/pc/boot.S: Assert location of every offset listed in
	include/grub/i386/pc/boot.h.
2009-07-15 14:54:18 +00:00
proski
44b5d87973 2009-07-13 Pavel Roskin <proski@gnu.org>
* include/grub/i386/coreboot/machine.h: Rename
	GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
	* loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
	multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
2009-07-13 23:57:11 +00:00
proski
17dc3751c2 2009-07-13 Pavel Roskin <proski@gnu.org>
* kern/dl.c: Force native word size to suppress warnings when
	compiling grub-emu.
2009-07-13 23:04:31 +00:00
proski
2df32b2c4a 2009-07-13 Pavel Roskin <proski@gnu.org>
* kern/device.c (grub_device_iterate): Change struct part_ent to
	hold the name, not a pointer to it.  Use one grub_malloc() per
	partition, not two.  Free partition_name if grub_malloc() fails.
	Set ents to NULL only before grub_partition_iterate() is called.
2009-07-13 22:21:49 +00:00
bean
75c59f59e7 2009-07-11 Bean <bean123ch@gmail.com>
* kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
	childname.
2009-07-11 03:59:15 +00:00
robertmh
0ae1bf88be 2009-07-10 Bean <bean123ch@gmail.com>
2009-07-10  Robert Millan  <rmh.grub@aybabtu.com>

        * kern/ieee1275/openfw.c (grub_children_iterate)
        (grub_devalias_iterate): Fix size evaluation for property or path
        strings, which was broken since r2132.
2009-07-10 20:19:08 +00:00
proski
7d8a52d3a2 2009-07-07 Pavel Roskin <proski@gnu.org>
* commands/search.c (search_file): Merge into ...
	(search_fs): ... this.  Accept search type as argument.
	(grub_cmd_search): Pass search type to search_fs().
2009-07-07 20:13:39 +00:00
proski
25f9a05a03 2009-07-07 Pavel Roskin <proski@gnu.org>
* include/grub/util/console.h: New file.
	* util/console.c: Use it instead of grub/machine/console.h.
	* util/grub-emu.c: Likewise.
2009-07-07 20:03:03 +00:00
proski
8279cade23 2009-07-07 Pavel Roskin <proski@gnu.org>
* lib/arg.c (find_long_option): Remove.
	(find_long): Add `len' argument, make `s' const char *.
	(grub_arg_parse): Parse long options in place, not in a
	temporary buffer.
2009-07-07 19:54:19 +00:00
proski
99f6804167 2009-07-06 Pavel Roskin <proski@gnu.org>
* commands/search.c (search_fs): Fix potential NULL pointer
	dereference.
2009-07-07 03:05:01 +00:00
proski
4a11b60f10 2009-07-06 Pavel Roskin <proski@gnu.org>
* commands/search.c (search_fs): Replace QUID macro with quid_fn
	function pointer.
2009-07-06 20:13:06 +00:00
proski
e110f4dea7 2009-07-06 Daniel Mierswa <impulze@impulze.org>
* commands/search.c (search_fs): Use grub_strcasecmp() for UUID
	comparison.
2009-07-06 20:07:58 +00:00
proski
bab7495862 2009-07-05 Pavel Roskin <proski@gnu.org>
* include/grub/i386/linux.h (struct linux_kernel_params):
	Restore padding3, it's still needed.
2009-07-06 02:10:57 +00:00
proski
46eeb6a264 2009-07-05 Pavel Roskin <proski@gnu.org>
* util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
	FreeBSD.
	* util/osdetect.lua: Likewise.
2009-07-05 22:51:05 +00:00
bean
b4a1dc7990 2009-07-05 Bean <bean123ch@gmail.com>
* conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.

	* script/lua/grub_lib.c (grub_lua_run): Check input parameter.
	(grub_lua_getenv): Likewise.
	(grub_lua_setenv): Likewise.
	(save_errno): New function.
	(push_result): Likewise.
	(grub_lua_enum_device): Likewise.
	(grub_lua_enum_file): Likewise.
	(grub_lua_file_open): Likewise.
	(grub_lua_file_close): Likewise.
	(grub_lua_file_seek): Likewise.
	(grub_lua_file_read): Likewise.
	(grub_lua_file_getline): Likewise.
	(grub_lua_file_getsize): Likewise.
	(grub_lua_file_getpos): Likewise.
	(grub_lua_file_eof): Likewise.
	(grub_lua_file_exist): Likewise.
	(grub_lua_add_menu): Likewise.

	* script/lua/grub_lua.h (isupper): New inline function.
	(islower): Likewise.
	(ispunct): Likewise.
	(isxdigit): Likewise.
	(strcspn): Change to normal function.
	(strpbkr): New function declaration.
	(memchr): Likewise.

	* script/lua/grub_main.c (scan_str): New function.
	(strcspn): Likewise.
	(strpbrk): Likewise.
	(memchr): Likewise.

	* script/lua/linit.c (lualibs): Enable the string library.

	* util/osdetect.lua: New file.
2009-07-05 09:59:27 +00:00
robertmh
2da9229550 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/linux.h (struct linux_kernel_params): Add
        `capabilities' member.
2009-07-04 16:29:01 +00:00
proski
b2582ec99c 2009-07-02 Pavel Roskin <proski@gnu.org>
* genparttoollist.sh: Add missing newline at the end.
2009-07-02 04:12:23 +00:00
proski
87a7339e7a 2009-07-01 Pavel Roskin <proski@gnu.org>
* kern/x86_64/efi/callwrap.S: Add missing newline at the end.
2009-07-02 00:21:07 +00:00
proski
d23af54ef4 2009-07-01 Pavel Roskin <proski@gnu.org>
* util/hostdisk.c (open_device): Remove `const' from
	`sysctl_size', as sysctlbyname() can change it (in this case it
	doesn't actually happen).
2009-07-01 23:58:30 +00:00
proski
c94b18a9e5 2009-07-01 Pavel Roskin <proski@gnu.org>
* include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
	using signed long int constants.
2009-07-01 23:38:40 +00:00
proski
c6cd3ef022 2009-07-01 Pavel Roskin <proski@gnu.org>
* util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
	constant to avoid a warning on FreeBSD.
2009-07-01 23:07:17 +00:00
proski
0df634200a 2009-07-01 Pavel Roskin <proski@gnu.org>
* util/hostdisk.c (device_is_wholedisk): Compile only on systems
	where it's needed.
2009-07-01 22:56:51 +00:00
proski
999577f13c 2009-07-01 Pavel Roskin <proski@gnu.org>
* Makefile.in: Install include/grub/machine symlink.
2009-07-01 22:48:38 +00:00
proski
6f41557fb1 2009-07-01 Pavel Roskin <proski@gnu.org>
* Makefile.in: When installing symlinks, use "cp -fR", which
	works on FreeBSD and MacOSX.
	From Yves Blusseau <cl7m42e02@sneakemail.com>
2009-07-01 22:47:28 +00:00
proski
c8d229882a 2009-07-01 Pavel Roskin <proski@gnu.org>
* kern/dl.c (grub_dl_resolve_symbol): Make static.
	* include/grub/dl.h: Remove grub_dl_resolve_symbol().
2009-07-01 16:00:34 +00:00
proski
1b96e95249 2009-07-01 Pavel Roskin <proski@gnu.org>
* util/misc.c: Move grub_reboot() and grub_halt() ...
	* util/grub-emu.c: ... here.  Make main_env static.
	* include/grub/util/misc.h: Remove main_env.
2009-07-01 15:59:05 +00:00
proski
2ef0084d80 2009-07-01 Pavel Roskin <proski@gnu.org>
* kern/mm.c: Use correct format to print size_t.
2009-07-01 15:39:21 +00:00
proski
3262295617 2009-07-01 Pavel Roskin <proski@gnu.org>
* include/grub/elf.h: Define Elf_Sword and Elf_Xword.
	* kern/i386/dl.c: Use ELF symbols without "32" or "64".
	* kern/powerpc/dl.c: Likewise.
	* kern/sparc64/dl.c: Likewise.
	* kern/x86_64/dl.c: Likewise.
2009-07-01 14:49:22 +00:00
robertmh
3f7f0cd003 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
Fix grub-emu build on sparc64-ieee1275.

        * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Syncronize with ...
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
2009-07-01 13:04:38 +00:00
robertmh
211d06b54b 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
* util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
        (grub_reboot, grub_halt): New functions.

        * util/i386/pc/misc.c: Delete.  Update all users.
        * util/sparc64/ieee1275/misc.c: Likewise.
        * util/powerpc/ieee1275/misc.c: Likewise.
2009-07-01 13:01:33 +00:00
robertmh
aaf53e3ce3 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
* conf/i386.rmk (setjmp_mod_SOURCES)
        (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
        * conf/common.rmk (setjmp_mod_SOURCES)
        (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
        to use $(target_cpu).
        * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
        (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
        * conf/powerpc-ieee1275.rmk: Likewise.
        * conf/sparc64-ieee1275.rmk: Likewise.

        * conf/i386-pc.rmk (kernel_img_SOURCES): Use
        $(target_cpu) for kern/$(target_cpu)/dl.c.
        * conf/i386-efi.rmk: Likewise.
        * conf/i386-ieee1275.rmk: Likewise.
        * conf/x86_64-efi.rmk: Likewise.
        * conf/i386-coreboot.rmk: Likewise.
        * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
        $(target_cpu) for kern/$(target_cpu)/dl.c and for
        kern/$(target_cpu)/cache.S.
        * conf/sparc64-ieee1275.rmk: Likewise.
2009-07-01 12:59:47 +00:00
robertmh
a337130b25 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
        type to `grub_uint8_t', and adjust `padding9' accordingly.
2009-07-01 01:04:12 +00:00
robertmh
b09db61ddd 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.

        * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
        assembly in final jump, using register constraints.

        (grub_linux_boot): For text mode, initialize `have_vga' using
        GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).

        Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
        right before the final jump.

        Set `video_mode' to 0x3.

        Document initialization of `video_page', `video_mode' and
        `video_ega_bx'.
2009-06-29 17:19:35 +00:00
robertmh
c6fe4d5328 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
* loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
        assembly in final jump, using register constraints.
2009-06-29 15:55:42 +00:00
robertmh
28333ad04f 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
        * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
        and set GRUB_LINUX_FLAG_QUIET appropiately.
2009-06-29 12:20:56 +00:00
robertmh
02164e1bb7 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
Fix build on Debian / sparc.

        * configure.ac: Recognize `sparc' target_cpu (as sparc64).
2009-06-29 12:19:08 +00:00
proski
85f2aab6f7 2009-06-28 Pavel Roskin <proski@gnu.org>
* kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
	fix a warning.
2009-06-29 03:37:42 +00:00
proski
18b6c557fd 2009-06-28 Pavel Roskin <proski@gnu.org>
* util/grub.d/10_linux.in: Match SUSE style initrd names.
2009-06-29 02:59:53 +00:00
robertmh
ad760f81b0 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
* loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
        `err'.
2009-06-27 17:37:07 +00:00
robertmh
87a4623bda 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
Revert r2338.

        * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
        file can't be opened.  grub_file_open() is already supposed to set
        grub_errno / grub_errmsg appropiately.
        * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2009-06-27 12:21:18 +00:00
robertmh
8231fb77c6 2009-06-27 Pavel Roskin <proski@gnu.org>
2009-06-27  Robert Millan  <rmh.grub@aybabtu.com>

        * include/grub/dl.h: Include grub/elf.h.
        (struct grub_dl): Add symtab field.
        * kern/dl.c [GRUB_MACHINE_QEMU]: Define
        GRUB_MODULES_MACHINE_READONLY.
        (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
        of the header for read-only modules.
        (grub_dl_unload): Free mod->symtab for read-only modules.
        * kern/i386/dl.c: Use mod->symtab.
        * kern/powerpc/dl.c: Likewise.
        * kern/sparc64/dl.c: Likewise.
        * kern/x86_64/dl.c: Likewise.

        * conf/i386-qemu.rmk: New file.
        * kern/i386/qemu/startup.S: Likewise.
        * kern/i386/qemu/mmap.c: Likewise.
        * boot/i386/qemu/boot.S: Likewise.
        * include/grub/i386/qemu/time.h: Likewise.
        * include/grub/i386/qemu/serial.h: Likewise.
        * include/grub/i386/qemu/kernel.h: Likewise.
        * include/grub/i386/qemu/console.h: Likewise.
        * include/grub/i386/qemu/boot.h: Likewise.
        * include/grub/i386/qemu/init.h: Likewise.
        * include/grub/i386/qemu/machine.h: Likewise.
        * include/grub/i386/qemu/loader.h: Likewise.
        * include/grub/i386/qemu/memory.h: Likewise.

        * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
        (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
        [qemu] (pkglib_IMAGES): Add `boot.img'.
        [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
        [qemu] (boot_img_FORMAT): New variables.
        [qemu] (bin_UTILITIES): Add `grub-mkimage'.
        [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
        [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
        [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
        [qemu] (kernel_img_FORMAT): New variables.

        * configure.ac: Recognise `i386-qemu'.

        * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
        (for no compression).
        [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
        a valid i386 ROM image.  Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
        `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
        `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
        ifdefs).
2009-06-27 11:18:10 +00:00
proski
97fe384ecb 2009-06-27 Pavel Roskin <proski@gnu.org>
* efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
	read.
	* efiemu/prepare32.c: Likewise.
	* efiemu/prepare64.c: Likewise.
2009-06-27 06:10:33 +00:00
proski
c402ab1734 2009-06-26 Pavel Roskin <proski@gnu.org>
* include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
	* include/grub/elf.h: Define symbols without "32" or "64" based
	on GRUB_TARGET_WORDSIZE.
	* include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
	* efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
	ELF definitions.
	* efiemu/loadcore64.c: Likewise.
	* loader/i386/bsd32.c: Likewise.
	* loader/i386/bsd64.c: Likewise.
	* kern/dl.c: Remove own ELF definitions.
	* util/i386/efi/grub-mkimage.c: Likewise.
2009-06-27 03:01:42 +00:00
robertmh
9bbdfd4d3b 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
* kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
        segment 0x0 unconditionally, because the reference generated by
        GAS is an absolute address.
2009-06-22 22:48:20 +00:00
robertmh
a42ce6e962 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
        [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
2009-06-22 20:40:28 +00:00
robertmh
cc3752ad73 (search_file): Improve error message.
(GRUB_MOD_INIT(search)): Add missing `-n' to help output.
2009-06-22 20:19:13 +00:00
robertmh
c952cf92a1 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
* commands/search.c (grub_cmd_search): Macroify hardcoded args[]
        indexes.  Check for -f explicitly.
2009-06-22 19:44:38 +00:00
robertmh
132a0a595f 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
* conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
        (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this.  Update all users.
2009-06-22 19:23:22 +00:00
robertmh
387a140ce6 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
* conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
        * conf/i386-ieee1275.rmk: Likewise.
        * conf/i386-coreboot.rmk: Likewise.

        * kern/i386/pc/startup.S (grub_stop): Remove function.
        * kern/i386/ieee1275/startup.S: Likewise.
        * kern/i386/coreboot/startup.S: Likewise.
        * kern/i386/misc.S (grub_stop): New function.
2009-06-22 18:04:37 +00:00
robertmh
41da966565 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
* kern/i386/pc/startup.S (real_to_prot): Move from here ...
        * kern/i386/realmode.S (real_to_prot): ... to here.
2009-06-22 10:42:37 +00:00
robertmh
bf3372349c 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
* conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
        with `kernel.img'.
        (kernel_elf_SOURCES): Rename to ...
        (kernel_img_SOURCES): ... this.
        (kernel_elf_HEADERS): Rename to ...
        (kernel_img_HEADERS): ... this.  Update all users.
        (kernel_elf_ASFLAGS): Rename to ...
        (kernel_img_ASFLAGS): ... this.
        (kernel_elf_CFLAGS): Rename to ...
        (kernel_img_CFLAGS): ... this.
        (kernel_elf_LDFLAGS): Rename to ...
        (kernel_img_LDFLAGS): ... this.
        * conf/i386-coreboot.rmk: Likewise.
        * conf/powerpc-ieee1275.rmk: Likewise.

        * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
        with "kernel.img".
2009-06-22 10:27:26 +00:00
proski
c3cee41331 2009-06-21 Pavel Roskin <proski@gnu.org>
* loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
	to match nested functions.
	* loader/sparc64/ieee1275/linux.c: Likewise.
2009-06-21 23:55:23 +00:00
proski
f52196ff3a 2009-06-21 Pavel Roskin <proski@gnu.org>
* conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
2009-06-21 23:53:30 +00:00
robertmh
58750afcba 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
* configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
        all i386 platforms.
2009-06-21 20:10:44 +00:00
robertmh
15355c7d2f 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
Fix asm file handling on ELF, and remove workarounds.

        * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
        and -DASM_FILE=1 appropiately (copied from `class Images' stanza).
        * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
        * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
2009-06-21 17:24:30 +00:00
phcoder
3f3ec72b38 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
Load BSD ELF modules

	* conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
	and loader/i386/bsd64.c
	* include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
	(FREEBSD_MODTYPE_ELF_MODULE): New definition
	(FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
	(grub_freebsd_load_elfmodule32): New declaration
	(grub_freebsd_load_elfmoduleobj64): Likewise
	(grub_freebsd_load_elf_meta32): Likewise
	(grub_freebsd_load_elf_meta64): Likewise
	(grub_freebsd_add_meta): Likewise
	(grub_freebsd_add_meta_module): Likewise
	* loader/i386/bsd.c (grub_freebsd_add_meta): Make global
	(grub_freebsd_add_meta_module): Likewise and move module-specific
	parts to grub_cmd_freebsd and grub_cmd_freebsd_module
	(grub_cmd_freebsd): Add elf-kernel specific parts
	based on grub_freebsd_add_meta_module
	(grub_cmd_freebsd_module): Add type parsing moved from
	grub_freebsd_add_meta_module
	(grub_cmd_freebsd_module_elf): New function
	(cmd_freebsd_module_elf): New variable
	(GRUB_MOD_INIT): Register freebsd_module_elf
	* loader/i386/bsd32.c: New file
	* loader/i386/bsd64.c: Likewise
	* loader/i386/bsdXX.c: Likewise
	* kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
	(grub_elf64_load): Likewise
	* include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
	All users updated
	(grub_elf64_load_hook_t): Likewise
2009-06-21 15:48:10 +00:00
robertmh
0db15301d1 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
* util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
        variable.
        * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
        don't write a menu entry for recovery mode.
2009-06-21 11:21:59 +00:00
robertmh
546796c1d7 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
* util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
        after it's no longer needed.
2009-06-20 14:32:53 +00:00
robertmh
cd7310d5d5 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/loader.h (grub_linux_prot_size)
        (grub_linux_tmp_addr, grub_linux_real_addr)
        (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
        GRUB_MACHINE_PCBIOS.
        * util/i386/pc/grub-mkimage.c (compress_kernel): Move
        common grub_util_info() call to ...
        (generate_image): ... here.
        Fix use of uninitialized memory, comparison of signed with
        unsigned integers and memory leak.
        Remove bogus module address message.
2009-06-20 14:11:45 +00:00
phcoder
ab32d3b5fe 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
* disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
	grub_raid_register
	* disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
2009-06-20 03:06:50 +00:00
proski
024ef597ab 2009-06-19 Pavel Roskin <proski@gnu.org>
* configure.ac: Remove stray AC_MSG_CHECKING.
2009-06-19 21:33:07 +00:00
proski
dd74360c7d Fix a typo, spacing 2009-06-19 20:35:38 +00:00
phcoder
3ac72b5131 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
* disk/scsi.c (grub_scsi_open): use continue instead of big if
2009-06-19 17:38:27 +00:00
proski
e14cd81437 2009-06-18 Pavel Roskin <proski@gnu.org>
* conf/common.rmk: Add fs_file.mod.
	* disk/fs_file.c: New file.
	* include/grub/disk.h (enum grub_disk_dev_id): Add
	GRUB_DISK_DEVICE_FILE_ID.
2009-06-18 20:00:34 +00:00