Vladimir 'phcoder' Serbinenko
f10331edf2
Preliminary support for UTF-8 console
2010-03-16 00:48:34 +01:00
Vladimir 'phcoder' Serbinenko
9a3355cfde
Fix EFI and IEEE1275
2010-03-16 00:23:49 +01:00
Vladimir 'phcoder' Serbinenko
0a239a8211
bidi works in terminal in grub-emu
2010-03-15 21:14:11 +01:00
Vladimir 'phcoder' Serbinenko
dfed5c6bb4
Removed grub_putchar
2010-03-15 11:49:27 +01:00
Vladimir 'phcoder' Serbinenko
dae79b6b05
Merge mainline into emu-mod
2010-03-14 16:27:54 +01:00
Vladimir 'phcoder' Serbinenko
c28e2d120b
merge mainline into yeeloongfw
2010-03-07 23:21:09 +01:00
Colin Watson
2b8fa975d4
2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
...
* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
duplicate declaration of `start'.
2010-02-24 10:02:16 +00:00
Manoel Rebelo Abranches
d1484a422e
2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
...
* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
backspace keys.
2010-02-20 11:23:13 +01:00
Vladimir 'phcoder' Serbinenko
1eb746f274
Initialise remaining UART registers on Yeeloong
2010-02-16 22:40:53 +01:00
Vladimir 'phcoder' Serbinenko
402e377992
2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
...
* term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
Double divisor.
(serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
features.
(GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
2010-02-15 19:01:38 +01:00
Vladimir 'phcoder' Serbinenko
a08769434f
2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
...
* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
escape sequence after \e.
2010-02-14 14:52:10 +01:00
Vladimir 'phcoder' Serbinenko
e29f95dc53
2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
...
* term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
non-ASCII characters.
2010-02-14 14:51:06 +01:00
Vladimir 'phcoder' Serbinenko
69e137e819
2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
...
* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
constants.
2010-02-13 16:40:29 +01:00
Vladimir 'phcoder' Serbinenko
19a9fb834b
merge mainline into emu-mod
2010-02-07 03:06:33 +01:00
Vladimir 'phcoder' Serbinenko
909301af11
First try at generating grub-emu from modules
2010-02-07 02:07:35 +01:00
Vladimir 'phcoder' Serbinenko
1f534b6908
Merge mainline into gfxmenu
2010-02-03 01:24:07 +01:00
Vladimir 'phcoder' Serbinenko
4b358c0a56
2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
...
* term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
stack since heap may be unavailable at that point.
(grub_ofconsole_gotoxy): Likewise.
2010-01-22 20:42:02 +01:00
Vladimir 'phcoder' Serbinenko
d645e0f8e8
2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
...
* term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
stack since heap is unavailable at that point.
2010-01-22 00:07:28 +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
2d49abe9e7
merge mainline into asprintf
2010-01-20 07:36:17 +01:00
Robert Millan
e022a2d667
Sync with trunk
2010-01-18 20:51:35 +00:00
Vladimir 'phcoder' Serbinenko
b0b139075e
2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
...
Use flag-based instead of hook-based video mode selection and "auto"
keyword.
* include/grub/video.h (grub_video_adapter): Changed 'setup' member.
(grub_video_set_mode): Changed prototype. All users updated.
(grub_video_check_mode_flag): New inline function.
* video/video.c (parse_modespec): New function.
(grub_video_set_mode): Parse flags and keywords.
2010-01-17 17:52:01 +01:00
Vladimir 'phcoder' Serbinenko
c1f2882010
2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
...
* term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
(grub_ofconsole_getwh): Split to ...
(grub_ofconsole_getwh): ... this.
(grub_ofconsole_dimensions): ...and this.
(grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
2010-01-13 20:43:48 +01:00
Vladimir 'phcoder' Serbinenko
ffa8e3d277
2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
...
* term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
in premature implicit newline.
2010-01-10 22:35:46 +01:00
Vladimir 'phcoder' Serbinenko
85a2cf749f
merge mainline into mips
2010-01-10 13:34:48 +01:00
Robert Millan
822873a7da
Eliminate grub_term_register_{input,output}_active. Default terminals are
...
automatically activated because they're the only terminal that has been loaded.
This solution is temporary. In the future, all terminals should auto-enable,
but this is non-trivial due to resource conflict, and it shouldn't prevent
merge in trunk.
2010-01-09 23:42:17 +01:00
Vladimir 'phcoder' Serbinenko
cd622720c8
Clear both buffers on gfxterm init
2010-01-06 10:51:23 +01:00
Vladimir 'phcoder' Serbinenko
e6e86df1de
Merge multiterm into gfxmenu+multiterm
2010-01-05 16:34:10 +01:00
Vladimir 'phcoder' Serbinenko
519634516f
Merge mainline into multiterm
2010-01-05 16:27:41 +01:00
carles
29c44ad156
2010-01-03 Carles Pina i Estany <carles@pina.cat>
...
* commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
* commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
* commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
full stop.
* commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
summary. Gettextizze the strings.
* commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
* commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
* disk/loopback.c (grub_arg_options): Capitalise first letter. Add
full stop.
(GRUB_MOD_INIT): Remove command name from summary.
* hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
summary.
* loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
* term/i386/pc/serial.c (options): Add full stops.
(GRUB_MOD_INIT): Remove command name from the summary.
2010-01-03 19:50:51 +01:00
carles
77a795923b
2010-01-03 Carles Pina i Estany <carles@pina.cat>
...
* commands/acpi.c: Gettextizze help strings and/or options. Include
`grub/i18n.h' if needed.
* commands/blocklist.c: Likewise.
* commands/boot.c: Likewise.
* commands/cat.c: Likewise.
* commands/cmp.c: Likewise.
* commands/configfile.c: Likewise.
* commands/crc.c: Likewise.
* commands/date.c: Likewise.
* commands/echo.c: Likewise.
* commands/efi/fixvideo.c: Likewise.
* commands/efi/loadbios.c: Likewise.
* commands/gptsync.c: Likewise.
* commands/halt.c: Likewise.
* commands/handler.c: Likewise.
* commands/hdparm.c: Likewise.
* commands/hexdump.c: Likewise.
* commands/i386/cpuid.c: Likewise.
* commands/i386/pc/drivemap.c: Likewise.
* commands/i386/pc/halt.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.
* commands/keystatus.c: Likewise.
* commands/loadenv.c: Likewise.
* commands/ls.c: Likewise.
* commands/lsmmap.c: Likewise.
* commands/lspci.c: Likewise.
* commands/memrw.c: Likewise.
* commands/minicmd.c: Likewise.
* commands/parttool.c: Likewise.
* commands/password.c: Likewise.
* commands/probe.c: Likewise.
* commands/read.c: Likewise.
* commands/reboot.c: Likewise.
* commands/search.c: Likewise.
* commands/sleep.c: Likewise.
* commands/test.c: Likewise.
* commands/true.c: Likewise.
* commands/usbtest.c: Likewise.
* commands/videotest.c: Likewise.
* commands/xnu_uuid.c: Likewise.
* disk/loopback.c: Likewise.
* hello/hello.c: Likewise.
* loader/i386/bsd.c: Likewise.
* term/i386/pc/serial.c: Likewise.
* po/POTFILES: Add new files.
2010-01-03 19:24:22 +01:00
Colin Watson
da8d5c53e9
2010-01-02 Colin Watson <cjwatson@ubuntu.com>
...
* term/i386/pc/at_keyboard.c
(keyboard_controller_wait_untill_ready): Rename to ...
(keyboard_controller_wait_until_ready): ... this. Update all users.
2010-01-02 15:19:57 +00:00
Vladimir 'phcoder' Serbinenko
acea847040
Merge mainline into asprintf
2009-12-30 14:08:10 +01:00
Robert Millan
90d1e8797a
2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
...
* configure.ac: Check for TARGET_CFLAGS initialization before we
initialize it ourselves (sigh).
Move a few modifications to TARGET_CFLAGS to be unconditional
(extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
eh_frame)
* gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
* term/i386/pc/at_keyboard.c
(keyboard_controller_wait_untill_ready): Likewise.
(keyboard_controller_led): Rename `led_status' paramter to avoid
name conflict.
2009-12-29 14:04:18 +00:00
Vladimir 'phcoder' Serbinenko
8b442f3f4c
asprintf and snprintf support
2009-12-29 10:04:06 +01:00
Vladimir 'phcoder' Serbinenko
8dd30890bf
merge multiterm into gfxmenu+multiterm
2009-12-28 22:08:23 +01:00
Vladimir 'phcoder' Serbinenko
a6f106ce37
Fix i386-ieee1275 compilation
2009-12-28 22:06:30 +01:00
Vladimir 'phcoder' Serbinenko
742e1f7e72
merge mainline into mips
2009-12-28 01:05:47 +01:00
Vladimir 'phcoder' Serbinenko
fad68f4cca
merge multiterm into gfxmenu+multiterm
2009-12-27 17:24:16 +01:00
Vladimir 'phcoder' Serbinenko
562e438b77
Add defines for yeeloong
2009-12-27 17:21:49 +01:00
Vladimir 'phcoder' Serbinenko
d3ee2d201e
Various fixes to make gfxmenu work smoothly in multioutput environment
2009-12-26 16:41:54 +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
bee140683a
Initial effort for gfxmenu on multiterm branch
2009-12-26 01:49:57 +01:00
carles
fdcdbb6633
2009-12-26 Carles Pina i Estany <carles@pina.cat>
...
* commands/help.c (grub_cmd_help): Print the command name before the
summary.
(GRUB_MOD_INIT): Remove command name from the summary.
* kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
strig as summary.
* lib/arg.c (find_long): Print the command name before the summary.
* commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
summary.
* commands/blocklist.c (GRUB_MOD_INIT): Likewise.
* commands/cat.c (GRUB_MOD_INIT): Likewise.
* commands/cmp.c (GRUB_MOD_INIT): Likewise.
* commands/configfile.c (GRUB_MOD_INIT): Likewise.
* commands/crc.c (GRUB_MOD_INIT): Likewise.
* commands/date.c (GRUB_MOD_INIT): Likewise.
* commands/echo.c (GRUB_MOD_INIT): Likewise.
* commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
* commands/gptsync.c (GRUB_MOD_INIT): Likewise.
* commands/handler.c (GRUB_MOD_INIT): Likewise.
* commands/hdparm.c (GRUB_MOD_INIT): Likewise.
* commands/hexdump.c (GRUB_MOD_INIT): Likewise.
* commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
* commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
* commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
* commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
* commands/keystatus.c (GRUB_MOD_INIT): Likewise.
* commands/loadenv.c (GRUB_MOD_INIT): Likewise.
* commands/ls.c (GRUB_MOD_INIT): Likewise.
* commands/lspci.c (GRUB_MOD_INIT): Likewise.
* commands/memrw.c (GRUB_MOD_INIT): Likewise.
* commands/minicmd.c (GRUB_MOD_INIT): Likewise.
* commands/parttool.c (GRUB_MOD_INIT): Likewise.
* commands/password.c (GRUB_MOD_INIT): Likewise.
* commands/probe.c (GRUB_MOD_INIT): Likewise.
* commands/read.c (GRUB_MOD_INIT): Likewise.
* commands/search.c (GRUB_MOD_INIT): Likewise.
* commands/sleep.c (GRUB_MOD_INIT): Likewise.
* commands/test.c (GRUB_MOD_INIT): Likewise.
* commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
* efiemu/main.c (GRUB_MOD_INIT): Likewise.
* font/font_cmd.c (GRUB_MOD_INIT): Likewise.
* gettext/gettext.c (GRUB_MOD_INIT): Likewise.
* kern/corecmd.c (GRUB_MOD_INIT): Likewise.
* lib/arg.c (GRUB_MOD_INIT): Likewise.
* loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
* loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
* loader/xnu.c (GRUB_MOD_INIT): Likewise.
* mmap/mmap.c (GRUB_MOD_INIT): Likewise.
* term/terminfo.c (GRUB_MOD_INIT): Likewise.
* video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
* video/readers/png.c (GRUB_MOD_INIT): Likewise.
* video/readers/tga.c (GRUB_MOD_INIT): Likewise.
2009-12-26 00:50:59 +01:00
Robert Millan
d94000ed13
Merge from trunk
2009-12-25 22:29:47 +00:00
Robert Millan
3fdae612d9
2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
...
* term/i386/pc/at_keyboard.c
(keyboard_controller_wait_untill_ready): New function.
(grub_keyboard_controller_write, grub_keyboard_controller_read)
(keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
for keyboard polling, rather than duplicate the same loop. This
saves a few bytes in code size.
2009-12-25 21:38:09 +00:00
Robert Millan
2281552630
2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
...
* include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
* term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
(KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
(led_status): New variable.
(keyboard_controller_led): New function.
(grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
update led status for caps lock, num lock and scroll lock.
2009-12-25 20:33:41 +00:00
Vladimir 'phcoder' Serbinenko
9f293ab0df
merge mainline into gfxmenu
2009-12-25 21:32:46 +01:00
Vladimir 'phcoder' Serbinenko
4fc4ee303d
Set default console on non-i386-pc
2009-12-25 00:13:03 +01:00
carles
7fd0baee0f
2009-12-24 Carles Pina i Estany <carles@pina.cat>
...
* bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
grub_errno calls.
* commands/acpi.c: Likewise.
* commands/blocklist.c: Likewise.
* commands/efi/loadbios.c: Likewise.
* commands/i386/pc/drivemap.c: Likewise.
* commands/loadenv.c: Likewise.
* commands/memrw.c: Likewise.
* commands/password.c: Likewise.
* commands/videotest.c: Likewise.
* disk/ata.c: Likewise.
* disk/ata_pthru.c: Likewise.
* disk/dmraid_nvidia.c: Likewise.
* disk/ieee1275/nand.c: Likewise.
* disk/ieee1275/ofdisk.c: Likewise.
* disk/loopback.c: Likewise.
* disk/lvm.c: Likewise.
* disk/mdraid_linux.c: Likewise.
* disk/raid.c: Likewise.
* disk/raid6_recover.c: Likewise.
* disk/scsi.c: Likewise.
* efiemu/main.c: Likewise.
* efiemu/mm.c: Likewise.
* efiemu/pnvram.c: Likewise.
* efiemu/symbols.c: Likewise.
* font/font.c: Likewise.
* fs/cpio.c: Likewise.
* fs/hfsplus.c: Likewise.
* fs/iso9660.c: Likewise.
* fs/jfs.c: Likewise.
* fs/minix.c: Likewise.
* fs/ntfs.c: Likewise.
* fs/ntfscomp.c: Likewise.
* fs/reiserfs.c: Likewise.
* fs/ufs.c: Likewise.
* fs/xfs.c: Likewise.
* gettext/gettext.c: Likewise.
* include/grub/auth.h: Likewise.
* kern/elf.c: Likewise.
* kern/file.c: Likewise.
* kern/ieee1275/init.c: Likewise.
* kern/ieee1275/mmap.c: Likewise.
* kern/ieee1275/openfw.c: Likewise.
* kern/powerpc/dl.c: Likewise.
* kern/sparc64/dl.c: Likewise.
* lib/arg.c: Likewise.
* loader/i386/bsd.c: Likewise.
* loader/i386/bsdXX.c: Likewise.
* loader/i386/efi/linux.c: Likewise.
* loader/i386/efi/xnu.c: Likewise.
* loader/i386/ieee1275/linux.c: Likewise.
* loader/i386/linux.c: Likewise.
* loader/i386/multiboot.c: Likewise.
* loader/i386/pc/linux.c: Likewise.
* loader/i386/pc/multiboot2.c: Likewise.
* loader/i386/xnu.c: Likewise.
* loader/ieee1275/multiboot2.c: Likewise.
* loader/macho.c: Likewise.
* loader/machoXX.c: Likewise.
* loader/multiboot2.c: Likewise.
* loader/multiboot_loader.c: Likewise.
* loader/powerpc/ieee1275/linux.c: Likewise.
* loader/sparc64/ieee1275/linux.c: Likewise.
* loader/xnu.c: Likewise.
* loader/xnu_resume.c: Likewise.
* mmap/i386/pc/mmap.c: Likewise.
* normal/menu_viewer.c: Likewise.
* partmap/acorn.c: Likewise.
* partmap/amiga.c: Likewise.
* partmap/apple.c: Likewise.
* script/lexer.c: Likewise.
* term/gfxterm.c: Likewise.
* term/i386/pc/serial.c: Likewise.
* term/i386/pc/vga.c: Likewise.
* term/ieee1275/ofconsole.c: Likewise.
* term/terminfo.c: Likewise.
* video/bitmap.c: Likewise.
* video/efi_gop.c: Likewise.
* video/efi_uga.c: Likewise.
* video/fb/video_fb.c: Likewise.
* video/i386/pc/vbe.c: Likewise.
* video/readers/tga.c: Likewise.
* video/video.c: Likewise.
2009-12-24 23:53:05 +01:00
Vladimir 'phcoder' Serbinenko
9f0cd916a4
Restrict terminfo to serial
2009-12-24 23:20:43 +01:00
Vladimir 'phcoder' Serbinenko
0aa6339849
Working multi-terminal
2009-12-24 21:54:37 +01:00
Vladimir 'phcoder' Serbinenko
2e71383172
Core changes hopefully finished
2009-12-24 15:34:33 +01:00
Vladimir 'phcoder' Serbinenko
f4c623e170
Work on multi-out terminal
2009-12-24 00:37:11 +01:00
Vladimir 'phcoder' Serbinenko
2ecf0c7ea4
Discard brightness bit
2009-12-18 17:19:12 +01:00
Vladimir 'phcoder' Serbinenko
45da21ff5a
merge mainline into videomask
2009-12-16 17:52:17 +01:00
Robert Millan
ffb2403f5f
Undo DEFAULT_VIDEO_MODE kludge (correct solution is in gfxmenu branch)
2009-12-15 21:06:04 +00:00
Vladimir 'phcoder' Serbinenko
8a40612b2c
fix ofconsole palette
2009-12-15 19:57:23 +01:00
Vladimir 'phcoder' Serbinenko
8f44a91ea9
Fix bug in at_keyboard which blocked the menu countdown.
2009-12-09 21:47:58 +01:00
Vladimir 'phcoder' Serbinenko
17d1956f5c
Fix cursor drawing and whole screen scrolling
2009-12-02 21:03:41 +01:00
Vladimir 'phcoder' Serbinenko
0ee6924f69
Revert USB-related MIPS changes
2009-12-02 10:00:54 +01:00
Vladimir 'phcoder' Serbinenko
af20edb21d
2009-11-30 Vladimir Serbinenko <phcoder@gmail.com>
...
Agglomerate scrolling in gfxterm.
* term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
(grub_virtual_screen_setup): Initialise 'total_screen'.
(write_char): Split to ...
(paint_char): ... this ...
(write_char): ... and this.
(paint_char): Handle delayed scrolling.
(draw_cursor): Likewise.
(scroll_up): Split to ...
(real_scroll): ... this ...
(scroll_up): ... and this.
(real_scroll): Handle multi-line scroll and draw below-the-bottom
characters.
(grub_gfxterm_refresh): Call real_scroll.
2009-11-30 12:51:20 +01:00
Vladimir 'phcoder' Serbinenko
bde358ac91
merged with mainline
2009-11-25 23:17:32 +01:00
Vladimir 'phcoder' Serbinenko
3dcf83ba7d
merged mainstream into gfxmenu
2009-11-24 01:22:41 +01:00
Robert Millan
f84b481b35
Cheery-pick grub-emu split from experimental (rev 1361)
...
2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
* configure.ac: Detect all `emu' platforms. Define
GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
--enable-grub-emu logic. Disable include/grub/machine
symlink on `emu' platforms.
* genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
* gensymlist.sh.in: Likewise.
* include/grub/i386/coreboot/machine.h: Remove file.
* include/grub/i386/efi/machine.h: Likewise.
* include/grub/i386/ieee1275/machine.h: Likewise.
* include/grub/i386/pc/machine.h: Likewise.
* include/grub/i386/qemu/machine.h: Likewise.
* include/grub/powerpc/ieee1275/machine.h: Likewise.
* include/grub/sparc64/ieee1275/machine.h: Likewise.
* include/grub/x86_64/efi/machine.h: Likewise.
* commands/acpi.c: Remove `<grub/machine/machine.h>'.
* commands/halt.c: Likewise.
* commands/reboot.c: Likewise.
* include/grub/autoefi.h: Likewise.
* include/grub/i386/at_keyboard.h: Likewise.
* include/grub/i386/kernel.h: Likewise.
* include/grub/i386/loader.h: Likewise.
* include/grub/i386/pc/memory.h: Likewise.
* kern/dl.c: Likewise.
* kern/i386/coreboot/init.c: Likewise.
* loader/i386/bsd.c: Likewise.
* loader/i386/linux.c: Likewise.
* loader/multiboot_loader.c: Likewise.
* term/i386/pc/serial.c: Likewise.
* term/usb_keyboard.c: Likewise.
* include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
`<grub/machine/machine.h>'
[!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
* util/misc.c: Remove `<grub/machine/machine.h>' and
`<grub/machine/time.h>'.
* Makefile.in (enable_grub_emu): Remove variable.
Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
* conf/any-emu.rmk: New file.
* conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
(grub_emu_init.c): Move from here ...
* conf/any-emu.rmk: ... to here.
* conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
(grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
* conf/any-emu.rmk: ... to here.
2009-11-23 15:31:54 +00:00
Vladimir 'phcoder' Serbinenko
b4dae692eb
Fixed variable declarations
2009-11-20 14:30:58 +01:00
Colin D Bennet
c51a5caeab
2009-11-14 Colin D Bennet <colin@gibibit.com>
...
2009-11-14 Vladimir Serbinenko <phcoder@gmail.com>
Support for gfxterm in a window.
* include/grub/gfxterm.h: New file.
* include/grub/video.h (struct grub_video_rect): New declaration.
(grub_video_rect_t): Likewise.
* term/gfxterm.c (struct grub_gfxterm_window): New type.
(refcount): New variable.
(render_target): Likewise.
(window): Likewise.
(repaint_callback): Likewise.
(grub_virtual_screen_setup): Use 'render_target'.
(init_window): New function.
(grub_gfxterm_init_window): Likewise.
(grub_gfxterm_init): Check reference counter.
Use init_window.
(destroy_window): New function.
(grub_gfxterm_destroy_window): Likewise.
(grub_gfxterm_fini): Check reference counter.
Use destroy_window.
(redraw_screen_rect): Restore viewport.
Use 'render_target' and 'window'.
Call 'repaint_callback'.
(write_char): Use 'render_target'.
(draw_cursor): Likewise.
(scroll_up): Restore viewport.
Use 'render_target' and 'window'.
Call 'repaint_callback'.
(grub_gfxterm_cls): Likewise.
(grub_gfxterm_refresh): Use 'window'.
(grub_gfxterm_set_repaint_callback): New function.
(grub_gfxterm_background_image_cmd): Use 'window'.
(grub_gfxterm_get_term): New function.
(GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2009-11-15 00:03:03 +01:00
Vladimir 'phcoder' Serbinenko
a9d407a81e
Reimported scaling
2009-11-20 10:46:30 +01:00
Vladimir 'phcoder' Serbinenko
bbe73b0995
Improved performance by not requiring updating swap in gfxterm
2009-11-14 17:59:11 +01:00
Vladimir 'phcoder' Serbinenko
1f56d83788
Initial reimport of double buffering
2009-11-14 17:00:39 +01:00
Vladimir 'phcoder' Serbinenko
df48e9e18d
REimport of videomask patch
2009-11-14 16:25:50 +01:00
Vladimir 'phcoder' Serbinenko
1b4595cebf
AT keyboard support for Yeeloong
2009-11-02 23:57:09 +01:00
phcoder
072acffa20
gfxterm fix
2009-10-24 21:01:27 +02:00
phcoder
1ec31f046e
change gfxterm resolution
2009-10-24 12:45:47 +02:00
phcoder
6592e23a4e
usb on mipsel
2009-10-19 16:38:07 +02:00
phcoder
b78f2e6e10
Merge branch 'mainline' into mips
2009-10-18 16:12:53 +02:00
phcoder
cba2cae2f5
simplified serial
2009-10-18 11:49:09 +02:00
robertmh
bf7f7a18f4
2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
...
* term/tparm.c: Switch to GPLv3.
2009-10-12 21:53:15 +00:00
phcoder
1540a08402
various fixes. MIPSsim support
2009-10-11 18:18:18 +02:00
phcoder
50739170db
seems to work now. A lot is still missing though
2009-10-11 14:18:58 +02:00
phcoder
ffa9860a86
various fixes
2009-10-11 02:07:52 +02:00
phcoder
f651d13a18
split serial
2009-10-10 20:59:18 +02:00
robertmh
4e5a02a7ba
2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
...
Fix "lost keypress" bug in at_keyboard.
* term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
Checks for readyness of input buffer (without flushing it).
(grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
2009-09-24 13:25:07 +00:00
robertmh
74c958b180
2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
...
* include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
return value.
* term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
KEYBOARD_ISREADY check.
(grub_at_keyboard_checkkey): Rename to ...
(grub_at_keyboard_getkey_noblock): ... this. Update all users.
Remove gratuitous cast.
2009-09-24 13:15:51 +00:00
robertmh
dace7e8a0b
2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
...
Fix regression introduced in r2539.
* term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
to 0xA1.
2009-09-20 16:07:45 +00:00
robertmh
d8888b5cb4
2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
...
* term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
[GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
[! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
`ARRAY_SIZE' macro.
2009-08-29 00:24:32 +00:00
cjwatson
b4f34077c8
2009-08-28 Colin Watson <cjwatson@ubuntu.com>
...
* term/i386/pc/console.c (bios_data_area): Cast
GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
2009-08-28 14:10:02 +00:00
cjwatson
4cbe67e509
2009-08-28 Colin Watson <cjwatson@ubuntu.com>
...
2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
Add `getkeystatus' terminal method. Add a new `keystatus' command
to query it.
* include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
modifier key bitmasks.
(struct grub_term_input): Add `getkeystatus' member.
(grub_getkeystatus): Add prototype.
* kern/term.c (grub_getkeystatus): New function.
* include/grub/i386/pc/memory.h
(GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
(struct grub_machine_bios_data_area): Define necessary parts of BIOS
Data Area layout.
* term/i386/pc/console.c (grub_console_getkeystatus): New function.
(grub_console_term_input): Set `getkeystatus' member.
* term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
constants.
(grub_usb_keyboard_getreport): Likewise.
(grub_usb_keyboard_checkkey): Likewise.
(grub_usb_keyboard_getkeystatus): New function.
(grub_usb_keyboard_term): Set `getkeystatus' member.
* commands/keystatus.c: New file.
* conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
(keystatus_mod_SOURCES): New variable.
(keystatus_mod_CFLAGS): Likewise.
(keystatus_mod_LDFLAGS): Likewise.
* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
commands/keystatus.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.
* DISTLIST: Add commands/keystatus.c.
2009-08-28 13:20:34 +00:00
cjwatson
c385bfc37f
2009-08-24 Colin Watson <cjwatson@ubuntu.com>
...
* term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
`report' grub_uint8_t *.
(grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
Use a 50-millisecond timeout rather than just repeating
grub_usb_keyboard_getreport 50 times.
(grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
2009-08-24 17:03:24 +00:00
proski
56c5a47f43
2009-07-29 Joe Auricchio <jauricchio@gmail.com>
...
* term/gfxterm.c (clear_char): New function.
(grub_virtual_screen_setup): Use clear_char.
(scroll_up): Likewise.
(grub_virtual_screen_cls): Likewise.
2009-07-29 22:12:00 +00:00
phcoder
04c7c42969
2009-07-20 Joe Auricchio <jauricchio@gmail.com>
...
* term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
2009-07-20 16:46:36 +00:00
proski
a0c62e4e28
2009-06-11 Pavel Roskin <proski@gnu.org>
...
* term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
casts to short - they are not portable and cause warnings. Fix
use of uninitialized values in input_buf. Use ARRAY_SIZE.
2009-06-11 16:17:45 +00:00
fzielcke
b39f9d20a9
remove all trailing whitespace
2009-06-10 21:04:23 +00:00
phcoder
3eb5ed4ec0
2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
...
gfxpayload support
* commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
* include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
(grub_video_setup): remove
(grub_video_set_mode): new prototype
* loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
(vid_mode): remove
(linux_vesafb_res): compile only on PCBIOS
(grub_linux_boot): support gfxpayload
* loader/i386/pc/xnu.c (video_hook): new function
(grub_xnu_set_video): support gfxpayload
* term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
(DEFAULT_VIDEO_HEIGHT): likewise
(DEFAULT_VIDEO_FLAGS): likewise
(DEFAULT_VIDEO_MODE): new definition
(video_hook): new function
(grub_gfxterm_init): use grub_video_set_mode
* util/grub.d/30_os-prober.in: remove explicit modesetting before
loading xnu
* video/video.c (grub_video_setup): removed
(grub_video_set_mode): new function based on grub_gfxterm_init and
grub_video_setup
2009-06-04 18:22:45 +00:00
proski
de5fd76e95
2009-05-04 Pavel Roskin <proski@gnu.org>
...
* commands/acpi.c: Remove unused variable my_mod.
* partmap/amiga.c: Likewise.
* partmap/apple.c: Likewise.
* partmap/gpt.c: Likewise.
* partmap/pc.c: Likewise.
* partmap/sun.c: Likewise.
* term/gfxterm.c: Likewise.
* term/i386/pc/vesafb.c: Likewise.
* term/i386/pc/vga.c: Likewise.
2009-05-04 23:33:34 +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
proski
4c402e7301
2009-05-03 Pavel Roskin <proski@gnu.org>
...
* disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
suppress warnings. It's no longer needed.
* disk/host.c: Likewise.
* disk/ata_pthru.c: Likewise.
* disk/loopback.c: Likewise.
* hook/datehook.c: Likewise.
* parttool/pcpart.c: Likewise.
* fs/i386/pc/pxe.c: Likewise.
* fs/ntfscomp.c: Likewise.
* efiemu/main.c: Likewise.
* mmap/mmap.c: Likewise.
* commands/crc.c: Likewise.
* commands/hexdump.c: Likewise.
* commands/hdparm.c: Likewise.
* commands/acpi.c: Likewise.
* commands/echo.c: Likewise.
* commands/minicmd.c: Likewise.
* commands/blocklist.c: Likewise.
* commands/memrw.c: Likewise.
* commands/loadenv.c: Likewise.
* commands/usbtest.c: Likewise.
* commands/lsmmap.c: Likewise.
* commands/boot.c: Likewise.
* commands/parttool.c: Likewise.
* commands/configfile.c: Likewise.
* commands/search.c: Likewise.
* commands/ieee1275/suspend.c: Likewise.
* commands/cat.c: Likewise.
* commands/i386/pc/pxecmd.c: Likewise.
* commands/i386/pc/play.c: Likewise.
* commands/i386/pc/halt.c: Likewise.
* commands/i386/pc/vbeinfo.c: Likewise.
* commands/i386/pc/vbetest.c: Likewise.
* commands/lspci.c: Likewise.
* commands/date.c: Likewise.
* commands/handler.c: Likewise.
* commands/ls.c: Likewise.
* commands/test.c: Likewise.
* commands/cmp.c: Likewise.
* commands/efi/loadbios.c: Likewise.
* commands/efi/fixvideo.c: Likewise.
* commands/halt.c: Likewise.
* commands/help.c: Likewise.
* commands/reboot.c: Likewise.
* hello/hello.c: Likewise.
* script/sh/main.c: Likewise.
* loader/xnu.c: Likewise.
* term/terminfo.c: Likewise.
* term/i386/pc/serial.c: Likewise.
* term/usb_keyboard.c: Likewise.
2009-05-04 03:49:08 +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
proski
232a769cb2
2009-04-13 Pavel Roskin <proski@gnu.org>
...
* term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
2009-04-13 13:00:59 +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