]> git.proxmox.com Git - grub2.git/log
grub2.git
14 years ago* configure.ac: Define some useful variables.
Yves Blusseau [Wed, 8 Sep 2010 15:19:27 +0000 (17:19 +0200)]
* configure.ac: Define some useful variables.

14 years ago * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
Vladimir 'phcoder' Serbinenko [Wed, 8 Sep 2010 14:15:57 +0000 (16:15 +0200)]
* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
* grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
Use terminfo and don't use cursor-on/cursor-off unless it's known
to work.
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.

14 years ago* grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
Colin Watson [Wed, 8 Sep 2010 12:53:47 +0000 (13:53 +0100)]
* grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
starts with "(,", fill the drive containing the loaded image in
between those two characters, but expect that a full partition
specification including partition map names will follow.

14 years ago2010-09-08 Robert Millan <rmh@gnu.org>
Robert Millan [Wed, 8 Sep 2010 12:37:19 +0000 (14:37 +0200)]
2010-09-08  Robert Millan  <rmh@gnu.org>

* configure.ac: Remove `--enable-grub-fstest' option.
* Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.

* util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
`grub-fstest' instead of `grub-probe' for readability verification.
* util/grub-probe.c (probe): Remove readability verification kludge.

14 years ago2010-09-08 Robert Millan <rmh@gnu.org>
Robert Millan [Wed, 8 Sep 2010 12:29:32 +0000 (14:29 +0200)]
2010-09-08  Robert Millan  <rmh@gnu.org>

* util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
initializing `GRUB_FS'.

14 years agoRemove conf/*.mk
Robert Millan [Wed, 8 Sep 2010 11:13:15 +0000 (13:13 +0200)]
Remove conf/*.mk

14 years ago Not command (!) support to GRUB script.
bvk.groups@gmail.com [Wed, 8 Sep 2010 03:51:02 +0000 (09:21 +0530)]
Not command (!) support to GRUB script.

* tests/grub_script_not.in: New test.
* Makefile.util.def: Rules for new test.

* grub-core/script/execute.c (grub_script_execute_cmdline): Handle
! command as a special case.
* grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.

14 years agoupdate grub_errno as per the return value
bvk.groups@gmail.com [Tue, 7 Sep 2010 16:16:04 +0000 (21:46 +0530)]
update grub_errno as per the return value

14 years agomerge with mainline
bvk.groups@gmail.com [Tue, 7 Sep 2010 16:15:34 +0000 (21:45 +0530)]
merge with mainline

14 years ago * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
bvk.groups@gmail.com [Tue, 7 Sep 2010 11:46:03 +0000 (17:16 +0530)]
* grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
grub_free.

14 years ago * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
bvk.groups@gmail.com [Tue, 7 Sep 2010 05:30:37 +0000 (11:00 +0530)]
* docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.

14 years ago * docs/grub.texi (Shell-like scripting): Documentation for break,
bvk.groups@gmail.com [Tue, 7 Sep 2010 04:09:14 +0000 (09:39 +0530)]
* docs/grub.texi (Shell-like scripting): Documentation for break,
continue, shift and return commands.

14 years agomerge with mainline
bvk.groups@gmail.com [Tue, 7 Sep 2010 04:05:57 +0000 (09:35 +0530)]
merge with mainline

14 years agodocumentation for some grub-script features
bvk.groups@gmail.com [Tue, 7 Sep 2010 04:03:29 +0000 (09:33 +0530)]
documentation for some grub-script features

14 years ago Rename CD-ROM to cd on BIOS.
Vladimir 'phcoder' Serbinenko [Mon, 6 Sep 2010 07:35:35 +0000 (09:35 +0200)]
Rename CD-ROM to cd on BIOS.

* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
"cd".
(grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.

14 years ago * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
Vladimir 'phcoder' Serbinenko [Sun, 5 Sep 2010 21:24:57 +0000 (23:24 +0200)]
* grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
* util/grub-probe.c (main): Likewise.
* util/i386/pc/grub-setup.c (main): Likewise.
* util/sparc64/ieee1275/grub-setup.c (main): Likewise.
Reported and debugged by: alexxy

14 years ago * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
Vladimir 'phcoder' Serbinenko [Sun, 5 Sep 2010 21:20:13 +0000 (23:20 +0200)]
* grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
diagnostic info.

14 years ago * util/grub.d/30_os-prober.in: Add missing classes.
Jo Shields [Sun, 5 Sep 2010 20:43:43 +0000 (22:43 +0200)]
* util/grub.d/30_os-prober.in: Add missing classes.

14 years ago * docs/grub.texi (Theme file format): Document new position format.
Vladimir 'phcoder' Serbinenko [Sun, 5 Sep 2010 18:33:03 +0000 (20:33 +0200)]
* docs/grub.texi (Theme file format): Document new position format.

14 years ago * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
Vladimir 'phcoder' Serbinenko [Sun, 5 Sep 2010 18:17:34 +0000 (20:17 +0200)]
* docs/grub.texi (Theme file format): Replace Box_slice_names.png with
a table. Use @code instead of @verbatim.

14 years ago Gfxmenu documentation.
Colin D Bennett [Sun, 5 Sep 2010 18:04:10 +0000 (20:04 +0200)]
Gfxmenu documentation.

* docs/grub.texi (Theme file format): New chapter.

14 years ago * grub-core/Makefile.core.def (xzio): New module.
Szymon Janc [Sun, 5 Sep 2010 15:12:13 +0000 (17:12 +0200)]
* grub-core/Makefile.core.def (xzio): New module.
* grub-core/io/xzio.c: New file.
* grub-core/lib/xzembed/xz.h: New file (from xembed).
* grub-core/lib/xzembed/xz_config.h: Likewise.
* grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
* grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
* grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
* grub-core/lib/xzembed/xz_lzma2.h: Likewise.
* grub-core/lib/xzembed/xz_private.h: Likewise.
* grub-core/lib/xzembed/xz_stream.h: Likewise.
* include/grub/file.h (grub_file_filter_id): New compression filter
GRUB_FILE_FILTER_XZIO.

14 years ago * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
Vladimir 'phcoder' Serbinenko [Sun, 5 Sep 2010 15:01:16 +0000 (17:01 +0200)]
* include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
* grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
size.

14 years ago * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
Vladimir 'phcoder' Serbinenko [Sun, 5 Sep 2010 14:55:49 +0000 (16:55 +0200)]
* include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.

14 years ago Uncompressed checksum support.
Vladimir 'phcoder' Serbinenko [Sun, 5 Sep 2010 14:48:54 +0000 (16:48 +0200)]
Uncompressed checksum support.

* grub-core/commands/hashsum.c (options): Add option --uncompress.
(check_list): New parameter uncompress.
(grub_cmd_hashsum): Handle --uncompress.

14 years agoAdd missing ChangeLog entry
Vladimir 'phcoder' Serbinenko [Sun, 5 Sep 2010 14:43:31 +0000 (16:43 +0200)]
Add missing ChangeLog entry

14 years ago Reintroduce testload.
Vladimir 'phcoder' Serbinenko [Sun, 5 Sep 2010 14:40:41 +0000 (16:40 +0200)]
Reintroduce testload.

* grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
from here ...
* grub-core/commands/testload.c (grub_cmd_testload): ... here.
(GRUB_MOD_INIT): New function.
(GRUB_MOD_FINI): Likewise.
* grub-core/Makefile.core.def (testload): New module.

14 years ago * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
Szymon Janc [Sun, 5 Sep 2010 12:24:39 +0000 (14:24 +0200)]
* grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
(uint8_t): New type.
(uint16_t): Likewise.
(uint32_t): Likewise.
(uint64_t): Likewise.

14 years ago * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
Szymon Janc [Sun, 5 Sep 2010 12:18:31 +0000 (14:18 +0200)]
* include/grub/crypto.h (GRUB_MD_CRC32): New definition.

14 years ago * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
Vladimir 'phcoder' Serbinenko [Sun, 5 Sep 2010 11:05:36 +0000 (13:05 +0200)]
* grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
Made static.
(grub_gzfile_open): Removed. All users updated.
(GRUB_MOD_INIT): New function.
(GRUB_MOD_FINI): Likewise.
* grub-core/kern/file.c (grub_file_filters_all): New variable.
(grub_file_filters_enabled): Likewise.
(grub_file_open): Handle filters.
* grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
* grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
* include/grub/file.h (grub_file_filter_id_t): New type.
(grub_file_filter_t): Likewise.
(grub_file_filters_all): New extern variable.
(grub_file_filters_enabled): Likewise.
(grub_file_filter_register): New inline function.
(grub_file_filter_unregister): Likewise.
(grub_file_filter_disable): Likewise.
(grub_file_filter_disable_compression): Likewise.
* include/grub/gzio.h: Removed.

14 years agonot command (!) support
BVK Chaitanya [Sun, 5 Sep 2010 09:27:28 +0000 (14:57 +0530)]
not command (!) support

14 years ago Filename expansion support for wildcards in GRUB script.
BVK Chaitanya [Sat, 4 Sep 2010 17:15:34 +0000 (22:45 +0530)]
Filename expansion support for wildcards in GRUB script.

* tests/grub_script_expansion.in: New test.
* Makefile.util.def: Rule for new test.

* grub-core/commands/wildcard.c: New file, implements filename
expansion support for GRUB script.
* grub-core/Makefile.core.def: Rule update for regexp.mod.
* grub-core/script/argv.c: Cosmetic changes.
* grub-core/script/execute.c (grub_script_arglist_to_argv):
Refactored to perform wildcard expansion on arguments.
* include/grub/script_sh.h (grub_script_wildcard_translator): New
struct.

* tests/util/grub-shell.in: Fix quoting for read input.

14 years agomerge with mainline
BVK Chaitanya [Sat, 4 Sep 2010 17:04:32 +0000 (22:34 +0530)]
merge with mainline

14 years ago Support for updating environment variables with matched substrings
BVK Chaitanya [Sat, 4 Sep 2010 16:49:58 +0000 (22:19 +0530)]
Support for updating environment variables with matched substrings
of regexp.

* tests/grub_cmd_regexp.in: New test.
* Makefile.util.def: Rule for new test.

* grub-core/commands/regexp.c: New option -s to update environment
variables with regexp matches.

14 years agomerge with mainline
BVK Chaitanya [Sat, 4 Sep 2010 16:43:45 +0000 (22:13 +0530)]
merge with mainline

14 years ago * include/grub/file.h (grub_file): New member not_easly_seekable.
Szymon Janc [Sat, 4 Sep 2010 16:28:42 +0000 (18:28 +0200)]
* include/grub/file.h (grub_file): New member not_easly_seekable.
(grub_file_seekable): New inline function.
* grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
easily seekable.
(grub_gzio_open): Set not_easly_seekable.
* grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
* grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.

14 years ago Support for options to appear multiple times on cmdline.
BVK Chaitanya [Sat, 4 Sep 2010 16:13:54 +0000 (21:43 +0530)]
Support for options to appear multiple times on cmdline.

* include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
* grub-core/commands/extcmd.c: Support for repeatable option.
* grub-core/lib/arg.c (grub_arg_list_alloc): New function for
repeatable option support.

Refactor menuentry into a regular command.

* grub-core/commands/menuentry.c: New file, menuentry command
implementation.
* grub-core/Makefile.core.def: Rule update for normal.mod.
* grub-core/normal/main.c: Moved menuentry creation to
grub-core/commands/menuentry.c.
* grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
(grub_menu_execute_entry_real): Removed.
* grub-core/script/execute.c (grub_script_execute_sourcecode): New
function.
(grub_script_execute_menuentry): Removed.
* grub-core/script/parser.y (menuentry): Removed.
* grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
* grub-core/script/yylex.l (menuentry): Removed.
* include/grub/menu.h (grub_menu_init): New prototype.
(grub_menu_fini): New prototype.
* include/grub/normal.h (grub_normal_add_menu_entry): Removed.
* include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
(grub_script_execute_sourcecode): New prototype.

14 years agomerge with mainline
BVK Chaitanya [Sat, 4 Sep 2010 15:32:48 +0000 (21:02 +0530)]
merge with mainline

14 years ago "return" command for GRUB script functions.
BVK Chaitanya [Sat, 4 Sep 2010 15:23:09 +0000 (20:53 +0530)]
"return" command for GRUB script functions.

* tests/grub_script_return.in: New test.
* Makefile.util.def: Rules for new test.

* grub-core/script/execute.c (grub_script_return): New function.
* grub-core/script/main.c: Register/unregister return commaond.
* include/grub/script_sh.h (grub_script_return): New prototype.

14 years agomerge with mainline
BVK Chaitanya [Sat, 4 Sep 2010 15:14:44 +0000 (20:44 +0530)]
merge with mainline

14 years ago "setparams" command to update positional parameters.
BVK Chaitanya [Sat, 4 Sep 2010 14:57:48 +0000 (20:27 +0530)]
"setparams" command to update positional parameters.

* tests/grub_script_setparams.in: New test.
* Makefile.util.def: Rules for new test.

* grub-core/script/argv.c (grub_script_argv_make): New function.
* grub-core/script/execute.c (replace_scope): New function.
(grub_script_setparams): New function.
* grub-core/script/lexer.c: Remove unused variables.
* grub-core/script/main.c: Register/unregister setparams command.
* include/grub/script_sh.h (grub_script_argv_make): New prototype.
(grub_script_setparams): New prototype.

14 years agomerge with mainline
BVK Chaitanya [Sat, 4 Sep 2010 09:11:08 +0000 (14:41 +0530)]
merge with mainline

14 years agoreview comments
BVK Chaitanya [Sat, 4 Sep 2010 09:02:59 +0000 (14:32 +0530)]
review comments

14 years agomerge with mainline
BVK Chaitanya [Sat, 4 Sep 2010 09:00:12 +0000 (14:30 +0530)]
merge with mainline

14 years agofix memory leak and out-of-range writes
BVK Chaitanya [Sat, 4 Sep 2010 08:52:51 +0000 (14:22 +0530)]
fix memory leak and out-of-range writes

14 years agomerge with mainline
BVK Chaitanya [Sat, 4 Sep 2010 08:51:56 +0000 (14:21 +0530)]
merge with mainline

14 years ago * grub-core/normal/completion.c (grub_normal_do_completion): Fix
BVK Chaitanya [Sat, 4 Sep 2010 08:49:04 +0000 (14:19 +0530)]
* grub-core/normal/completion.c (grub_normal_do_completion): Fix
grub_free order.

14 years agomerge with mainline
BVK Chaitanya [Sat, 4 Sep 2010 06:19:02 +0000 (11:49 +0530)]
merge with mainline

14 years agomerge with mainline
BVK Chaitanya [Sat, 4 Sep 2010 06:07:59 +0000 (11:37 +0530)]
merge with mainline

14 years agomerge with mainline
BVK Chaitanya [Sat, 4 Sep 2010 05:58:45 +0000 (11:28 +0530)]
merge with mainline

14 years agomerge with mainline
BVK Chaitanya [Sat, 4 Sep 2010 05:26:23 +0000 (10:56 +0530)]
merge with mainline

14 years ago Support for passing block of commands as an argument to
BVK Chaitanya [Sat, 4 Sep 2010 03:43:30 +0000 (09:13 +0530)]
Support for passing block of commands as an argument to
extcmds.

* Makefile.util.def: Rules for new test.
* tests/grub_script_blockarg.in: New test.
* grub-core/tests/test_blockarg.c: New file, block argument
command used in the test.

* include/grub/extcmd.h (grub_extcmd_context): New struct.
(grub_register_extcmd_prio): New function prototype.
(grub_extcmd_dispatcher): New function prototype.
* include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
type.
* include/grub/script_sh.h (struct grub_script): New members
`children', `next_siblings' and `refcnt' for block arguments and
reference counting.
(GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
(grub_script_arg): New member `script' for block argument.
(grub_script_argv): New member `script' for block argument.
(grub_parser_param): New member `scripts' for block argument.
(grub_script_mem_free): New extern function prototype.
(grub_script_ref): New function prototype.
(grub_script_unref): New function prototype.

* grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
extcmd form to support block arguments.
* grub-core/script/argv.c: Block arguments support.
* grub-core/script/execute.c: Likewise.
* grub-core/script/lexer.c: Likewise.
* grub-core/script/main.c: Likewise.
* grub-core/script/script.c: Likewise.
* grub-core/script/parser.y: Likewise.  New `block' and `block0'
non-terminals.

* grub-core/commands/acpi.c: Update extcmd implementations with
grub_extcmd_context_t.
* grub-core/commands/cat.c: Likewise.
* grub-core/commands/echo.c: Likewise.
* grub-core/commands/extcmd.c: Likewise.
* grub-core/commands/hashsum.c: Likewise.
* grub-core/commands/hdparm.c: Likewise.
* grub-core/commands/help.c: Likewise.
* grub-core/commands/hexdump.c: Likewise.
* grub-core/commands/i386/cpuid.c: Likewise.
* grub-core/commands/i386/pc/drivemap.c: Likewise.
* grub-core/commands/i386/pc/halt.c: Likewise.
* grub-core/commands/i386/pc/sendkey.c: Likewise.
* grub-core/commands/iorw.c: Likewise.
* grub-core/commands/keystatus.c: Likewise.
* grub-core/commands/loadenv.c: Likewise.
* grub-core/commands/ls.c: Likewise.
* grub-core/commands/lspci.c: Likewise.
* grub-core/commands/memrw.c: Likewise.
* grub-core/commands/probe.c: Likewise.
* grub-core/commands/search_wrap.c: Likewise.
* grub-core/commands/setpci.c: Likewise.
* grub-core/commands/sleep.c: Likewise.
* grub-core/disk/loopback.c: Likewise.
* grub-core/hello/hello.c: Likewise.
* grub-core/loader/i386/bsd.c: Likewise.
* grub-core/loader/xnu.c: Likewise.
* grub-core/term/gfxterm.c: Likewise.
* grub-core/term/serial.c: Likewise.
* grub-core/tests/lib/functional_test.c: Likewise.

14 years agomerge with mainline
BVK Chaitanya [Sat, 4 Sep 2010 03:35:21 +0000 (09:05 +0530)]
merge with mainline

14 years ago Multi-line quoted strings support.
BVK Chaitanya [Sat, 4 Sep 2010 03:13:35 +0000 (08:43 +0530)]
Multi-line quoted strings support.

* grub-core/script/lexer.c (append_newline): Removed.
(grub_script_lexer_yywrap): Refactored.
(grub_script_lexer_init): Refactored.
* grub-core/script/yylex.l (yywrap): New function.
(grub_lexer_resplit): New function.
(grub_lexer_unput): New function.
* include/grub/script_sh.h (grub_lexer_param): New members, unput
and resplit.
* tests/grub_script_echo1.in: Added few more testcases.

14 years agomerge with mainline
BVK Chaitanya [Sat, 4 Sep 2010 03:03:42 +0000 (08:33 +0530)]
merge with mainline

14 years ago--source option for menuentry
BVK Chaitanya [Sat, 4 Sep 2010 02:44:50 +0000 (08:14 +0530)]
--source option for menuentry

14 years ago * grub-core/kern/misc.c: Don't add abort alias in utils.
Vladimir 'phcoder' Serbinenko [Sat, 4 Sep 2010 00:18:48 +0000 (02:18 +0200)]
* grub-core/kern/misc.c: Don't add abort alias in utils.
Reported by: echoline.

14 years agoadd setparams prefix
BVK Chaitanya [Fri, 3 Sep 2010 16:58:16 +0000 (22:28 +0530)]
add setparams prefix

14 years ago Add missing files into "make dist" tarball for other platforms.
BVK Chaitanya [Fri, 3 Sep 2010 15:53:00 +0000 (21:23 +0530)]
Add missing files into "make dist" tarball for other platforms.

* gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
* conf/Makefile.common (dist_noinst_DATA): New variable.
* conf/Makefile.extra-dist: Added missing make dist files.
* grub-core/Makefile.core.def: Likewise.

14 years agomerge menuentry.mod into normal.mod
BVK Chaitanya [Fri, 3 Sep 2010 15:38:12 +0000 (21:08 +0530)]
merge menuentry.mod into normal.mod

14 years agofix hotkey handling
BVK Chaitanya [Fri, 3 Sep 2010 15:23:38 +0000 (20:53 +0530)]
fix hotkey handling

14 years agoreview comments
BVK Chaitanya [Fri, 3 Sep 2010 15:05:23 +0000 (20:35 +0530)]
review comments

14 years agomerge with mainline
BVK Chaitanya [Fri, 3 Sep 2010 14:36:57 +0000 (20:06 +0530)]
merge with mainline

14 years ago Compress grub_prefix.
Vladimir 'phcoder' Serbinenko [Fri, 3 Sep 2010 12:54:04 +0000 (14:54 +0200)]
Compress grub_prefix.

* grub-core/boot/i386/pc/lnxboot.S: Use
GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
* grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
* include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
GRUB_MACHINE_PREFIX_END. All users updated.
(GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
(GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
+ 0x40.
(GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
* util/grub-mkimage.c (image_target_desc): Change data_end to
prefix_end. All users updated.

14 years ago * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
Vladimir 'phcoder' Serbinenko [Fri, 3 Sep 2010 12:05:19 +0000 (14:05 +0200)]
* grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
value.
(grub_openbsd_boot): Likewise.
(grub_netbsd_boot): Likewise.
* grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
(grub_xnu_boot): Likewise.

14 years ago * configure.ac: Clean LIBS variable after tests.
Vladimir 'phcoder' Serbinenko [Fri, 3 Sep 2010 01:26:22 +0000 (03:26 +0200)]
* configure.ac: Clean LIBS variable after tests.

14 years ago* INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
Colin Watson [Thu, 2 Sep 2010 22:57:21 +0000 (23:57 +0100)]
* INSTALL: Document that libdevmapper needs to be 1.02.34 or later.

14 years ago * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
Vladimir 'phcoder' Serbinenko [Thu, 2 Sep 2010 22:53:41 +0000 (00:53 +0200)]
* configure.ac: Check for dm_log_with_errno_init in libdevmapper and
echo if libdevmapper will be used.

14 years ago * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
Ian Turner [Thu, 2 Sep 2010 21:59:27 +0000 (23:59 +0200)]
* grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
constant for the same file.

14 years ago * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
Vladimir 'phcoder' Serbinenko [Thu, 2 Sep 2010 21:50:07 +0000 (23:50 +0200)]
* grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.

14 years ago* .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
Colin Watson [Thu, 2 Sep 2010 21:42:36 +0000 (22:42 +0100)]
* .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
grub-core/*.pp.

14 years agoZero %ebp and %edi when entering Linux's 32-bit entry point, as
Colin Watson [Thu, 2 Sep 2010 21:36:09 +0000 (22:36 +0100)]
Zero %ebp and %edi when entering Linux's 32-bit entry point, as
required by the boot protocol.
* include/grub/i386/relocator.h (struct grub_relocator32_state): Add
ebp and edi members.
* grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
state.ebp and state.edi.
* grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
%ebp and %edi according to grub_relocator32_ebp and
grub_relocator32_edi respectively.
* grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
and state.edi.

14 years ago Add i386-pc-pxe image target.
Vladimir 'phcoder' Serbinenko [Thu, 2 Sep 2010 14:07:52 +0000 (16:07 +0200)]
Add i386-pc-pxe image target.

* util/grub-mkimage.c (image_target_desc): New enum value
IMAGE_I386_PC_PXE.
(image_targets): New target i386-pc-pxe.
(generate_image): Handle i386-pc-pxe image.

14 years ago Fix grub_pxe_scan.
Vladimir 'phcoder' Serbinenko [Thu, 2 Sep 2010 13:47:03 +0000 (15:47 +0200)]
Fix grub_pxe_scan.

* grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
(grub_pxe_scan): Fix types and pxe_rm_entry computation.
All users updated.
* include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
(grub_pxe_pxenv): Correct type.

14 years ago* NEWS: Document most of the important changes since 1.98.
Colin Watson [Wed, 1 Sep 2010 17:15:46 +0000 (18:15 +0100)]
* NEWS: Document most of the important changes since 1.98.

14 years ago* util/grub-mkrescue.in (usage): Tidy up usage output (and hence
Colin Watson [Wed, 1 Sep 2010 09:32:34 +0000 (10:32 +0100)]
* util/grub-mkrescue.in (usage): Tidy up usage output (and hence
generated manual page) a little.

14 years ago* docs/grub.texi: Add myself as an author.
Colin Watson [Wed, 1 Sep 2010 09:29:30 +0000 (10:29 +0100)]
* docs/grub.texi: Add myself as an author.

14 years ago * Makefile.util.def (libgrub.a): Add missing sunpc.
Vladimir 'phcoder' Serbinenko [Tue, 31 Aug 2010 23:09:00 +0000 (01:09 +0200)]
* Makefile.util.def (libgrub.a): Add missing sunpc.
Reported by: Seth Goldberg.

14 years ago Interrupt wrapping and code simplifications.
Vladimir 'phcoder' Serbinenko [Mon, 30 Aug 2010 20:02:58 +0000 (22:02 +0200)]
Interrupt wrapping and code simplifications.

* Makefile.util.def (grub-mkrescue): Use x86 tg instead of
x86_noieee1275 which are functionaly equivalent in this case.
(grub-install): Make source on each platform explicit. Enable on
all noemu.
* gentpl.py (x86_efi_pc): Removed group.
(x86_noefi): Likewise.
(i386_noefi): Likewise.
(x86_noieee1275): Likewise.
(i386_noieee1275): Likewise.
(i386_noefi_noieee1275): Likewise.
(i386_pc_qemu_coreboot): Likewise.
(i386_coreboot_multiboot): Likewise.
(i386_pc_coreboot_multiboot_qemu): Likewise.
(x86_noefi_mips): Likewise.
(noieee1275): Likewise.
(ieee1275_mips): Likewise.
(noemu_noieee1275): Likewise.
(cmos): New group.
(usb): Likewise.
(videoinkernel): Likewise.
(videomodules): Likewise.
* grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
include/grub/loader.h, include/grub/msdos_partition.h,
include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
include/grub/machine/console.h, include/grub/machine/vga.h,
include/grub/machine/vbe.h, include/grub/machine/init.h,
include/grub/machine/kernel.h, include/grub/cpu/time.h,
include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
(KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
(KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
* grub-core/Makefile.core.def (kernel): Explicit the source for
startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
Use videoinkernel tag.
(usb): Enable on all usb.
(usbserial_common): Likewise.
(usbserial_pl2303): Likewise.
(usbserial_ftdi): Likewise.
(uhci): Enable on all x86.
(ohci): Enable on all pci.
(cmostest): Enable on all CMOS.
(acpi): Include commands/acpi.c on all platforms.
(halt): Add relevant lib/*/halt.c.
(hdparm): Enable on all pci.
(lspci): Likewise.
(usbtest): Enable on all usb.
(ata): Enable on all pci.
(ata_pthru): Likewise.
(usbms): Enable on all usb.
(usb_keyboard): Likewise.
(font): Use tag videomodules.
(bufio): Likewise.
(datetime): Use tag cmos. Enable on all noemu.
(mmap): Use tags common and x86.
(gfxterm): Use tag videomodules.
(bitmap): Likewise.
(bitmap_scale): Likewise.
(video_fb): Likewise.
(video): Likewise.
* grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
adjust padding accordingly. All users updated.
(grub_ohci_transaction): Fix bad format specification.
(GRUB_MOD_INIT): Add asserts for struct size.
* grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
(grub_alloc_td): Likewise.
(grub_free_queue): Likewise.
(grub_uhci_transfer): Likewise.
(grub_uhci_transaction): Fix bad format specification.
* grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
(grub_usb_bulk_readwrite): Likewise.
* grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
* grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
Made static.
* grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
Made static.
* grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
* grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
Transformed into C.
* grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
Moved from here ...
* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
... here. Transformed into C. Made static.
* grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
Moved from here ...
* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
... here. Transformed into C. Made static.
* grub-core/kern/i386/pc/startup.S
(grub_biosdisk_check_int13_extensions): Moved from here ...
* grub-core/disk/i386/pc/biosdisk.c
(grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
Made static.
* grub-core/kern/i386/pc/startup.S
(grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
* grub-core/disk/i386/pc/biosdisk.c
(grub_biosdisk_get_cdinfo_int13_extensions): ... here.
Transformed into C. Made static.
* grub-core/kern/i386/pc/startup.S
(grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
* grub-core/disk/i386/pc/biosdisk.c
(grub_biosdisk_get_diskinfo_int13_extensions): ... here.
Transformed into C. Made static.
* grub-core/kern/i386/pc/startup.S
(grub_biosdisk_get_diskinfo_standard): Moved from here ...
* grub-core/disk/i386/pc/biosdisk.c
(grub_biosdisk_get_diskinfo_standard): ... here.
Transformed into C. Made static.
* grub-core/kern/i386/pc/startup.S
(grub_biosdisk_get_num_floppies): Moved from here ...
* grub-core/disk/i386/pc/biosdisk.c
(grub_biosdisk_get_num_floppies): ... here.
Transformed into C. Made static.
* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
New function.
* grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
* grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
Transformed into C. Made static.
* grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
* grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
Transformed into C. Made static.
* grub-core/kern/i386/ieee1275/init.c: Removed.
* grub-core/kern/i386/misc.S: Likewise.
* grub-core/kern/i386/pc/startup.S (grub_get_memsize):
Splitted from here ...
* grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
Transformed into C. Made static. All users updated.
* grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
Transformed into C. Made static. All users updated.
* grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
Moved from here...
* grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
Transformed into C. Made static. All users updated.
* grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
Moved from here...
* grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
Transformed into C. Made static. All users updated.
* grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
Removed (replaced by C version).
* grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
Moved from here...
* grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
Transformed into C. Made static.
* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
Moved from here...
* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
... here. Transformed into C.
* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
Moved from here...
* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
... here. Transformed into C.
* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
Moved from here...
* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
... here. Transformed into C. Made static.
* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
Moved from here...
* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
... here. Transformed into C.
* grub-core/kern/i386/pc/startup.S
(grub_vbe_bios_getset_dac_palette_width):Moved from here...
* grub-core/video/i386/pc/vbe.c
(grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
Moved from here...
* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
... here. Transformed into C.
* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
Moved from here...
* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
... here. Transformed into C.
* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
Moved from here...
* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
... here. Transformed into C.
* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
Moved from here...
* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
... here. Transformed into C.
* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
Moved from here...
* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
... here. Transformed into C. Made static.
* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
Moved from here...
* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
... here. Transformed into C. Made static.
* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
Moved from here...
* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
... here. Transformed into C. Made static.
* grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
pxe_rm_entry as third argument.
(grub_bios_interrupt): New function.
* grub-core/kern/i386/qemu/mmap.c: Remove useless include.
* grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
of calling grub_stop.
* grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
* grub-core/lib/efi/halt.c (grub_halt): ...here.
* grub-core/kern/emu/main.c (grub_halt): Moved from here ...
* grub-core/lib/emu/halt.c (grub_halt): ... here.
* grub-core/lib/i386/halt.c: Moved from here ...
* grub-core/lib/i386/halt.c: ... here.
* grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
* grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
* grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
grub_stop_floppy.
* grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
* include/grub/i386/coreboot/init.h: Removed.
* include/grub/i386/multiboot/init.h: Likewise.
* include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
* include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
* include/grub/i386/pc/int.h: New file.
* include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
(grub_pxe_scan): Removed.
(grub_pxe_call): Update prototype.
* include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
prototypes.
* include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
* include/grub/i386/qemu/init.h: Removed.
* include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
noreturn.
(grub_halt): Likewise.
* include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
(grub_reboot): Likewise.
* grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
* include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
* grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.

14 years ago2010-08-30 Robert Millan <rmh@gnu.org>
Robert Millan [Mon, 30 Aug 2010 19:55:10 +0000 (21:55 +0200)]
2010-08-30  Robert Millan  <rmh@gnu.org>

* NEWS: Document addition of ZFS support in `grub-install' and
`grub-mkconfig'.

14 years ago Remove leftover embedding of font objects.
Vladimir 'phcoder' Serbinenko [Mon, 30 Aug 2010 18:23:04 +0000 (20:23 +0200)]
Remove leftover embedding of font objects.

* include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
* util/grub-install.in (font): Removed.
* util/grub-mkimage.c (generate_image): Remove font support. All users
updated.

14 years agoAdd ChangeLog
Vladimir 'phcoder' Serbinenko [Mon, 30 Aug 2010 14:28:01 +0000 (16:28 +0200)]
Add ChangeLog

14 years agoRemove useless prototypes
Vladimir 'phcoder' Serbinenko [Mon, 30 Aug 2010 14:26:05 +0000 (16:26 +0200)]
Remove useless prototypes

14 years agoAdd missing noreturn
Vladimir 'phcoder' Serbinenko [Mon, 30 Aug 2010 14:25:39 +0000 (16:25 +0200)]
Add missing noreturn

14 years agoFix alignment and add explicit assert for td and ed size
Vladimir 'phcoder' Serbinenko [Mon, 30 Aug 2010 14:25:14 +0000 (16:25 +0200)]
Fix alignment and add explicit assert for td and ed size

14 years agoDimplify tags and enable USB on more platforms
Vladimir 'phcoder' Serbinenko [Mon, 30 Aug 2010 13:13:38 +0000 (15:13 +0200)]
Dimplify tags and enable USB on more platforms

14 years agoremove leading / in dprintf output
BVK Chaitanya [Mon, 30 Aug 2010 04:07:35 +0000 (09:37 +0530)]
remove leading / in dprintf output

14 years agomerge mainline into intwrap
Vladimir 'phcoder' Serbinenko [Mon, 30 Aug 2010 01:26:09 +0000 (03:26 +0200)]
merge mainline into intwrap

14 years agoAdd missing Reported by
Vladimir 'phcoder' Serbinenko [Mon, 30 Aug 2010 00:01:59 +0000 (02:01 +0200)]
Add missing Reported by

14 years ago * docs/grub.texi (Network): Fix reference to pxe_blksize.
Vladimir 'phcoder' Serbinenko [Sun, 29 Aug 2010 23:56:35 +0000 (01:56 +0200)]
* docs/grub.texi (Network): Fix reference to pxe_blksize.

14 years ago * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
Vladimir 'phcoder' Serbinenko [Sun, 29 Aug 2010 23:14:07 +0000 (01:14 +0200)]
* grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
timeout to avoid indefinite boot stalling.

14 years ago * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
Vladimir 'phcoder' Serbinenko [Sun, 29 Aug 2010 23:12:37 +0000 (01:12 +0200)]
* grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
(grub_env_write_color_highlight): Likewise.

14 years ago * grub-core/normal/term.c (print_more): Return to normal and not
Vladimir 'phcoder' Serbinenko [Sun, 29 Aug 2010 23:11:12 +0000 (01:11 +0200)]
* grub-core/normal/term.c (print_more): Return to normal and not
to standard state after printing "---MORE---".

14 years ago * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
Vladimir 'phcoder' Serbinenko [Sun, 29 Aug 2010 23:09:28 +0000 (01:09 +0200)]
* grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
Mask out the bit 0x80 since it has other meaning that specifiing color.

14 years agoAdd missing emu/halt.c
Vladimir 'phcoder' Serbinenko [Sun, 29 Aug 2010 22:54:15 +0000 (00:54 +0200)]
Add missing emu/halt.c

14 years agomerge mainline into intwrap
Vladimir 'phcoder' Serbinenko [Sun, 29 Aug 2010 21:21:21 +0000 (23:21 +0200)]
merge mainline into intwrap

14 years ago New relocator. Allows for more kernel support and more straightforward
Vladimir 'phcoder' Serbinenko [Sun, 29 Aug 2010 21:08:33 +0000 (23:08 +0200)]
New relocator. Allows for more kernel support and more straightforward
loader writing.

* Makefile.am (BOOTTARGET): New variable.
(QEMU32): Likewise.
(linux.init.x86_64): New target.
(linux.init.i386): Likewise.
(multiboot.elf): Likewise.
(kfreebsd.elf): Likewise.
(kfreebsd.aout): Likewise.
(pc-chainloader.elf): Likewise.
(pc-chainloader.bin): Likewise.
(ntldr.elf): Likewise.
(ntldr.bin): Likewise.
(multiboot2.elf): Likewise.
(kfreebsd.init.x86_64): Likewise.
(kfreebsd.init.i386): Likewise.
(knetbsd.init.i386): Likewise.
(kopenbsd.init.i386): Likewise.
(knetbsd.init.x86_64): Likewise.
(kopenbsd.init.x86_64): Likewise.
(linux-initramfs.i386): Likewise.
(linux-initramfs.x86_64): Likewise.
(kfreebsd-mfsroot.i386.img): Likewise.
(knetbsd.image.i386): Likewise.
(kopenbsd.image.i386): Likewise.
(kopenbsd.image.x86_64): Likewise.
(knetbsd.miniroot-image.i386.img): Likewise.
(kfreebsd-mfsroot.x86_64.img): Likewise.
(knetbsd.image.x86_64): Likewise.
(knetbsd.miniroot-image.x86_64.img): Likewise.
(kfreebsd-mfsroot.i386.gz): Likewise.
(bootcheck-kfreebsd-i386): Likewise.
(kfreebsd-mfsroot.x86_64.gz): Likewise.
(bootcheck-kfreebsd-x86_64): Likewise.
(knetbsd.miniroot-image.i386.gz): Likewise.
(bootcheck-knetbsd-i386): Likewise.
(bootcheck-kopenbsd-i386): Likewise.
(bootcheck-kopenbsd-x86_64): Likewise.
(knetbsd.miniroot-image.x86_64.gz): Likewise.
(bootcheck-knetbsd-x86_64): Likewise.
(bootcheck-linux-i386): Likewise.
(bootcheck-linux-x86_64): Likewise.
(bootcheck-linux16-i386): Likewise.
(bootcheck-linux16-x86_64): Likewise.
(bootcheck-multiboot): Likewise.
(bootcheck-multiboot2): Likewise.
(bootcheck-kfreebsd-aout): Likewise.
(bootcheck-pc-chainloader): Likewise.
(bootcheck-ntldr): Likewise.
(CLEANFILES): Add new targets.
(BOOTCHECKS): New variable.
(.PHONY): Add bootchecks.
(SUCCESSFUL_BOOT_STRING): New variable.
(BOOTCHECK_TIMEOUT): Likewise.
(bootcheck): New target
* Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
* configure.ac: Correct efiemu excuse.
* docs/grub.texi (Supported kernels): New chapter.
* grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
include/grub/mm_private.h. Simplify inclusion of
include/grub/boot.h, include/grub/loader.h
and include/grub/msdos_partition.h
(KERNEL_HEADER_FILES) [i386_coreboot]:
Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
(KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
(KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
(KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
include/grub/machine/loader.h.
(KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
* grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
extra_dist.
(pci.mod): Enable on i386-multiboot.
(acpi.mod): Enable on i386-multiboot and i386-coreboot.
(efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
i386-qemu.
(relocator.mod): Rewritten.
(aout.mod): Enable on all x86.
(bsd.mod): Likewise.
(ntldr.mod): New module.
(linux.mod): Use loader/i386/linux.c on all x86.
(xnu.mod): Enable on all x86.
(vga_text.mod): disable on EFI and QEMU.
* grub-core/efiemu/i386/coredetect.c: Remove useless include.
* grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
* grub-core/efiemu/loadcore.c: Likewise.
* grub-core/efiemu/main.c: Likewise.
(grub_efiemu_exit_boot_services): Removed.
(grub_efiemu_finish_boot_services): Likewise.
* grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
function.
* grub-core/efiemu/i386/nocfgtables.c: New file.
* grub-core/kern/dl.c (grub_dl_unload_all): Removed.
* grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
(grub_efi_finish_boot_services): Moved from here ...
* grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
Fille finish memory map and related data.
(finish_mmap_buf): New variable.
(grub_efi_uintn_t finish_mmap_size): Likewise.
(grub_efi_uintn_t finish_key): Likewise.
(grub_efi_uintn_t finish_desc_size): Likewise.
(grub_efi_uint32_t finish_desc_version): Likewise.
(grub_efi_is_finished): Likewise.
(grub_efi_get_memory_map): Use saved memory map if EFI is already
finished.
* grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
(grub_elf64_phdr_iterate): Likewise.
* grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
(grub_os_area_size): Likewise.
(grub_machine_init): Don't reserve os area.
* grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
* grub-core/kern/i386/ieee1275/startup.S: Likewise.
* grub-core/kern/i386/loader.S: Removed.
* grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
(grub_os_area_size): Likewise.
(grub_machine_init): Don't reserve os area.
* grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
Don't call grub_dl_unload_all.
Don't include loader.S.
* grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
Declare the memory after _end as available.
* grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
* include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
(GRUB_MM_ALLOC_MAGIC): Moved from here...
* include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
* grub-core/kern/mm.c (grub_mm_header): Moved from here...
* include/grub/mm_private.h (grub_mm_header): ... here.
* grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
* include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
* grub-core/kern/mm.c (grub_mm_region): Moved from here ...
(grub_mm_region): ..here. Removed addr. Added pre_size.
All users updated.
* grub-core/kern/mm.c (base): Renamed to ...
(grub_mm_base): ... this. Made global.
(grub_real_malloc): Alloc from end of region.
(grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
* grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
* grub-core/kern/powerpc/cache_flush.S: ... here.
* grub-core/lib/efi/relocator.c: New file.
* grub-core/lib/i386/relocator.c: Rewritten.
* grub-core/lib/i386/relocator16.S: New file.
* grub-core/lib/i386/relocator32.S: Likewise.
* grub-core/lib/i386/relocator64.S: Likewise.
* grub-core/lib/i386/relocator_asm.S: Rewritten.
* grub-core/lib/i386/relocator_common.S: New file.
* grub-core/lib/ieee1275/relocator.c: Likewise.
* grub-core/lib/mips/relocator.c: Rewritten.
* grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
stylistic adjustments.
* grub-core/lib/powerpc/relocator.c: New file.
* grub-core/lib/powerpc/relocator_asm.S: Likewise.
* grub-core/lib/relocator.c: Rewritten.
* grub-core/lib/x86_64/relocator_asm.S: New file.
* grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
* grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
(bsd_tag): New struct.
(tags): New variable.
(tags_last): Likewise.
(netbsd_module): New struct.
(netbsd_mods): New variable.
(netbsd_mods_last): Likewise.
(openbsd_opts): New parameter "serial".
(OPENBSD_SERIAL_ARG): New definition.
(netbsd_opts): New parameter "serial".
(NETBSD_SERIAL_ARG): New definition.
(grub_freebsd_add_meta): Reorganised into ...
(grub_bsd_add_meta): ...this. All users updated.
(grub_freebsd_add_mmap): Reorganised into ...
(generate_e820_mmap):  ...this...
(grub_bsd_add_mmap): ...and this.  All users updated.
(grub_freebsd_list_modules): Use tags.
(grub_netbsd_add_meta_module): New function.
(grub_netbsd_list_modules): Likewise.
(grub_freebsd_boot): Use relocator and finish EFI.
(grub_openbsd_boot): Likewise.
(grub_netbsd_setup_video): New function.
(grub_netbsd_add_modules): Likewise.
(grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
and finish EFI.
(grub_bsd_unload): Unload tags.
(grub_bsd_load_aout): Use relocator.
(grub_bsd_elf32_size_hook): New function.
(grub_bsd_elf32_hook): Use relocator.
(grub_bsd_elf64_size_hook): New function.
(grub_bsd_elf64_hook): Use relocator.
(grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
(grub_bsd_load): Zero-out openbsd_ramdisk.
(grub_bsd_load): Use relocator.
(grub_cmd_openbsd): Support serial.
(grub_cmd_netbsd): Support modules.
(grub_cmd_freebsd_module): Use relocator.
(grub_netbsd_module_load): New function.
(grub_cmd_netbsd_module): Likewise.
(grub_cmd_openbsd_ramdisk): Likewise.
(GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
kopenbsd_ramdisk.
(GRUB_MOD_FINI): Unregister new commands.
* grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
(grub_freebsd_load_elfmodule_obj): Use relocator.
(grub_freebsd_load_elfmodule): Likewise.
(grub_freebsd_load_elf_meta): Likewise.
(grub_netbsd_load_elf_meta): New function.
(grub_openbsd_find_ramdisk): Likewise.
* grub-core/loader/i386/bsd_helper.S: Removed.
* grub-core/loader/i386/bsd_pagetable.c: Support relocator.
* grub-core/loader/i386/bsd_trampoline.S: Removed.
* grub-core/loader/i386/efi/linux.c: Likewise.
* grub-core/loader/i386/ieee1275/linux.c: Likewise.
* grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
(DEFAULT_VIDEO_MODE): Likewise.
(real_mode_target): New variable.
(prot_mode_target): Likewise.
(initrd_mem_target): Likewise.
(relocator): Likewise.
(efi_mmap_buf): Likewise.
(efi_mmap_size): Likewise.
(find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
(free_pages): Use relocator.
(allocate_pages): Account for efi_mmap and use relocator. Return error.
(grub_linux_setup_video): Return error.
(grub_linux_trampoline_start): Removed.
(grub_linux_trampoline_end): Likewise.
(grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
andd video parameters depending on firmware.
[GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
[GRUB_MACHINE_EFI]: Pass EFI parameters.
(grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
(grub_cmd_initrd): Use relocator.
* grub-core/loader/i386/linux_trampoline.S: Removed.
* grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
(elf_sec_entsize): Likewise.
(elf_sec_shstrndx): Likewise.
(elf_sections): Likewise.
(grub_multiboot_load): Use relocator.
(grub_multiboot_get_mbi_size): Account for sections.
(grub_multiboot_make_mbi): Use relocator and support sections.
(grub_multiboot_add_elfsyms): New function.
(grub_multiboot_free_mbi): Free sections.
* grub-core/loader/i386/pc/linux.c (relocator): New variable.
(grub_linux_real_target): Likewise.
(grub_linux_real_chunk): Likewise.
(grub_linux16_prot_size): Likewise.
(grub_linux16_boot): Use relocator.
(grub_linux_unload): Unload relocator.
(grub_cmd_linux): Use relocator.
(grub_cmd_initrd): Likewise.
* grub-core/loader/i386/pc/ntldr.c: New file.
* grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
Don't try to guess CPU frequency.
(grub_xnu_set_video): Stretch bitmap.
(grub_xnu_boot): Use relocator.
* grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
(grub_linux_unload): Free relocator.
(grub_linux_load32): Use relocator.
(grub_linux_load64): Likewise.
(grub_cmd_initrd): Likewise.
* grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
(grub_multiboot_unload): Unload relocator.
(grub_cmd_multiboot): Use relocator.
(grub_cmd_module): Likewise.
* grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
Use relocator and support sections.
* grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
(elf_sec_entsize): Likewise.
(elf_sec_shstrndx): Likewise.
(elf_sections): Likewise.
(grub_multiboot_load): Use relocator.
(grub_multiboot_get_mbi_size): Account for sections.
(grub_multiboot_make_mbi): Use relocator and support sections.
(grub_multiboot_add_elfsyms): New function.
* grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
* grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
* grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
Prototype changed. All users updated.
(grub_xnu_align_heap): Simplified.
(grub_xnu_writetree_toheap): Likewise.
(grub_xnu_unload): Unload relocator.
(grub_cmd_xnu_kernel): Use relocator.
(grub_cmd_xnu_kernel64): Likewise.
(grub_xnu_register_memory): Simplified.
* grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
* grub-core/term/efi/console.c (grub_console_putchar): Abort if
EFI is finished.
(grub_console_checkkey): Likewise.
(grub_console_getkey): Likewise.
(grub_console_getwh): Likewise.
(grub_console_getxy): Likewise.
(grub_console_gotoxy): Likewise.
(grub_console_cls): Likewise.
(grub_console_setcolorstate): Likewise.
(grub_console_setcursor): Likewise.
* grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
* grub-core/tests/boot/kbsd.init-i386.S: New file.
* grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
* grub-core/tests/boot/kbsd.spec.txt: Likewise.
* grub-core/tests/boot/kernel-8086.S: Likewise.
* grub-core/tests/boot/kernel-i386.S: Likewise.
* grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
* grub-core/tests/boot/kfreebsd.cfg: Likewise.
* grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
* grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
* grub-core/tests/boot/knetbsd.cfg: Likewise.
* grub-core/tests/boot/kopenbsd.cfg: Likewise.
* grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
* grub-core/tests/boot/linux.cfg: Likewise.
* grub-core/tests/boot/linux.init-i386.S: Likewise.
* grub-core/tests/boot/linux.init-x86_64.S: Likewise.
* grub-core/tests/boot/linux16.cfg: Likewise.
* grub-core/tests/boot/multiboot.cfg: Likewise.
* grub-core/tests/boot/multiboot2.cfg: Likewise.
* grub-core/tests/boot/ntldr.cfg: Likewise.
* grub-core/tests/boot/pc-chainloader.cfg: Likewise.
* include/grub/aout.h (grub_aout_load): Make load_addr a void *.
* include/grub/autoefi.h (grub_autoefi_finish_boot_services):
New definition.
* include/grub/dl.h (grub_dl_unload_all): Removed.
* include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
(grub_efi_finish_boot_services): Change prototype.
(grub_efi_is_finished): New variable.
* include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
Changed prototype.
(grub_efiemu_finish_boot_services): Removed.
(grub_machine_efiemu_init_tables): New prototype.
* include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
(grub_elf64_phdr_iterate): Likewise.
* include/grub/i386/bsd.h: Include relocator.h.
(freebsd_tag_header): New struct.
(grub_openbsd_bios_mmap): Removed.
(grub_unix_real_boot): Removed.
(grub_freebsd_load_elfmodule32): Changed prototype.
(grub_freebsd_load_elfmodule_obj64): Likewise.
(grub_freebsd_load_elf_meta32): Likewise.
(grub_freebsd_load_elf_meta64): Likewise.
(grub_freebsd_add_meta): Removed.
(grub_netbsd_load_elf_meta32): New prototype.
(grub_netbsd_load_elf_meta64): Likewise.
(grub_bsd_add_meta): Likewise.
(grub_openbsd_ramdisk_descriptor): New struct.
(grub_openbsd_find_ramdisk32): New prototype.
(grub_openbsd_find_ramdisk64): Likewise.
* include/grub/i386/coreboot/loader.h: Removed.
* include/grub/i386/efi/loader.h: Likewise.
* include/grub/i386/ieee1275/loader.h: Likewise.
* include/grub/i386/linux.h (linux_kernel_header): Change void *
to grub_uint32_t.
* include/grub/i386/loader.h: Removed.
* include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
value.
(GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
(grub_phys_addr_t): New type.
(grub_vtop): New inline function.
(grub_map_memory): Likewise.
(grub_unmap_memory): Likewise.
* include/grub/i386/multiboot/loader.h: Removed.
* include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
(NETBSD_BTINFO_CONSOLE): New definition.
(NETBSD_BTINFO_SYMTAB): Likewise.
(NETBSD_BTINFO_MODULES): Likewise.
(NETBSD_BTINFO_FRAMEBUF): Likewise.
(grub_netbsd_bootinfo): New struct.
(grub_netbsd_btinfo_common): Use explicit bitsize.
(grub_netbsd_btinfo_mmap_entry): Removed.
(GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
(grub_netbsd_btinfo_bootdisk): New struct.
(grub_netbsd_btinfo_symtab): Likewise.
(grub_netbsd_btinfo_serial): Likewise.
(grub_netbsd_btinfo_modules): Likewise.
(grub_netbsd_btinfo_framebuf): Likewise.
(GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
* include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
Likewise.
(grub_openbsd_bootargs): Use explicit bitsize.
(grub_openbsd_bootarg_console): New struct.
(GRUB_OPENBSD_COM_MAJOR): New definition.
(GRUB_OPENBSD_VGA_MAJOR): Likewise.
* include/grub/i386/pc/efiemu.h: Removed.
* include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
* include/grub/i386/qemu/loader.h: Removed.
* include/grub/i386/relocator.h: Rewritten.
* include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
* include/grub/mips/memory.h: New file.
* include/grub/mips/multiboot.h: Rewritten.
* include/grub/mips/relocator.h: Rewritten.
* include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
(grub_vtop): New function.
(grub_map_memory): Likewise.
(grub_unmap_memory): Likewise.
* include/grub/misc.h (ALIGN_DOWN): New definition.
* include/grub/mm.h (grub_mm_check_real): New proto.
(GRUB_MM_CHECK): New definition.
* include/grub/mm_private.h: New file.
* include/grub/multiboot.h (grub_multiboot_relocator): New variable.
(grub_multiboot_get_mbi_size): Removed.
(grub_multiboot_make_mbi): Change prottype.
(grub_multiboot_set_accepts_video): New proto.
(grub_multiboot_add_elfsyms): Likewise.
(grub_multiboot_payload_eip): New variable.
* include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
New prototype.
* include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
New definition.
(GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
(GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
* include/grub/powerpc/ieee1275/loader.h: Removed.
* include/grub/powerpc/memory.h: New file.
* include/grub/powerpc/relocator.h: Likewise.
* include/grub/relocator.h: Likewise.
* include/grub/relocator_private.h: Likewise.
* include/grub/sparc64/ieee1275/loader.h: Removed.
* include/grub/x86_64/memory.h: New file.
* include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
(grub_xnu_heap_malloc): Likewise.
(grub_xnu_heap_real_start): Removed.
(grub_xnu_heap_start): Likewise.
(grub_xnu_relocator): New variable.
(grub_xnu_heap_target_start): Likewise.
* tests/util/grub-shell.in: Support non-pc.
* util/grub-mkimage.c (image_targets): Fix multiboot target.

14 years agoFinish Changelog
Vladimir 'phcoder' Serbinenko [Sun, 29 Aug 2010 21:08:06 +0000 (23:08 +0200)]
Finish Changelog

14 years agoAdd missing newlines
Vladimir 'phcoder' Serbinenko [Sun, 29 Aug 2010 21:07:44 +0000 (23:07 +0200)]
Add missing newlines

14 years agoMerge mainline into newreloc
Vladimir 'phcoder' Serbinenko [Sun, 29 Aug 2010 20:05:46 +0000 (22:05 +0200)]
Merge mainline into newreloc