Vladimir 'phcoder' Serbinenko
027de555e2
* normal/autofs.c (read_fs_list): New parameter 'prefix'.
...
All users updated.
* normal/crypto.c (read_crypto_list): Likewise.
* normal/dyncmd.c (read_command_list): Likewise.
* normal/term.c (read_terminal_list): Likewise.
* normal/main.c (read_lists): Use explicit prefix.
(read_lists_hook): Use read_lists.
(grub_normal_execute): Likewise.
2010-04-09 21:07:24 +02:00
Vladimir 'phcoder' Serbinenko
c6f2fe52f1
2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
...
Wait for user entry basing on presence of output rather than on errors.
* include/grub/normal.h (grub_normal_get_line_counter): New proto.
(grub_install_newline_hook): Likewise.
* normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
* normal/menu.c (show_menu): Check line_counter to determine presence
of output.
* normal/term.c (grub_normal_line_counter): New variable.
(grub_normal_get_line_counter): New function.
(grub_install_newline_hook): Likewise.
2010-03-01 20:58:45 +01:00
Vladimir 'phcoder' Serbinenko
4a8a763c7b
2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
...
* normal/crypto.c (read_crypto_list): Fix a memory leak.
* normal/term.c (read_terminal_list): Likewise.
* normal/main.c (grub_normal_init_page): Likewise.
(grub_normal_read_line_real): Likewise.
2010-02-24 15:24:21 +01:00
Vladimir 'phcoder' Serbinenko
61c501a941
merge mainline into newenv
2010-01-20 21:31:39 +01:00
Vladimir 'phcoder' Serbinenko
61eb45eee7
Rename asprint into xasprintf and avsprintf into xvasprintf
2010-01-20 09:12:47 +01:00
Vladimir 'phcoder' Serbinenko
b09a4a8dff
add missing error handling
2010-01-20 09:01:25 +01:00
Vladimir 'phcoder' Serbinenko
2d49abe9e7
merge mainline into asprintf
2010-01-20 07:36:17 +01:00
Vladimir 'phcoder' Serbinenko
3b88cbbda5
Warning fixes
2010-01-07 22:22:11 +01:00
Vladimir 'phcoder' Serbinenko
44fcb2bc59
merge mainline into multiterm
2010-01-07 21:34:43 +01:00
Robert Millan
53108d92ba
2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
...
2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
Fix breakage introduced with previous commit.
* normal/dyncmd.c (read_command_list): Avoid unregistering kernel
commands.
* normal/handler.c (read_handler_list): Revert part of previous commit
affecting this file.
* normal/main.c (read_lists): Move read_handler_list() call back to ...
(grub_normal_execute): ... here.
2010-01-07 16:53:29 +00:00
Robert Millan
c1d2f1d81b
Merge from trunk
2010-01-07 00:58:54 +00:00
Robert Millan
e2e936b2f2
2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
...
Merge prefix-redefinition-fix branch.
* normal/autofs.c (read_fs_list): Make function capable of being
run multiple times, gracefuly replacing the previous data
structures.
* normal/dyncmd.c (read_command_list): Likewise.
* normal/handler.c (read_handler_list): Likewise.
* normal/main.c (read_lists): New function. Calls all the
list reading functions.
(grub_normal_execute): Use read_lists() instead of calling all
list reading functions explicitly. Register read_lists() as a
variable hook attached to ${prefix}.
2010-01-07 00:52:56 +00:00
Vladimir 'phcoder' Serbinenko
607a3701db
2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
...
Merge crypto branch.
* Makefile.in (pkglib_DATA): Add crypto.lst.
(crypto.lst): New target.
* commands/hashsum.c: New file.
* commands/password.c (check_password): Use grub_crypto_memcmp.
* commands/password_pbkdf2.c: New file.
* commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
* conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
(grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
-I$(srcdir)/lib/libgcrypt_wrap.
* conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
(pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
password_pbkdf2.mod.
(crypto_mod_SOURCES): New variable.
(crypto_mod_CFLAGS): Likewise.
(crypto_mod_LDFLAGS): Likewise.
(hashsum_mod_SOURCES): New variable.
(hashsum_mod_CFLAGS): Likewise.
(hashsum_mod_LDFLAGS): Likewise.
(pbkdf2_mod_SOURCES): New variable.
(pbkdf2_mod_CFLAGS): Likewise.
(pbkdf2_mod_LDFLAGS): Likewise.
(password_pbkdf2_mod_SOURCES): New variable.
(password_pbkdf2_mod_CFLAGS): Likewise.
(password_pbkdf2_mod_LDFLAGS): Likewise.
(bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
(grub_mkpasswd_pbkdf2_SOURCES): New variable.
(grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
Include conf/gcry.rmk.
* include/grub/auth.h: Rewritten.
* include/grub/crypto.h: New file.
* include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
* include/grub/normal.h (read_crypto_list): New prototype.
* lib/crypto.c: New file.
* lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
* lib/pbkdf2.c: Likewise.
* normal/auth.c (grub_auth_strcmp): Removed.
(grub_iswordseparator): Likewise.
(grub_auth_strword): Likewise.
(is_authenticated): Use grub_strword.
(grub_auth_check_authentication): Use grub_strcmp, grub_password_get
and grub_strword. Pass entered password to authentication callback.
* normal/crypto.c: New file.
* normal/main.c: Call read_crypto_list.
* util/grub-mkpasswd-pbkdf2.c: New file.
* util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
2010-01-07 01:13:01 +01:00
Vladimir 'phcoder' Serbinenko
519634516f
Merge mainline into multiterm
2010-01-05 16:27:41 +01:00
Vladimir 'phcoder' Serbinenko
8b442f3f4c
asprintf and snprintf support
2009-12-29 10:04:06 +01:00
carles
64fd18edbc
2009-12-27 Carles Pina i Estany <carles@pina.cat>
...
* normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
* normal/main.c (grub_normal_read_line): Remove a space from the
default prompt.
2009-12-27 00:43:21 +01:00
Vladimir 'phcoder' Serbinenko
27a8ee52b4
Remove menu init hooks. They are useless
2009-12-26 16:39:16 +01:00
carles
864ba2bbca
2009-12-27 Carles Pina i Estany <carles@pina.cat>
...
* efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
stops.
* kern/corecmd.c (grub_register_core_commands): Likewise.
* loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
* loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
* loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
* loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
* loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
* loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
* loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
* loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
* loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
* loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
* loader/xnu.c (GRUB_MOD_INIT): Likewise.
* mmap/mmap.c (GRUB_MOD_INIT): Likewise.
* normal/handler.c (insert_handler): Likewise.
* normal/main.c (GRUB_MOD_INIT): Likewise.
* term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2009-12-26 11:01:33 +01:00
Vladimir 'phcoder' Serbinenko
6066889c88
normal_exit command
2009-12-25 16:28:31 +01:00
Vladimir 'phcoder' Serbinenko
33c1ed4c8d
terminal modules autoloading
2009-12-25 03:37:20 +01:00
Vladimir 'phcoder' Serbinenko
fa533ebb5c
Various fixes to make multiterm work
2009-12-25 01:13:21 +01:00
Vladimir 'phcoder' Serbinenko
3be7f8de12
FORALL_ACTIVE_TERM_OUTPUTS macro
2009-12-24 17:51:43 +01:00
Vladimir 'phcoder' Serbinenko
2e71383172
Core changes hopefully finished
2009-12-24 15:34:33 +01:00
Vladimir 'phcoder' Serbinenko
e48625a306
merge crypto into multiout
2009-12-24 00:38:41 +01:00
Vladimir 'phcoder' Serbinenko
f4c623e170
Work on multi-out terminal
2009-12-24 00:37:11 +01:00
Vladimir 'phcoder' Serbinenko
a2e77ce455
merge mainline into crypto
2009-12-23 20:34:26 +01:00
Felix Zielcke
a2c1332b70
2009-12-23 Felix Zielcke <fzielcke@z-51.de>
...
* commands/i386/pc/drivemap.c: Remove all trailing whitespace.
* commands/lspci.c: Likewise.
* commands/probe.c: Likewise.
* commands/xnu_uuid.c: Likewise.
* conf/i386-coreboot.rmk: Likewise.
* conf/i386-efi.rmk: Likewise.
* conf/i386-ieee1275.rmk: Likewise.
* conf/i386-pc.rmk: Likewise.
* conf/powerpc-ieee1275.rmk: Likewise.
* conf/sparc64-ieee1275.rmk: Likewise.
* conf/x86_64-efi.rmk: Likewise.
* fs/i386/pc/pxe.c: Likewise.
* gettext/gettext.c: Likewise.
* include/grub/efi/graphics_output.h: Likewise.
* include/grub/i386/pc/memory.h: Likewise.
* kern/env.c: Likewise.
* kern/i386/qemu/startup.S: Likewise.
* lib/i386/pc/biosnum.c: Likewise.
* lib/i386/relocator.c: Likewise.
* lib/i386/relocator_asm.S: Likewise.
* lib/relocator.c: Likewise.
* loader/i386/bsd.c: Likewise.
* loader/i386/multiboot.c: Likewise.
* loader/i386/pc/chainloader.c: Likewise.
* loader/i386/xnu.c: Likewise.
* loader/xnu.c: Likewise.
* normal/main.c: Likewise.
* normal/menu_text.c: Likewise.
* util/getroot.c: Likewise.
* util/grub-mkconfig_lib.in: Likewise.
* util/grub.d/00_header.in: Likewise.
* util/i386/pc/grub-mkimage.c: Likewise.
* util/mkisofs/eltorito.c: Likewise.
* util/mkisofs/exclude.h: Likewise.
* util/mkisofs/hash.c: Likewise.
* util/mkisofs/iso9660.h: Likewise.
* util/mkisofs/joliet.c: Likewise.
* util/mkisofs/mkisofs.c: Likewise.
* util/mkisofs/mkisofs.h: Likewise.
* util/mkisofs/multi.c: Likewise.
* util/mkisofs/name.c: Likewise.
* util/mkisofs/rock.c: Likewise.
* util/mkisofs/tree.c: Likewise.
* util/mkisofs/write.c: Likewise.
* video/efi_gop.c: Likewise.
2009-12-23 17:41:32 +01:00
Vladimir 'phcoder' Serbinenko
7316783f35
Crypto module autoloading
2009-12-23 17:33:35 +01:00
Vladimir 'phcoder' Serbinenko
0866ec655e
merge mainline to newenv
2009-12-22 14:14:28 +01:00
Robert Millan
36f5ff04dc
2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
...
* normal/main.c (grub_normal_reader_init): Set left margin back to 3.
2009-12-21 15:54:56 +00:00
carles
7f39d92f8d
2009-12-20 Carles Pina i Estany <carles@pina.cat>
...
* include/grub/auth.h: Include `<grub/i18n.h>'.
(GRUB_GET_PASSWORD): Gettextizze string.
* include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
menu_text.c.
(grub_utf8_to_ucs4_alloc): Fix indentation.
(grub_print_ucs4): Likewise.
(grub_getstringwidth): Likewise.
(print_message_indented): New declaration.
* normal/auth.c: Include `<grub/i18n.h>'.
(grub_auth_check_authentication): Gettexttize string.
* normal/cmdline.c: Include `<grub/i18n.h>'.
(grub_cmdline_get): Gettextizze.
* normal/color.c: Include `<grub/i18n.h>'.
(grub_parse_color_name_pair): Gettexttize strings.
* normal/main.c (grub_normal_reader_init): Cleanup gettexttized
string (use `print_message_indented').
* normal/menu_text.c (STANDARD_MARGIN): Moved from here to
`include/grub/normal.h'.
(print_message_indented): Renamed to ...
(grub_print_message_indented): ... this. Remove `static' qualifer (now
used in normal/main.c).
(print_message): Use `grub_print_message_indented' instead of
`print_message_indented'.
(print_timeout): Likewise.
* normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
(grub_normal_print_device_info): Gettexttize strings.
* po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
2009-12-20 23:32:15 +00:00
Vladimir 'phcoder' Serbinenko
902a478aab
merge trunk into newenv
2009-12-20 14:20:37 +01:00
Vladimir 'phcoder' Serbinenko
2fbcbbc389
Save 314 bytes on not handling contexts in core
2009-12-20 02:52:39 +01:00
carles
b99518d1ce
2009-12-19 Carles Pina i Estany <carles@pina.cat>
...
* include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
(grub_print_ucs4_alloc): Likewise.
(grub_getstringwidth): Likewise.
* normal/main.c (grub_normal_init_page): Gettextize version string.
* normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
(getstringwidth): Renamed to ...
(grub_getstringwidth): ... this. Remove `static' qualifier (now used
in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
(grub_print_ucs4): Remove `static' qualifer (now used in
normal/main.c).
* po/POTFILES: Add normal/main.c.
2009-12-19 23:00:30 +00:00
Carles Pina i Estany
e3069ec1a5
2009-12-08 Carles Pina i Estany <carles@pina.cat>
...
* include/grub/misc.h (grub_printf_): New declaration.
* kern/misc.c (grub_printf_): New definition.
* normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
instead of `grub_printf' and `_'.
* normal/menu_entry.c (store_completion): Likewise.
(run): Likewise.
(grub_menu_entry_run): Likewise.
* normal/menu_text.c (grub_wait_after_message): Likewise.
(notify_booting): Likewise.
(notify_fallback): Likewise.
(notify_execution_failure): Likewise.
2009-12-08 00:08:52 +00:00
Robert Millan
08806a54c5
2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
...
* normal/main.c (grub_normal_read_line): Fix off-by-one
buffer overflow..
2009-11-25 03:48:33 +00:00
Robert Millan
13b33fba6f
2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
...
* normal/main.c (grub_normal_execute): Replace "parser.sh" with
"parser.grub" in grub_command_execute() call.
2009-11-25 01:50:33 +00:00
Carles Pina i Estany
b58fc33c4f
Merging with trunk
2009-11-23 20:34:42 +00:00
Carles Pina i Estany
e2c37719a6
Uncommits the last commits (to make the new merge with trunk easier)
2009-11-23 20:22:36 +00:00
Robert Millan
4efeab03dc
2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
...
* include/grub/parser.h (grub_parser_register): Document need
of `name' parameter.
* normal/main.c (grub_normal_read_line): Simplify prompt string.
* script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
"sh" to "grub".
2009-11-23 15:23:55 +00:00
Robert Millan
e880248e79
Fix *.lst handling after ${prefix} redefinition.
2009-11-09 14:55:27 +00:00
phcoder
e7e1f93ff6
2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
...
Authentication support.
* commands/password.c: New file.
* conf/common.rmk (pkglib_MODULES): Add password.mod.
(password_mod_SOURCES): New variable.
(password_mod_CFLAGS): Likewise.
(password_mod_LDFLAGS): Likewise.
(normal_mod_SOURCES): Add normal/auth.c.
* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
normal/auth.c.
* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
* include/grub/auth.h: New file.
* include/grub/err.h (grub_err_t): New enum value
GRUB_ERR_ACCESS_DENIED.
* include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
'users'.
* include/grub/normal.h (grub_cmdline_get): New argument 'history'.
* normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
users updated.
* normal/auth.c: New file.
* normal/main.c (grub_normal_add_menu_entry): Handle --users option.
(grub_cmdline_run): Don't allow to go to command line without
authentication.
* normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
* normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
menuentry without superuser rights.
* normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
user isn't a superuser.
2009-08-24 23:55:06 +00:00
proski
eab58da22c
2009-07-16 Pavel Roskin <proski@gnu.org>
...
* kern/mm.c (grub_zalloc): New function.
(grub_debug_zalloc): Likewise.
* include/grub/mm.h: Declare grub_zalloc() and
grub_debug_zalloc().
* util/misc.c (grub_zalloc): New function.
* bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
instead of grub_malloc(), remove unneeded initializations.
* bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
* commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
* commands/parttool.c (grub_cmd_parttool): Likewise.
* disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
* disk/raid5_recover.c (grub_raid5_recover): Likewise.
* disk/raid6_recover.c (grub_raid6_recover): Likewise.
* disk/usbms.c (grub_usbms_finddevs): Likewise.
* efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
* efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
(grub_cmd_efiemu_pnvram): Likewise.
* fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
* fs/iso9660.c (grub_iso9660_mount): Likewise.
(grub_iso9660_iterate_dir): Likewise.
* fs/jfs.c (grub_jfs_opendir): Likewise.
* fs/ntfs.c (list_file): Likewise.
(grub_ntfs_mount): Likewise.
* kern/disk.c (grub_disk_open): Likewise.
* kern/dl.c (grub_dl_load_core): Likewise.
* kern/elf.c (grub_elf_file): Likewise.
* kern/env.c (grub_env_context_open): Likewise.
(grub_env_set): Likewise.
(grub_env_set_data_slot): Likewise.
* kern/file.c (grub_file_open): Likewise.
* kern/fs.c (grub_fs_blocklist_open): Likewise.
* loader/i386/multiboot.c (grub_module): Likewise.
* loader/xnu.c (grub_xnu_create_key): Likewise.
(grub_xnu_create_value): Likewise.
* normal/main.c (grub_normal_add_menu_entry): Likewise.
(read_config_file): Likewise.
* normal/menu_entry.c (make_screen): Likewise.
* partmap/sun.c (sun_partition_map_iterate): Likewise.
* script/sh/lexer.c (grub_script_lexer_init): Likewise.
* script/sh/script.c (grub_script_parse): Likewise.
* video/bitmap.c (grub_video_bitmap_create): Likewise.
* video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
* video/readers/png.c (grub_png_output_byte): Likewise.
(grub_video_reader_png): Likewise.
2009-07-16 22:14:09 +00:00
fzielcke
b39f9d20a9
remove all trailing whitespace
2009-06-10 21:04:23 +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
proski
4241d2b13a
2009-05-04 Pavel Roskin <proski@gnu.org>
...
* disk/ata.c: Spelling fixes.
* disk/raid.c: Likewise.
* disk/usbms.c: Likewise.
* disk/dmraid_nvidia.c: Likewise.
* kern/ieee1275/openfw.c: Likewise.
* kern/ieee1275/init.c: Likewise.
* kern/ieee1275/cmain.c: Likewise.
* boot/i386/pc/cdboot.S: Likewise.
* video/readers/png.c: Likewise.
* video/i386/pc/vbe.c: Likewise.
* fs/udf.c: Likewise.
* fs/hfs.c: Likewise.
* fs/reiserfs.c: Likewise.
* efiemu/runtime/efiemu.c: Likewise.
* efiemu/main.c: Likewise.
* efiemu/mm.c: Likewise.
* include/grub/elf.h: Likewise.
* include/grub/xnu.h: Likewise.
* include/grub/usbdesc.h: Likewise.
* include/grub/usb.h: Likewise.
* include/grub/script_sh.h: Likewise.
* include/grub/lib/LzmaEnc.h: Likewise.
* include/grub/efiemu/efiemu.h: Likewise.
* include/grub/command.h: Likewise.
* normal/menu.c: Likewise.
* normal/main.c: Likewise.
* normal/datetime.c: Likewise.
* bus/usb/uhci.c: Likewise.
* mmap/i386/uppermem.c: Likewise.
* mmap/mmap.c: Likewise.
* commands/acpi.c: Likewise.
* commands/test.c: Likewise.
* partmap/apple.c: Likewise.
* font/font.c: Likewise.
* loader/sparc64/ieee1275/linux.c: Likewise.
* loader/macho.c: Likewise.
* loader/i386/bsd_trampoline.S: Likewise.
* loader/i386/bsd.c: Likewise.
* loader/xnu.c: Likewise.
* term/i386/pc/vesafb.c: Likewise.
* term/usb_keyboard.c: Likewise.
* util/resolve.c: Likewise.
* util/getroot.c: Likewise.
2009-05-04 20:06:05 +00:00
bean
d558e6b5ac
2009-05-02 Bean <bean123ch@gmail.com>
...
* conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
script/sh/parser.y.
(pkglib_MODULES): Add normal.mod and sh.mod.
(normal_SOURCES): New variable.
(normal_mod_CFLAGS): Likewise.
(normal_mod_LDFLAGS): Likewise.
(sh_mod_SOURCES): Likewise.
(sh_mod_CFLAGS): Likewise.
(sh_mod_LDFLAGS): Likewise.
* conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
script/sh/lexer.c_DEPENDENCIES.
(kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
kern/rescue_reader.c and kern/rescue_parser.c.
(kernel_img_HEADERS): Remove rescue.h, add reader.h.
(grub_emu_SOURCES): Change source files.
(pkglib_MODULES): Remove normal.mod.
(normal_SOURCES): Removed.
(normal_mod_CFLAGS): Likewise.
(normal_mod_LDFLAGS): Likewise.
* conf/i386-coreboot.rmk: Likewise.
* conf/i386-efi.rmk: Likewise.
* conf/i386-ieee1276.rmk: Likewise.
* conf/powerpc-ieee1275.rmk: Likewise.
* conf/sparc64-ieee1275.rmk: Likewise.
* conf/x86_64-efi.rmk: Likewise.
* include/grub/command.h (grub_command_execute): New inline function.
* include/grub/menu.h (grub_menu_entry): Removed commands field.
* include/grub/normal.h: Remove <grub/setjmp.h>.
(grub_fs_module_list): Moved to normal/autofs.c.
(grub_exit_env): Removed.
(grub_command_execute): Likewise.
(grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
parameter script.
(read_command_list): New function declaration.
(read_fs_list): Likewise.
* include/parser.h: Include <grub/reader.h>.
(grub_parser_split_cmdline): Change type of getline parameter.
(grub_parser): New structure.
(grub_parser_class): New variable.
(grub_parser_execute): New function declaration.
(grub_register_rescue_parser): Likewise.
(grub_parser_register): New inline function.
(grub_parser_unregister): Likewise.
(grub_parser_get_current): Likewise.
(grub_parser_set_current): Likewise.
* include/grub/reader.h: New file.
* kern/reader.c: Likewise.
* kern/rescue_parser.c: Likewise.
* kern/rescue_reader.c: Likewise.
* normal/autofs.c: Likewise.
* normal/dyncmd.c: Likewise.
* include/grub/rescue.h: Removed.
* normal/command.h: Likewise.
* include/grub/script.h: Moved to ...
* include/grub/script_sh.h: ... Moved here.
* normal/execute.c: Moved to ...
* script/sh/execute.c: ... Moved here.
* normal/function.c: Moved to ...
* script/sh/function.c: ... Moved here.
* normal/lexer.c: Moved to ...
* script/sh/lexer.c: ... Moved here.
* normal/parser.y: Moved to ...
* script/sh/parser.y: ... Moved here.
* normal/script.c: Moved to ...
* script/sh/script.c: ... Moved here.
* normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
<grub/reader.h>.
(grub_exit_env): Removed.
(fs_module_list): Moved to normal/autofs.c.
(grub_file_getline): Don't handle comment here.
(free_menu): Skip removed field entry->commands.
(grub_normal_menu_addentry): Removed as grub_menu_entry, removed
script parameter.
(read_config_file): Removed nested parameter, change getline function.
(grub_enter_normal_mode): Removed.
(grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
(read_command_list): Likewise.
(autoload_fs_module): Moved to normal/autofs.c.
(read_fs_list): Likewise.
(reader_nested): New variable.
(grub_normal_execute): Run parser.sh to switch to sh parser.
(grub_cmd_rescue): Removed.
(cmd_normal): Removed.
(grub_cmd_normal): Unregister itself at the beginning. Don't register
rescue command.
(grub_cmdline_run): New function.
(grub_normal_reader_init): Likewise.
(grub_normal_read_line): Likewise.
(grub_env_write_pager): Likewise.
(cmdline): New variable.
(grub_normal_reader): Likewise.
(GRUB_MOD_INIT): Register normal reader and set as current, register
pager hook, register normal command with grub_register_command_prio,
so that it won't show up in command.lst.
(GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
grub_fs_autoload_hook.
* normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
(grub_menu_execute_entry): Replace grub_script_execute with
grub_parser_execute, change parameter to grub_command_execute.
* normal/menu_text.c: Remove <grub/script.h>.
* normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
and <grub/parser.h>.
(run): Change editor_getline to use new parser interface. Change
parameter to grub_command_execute.
* kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
<grub/reader.h> and <grub/parser.h>.
(grub_load_normal_mode): Execute normal command.
(grub_main): Call grub_register_core_commands,
grub_register_rescue_parser and grub_register_rescue_reader, use
grub_reader_loop to enter input loop.
* kern/parser.c (grub_parser_spli_cmdline): Change type of getline
parameter.
(grub_parser_class): New variable.
(grub_parser_execute): New function.
* loader/i386/multiboot.c: Remove <grub/rescue.h>.
* loader/multiboot2.c: Likewise.
* loader/sparc64/ieee1275/linux.c: Likewise.
* util/grub-emu.c (read_command_list): New dummy function.
2009-05-02 19:49:34 +00:00
bean
d05f0df3eb
2009-04-14 Bean <bean123ch@gmail.com>
...
* Makefile.in (pkglib_DATA): Add handler.lst.
(handler.lst): New rule.
* conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
* conf/i386-coreboot.rmk: Likewise.
* conf/i386-ieee1275.rmk: Likewise.
* conf/i386-efi.rmk: Likewise.
* conf/x86_64-efi.rmk: Likewise.
* conf/powerpc-ieee1275.rmk: Likewise.
* conf/sparc64-ieee1275.rmk: Likewise.
* genhandlerlist.sh: New file.
* genmk.rb: Add rules to generate handler.lst.
* include/grub/normal.h (grub_file_getline): New function definition.
(read_handler_list): Likewise.
(free_handler_list): Likewise.
* include/grub/term.h (grub_term_register_input): Add name parameter
for auto generation of handler.lst.
(grub_term_register_output): Likewise.
* normal/handler.c: New file.
* normal/main.c (get_line): Renamed to grub_file_getline.
(read_config_file): Use the newly renamed grub_file_getline.
(read_command_list): Likewise.
(read_fs_list): Likewise.
(grub_normal_execute): Call read_handler_list to parse handler.lst.
(GRUB_MOD_FINI): Call free_handler_list to free handler list.
* term/efi/console.c (grub_console_init): Add name parameter for auto
generation of handler.lst.
* term/gfxterm.c: Likewise.
* term/i386/pc/at_keyboard.c: Likewise.
* term/i386/pc/console.c: Likewise.
* term/i386/pc/serial.c: Likewise.
* term/i386/pc/vesafb.c: Likewise.
* term/i386/pc/vga.c: Likewise.
* term/i386/pc/vga_text.c: Likewise.
* term/ieee1275/ofconsole.c: Likewise.
* term/usb_keyboard.c: Likewise.
2009-04-14 18:12:14 +00:00
okuji
f04f02e496
2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
...
* normal/main.c (grub_normal_execute): Added an argument
BATCH to specify if an interactive interface should be provided
after reading a config file.
All callers updated.
(read_command_list): Prevent being executed twice.
(read_fs_list): Likewise.
* include/grub/normal.h (grub_normal_execute):
2009-03-22 10:05:31 +00:00
bean
b1b797cb1b
2009-03-21 Bean <bean123ch@gmail.com>
...
* commands/blocklist.c: Add include file <grub/command.h>, remove
<grub/normal.h> and <grub/arg.h>.
(grub_cmd_blocklist): Use the new command interface.
(GRUB_MOD_INIT): Likewise.
(GRUB_MOD_FINI): Likewise.
* commands/boot.c: Likewise.
* commands/cat.c: Likewise.
* commands/cmp.c: Likewise.
* commands/configfile.c: Likewise.
* commands/crc.c: Likewise.
* commands/echo.c: Likewise.
* commands/halt.c: Likewise.
* commands/handler.c: Likewise.
* commands/hdparm.c: Likewise.
* commands/help.c: Likewise.
* commands/hexdump.c: Likewise.
* commands/loadenv.c: Likewise.
* commands/ls.c: Likewise.
* commands/lsmmap.c: Likewise.
* commands/lspci.c: Likewise.
* commands/loadenv.c: Likewise.
* commands/read.c: Likewise.
* commands/reboot.c: Likewise.
* commands/search.c: Likewise.
* commands/sleep.c: Likewise.
* commands/test.c: Likewise.
* commands/usbtest.c: Likewise.
* commands/videotest.c: Likewise.
* commands/i386/cpuid.c: Likewise.
* commands/i386/pc/halt.c: Likewise.
* commands/i386/pc/play.c: Likewise.
* commands/i386/pc/pxecmd.c: Likewise.
* commands/i386/pc/vbeinfo.c: Likewise.
* commands/i386/pc/vbetest.c: Likewise.
* commands/ieee1275/suspend.c: Likewise.
* disk/loopback.c: Likewise.
* font/font_cmd.c: Likewise.
* hello/hello.c: Likewise.
* loader/efi/appleloader.c: Likewise.
* loader/efi/chainloader.c: Likewise.
* loader/i386/bsd.c: Likewise.
* loader/i386/efi/linux.c: Likewise.
* loader/i386/ieee1275/linux.c: Likewise.
* loader/i386/linux.c: Likewise.
* loader/i386/pc/chainloader.c: Likewise.
* loader/i386/pc/linux.c: Likewise.
* loader/powerpc/ieee1275/linux.c: Likewise.
* loader/multiboot_loader.c: Likewise.
* term/gfxterm.c: Likewise.
* term/i386/pc/serial.c: Likewise.
* term/terminfo.c: Likewise.
* term/i386/pc/vesafb.c: Removed <grub/arg.h>.
* term/i386/pc/vga.c: Likewise.
* video/readers/jpeg.c: Likewise.
* video/readers/png.c: Likewise.
* video/readers/tga.c: Likewise.
* util/grub-fstest (cmd_loopback): Removed.
(cmd_blocklist): Likewise.
(cmd_ls): Likewise.
(grub_register_command): Likewise.
(grub_unregister_command): Likewise.
(execute_command): Use grub_command_find to locate command and execute
it.
* include/grub/efi/chainloader.h: Removed.
* loader/efi/chainloader_normal.c: Likewise.
* loader/i386/bsd_normal.c: Likewise.
* loader/i386/pc/chainloader_normal.c: Likewise.
* loader/i386/pc/multiboot_normal.c: Likewise.
* loader/linux_normal.c: Likewise.
* loader/multiboot_loader_normal.c: Likewise.
* loader/powerpc/ieee1275/linux_normal.c: Likewise.
* gencmdlist.sh: Scan new registration command grub_register_extcmd
and grub_register_command_p1.
* conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
kern/command.c, lib/arg.c and commands/extcmd.c.
(pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
(minicmd_mod_SOURCES): New variable.
(minicmd_mod_CFLAGS): Likewise.
(minicmd_mod_LDFLAGS): Likewise.
(extcmd_mod_SOURCES): Likewise.
(extcmd_mod_CFLAGS): Likewise.
(extcmd_mod_LDFLAGS): Likewise.
(boot_mod_SOURCES): Removed.
(boot_mod_CFLAGS): Likewise.
(boot_mod_LDFLAGS): Likewise.
* conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
kern/corecmd.c.
(kernel_img_HEADERS): Add command.h.
(grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
and lib/arg.c.
(pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
_multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
remove the corresponding normal mode command.
(normal_mod_SOURCES): Remove normal/arg.c.
* conf/i386-coreboot.rmk: Likewise.
* conf/i386-efi.rmk: Likewise.
* conf/i386-ieee1275.rmk: Likewise.
* conf/powerpc-ieee1275.rmk: Likewise.
* conf/x86_64-efi.rmk: Likewise.
* include/grub/arg.h: Move from here ...
* include/grub/lib/arg.h: ... to here.
* normal/arg.c: Move from here ...
* lib/arg.c: ... to here.
* commands/extcmd.c: New file.
* commands/minicmd.c: Likewise.
* include/grub/command.h: Likewise.
* include/grub/extcmd.h: Likewise.
* kern/command.c: Likewise.
* kern/corecmd.c: Likewise.
* kern/list.c (grub_list_iterate): Return int instead of void.
(grub_list_insert): New function.
(grub_prio_list_insert): Likewise.
* kern/rescue.c (grub_rescue_command): Removed.
(grub_rescue_command_list): Likewise.
(grub_rescue_register_command): Likewise.
(grub_rescue_unregister_command): Likewise.
(grub_rescue_cmd_boot): Move to minicmd.c
(grub_rescue_cmd_help): Likewise.
(grub_rescue_cmd_info): Likewise.
(grub_rescue_cmd_boot): Likewise.
(grub_rescue_cmd_testload): Likewise.
(grub_rescue_cmd_dump): Likewise.
(grub_rescue_cmd_rmmod): Likewise.
(grub_rescue_cmd_lsmod): Likewise.
(grub_rescue_cmd_exit): Likewise.
(grub_rescue_print_devices): Moved to corecmd.c.
(grub_rescue_print_files): Likewise.
(grub_rescue_cmd_ls): Likewise.
(grub_rescue_cmd_insmod): Likewise.
(grub_rescue_cmd_set): Likewise.
(grub_rescue_cmd_unset): Likewise.
(attemp_normal_mode): Use grub_command_find to get normal module.
(grub_enter_rescue_mode): Use grub_register_core_commands to register
commands, remove grub_rescue_regiter_command calls.
* normal/command.c (grub_regiser_command): Removed.
(grub_unregister_command): Likewise.
(grub_command_find): Likewise.
(grub_iterate_commands): Likewise.
(rescue_command): Likewise.
(export_command): Moved to corecmd.c.
(set_command): Removed.
(unset_command): Likewise.
(insmod_command): Likewise.
(rmmod_command): Likewise.
(lsmod_command): Likewise.
(grub_command_init): Likewise.
* normal/completion.c (iterate_command): Use cmd->prio to check for
active command.
(complete_arguments): Use grub_extcmd_t structure to find options.
(grub_normal_do_completion): Change function grub_iterate_commands to
grub_command_iterate.
* normal/execute.c (grub_script_execute_cmd): No need to parse
argument here.
* normal/main.c (grub_dyncmd_dispatcher): New function.
(read_command_list): Register unload commands as dyncmd.
(grub_cmd_normal): Use new command interface, register rescue,
unregister normal at entry, register normal, unregister rescue at exit.
* include/grub/list.h (grub_list_test_t): New type.
(grub_list_iterate): Return int instead of void.
(grub_list_insert): New function.
(GRUB_AS_NAMED_LIST_P): New macro.
(GRUB_AS_PRIO_LIST): Likewise.
(GRUB_AS_PRIO_LIST_P): Likewise.
(GRUB_PRIO_LIST_PRIO_MASK): New constant.
(GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
(grub_prio_list): New structure.
(grub_prio_list_insert): New function.
(grub_prio_list_remove): New inline function.
* include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
(GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
(GRUB_COMMAND_FLAG_MENU): Likewise.
(GRUB_COMMAND_FLAG_BOTH): Likewise.
(GRUB_COMMAND_FLAG_TITLE): Likewise.
(GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
(GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
(GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
(grub_command): Likewise.
(grub_register_command): Likewise.
(grub_command_find): Likewise.
(grub_iterate_commands): Likewise.
(grub_command_init): Likewise.
(grub_arg_parse): Likewise.
(grub_arg_show_help): Likewise.
* include/grub/rescue.h (grub_rescue_register_command): Removed.
(grub_rescue_unregister_command): Likewise.
* include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
* include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
grub_rescue_cmd_initrd.
* include/grub/i386/loader.h: Likewise.
* include/grub/x86_64/loader.h: Likewise.
* include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
2009-03-21 08:39:59 +00:00