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
8a40612b2c
fix ofconsole palette
2009-12-15 19:57:23 +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
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
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
cbennett
40164e7552
2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
...
* term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
background image command.
2009-03-12 18:57:42 +00:00
cbennett
c58bc32a67
2009-03-12 Colin D Bennett <colin@gibibit.com>
...
* term/gfxterm.c (draw_cursor): Ensure character is redrawn.
(grub_gfxterm_putchar): Extract pairs of identical calls to
draw_cursor out of conditional blocks.
2009-03-12 18:30:44 +00:00
robertmh
6374daf387
2009-02-21 Robert Millan <rmh@aybabtu.com>
...
Implement USB keyboard support (based on patch by Marco Gerards)
* conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
(usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
(usb_keyboard_mod_LDFLAGS): New variables.
* term/usb_keyboard.c: New file.
2009-02-21 14:55:06 +00:00
chaac
994b5e841d
2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
...
* commands/lsmmap.c: Add include to grub/machine/memory.h.
* fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
* term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
unregister function.
2009-01-27 19:07:32 +00:00
chaac
6a7eab2c13
2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
...
* disk/scsi.c (grub_scsi_read): Fix sign problem.
* term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
* util/grub-mkfont.c (usage): Fix typo.
* util/elf/grub-mkimage.c (load_modules): Fix warning.
2009-01-27 18:26:09 +00:00
chaac
bee5fe5d09
2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
...
* font/font.c (grub_font_loader_init): Re-position unknown glyph.
* term/gfxterm.c (write_char): Fix background rendering for wide
width glyphs.
2009-01-19 17:09:53 +00:00
robertmh
f36cc10867
2009-01-10 Robert Millan <rmh@aybabtu.com>
...
Update a few copyright years which we forgot to do in 2008 (only for
files whose changes made in 2008 were copyright-significant)
* Makefile.in: Add 2008 to Copyright line.
* disk/ieee1275/ofdisk.c: Likewise.
* disk/efi/efidisk.c: Likewise.
* kern/dl.c: Likewise.
* kern/sparc64/ieee1275/init.c: Likewise.
* kern/mm.c: Likewise.
* kern/efi/mm.c: Likewise.
* boot/i386/pc/boot.S: Likewise.
* genfslist.sh: Likewise.
* fs/iso9660.c: Likewise.
* fs/hfs.c: Likewise.
* fs/jfs.c: Likewise.
* fs/minix.c: Likewise.
* fs/ufs.c: Likewise.
* gensymlist.sh.in: Likewise.
* genkernsyms.sh.in: Likewise.
* include/grub/misc.h: Likewise.
* include/grub/types.h: Likewise.
* include/grub/symbol.h: Likewise.
* include/grub/elf.h: Likewise.
* include/grub/kernel.h: Likewise.
* include/grub/disk.h: Likewise.
* include/grub/dl.h: Likewise.
* include/grub/i386/linux.h: Likewise.
* include/grub/i386/pc/biosdisk.h: Likewise.
* include/grub/efi/api.h: Likewise.
* include/grub/efi/pe32.h: Likewise.
* include/grub/util/misc.h: Likewise.
* normal/execute.c: Likewise.
* normal/arg.c: Likewise.
* normal/completion.c: Likewise.
* normal/lexer.c: Likewise.
* normal/parser.y: Likewise.
* normal/misc.c: Likewise.
* commands/i386/pc/vbeinfo.c: Likewise.
* commands/hexdump.c: Likewise.
* commands/terminal.c: Likewise.
* commands/ls.c: Likewise.
* commands/help.c: Likewise.
* partmap/pc.c: Likewise.
* loader/efi/chainloader.c: Likewise.
* loader/multiboot_loader.c: Likewise.
* loader/i386/pc/multiboot2.c: Likewise.
* term/efi/console.c: Likewise.
* term/i386/pc/serial.c: Likewise.
* util/lvm.c: Likewise.
* util/console.c: Likewise.
* util/i386/efi/grub-mkimage.c: Likewise.
* util/raid.c: Likewise.
2009-01-10 13:07:44 +00:00
chaac
7f02114b79
2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
...
* commands/videotest.c: Removed include to grub/machine/memory.h.
* conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
(video_mod_SOURCES): Removed.
(video_mod_CFLAGS): Likewise.
(video_mod_LDFLAGS): Likewise.
(gfxterm_mod_SOURCES): Likewise.
(gfxterm_mod_CFLAGS): Likewise.
(gfxterm_mod_LDFLAGS): Likewise.
(videotest_mod_SOURCES): Likewise.
(videotest_mod_CFLAGS): Likewise.
(videotest_mod_LDFLAGS): Likewise.
(bitmap_mod_SOURCES): Likewise.
(bitmap_mod_CFLAGS): Likewise.
(bitmap_mod_LDFLAGS): Likewise.
(tga_mod_SOURCES): Likewise.
(tga_mod_CFLAGS): Likewise.
(tga_mod_LDFLAGS): Likewise.
(jpeg_mod_SOURCES): Likewise.
(jpeg_mod_CFLAGS): Likewise.
(jpeg_mod_LDFLAGS): Likewise.
(png_mod_SOURCES): Likewise.
(png_mod_CFLAGS): Likewise.
(png_mod_LDFLAGS): Likewise.
* conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
(video_mod_SOURCES): Added.
(video_mod_CFLAGS): Likewise.
(video_mod_LDFLAGS): Likewise.
(videotest_mod_SOURCES): Likewise.
(videotest_mod_CFLAGS): Likewise.
(videotest_mod_LDFLAGS): Likewise.
(bitmap_mod_SOURCES): Likewise.
(bitmap_mod_CFLAGS): Likewise.
(bitmap_mod_LDFLAGS): Likewise.
(tga_mod_SOURCES): Likewise.
(tga_mod_CFLAGS): Likewise.
(tga_mod_LDFLAGS): Likewise.
(jpeg_mod_SOURCES): Likewise.
(jpeg_mod_CFLAGS): Likewise.
(jpeg_mod_LDFLAGS): Likewise.
(png_mod_SOURCES): Likewise.
(png_mod_CFLAGS): Likewise.
(png_mod_LDFLAGS): Likewise.
(gfxterm_mod_SOURCES): Likewise.
(gfxterm_mod_CFLAGS): Likewise.
(gfxterm_mod_LDFLAGS): Likewise.
* term/gfxterm.c: Removed include to grub/machine/memory.h,
grub/machine/console.h.
2009-01-05 23:01:00 +00:00
chaac
1e901a7573
2009-01-02 Colin D Bennett <colin@gibibit.com>
...
New font engine.
Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
build system and fixed gfxterm.c to work with different sized fonts.
* configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
* configure: Re-generated.
* DISTLIST: Removed font/manager.c.
Added font/font.c.
Added font/font_cmd.c.
* Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
compilation.
* include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
* kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
* kern/term.c: Changed users of grub_utf8_to_ucs4.
* normal/menu.c: Likewise.
* conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
(font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
* include/grub/font.h: Replaced with new file.
* include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
(GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
(GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
(GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
(grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
(grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
fg_red, fg_green, fg_blue, fg_alpha.
(grub_video_adapter): Removed blit_glyph.
(grub_video_blit_glyph): Removed.
* font/manager.c: Removed file.
* font/font.c: New file.
* font/font_cmd.c: Likewise.
* video/video.c (grub_video_blit_glyph): Removed.
* video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
(grub_video_vbe_map_rgba): Likewise.
(grub_video_vbe_unmap_color_int): Likewise.
(grub_video_vbe_blit_glyph): Removed.
(grub_video_vbe_adapter): Removed blit_glyph.
* video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
(get_pixel): Likewise.
(set_pixel): Likewise.
* commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
* term/gfxterm.c: Adapted to new font engine.
* term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
* term/i386/pc/vga.c: Likewise.
* util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
* util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
* util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
* util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
* util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
* util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
* util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
* util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
* util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
* util/grub.d/00_header.in: Changed to use new loadfont command.
* util/grub-mkconfig_lib.in: Changed font extension.
2009-01-02 15:26:06 +00:00
robertmh
bc3a2f3115
2008-11-22 Robert Millan <rmh@aybabtu.com>
...
Fix breakage on coreboot due to declaration missmatch.
* term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
(grub_vga_text_term): Use grub_vga_text_init_fini() instead of
grub_vga_text_cls().
2008-11-22 14:56:52 +00:00
robertmh
e2e078478e
2008-11-14 Robert Millan <rmh@aybabtu.com>
...
* term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
(GRUB_SERIAL_PORT_NUM): Fix misscalculation.
2008-11-14 17:57:39 +00:00
robertmh
976b07d044
2008-11-12 Robert Millan <rmh@aybabtu.com>
...
Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
split).
* include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
(grub_console_cur_color, grub_console_real_putchar)
(grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
(grub_console_setcolorstate, grub_console_setcolor)
(grub_console_getcolor): Move from here ...
* include/grub/i386/vga_common.h: ... to here (new file).
* term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
`<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
`<grub/i386/io.h>'.
* term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
`<grub/i386/vga_common.h>'.
2008-11-12 17:43:39 +00:00
robertmh
76679cd3a4
2008-11-12 Robert Millan <rmh@aybabtu.com>
...
* conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
* conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
(vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
variables.
* conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
`term/i386/pc/console.c' with `term/i386/vga_common.c'.
* kern/i386/coreboot/init.c (grub_machine_init): Replace call to
grub_console_init() with call to grub_vga_text_init().
(grub_machine_fini): Replace call to
grub_console_fini() with call to grub_vga_text_fini() and
grub_at_keyboard_fini().
* include/grub/i386/pc/console.h: Include `<grub/term.h>'.
(grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
(grub_console_setcolorstate, grub_console_setcolor)
(grub_console_getcolor): New function prototypes.
* term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
(grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
(grub_vga_text_setcursor): Static-ize.
(grub_vga_text_term): New structure.
(GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
* term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
(grub_console_cur_color, grub_console_standard_color)
(grub_console_normal_color, grub_console_highlight_color)
(map_char, grub_console_putchar, grub_console_getcharwidth)
(grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
(grub_console_getcolor): Move from here ...
* term/i386/vga_common.c: ... to here (same function names).
2008-11-12 15:02:17 +00:00
robertmh
761ca975a9
2008-11-12 Robert Millan <rmh@aybabtu.com>
...
Fix a regression introduced by the at_keyboard.mod split. Because
some terminals are default on some platforms and non-default on
others, the first terminal being registered determines which is
going to be default.
* kern/term.c (grub_term_register_input): If this is the first
terminal being registered, set it as the current one.
(grub_term_register_output): Likewise.
* term/efi/console.c (grub_console_init): Do not call
grub_term_set_current_output() or grub_term_set_current_input().
* term/ieee1275/ofconsole.c (grub_console_init): Likewise.
* term/i386/pc/console.c (grub_console_init): Likewise.
(grub_console_fini): Do not call grub_term_set_current_input()
(but leave grub_term_set_current_output() to restore text mode).
2008-11-11 23:16:54 +00:00
robertmh
dcb6fa0a1c
* term/ieee1275/ofconsole.c: Remove stale `#endif'.
2008-11-08 12:25:52 +00:00
robertmh
0025933a5e
2008-11-08 Robert Millan <rmh@aybabtu.com>
...
* term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
`struct grub_term_output'. Remove `.checkkey' and `.getkey'
members. Update all users.
* util/console.c (grub_ncurses_term): Split in ...
(grub_ncurses_term_input): ... this, and ...
(grub_ncurses_term_output): ... this. Update all users.
2008-11-08 12:17:51 +00:00
robertmh
651c29b79e
2008-11-07 Robert Millan <rmh@aybabtu.com>
...
Modularize at_keyboard.mod:
* conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
(at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
(at_keyboard_mod_LDFLAGS): New variables.
Actual terminal split:
* include/grub/term.h (struct grub_term): Split in ...
(struct grub_term_input): ... this, and ...
(struct grub_term_output): ... this. Update all users.
(grub_term_set_current): Split in ...
(grub_term_set_current_input): ... this, and ...
(grub_term_set_current_output): ... this.
(grub_term_get_current): Split in ...
(grub_term_get_current_input): ... this, and ...
(grub_term_get_current_output): ... this.
(grub_term_register): Split in ...
(grub_term_register_input): ... this, and ...
(grub_term_register_output): ... this.
(grub_term_unregister): Split in ...
(grub_term_unregister_input): ... this, and ...
(grub_term_unregister_output): ... this.
(grub_term_iterate): Split in ...
(grub_term_iterate_input): ... this, and ...
(grub_term_iterate_output): ... this.
* kern/term.c (grub_term_list): Split in ...
(grub_term_list_input): ... this, and ...
(grub_term_list_output): ... this. Update all users.
(grub_cur_term): Split in ...
(grub_cur_term_input): ... this, and ...
(grub_cur_term_output): ... this. Update all users.
(grub_term_set_current): Split in ...
(grub_term_set_current_input): ... this, and ...
(grub_term_set_current_output): ... this.
(grub_term_get_current): Split in ...
(grub_term_get_current_input): ... this, and ...
(grub_term_get_current_output): ... this.
(grub_term_register): Split in ...
(grub_term_register_input): ... this, and ...
(grub_term_register_output): ... this.
(grub_term_unregister): Split in ...
(grub_term_unregister_input): ... this, and ...
(grub_term_unregister_output): ... this.
(grub_term_iterate): Split in ...
(grub_term_iterate_input): ... this, and ...
(grub_term_iterate_output): ... this.
* kern/misc.c (grub_abort): Split use of grub_term_get_current() into
a check for input and one for output (and only attempt to get keys
from user when input works).
* util/grub-probe.c (grub_term_get_current): Split in ...
(grub_term_get_current_input): ... this, and ...
(grub_term_get_current_output): ... this.
* util/grub-fstest.c: Likewise.
* util/i386/pc/grub-setup.c: Likewise.
* util/grub-editenv.c: Likewise.
Portability adjustments:
* conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
`term/i386/pc/at_keyboard.c'.
* kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
grub_keyboard_controller_init() (now handled by terminal .init).
* kern/i386/coreboot/init.c (grub_machine_init): Add call to
grub_at_keyboard_init().
* include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
(grub_console_checkkey, grub_console_getkey): Remove (now provided by
at_keyboard.mod via input terminal interface).
* include/grub/i386/coreboot/console.h: Convert into a stub for
`<grub/i386/pc/console.h>'.
Migrate full terminals to new API:
* term/efi/console.c (grub_console_term): Split into ...
(grub_console_term_input): ... this, and ...
(grub_console_term_output): ... this. Update all users.
* term/ieee1275/ofconsole.c: Remove __i386__ hack.
(grub_ofconsole_init): Split into ...
(grub_ofconsole_init_input): ... this, and ...
(grub_ofconsole_init_output): ... this.
(grub_ofconsole_term): Split into ...
(grub_ofconsole_term_input): ... this, and ...
(grub_ofconsole_term_output): ... this. Update all users.
* term/i386/pc/serial.c (grub_serial_term): Split into ...
(grub_serial_term_input): ... this, and ...
(grub_serial_term_output): ... this. Update all users.
* term/i386/pc/console.c (grub_console_term): Split into ...
(grub_console_term_input): ... this, and ...
(grub_console_term_output): ... this. Update all users.
(grub_console_term_input): Only enable it on PC/BIOS platform.
(grub_console_init): Remove grub_keyboard_controller_init() call.
Migrate input terminals to new API:
* term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
`i386' and `i386/pc' to enable build on x86_64 (this driver is
i386-specific anyway).
(grub_console_checkkey): Rename to ...
(grub_at_keyboard_checkkey): ... this. Static-ize. Update all
users.
(grub_keyboard_controller_orig): New variable.
(grub_console_getkey): Rename to ...
(grub_at_keyboard_getkey): ... this. Static-ize. Update all
users.
(grub_keyboard_controller_init): Static-ize. Save original
controller value so that it can be restored ...
(grub_keyboard_controller_fini): ... here (new function).
(grub_at_keyboard_term): New structure.
(GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
functions.
Migrate output terminals to new API:
* term/i386/pc/vga.c (grub_vga_term): Change type to
`struct grub_term_output'. Remove `.checkkey' and `.getkey'
members. Update all users.
* term/gfxterm.c (grub_video_term): Change type to
`struct grub_term_output'. Remove `.checkkey' and `.getkey'
members. Update all users.
* include/grub/i386/pc/console.h (grub_console_checkkey)
(grub_console_getkey): Do not export (no longer needed by gfxterm,
etc).
Migrate `terminal' command and userland tools to new API:
* commands/terminal.c (grub_cmd_terminal): Split into ...
(grub_cmd_terminal_input): ... this, and ...
(grub_cmd_terminal_output): ... this.
(GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
`terminal_input' and `terminal_output'.
* util/grub.d/00_header.in: Adjust `terminal' calls to new
`terminal_input' / `terminal_output' API.
* util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
provided ${GRUB_TERMINAL}, convert it).
2008-11-07 19:11:39 +00:00
robertmh
f9dbfc961e
2008-08-19 Robert Millan <rmh@aybabtu.com>
...
* term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
(struct grub_virtual_screen): Remove `cursor_color'.
(grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
initialization.
(write_cursor): Use `virtual_screen.fg_color' to draw cursor.
2008-08-19 19:20:33 +00:00
robertmh
a55d42e0e0
2008-08-06 Robert Millan <rmh@aybabtu.com>
...
* conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
`halt.mod'.
(reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
(halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
* kern/i386/halt.c: New file.
* kern/i386/reboot.c: Likewise.
* include/grub/i386/reboot.h: Likewise.
* include/grub/i386/halt.h: Likewise.
* commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
Include `<grub/cpu/halt.h>'.
* commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
[! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
* term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
(SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
(KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
(KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
(KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
(KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
from here ...
* include/grub/i386/at_keyboard.h: ... to here.
2008-08-06 00:20:04 +00:00
robertmh
e14a6184ba
2008-08-03 Robert Millan <rmh@aybabtu.com>
...
* term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
(grub_console_setcursor): Make it possible to set cursor off.
2008-08-03 17:09:21 +00:00
robertmh
4ca049a365
2008-07-30 Robert Millan <rmh@aybabtu.com>
...
* term/i386/pc/vga_text.c (grub_console_cls): Use
grub_console_gotoxy() to go back to beginning of the screen.
Found by Patrick Georgi <patrick.georgi@coresystems.de>
2008-07-29 23:29:03 +00:00
bean
2001169405
2008-07-17 Bean <bean123ch@gmail.com>
...
* conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
(appleldr_mod_SOURCE): New variavle.
(appleldr_mod_CFLAGS): Likewise.
(appleldr_mod_LDFLAGS): Likewise.
(pci_mod_SOURCES): Likewise.
(pci_mod_CFLAGS): Likewise.
(pci_mod_LDFLAGS): Likewise.
(lspci_mod_SOURCES): Likewise.
(lspci_mod_CFLAGS): Likewise.
(lspci_mod_LDFLAGS): Likewise.
* conf/x86_64-efi.rmk: New file.
* disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
macro.
(grub_efidisk_write): Likewise.
* include/efi/api.h (efi_call_0): New macro.
(efi_call_1): Likewise.
(efi_call_2): Likewise.
(efi_call_3): Likewise.
(efi_call_4): Likewise.
(efi_call_5): Likewise.
(efi_call_6): Likewise.
* include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
grub_rescue_cmd_chainloader.
* include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
(grub_pe32_optional_header): Change some fields based on i386 or
x86_64 platform.
(GRUB_PE32_PE32_MAGIC): Likewise.
* include/grub/efi/uga_draw.h: New file.
* include/grub/elf.h (STN_ABS): New constant.
(R_X86_64_NONE): Relocation constant for x86_64.
(R_X86_64_64): Likewise.
(R_X86_64_PC32): Likewise.
(R_X86_64_GOT32): Likewise.
(R_X86_64_PLT32): Likewise.
(R_X86_64_COPY): Likewise.
(R_X86_64_GLOB_DAT): Likewise.
(R_X86_64_JUMP_SLOT): Likewise.
(R_X86_64_RELATIVE): Likewise.
(R_X86_64_GOTPCREL): Likewise.
(R_X86_64_32): Likewise.
(R_X86_64_32S): Likewise.
(R_X86_64_16): Likewise.
(R_X86_64_PC16): Likewise.
(R_X86_64_8): Likewise.
(R_X86_64_PC8): Likewise.
* include/grub/i386/efi/pci.h: New file.
* include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
Change it value based on platform.
(GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
(GRUB_E820_RAM): Likewise.
(GRUB_E820_RESERVED): Likewise.
(GRUB_E820_ACPI): Likewise.
(GRUB_E820_NVS): Likewise.
(GRUB_E820_EXEC_CODE): Likewise.
(GRUB_E820_MAX_ENTRY): Likewise.
(grub_e820_mmap): New structure.
(linux_kernel_header): Change the efi field according to different
kernel version, also field from linux_kernel_header.
* include/grub/kernel.h (grub_module_info): Add padding for x86_64.
* include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
(GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
(GRUB_PCI_ADDR_SPACE_IO): Likewise.
(GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
(GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
(GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
(GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
(GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
(GRUB_PCI_ADDR_MEM_MASK): Likewise.
(GRUB_PCI_ADDR_IO_MASK): Likewise.
* include/grub/x86_64/efi/kernel.h: New file.
* include/grub/x86_64/efi/loader.h: Likewise.
* include/grub/x86_64/efi/machine.h: Likewise.
* include/grub/x86_64/efi/pci.h: Likewise.
* include/grub/x86_64/efi/time.h: Likewise.
* include/grub/x86_64/linux.h: Likewise.
* include/grub/x86_64/setjmp.h: Likewise.
* include/grub/x86_64/time.h: Likewise.
* include/grub/x86_64/types.h: Likewise.
* kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
GRUB_TARGET_SIZEOF_VOID_P.
* kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
(grub_efi_locate_handle): Likewise.
(grub_efi_open_protocol): Likewise.
(grub_efi_set_text_mode): Likewise.
(grub_efi_stall): Likewise.
(grub_exit): Likewise.
(grub_reboot): Likewise.
(grub_halt): Likewise.
(grub_efi_exit_boot_services): Likewise.
(grub_get_rtc): Likewise.
* kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
(GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
(grub_efi_allocate_pages): Wrap efi calls.
(grub_efi_free_pages): Wrap efi calls.
(grub_efi_get_memory_map): Wrap efi calls.
* kern/x86_64/dl.c: New file.
* kern/x86_64/efi/callwrap.S: Likewise.
* kern/x86_64/efi/startup.S: Likewise.
* loader/efi/appleloader.c: Likewise.
* loader/efi/chainloader.c (cmdline): New variable.
(grub_chainloader_unload): Wrap efi calls.
(grub_chainloader_boot): Likewise.
(grub_rescue_cmd_chainloader): Wrap efi calls, handle
command line.
* loader/efi/chainloader_normal.c (chainloader_command):
Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
command line.
* loader/i386/efi/linux.c (allocate_pages): Change allocation
method.
(grub_e820_add_region): New function.
(grub_linux_boot): Construct e820 map from efi map, handle x86_64
booting.
(grub_find_video_card): New function.
(grub_linux_setup_video): New function.
(grub_rescue_cmd_linux): Probe for video information.
* normal/x86_64/setjmp.S: New file.
* term/efi/console.c (map_char): New function.
(grub_console_putchar): Map unicode char.
(grub_console_checkkey): Wrap efi calls.
(grub_console_getkey): Likewise.
(grub_console_getwh): Likewise.
(grub_console_gotoxy): Likewise.
(grub_console_cls): Likewise.
(grub_console_setcolorstate): Likewise.
(grub_console_setcursor): Likewise.
* util/i386/efi/grub-mkimage.c: Add support for x86_64.
2008-07-17 09:50:26 +00:00
proski
62ead89c20
2008-07-15 Pavel Roskin <proski@gnu.org>
...
* term/ieee1275/ofconsole.c: Disable code unused on i386.
2008-07-15 13:27:02 +00:00
proski
947414b4b9
2008-07-11 Pavel Roskin <proski@gnu.org>
...
* term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
[!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
(serial_hw_get_port): Check validity of the port number.
(grub_cmd_serial): Check return value of serial_hw_get_port().
2008-07-11 16:40:45 +00:00