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
Vladimir 'phcoder' Serbinenko
30b4166fde
Reimport setjmp from Tristan's branch.
2010-09-04 17:23:51 +02:00
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
Vladimir 'phcoder' Serbinenko
df3df23d5c
Reorganise memory map handling
2010-09-04 17:10:10 +02:00
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
7b111db538
resync MAkefile.core.def
2010-09-04 01:31:13 +02:00
Vladimir 'phcoder' Serbinenko
208b940054
Handle new names in grub-install
2010-09-04 01:19:11 +02:00
Vladimir 'phcoder' Serbinenko
5b1d8b4832
Remove leftover files
2010-09-04 01:17:08 +02:00
Vladimir 'phcoder' Serbinenko
844d0fd5aa
Remove excessive dprintfs
2010-09-04 01:13:20 +02:00
Vladimir 'phcoder' Serbinenko
babad161fb
Reorganise net and openbsdlabel
2010-09-04 01:10:58 +02:00
Vladimir 'phcoder' Serbinenko
56a4b23d37
fix several issues with nested labels
2010-09-04 00:49:45 +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
Vladimir 'phcoder' Serbinenko
9f915872ef
* configure.ac: Clean LIBS variable after tests.
2010-09-03 03:26:22 +02:00