Vladimir 'phcoder' Serbinenko
82a8506214
* include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
...
* grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
size.
2010-09-05 17:01:16 +02:00
Vladimir 'phcoder' Serbinenko
3579415d20
* include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
...
GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
2010-09-05 16:55:49 +02:00
Vladimir 'phcoder' Serbinenko
5124ae6d4f
Uncompressed checksum support.
...
* grub-core/commands/hashsum.c (options): Add option --uncompress.
(check_list): New parameter uncompress.
(grub_cmd_hashsum): Handle --uncompress.
2010-09-05 16:48:54 +02:00
Vladimir 'phcoder' Serbinenko
9aadb3d146
Add missing ChangeLog entry
2010-09-05 16:43:31 +02:00
Vladimir 'phcoder' Serbinenko
06f7011716
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.
2010-09-05 16:40:41 +02:00
Szymon Janc
a17792c324
* 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.
2010-09-05 14:24:39 +02:00
Szymon Janc
b81e40a379
* include/grub/crypto.h (GRUB_MD_CRC32): New definition.
2010-09-05 14:18:31 +02:00
Vladimir 'phcoder' Serbinenko
fc2ef1172c
* 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.
2010-09-05 13:05:36 +02:00
BVK Chaitanya
1bce65c7b1
not command (!) support
2010-09-05 14:57:28 +05:30
BVK Chaitanya
35ee15e09a
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.
2010-09-04 22:45:34 +05:30
BVK Chaitanya
ee14ec9935
merge with mainline
2010-09-04 22:34:32 +05:30
BVK Chaitanya
5f0c4acaca
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.
2010-09-04 22:19:58 +05:30
BVK Chaitanya
a431c98a52
merge with mainline
2010-09-04 22:13:45 +05:30
Szymon Janc
3759a35f75
* 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.
2010-09-04 18:28:42 +02:00
BVK Chaitanya
ed8c6dec96
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.
2010-09-04 21:43:54 +05:30
BVK Chaitanya
9fcd1ee541
merge with mainline
2010-09-04 21:02:48 +05:30
BVK Chaitanya
dacd0cf07a
"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.
2010-09-04 20:53:09 +05:30
BVK Chaitanya
165bfce138
merge with mainline
2010-09-04 20:44:44 +05:30
BVK Chaitanya
52e72f9d46
"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.
2010-09-04 20:27:48 +05:30
BVK Chaitanya
cd652829a1
merge with mainline
2010-09-04 14:41:08 +05:30
BVK Chaitanya
49649ac85d
review comments
2010-09-04 14:32:59 +05:30
BVK Chaitanya
965e0faac8
merge with mainline
2010-09-04 14:30:12 +05:30
BVK Chaitanya
854bd47cb8
fix memory leak and out-of-range writes
2010-09-04 14:22:51 +05:30
BVK Chaitanya
e77cc389d5
merge with mainline
2010-09-04 14:21:56 +05:30
BVK Chaitanya
25b60c913b
* grub-core/normal/completion.c (grub_normal_do_completion): Fix
...
grub_free order.
2010-09-04 14:19:04 +05:30
BVK Chaitanya
6d7c073bc8
merge with mainline
2010-09-04 11:49:02 +05:30
BVK Chaitanya
7af6505ba1
merge with mainline
2010-09-04 11:37:59 +05:30
BVK Chaitanya
312e3e3668
merge with mainline
2010-09-04 11:28:45 +05:30
BVK Chaitanya
227cab7c79
merge with mainline
2010-09-04 10:56:23 +05:30
BVK Chaitanya
37e7bf68c5
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.
2010-09-04 09:13:30 +05:30
BVK Chaitanya
e5a73c4247
merge with mainline
2010-09-04 09:05:21 +05:30
BVK Chaitanya
888d1500b2
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.
2010-09-04 08:43:35 +05:30
BVK Chaitanya
adcf5a8e30
merge with mainline
2010-09-04 08:33:42 +05:30
BVK Chaitanya
80f5b97cdc
--source option for menuentry
2010-09-04 08:14:50 +05:30
Vladimir 'phcoder' Serbinenko
dda060dd0f
* grub-core/kern/misc.c: Don't add abort alias in utils.
...
Reported by: echoline.
2010-09-04 02:18:48 +02:00
Vladimir 'phcoder' Serbinenko
2550da89ec
Add missing h2m
2010-09-04 01:52:04 +02:00
Vladimir 'phcoder' Serbinenko
30d71dbced
dd GOP mode listing
2010-09-03 22:50:27 +02:00
Vladimir 'phcoder' Serbinenko
03199f1909
Fix order of dimensions in videoinfo
2010-09-03 22:50:11 +02:00
Vladimir 'phcoder' Serbinenko
4ab5f27548
Remove vbetest and vbeinfo in favour of videotest and videoinfo
2010-09-03 22:21:48 +02:00
Vladimir 'phcoder' Serbinenko
380c39cb25
Show adapter-specific info
2010-09-03 22:11:22 +02:00
Vladimir 'phcoder' Serbinenko
4787931fe0
Show mode id
2010-09-03 21:40:40 +02:00
Vladimir 'phcoder' Serbinenko
540e2fe185
Initial videoinfo implementation
2010-09-03 21:19:22 +02:00
BVK Chaitanya
e89f9ec539
add setparams prefix
2010-09-03 22:28:16 +05:30
BVK Chaitanya
6556eba9c6
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.
2010-09-03 21:23:00 +05:30
BVK Chaitanya
9284756e17
merge menuentry.mod into normal.mod
2010-09-03 21:08:12 +05:30
BVK Chaitanya
78780e7005
fix hotkey handling
2010-09-03 20:53:38 +05:30
BVK Chaitanya
cc7b1ab4d6
review comments
2010-09-03 20:35:23 +05:30
BVK Chaitanya
0dfb7ba053
merge with mainline
2010-09-03 20:06:57 +05:30
Vladimir 'phcoder' Serbinenko
c8e7bf5ff7
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.
2010-09-03 14:54:04 +02:00
Vladimir 'phcoder' Serbinenko
a7c00cdb94
* 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.
2010-09-03 14:05:19 +02:00