Commit graph

6827 commits

Author SHA1 Message Date
phcoder
fd2bf2e388 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
Fix wrong assumptions with grub-mkimage on EFI
	
	* i386/efi/grub-mkimage.c (read_kernel_module): don't write prefox here
	(relocate_addresses): consider both r_addend and value at offset
	(make_mods_section): zerofill modinfo and header
	(convert_elf): write prefix here
2009-06-04 19:32:46 +00:00
phcoder
5389763d12 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
Use .asciz instead of .string

	* i386/pc/diskboot.S: use .asciz instead of .string
	* i386/pc/boot.S: likewise
	* include/grub/dl.h (GRUB_MOD_DEP): likewise
	(GRUB_MOD_NAME): likewise
2009-06-04 19:28:02 +00:00
phcoder
3eb5ed4ec0 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
gfxpayload support

	* commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
	* include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
	(grub_video_setup): remove
	(grub_video_set_mode): new prototype
	* loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
	(vid_mode): remove
	(linux_vesafb_res): compile only on PCBIOS
	(grub_linux_boot): support gfxpayload
	* loader/i386/pc/xnu.c (video_hook): new function
	(grub_xnu_set_video): support gfxpayload
	* term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
	(DEFAULT_VIDEO_HEIGHT): likewise
	(DEFAULT_VIDEO_FLAGS): likewise
	(DEFAULT_VIDEO_MODE): new definition
	(video_hook): new function
	(grub_gfxterm_init): use grub_video_set_mode
	* util/grub.d/30_os-prober.in: remove explicit modesetting before 
	loading xnu
	* video/video.c (grub_video_setup): removed
	(grub_video_set_mode): new function based on grub_gfxterm_init and 
	grub_video_setup
2009-06-04 18:22:45 +00:00
fzielcke
fd8c967c29 Update NEWS:
* Add `hdparm' command.
* Add support for getting the current date and time from CMOS as variables.
* Add `drivemap' command.
* Add support for RAID levels 4,6 and 10.
* Add support for lua scripts.
2009-06-04 17:58:25 +00:00
phcoder
4b0e1143bb 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
Avoid calling biosdisk in drivemap

	* commands/i386/pc/drivemap.c (parse_biosdisk): remove
	(revparse_biosdisk): likewise
	(list_mappings): derive name from id directly
	(grub_cmd_drivemap): use tryparse_diskstring
2009-06-04 16:56:29 +00:00
phcoder
fda6cb987f 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
Script fixes

	* include/grub/script_sh.h (grub_script_cmdline): remove cmdline
	(grub_lexer_param): add tokenonhold
	(grub_script_create_cmdline): remove cmdline. All callers updated
	(grub_script_function_create): make functionname
	grub_script_arg. All callers updated
	(grub_script_execute_argument_to_string): new prototype
	* kern/parser.c (state_transitions): reorder
	(grub_parser_cmdline_state): fix a bug and make more compact
	* script/sh/execute.c (grub_script_execute_argument_to_string): 
	make global
	(grub_script_execute_cmdline): use new format
	* script/sh/function.c (grub_script_function_create): make functionname
	grub_script_arg. All callers updated
	* script/sh/lexer.c (grub_script_lexer_init): initilaize tokenonhold
	(grub_script_yylex): remove
	(grub_script_yylex2): renamed to ...
	(grub_script_yylex): ...renamed
	parse the expressions like a${b}c
	* script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
	(GRUB_PARSER_TOKEN_VAR): remove
	(GRUB_PARSER_TOKEN_NAME): likewise
	("if"): declare as typeless
	("while"): likewise
	("function"): likewise
	("else"): likewise
	("then"): likewise
	("fi"): likewise
	(text): remove
	(argument): likewise
	(script): accept empty scripts and make exit on error
	(arguments): use GRUB_PARSER_TOKEN_ARG
	(function): likewise
	(command): move error handling to script
	(menuentry): move grub_script_lexer_ref before
	* script/sh/script.c (grub_script_create_cmdline): remove cmdline 
	argument. All callers updated
2009-06-04 16:18:35 +00:00
robertmh
f4448a0792 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
Prevent GRUB from probing floppies during boot.

        * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
        * commands/search.c (options): Add --no-floppy.
        (search_fs, search_file, grub_cmd_search): Support --no-floppy.
        * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
        --no-floppy when searching for UUIDs.
2009-06-04 11:37:44 +00:00
robertmh
2bf5885a3d 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
Simplify the code duplication in commands/search.c.

        * commands/search.c (search_label, search_fs_uuid): Merge into ...
        (search_fs): ... this.  Update all users.
2009-06-04 11:18:18 +00:00
fzielcke
f6fd460a40 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
* util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
2009-06-03 13:53:10 +00:00
fzielcke
57788cfdf6 2009-05-28 Pavel Roskin <proski@gnu.org>
* Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
	Remove the original symlink explicitly.

	* fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
	just one slash.  That's how grub_fshelp_find_file() does it.
2009-06-03 13:49:52 +00:00
fzielcke
cbb3c83ee4 2009-05-28 Pavel Roskin <proski@gnu.org>
* fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
	just one slash.  That's how grub_fshelp_find_file() does it.
2009-06-03 13:49:27 +00:00
proski
f0f8bbe243 2009-05-26 Pavel Roskin <proski@gnu.org>
* genmk.rb: Avoid shadowing variable `s', rename the outer `s'
	to `str'.
2009-05-26 23:19:42 +00:00
proski
cd0d5e3040 2009-05-26 Pavel Roskin <proski@gnu.org>
* util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
	possibly unused.
2009-05-26 20:47:00 +00:00
chrfranke
8c2cab5106 2009-05-25 Christian Franke <franke@computer.org>
* disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
	register.
	(grub_atapi_identify): Add wait after drive select.
	(grub_ata_identify): Do more strict status register check before
	calling grub_atapi_identify ().  Suppress error message if status
	register is 0x00 after command failure.  Add status register
	check after PIO read to avoid bogus identify due to stuck DRQ.
	Thanks to Pavel Roskin for testing.
	(grub_device_initialize): Remove unsafe status register check.
	Thanks to 'phcoder' for problem report and patch.
	Prevent sign extension in debug message.
2009-05-25 19:36:50 +00:00
cbennett
230c0ad633 2009-05-23 Colin D Bennett <colin@gibibit.com>
Cleaned up `include/grub/normal.h'.  Grouped prototypes by
	definition file, and functions defined in `normal/menu.c' have had
	their prototypes moved to `include/grub/menu.h' for consistency.

	* include/grub/menu.h (grub_menu_execute_callback): Added; moved
	from normal.h.
	(grub_menu_get_entry): Likewise.
	(grub_menu_get_timeout): Likewise.
	(grub_menu_set_timeout): Likewise.
	(grub_menu_execute_entry): Likewise.
	(grub_menu_execute_with_fallback): Likewise.
	(grub_menu_entry_run): Likewise.

	* include/grub/normal.h: Re-ordered and grouped function
	prototypes by file that the function is defined in.
	(grub_menu_execute_callback): Removed; moved to menu.h.
	(grub_menu_get_entry): Likewise.
	(grub_menu_get_timeout): Likewise.
	(grub_menu_set_timeout): Likewise.
	(grub_menu_execute_entry): Likewise.
	(grub_menu_execute_with_fallback): Likewise.
	(grub_menu_entry_run): Likewise.
	(grub_menu_addentry): Renamed from this ...
	(grub_normal_add_menu_entry): ... to this.

	* normal/main.c (grub_menu_addentry): Renamed from this ...
	(grub_normal_add_menu_entry): ... to this.

	* script/sh/execute.c (grub_script_execute_menuentry): Update
	reference to renamed grub_menu_addentry function.
2009-05-24 08:39:29 +00:00
fzielcke
861f03a5b9 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
* commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
2009-05-23 20:51:09 +00:00
proski
bf6a5fb2a8 2009-05-22 Pavel Roskin <proski@gnu.org>
* aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
	* configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG.  Define
	NESTED_FUNC_ATTR using AH_BOTTOM.  Use regparm(1) only when
	compiling for the i386 targets, but not for the utilities.
2009-05-22 21:15:31 +00:00
proski
96b1619a75 2009-05-22 Pavel Roskin <proski@gnu.org>
* include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
	to grub_uint8_t.
	(grub_root_drive): Likewise.
	* kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
	remove alignment.
	(grub_root_drive): Change size to byte.
	(grub_start_addr): Remove.
	(grub_end_addr): Likewise.
	(grub_apm_bios_info): Likewise.
2009-05-22 19:52:43 +00:00
fzielcke
b729776bfc 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
* normal/i386: Remove.
	* normal/powerpc: Likewise.
	* normal/sparc64: Likewise.
	* normal/x86_64: Likewise.
2009-05-21 20:36:52 +00:00
proski
d6da58e631 Fix spacing and excessively long lines 2009-05-19 22:51:50 +00:00
phcoder
0a15ce802c changelog 2009-05-19 15:24:51 +00:00
phcoder
76f3b6e6b9 ident 2009-05-19 15:24:48 +00:00
cbennett
33db90156a 2009-05-18 Colin D Bennett <colin@gibibit.com>
Display error messages when parsing a Lua statement fails.  Previously,
	executing a syntactically invalid statement like ")foo" or "bar;" would
	silently fail.

	* script/lua/grub_main.c (handle_lua_error): New function.
	(grub_lua_parse_line): Improved reporting of Lua parser and execution
	errors.
2009-05-18 21:53:09 +00:00
proski
18f547ad4d Spacing fixes 2009-05-18 13:52:36 +00:00
phcoder
46422c891e 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
Remove -Werror which causes build to fail on some systems

	* conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
	* conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
	* conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
2009-05-17 11:33:20 +00:00
phcoder
22f53a96fd 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
trampoline for linux on 64-bit platform

	* conf/x86_64-efi.rmk (linux_mod_SOURCES): added 
	loader/i386/efi/linux_trampoline.S 
	* include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed 
	declration
	* kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from here
	* loader/i386/linux_trampoline.S: moved here
	* loader/i386/efi/linux.c (allocate_pages): reserve space for trampoline
	(jumpvector): removed
	(grub_linux_trampoline_start): new declaration
	(grub_linux_trampoline_end): likewise
	(grub_linux_boot): use trampoline when on 64-bit platform
	* loader/i386/linux.c: likewise
2009-05-17 11:27:08 +00:00
proski
cb5a0f40a3 2009-05-16 Pavel Roskin <proski@gnu.org>
* script/lua/grub_lib.c (grub_lua_getenv): Make name and value
	const to avoid a warning.
	(grub_lua_setenv): Likewise.
	* script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
	lmsg to fix a warning.
2009-05-17 00:37:10 +00:00
fzielcke
7dd10fceb4 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
(setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
	* conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
	(setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
	* conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
	(setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
2009-05-16 17:32:32 +00:00
fzielcke
334f2c2858 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
* conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
	(setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS)
2009-05-16 17:22:32 +00:00
fzielcke
59e5d3ec80 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
* util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
2009-05-16 13:58:07 +00:00
bean
563075a527 2009-05-16 Bean <bean123ch@gmail.com>
* script/lua: Forgot to check in lua files.
2009-05-16 12:53:43 +00:00
bean
9d87a1ba36 2009-05-16 Bean <bean123ch@gmail.com>
* conf/common.rmk (pkglib_MODULES): Add lua.mod.
	(lua_mod_SOURCES): New variable.
	(lua_mod_CFLAGS): Likewise.
	(lua_mod_LDFLAGS): Likewise.

	* conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
	(setjmp_mod_SOURCES): New variable.
	(setjmp_mod_CFLAGS): Likewise.
	(setjmp_LDFLAGS): Likewise.

	* conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
	(setjmp_mod_SOURCES): New variable.
	(setjmp_mod_CFLAGS): Likewise.
	(setjmp_LDFLAGS): Likewise.

	* conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
	(setjmp_mod_SOURCES): New variable.
	(setjmp_mod_CFLAGS): Likewise.
	(setjmp_LDFLAGS): Likewise.

	* conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
	(setjmp_mod_SOURCES): New variable.
	(setjmp_mod_CFLAGS): Likewise.
	(setjmp_LDFLAGS): Likewise.

	* normal/i386/setjmp.S: Moved from here ...
	* lib/i386/setjmp.S: ... Moved here
	* normal/x86_64/setjmp.S: Moved from here ...
	* lib/x86_64/setjmp.S: ... Moved here
	* normal/powerpc/setjmp.S: Moved from here ...
	* lib/powerpc/setjmp.S: ... Moved here
	* normal/sparc64/setjmp.S: Moved from here ...
	* lib/sparc64/setjmp.S: ... Moved here

	* include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
	returns_twice in mingw.

	* script/lua/grub_lib.c: New file.
	* script/lua/grub_lib.h: Likewise.
	* script/lua/grub_lua.h: Likewise.
	* script/lua/grub_main.c: Likewise.
	* script/lua/lapi.c: Likewise.
	* script/lua/lapi.h: Likewise.
	* script/lua/lauxlib.c: Likewise.
	* script/lua/lauxlib.h: Likewise.
	* script/lua/lbaselib.c: Likewise.
	* script/lua/lcode.c: Likewise.
	* script/lua/lcode.h: Likewise.
	* script/lua/ldblib.c: Likewise.
	* script/lua/ldebug.c: Likewise.
	* script/lua/ldebug.h: Likewise.
	* script/lua/ldo.c: Likewise.
	* script/lua/ldo.h: Likewise.
	* script/lua/ldump.c: Likewise.
	* script/lua/lfunc.c: Likewise.
	* script/lua/lfunc.h: Likewise.
	* script/lua/lgc.c: Likewise.
	* script/lua/lgc.h: Likewise.
	* script/lua/linit.c: Likewise.
	* script/lua/liolib.c: Likewise.
	* script/lua/llex.c: Likewise.
	* script/lua/llex.h: Likewise.
	* script/lua/llimits.h: Likewise.
	* script/lua/lmathlib.c: Likewise.
	* script/lua/lmem.c: Likewise.
	* script/lua/lmem.h: Likewise.
	* script/lua/loadlib.c: Likewise.
	* script/lua/lobject.c: Likewise.
	* script/lua/lobject.h: Likewise.
	* script/lua/lopcodes.c: Likewise.
	* script/lua/lopcodes.h: Likewise.
	* script/lua/loslib.c: Likewise.
	* script/lua/lparser.c: Likewise.
	* script/lua/lparser.h: Likewise.
	* script/lua/lstate.c: Likewise.
	* script/lua/lstate.h: Likewise.
	* script/lua/lstring.c: Likewise.
	* script/lua/lstring.h: Likewise.
	* script/lua/lstrlib.c: Likewise.
	* script/lua/ltable.c: Likewise.
	* script/lua/ltable.h: Likewise.
	* script/lua/ltablib.c: Likewise.
	* script/lua/ltm.c: Likewise.
	* script/lua/ltm.h: Likewise.
	* script/lua/lua.h: Likewise.
	* script/lua/luaconf.h: Likewise.
	* script/lua/lualib.h: Likewise.
	* script/lua/lundump.c: Likewise.
	* script/lua/lundump.h: Likewise.
	* script/lua/lvm.c: Likewise.
	* script/lua/lvm.h: Likewise.
	* script/lua/lzio.c: Likewise.
	* script/lua/lzio.h: Likewise.
2009-05-16 12:46:24 +00:00
bean
5e898c9d71 2009-05-16 Bean <bean123ch@gmail.com>
* include/grub/kernel.h (grub_module_header_types): Add type
	OBJ_TYPE_CONFIG.

	* kern/main.c (grub_load_config): New function.
	(grub_main): Call grub_load_config to read boot config.

	* grub-mkimage (generate_image): New parameter config_path.
	(options): New option --config.
	(main): Parse --config option, and pass it to generate_image.
2009-05-16 12:12:12 +00:00
proski
5cb5c9c210 Remove incorrect comment that the code must be position independent. 2009-05-15 14:47:44 +00:00
chrfranke
cf353a4742 2009-05-14 Christian Franke <franke@computer.org>
* commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
	This fixes build on Cygwin.
2009-05-14 21:56:46 +00:00
proski
3834887fb2 2009-05-14 Pavel Roskin <proski@gnu.org>
* commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
	jump.  This saves two bytes, so the typical case of 2 swapped
	drives would fit 32 bytes.
2009-05-14 13:43:13 +00:00
proski
ac96388340 2009-05-13 Pavel Roskin <proski@gnu.org>
* loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
	grub_uint32_t to avoid a warning.
2009-05-14 03:59:10 +00:00
proski
8090fc012a 2009-05-13 Pavel Roskin <proski@gnu.org>
* loader/i386/linux.c (allocate_pages): When assigning
	real_mode_mem, cast through grub_size_t to fix a warning.  The
	code already makes sure that the value would fit a pointer.
	(grub_linux_setup_video): Cast render_target->data to
	grub_size_t to fix a warning.
2009-05-14 03:48:08 +00:00
proski
4246b8a9e8 2009-05-13 Javier Martín <lordhabbit@gmail.com>
* commands/i386/pc/drivemap.c: New file - implement drivemap
	command.
	* commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
	* conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
2009-05-14 01:23:49 +00:00
proski
6f6a8b2869 2009-05-13 Pavel Roskin <proski@gnu.org>
* util/i386/pc/grub-setup.c (setup): Remove unused variable
	embedding_area_exists.
2009-05-13 21:28:25 +00:00
robertmh
59978c8ae7 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
Improve warning messages for cases where there's no embedding area,
        or when it is too small (or core.img too large).
2009-05-13 21:13:11 +00:00
robertmh
667712d716 fix indentation for previous commit 2009-05-13 21:01:26 +00:00
robertmh
15fbf4c442 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
* util/i386/pc/grub-setup.c (setup): Restructure code flow to make
        it easier to understand / work with.
2009-05-13 20:59:45 +00:00
proski
0ab3a9a46d 2009-05-13 Pavel Roskin <proski@gnu.org>
* loader/i386/pc/multiboot2.c: Add necessary includes for
	grub_multiboot2_real_boot().
2009-05-13 20:52:35 +00:00
proski
a2c8c5f8f6 2009-05-13 Pavel Roskin <proski@gnu.org>
* fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
	PX record is always little-endian.  We only need the lower 2
	bytes of the mode.
2009-05-13 20:09:09 +00:00
proski
faec96afc8 2009-05-13 Pavel Roskin <proski@gnu.org>
* fs/cpio.c: Use the same name "struct head" for tar and cpio to
	facilitate code reuse.
	(grub_cpio_mount): Use "struct head", not a char buffer.  This
	fixes a warning reported by gcc 4.4.
2009-05-13 19:16:55 +00:00
proski
238e871fff 2009-05-13 Pavel Roskin <proski@gnu.org>
* kernel/disk.c (grub_disk_read): Use void pointer for the
	buffer.
	(grub_disk_write): Use const void pointer for the buffer.
	Adjust all callers.  Remove unnecessary casts.
2009-05-13 18:58:38 +00:00
robertmh
901d2f0c27 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
* util/i386/pc/grub-install.in: Update copyright year.
2009-05-10 15:43:58 +00:00
phcoder
2eac4c1611 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
gptsync

	* commands/gptsync.c: new file
	* conf/common.rmk (pkglib_MODULES): add gptsync.mod
	(gptsync_mod_SOURCES): new variable
	(gptsync_mod_CFLAGS): likewise
	(gptsync_mod_LDFLAGS): likewise
	* include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS): 
	new definition
	(GRUB_PC_PARTITION_TYPE_HFS): likewise
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
	* conf/i386-ieee1275.rmk: likewise
	* conf/i386-pc.rmk: likewise
	* conf/powerpc-ieee1275.rmk: likewise
2009-05-09 11:04:08 +00:00
phcoder
b4ba690abd 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
Fixed grub-emu

	* kern/dl.c (grub_dl_ref): omit when compiling grub-emu
	(grub_dl_ref): likewise
2009-05-09 10:58:43 +00:00