Commit graph

1294 commits

Author SHA1 Message Date
Vladimir 'phcoder' Serbinenko
4274c30fbc Restructure SCSI .id handling.
Reported and tested by: Aleš Nesrsta.

	* disk/ata.c (grub_atapi_close): Removed. All users updated.
	(grub_atapi_dev): Changed .name to "ata". New field .id.
	* disk/usbms.c (grub_usbms_close): Removed. All users updated.
	(grub_usbms_dev): New field .id.
	* disk/scsi.c (grub_scsi_iterate): Generate name.
	(grub_scsi_open): Parse name.
	* include/grub/scsi.h (grub_make_scsi_id): New function.
	(grub_scsi_dev): Change iterate and open to number instead of naming
	busses. All users updated.
	(grub_scsi): Remove name. Add .bus.
2010-07-10 02:59:33 +02:00
starous
1b43dba911 USB hot-plugging 2010-07-08 22:54:35 +02:00
starous
1a0742d4e2 USB hub support 2010-07-05 19:02:05 +02:00
Vladimir 'phcoder' Serbinenko
df3eb88f04 Bidi and diacritics support.
* Makefile.in (widthspec.bin): New target.
	(widthspec.h): Likewise.
	(TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
	* autogen.sh: Generate unidata.c.
	* commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
	* commands/ls.c (grub_ls_list_devices): Likewise.
	(grub_ls_list_files): Likewise.
	* commands/minicmd.c (grub_mini_cmd_cat): Likewise.
	(grub_mini_cmd_lsmod): Likewise.
	* commands/read.c: Likewise.
	* kern/corecmd.c (grub_core_cmd_ls): Likewise.
	* kern/rescue_reader.c (grub_rescue_read_line): Likewise.
	* lib/arg.c (grub_arg_show_help): Likewise.
	* lib/crypto.c (grub_password_get): Likewise.
	* normal/auth.c (grub_username_get): Likewise.
	* normal/misc.c (grub_normal_print_device_info): Likewise.
	* commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
	* conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
	(gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
	(normal/charset.c_DEPENDENCIES): New variable.
	(normal_mod_SOURCES): Add normal/charset.c and unidata.c.
	(pkglib_MODULES): Remove charset.mod.
	(charset_mod_SOURCES): Removed.
	(charset_mod_CFLAGS): Likewise.
	(charset_mod_LDFLAGS): Likewise.
	(pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
	* conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
	and term/tparm.c.
	* conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
	(kernel_img_HEADERS): Add terminfo.h.
	* font/font.c (ascii_glyph_lookup): Return NULL on failure.
	Fill ->font. Reverse ascii bitmaps.
	(grub_font_get_xheight): New function.
	* font/font.c (grub_font_get_string_width): Moved from here ...
	* gfxmenu/font.c (grub_font_get_string_width): ... here.
	* font/font.c (grub_font_draw_string): Moved from here ...
	* gfxmenu/font.c (grub_font_draw_string): ... here.
	* font/font.c (grub_font_dup_glyph): New function.
	(grub_font_blit_glyph): Likewise.
	(grub_font_blit_glyph_mirror): Likewise.
	(blit_comb): Likewise.
	(grub_font_construct_dry_run): Likewise.
	(grub_font_get_constructed_device_width): Likewise.
	(grub_font_construct_glyph): Likewise.
	* include/grub/charset.h (grub_ucs4_to_utf8): New proto.
	* include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
	* include/grub/charset.h (grub_utf8_to_ucs4): ... here.
	* include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
	(GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
	(GRUB_FONT_CODE_LEFT_JOINED): Likewise.
	(grub_font_get_xheight): New proto.
	(grub_font_get_constructed_device_width): Likewise.
	(grub_font_construct_glyph): Likewise.
	* include/grub/font.h (grub_font_get_string_width): Moved from here ...
	* include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
	* include/grub/font.h (grub_font_draw_string): Moved from here ...
	* include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
	* include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
	* include/grub/i386/pc/console.h (grub_console_putchar): ... here.
	* include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
	(grub_console_getcharwidth): Likewise.
	* include/grub/misc.h (grub_xputs): New proto.
	(grub_puts): Inlined.
	* include/grub/normal.h (grub_print_ucs4): Add margin specification.
	(grub_normal_get_line_counter): Removed.
	(grub_install_newline_hook): Likewise.
	(grub_normal_get_char_counter): New proto.
	(grub_normal_reset_more): Likewise.
	(grub_xputs_normal): Likewise.
	* include/grub/powerpc/ieee1275/console.h: Removed.
	* include/grub/sparc64/ieee1275/console.h: Likewise.
	* include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
	(GRUB_TERM_CODE_TYPE_ASCII): Likewise.
	(GRUB_TERM_CODE_TYPE_CP437): Likewise.
	(GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
	(GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
	(GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
	(grub_term_input): Pass reference to self. All users updated.
	(grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
	Pass reference to self. New fields normal_color, highlight_color and
	data. All users updated.
	(grub_putchar): Removed.
	(grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
	(grub_unicode_estimate_width): New function.
	(grub_term_getcharwidth): Add defaults.
	(GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
	(GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
	(GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
	(grub_cls): Remove EXPORT_FUNC.
	(grub_setcolorstate): Inline.
	(grub_newline_hook): Removed.
	* include/grub/terminfo.h: Rewritten. All users updated.
	* include/grub/unicode.h: New file.
	* include/grub/video.h (grub_video_signed_rect): New type.
	* kern/emu/console.c (grub_console_highlight_color): Removed.
	(grub_console_normal_color): Likewise.
	(grub_console_standard_color): Made static.
	(grub_ncurses_putchar): Remove mapping.
	(grub_ncurses_getcharwidth): Removed.
	(grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
	(grub_ncurses_setcolor): Removed.
	(grub_ncurses_getcolor): Likewise.
	* kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
	(grub_console_putchar): ... this.
	(grub_console_putchar): Handle argument difference.
	* kern/ieee1275/init.c (grub_machine_init): Split console_init into
	console_init_early and console_init_lately.
	* kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
	* kern/misc.c (grub_puts): Removed.
	(grub_vprintf): Store UTF-8 string instead of outputting it directly.
	(grub_vsnprintf_real): Remove str = NULL support.
	* kern/misc.c (grub_utf8_to_ucs4): Move from here ...
	* normal/charset.c (grub_utf8_to_ucs4): ... here.
	* kern/term.c (grub_putcode): Renamed to ...
	(grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
	(grub_putchar): Removed.
	(grub_xputs_dumb): New function.
	(grub_xputs): New variable.
	* lib/charset.c: Move from here ...
	* normal/charset.c: ... to here.
	(grub_ucs4_to_utf8): New function.
	(grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
	(join_types): New variable.
	(unpack_join): New function.
	(bidi_types): New variable.
	(unpack_bidi): New function.
	(get_bidi_type): Likewise.
	(get_join_type): Likewise.
	(is_mirrored): Likewise.
	(grub_unicode_get_comb_type): Likewise.
	(grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
	(is_type_after): Likewise.
	(grub_unicode_aglomerate_comb): Likewise.
	(bidi_line_wrap): Likewise.
	(grub_bidi_line_logical_to_visual): Likewise.
	(grub_bidi_logical_to_visual): Likewise.
	(grub_unicode_mirror_code): Likewise.
	(grub_unicode_shape_code): Likewise.
	* normal/cmdline.c (grub_cmdline_get): Reset more counter.
	Don't use grub_putchar.
	* normal/main.c (grub_normal_init_page): Use grub_putcode.
	(grub_normal_reader_init): Likewise.
	(grub_xputs_saved): New variable.
	(GRUB_MOD_INIT): Set grub_xputs.
	(GRUB_MOD_FINI): Restore grub_xputs.
	* normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
	(menu_init): Avoid printing gfxmenu error.
	(show_menu): Use grub_normal_get_char_counter.
	* normal/menu_entry.c (update_screen): Fix out-of-array.
	(complete): Avoid NULL dereferencing.
	* grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
	* normal/menu_text.c (print_spaces): Removed.
	(grub_print_ucs4): Likewise.
	(grub_print_message_indented): Use grub_print_ucs4.
	(print_message): Use grub_putcode.
	(print_entry): Hanlde diacritics.
	* normal/term.c (term_state): New type.
	(grub_more_lines): Removed.
	(term_states): New variable.
	(grub_normal_line_counter): Renamed to ..
	(grub_normal_char_counter): ...this. All users updated.
	(grub_normal_get_line_counter): Renamed to ...
	(grub_normal_get_char_counter): ... this.
	(grub_normal_reset_more): New function.
	(process_newline): Removed.
	(print_more): New function.
	(grub_install_newline_hook): Removed.
	(map_code): New function.
	(grub_puts_terminal): Use grub_print_ucs4.
	(putglyph): New function.
	(putcode_real): Likewise.
	(grub_putcode): Use putcode_real.
	(get_maxwidth): New function.
	(get_startwidth): Likewise.
	(print_ucs4_terminal): Likewise.
	(find_term_state): Likewise.
	(put_glyphs_terminal): Likewise.
	(print_backlog): Likewise.
	(print_ucs4_real): Likewise.
	(grub_print_ucs4): Likewise.
	(grub_xputs_normal): Likewise.
	* term/efi/console.c (grub_console_putchar): Output diacritics.
	(grub_console_getcharwidth): Removed.
	(grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
	* term/gfxterm.c (clear_char): Free chars.
	(scroll_up): Avoid leaking memory.
	(grub_gfxterm_putchar): Support diacritics.
	(grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
	* term/i386/pc/console.c (grub_console_term_output): Declare as
	GRUB_TERM_CODE_TYPE_VGA.
	* term/i386/pc/vga.c (grub_vga_term): Declare as
	GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
	* term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
	GRUB_TERM_CODE_TYPE_VGA.
	* term/i386/vga_common.c (map_char): Removed.
	(grub_console_putchar): Likewise.
	(grub_console_getcharwidth): Likewise.
	* term/ieee1275/ofconsole.c: Simplify using terminfo.
	(colors): Reordered to match terminfo.
	(grub_ofconsole_normal_color): Removed.
	(grub_ofconsole_writeesc): Likewise.
	(grub_ofconsole_highlight_color): Likewise.
	(grub_ofconsole_getcharwidth): Likewise.
	(grub_ofconsole_setcolorstate): Likewise.
	(grub_ofconsole_setcolor): Likewise.
	(grub_ofconsole_getcolor): Likewise.
	(grub_ofconsole_readkey): Renamed to ...
	(readkey): ... this. Remove escape sequence handling. Return -1 on no
	key.
	(grub_ofconsole_checkkey): Removed.
	(grub_ofconsole_getkey): Likewise.
	(grub_ofconsole_getxy): Likewise.
	(grub_ofconsole_gotoxy): Likewise.
	(grub_ofconsole_cls): Likewise.
	(grub_ofconsole_refresh): Likewise.
	(grub_ofconsole_terminfo_input): New struct.
	(grub_ofconsole_terminfo_output): Likewise.
	(grub_ofconsole_term_input): Use terminfo.
	(grub_ofconsole_term_output): Likewise.
	(grub_console_init): Split into ...
	(grub_console_init_early): ...this and ...
	(grub_console_init_lately): ...this. Use terminfo.
	(grub_ofconsole_putchar): Renamed to ...
	(put): ... this. Remove mapping.
	(grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
	* term/serial.c: Simplify using terminfo.
	(xpos): Removed.
	(ypos): Likewise.
	(keep_track): Likewise.
	(registered): Likewise.
	(input_buf): Likewise.
	(npending): Likewise.
	(serial_translate_key_sequence): Likewise.
	(fill_input_buf): Likewise.
	(grub_serial_checkkey): Likewise.
	(grub_serial_getkey): Likewise.
	(grub_serial_getxy): Likewise.
	(grub_serial_gotoxy): Likewise.
	(grub_serial_putchar): Likewise.
	(grub_serial_cls): Likewise.
	(grub_serial_setcolorstate): Likewise.
	(grub_serial_setcursor): Likewise.
	(serial_hw_init): Use serial_hw_fetch.
	(grub_serial_terminfo_input): New variable.
	(grub_serial_terminfo_output): Likewise.
	(grub_serial_term_input): Use terminfo.
	(grub_serial_term_output): Likewise.
	* term/terminfo.c (putstr): Use put.
	(grub_terminfo_all_free): New function
	(grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
	(grub_terminfo_output_register): New function.
	(grub_terminfo_output_unregister): Likewise.
	(grub_terminfo_getxy): Likewise.
	(grub_terminfo_readkey): Likewise.
	(grub_terminfo_checkkey): Likewise.
	(grub_terminfo_getkey): Likewise.
	(grub_terminfo_input_init): Likewise.
	(print_terminfo): Likewise.
	(grub_cmd_terminfo): Handle encoding.
	(grub_terminfo_gotoxy): Track position.
	(grub_terminfo_cls): Likewise.
	(grub_terminfo_putchar): Likewise.
	(grub_terminfo_setcolorstate): Handle colors
	(grub_terminfo_cursor_on): This ...
	(grub_terminfo_cursor_off): ... and this merged into ...
	(grub_terminfo_setcursor): ... this.
	* term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
	* unicode/ArabicShaping.txt: New file (imported from Unicode).
	* unicode/BidiMirroring.txt: Likewise.
	* unicode/UnicodeData.txt: Likewise.
	* unicode/COPYING: Likewise.
	* util/grub-editenv.c (grub_putchar): Removed.
	(grub_xputs_real): New function.
	(grub_xputs): New variable.
	* util/grub-fstest.c (grub_putchar): Removed.
	(grub_xputs_real): New function.
	(grub_xputs): New variable.
	* util/grub-mkdevicemap.c (grub_putchar): Removed.
	(grub_xputs_real): New function.
	(grub_xputs): New variable.
	* util/grub-probe.c (grub_putchar): Removed.
	(grub_xputs_real): New function.
	(grub_xputs): New variable.
	* util/grub-script-check.c (grub_putchar): Removed.
	(grub_xputs_real): New function.
	(grub_xputs): New variable.
	* util/i386/pc/grub-setup.c (grub_putchar): Removed.
	(grub_xputs_real): New function.
	(grub_xputs): New variable.
	* util/import_unicode.py: New file.
	* util/grub-mkfont.c (ft_errmsgs): New array.
	(grub_glyph_info): Make bitmap a pointer.
	(file_formats): New type WIDTH_SPEC.
	(grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
	(options): Add width-spec.
	(help): Likewise.
	(add_char): Renamed to ...
	(add_glyph): ... this.
	(add_glyph): Use index. Show freetype errors. Cut blank space at borders.
	(glyph_replace): New type.
	(subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
	(add_char): New function.
	(add_subst): Likewise.
	(process_cursive): Likewise.
	(add_font): Handle GSUB.
	(write_font_width_spec): New function.
	(main): Sort glyphs.
	* commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
	* normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
	* kern/term.c (grub_cls): Moved from here...
	* normal/term.c (grub_cls): ... here.
2010-07-02 22:16:35 +02:00
Vladimir 'phcoder' Serbinenko
e8d0a8f85c Merge mainline into bidi 2010-07-02 19:35:07 +02:00
Colin Watson
50f0bcdab5 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
suitable for using within the format argument of printf when
converting grub_size_t.
* disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
"x" to convert grub_size_t arguments.
2010-07-02 18:04:54 +01:00
Vladimir 'phcoder' Serbinenko
919e37b0ac Inline setcolorstate and move grub_Cls out of kernel.img 2010-07-02 18:20:48 +02:00
Colin Watson
e03ed6c1ee * include/grub/misc.h (grub_reboot): Declare as noreturn.
* kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
fails.
(grub_halt): Likewise.
* kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
reset-all fails.
(grub_halt): Don't return, even if all of shut-down, power-off, and
poweroff fail.
2010-07-02 13:47:14 +01:00
Vladimir 'phcoder' Serbinenko
ec1d04f1de Yeeloong firmware port.
* boot/mips/yeeloong/fwstart.S: New file.
	* bus/cs5536.c (gpiodump): New const.
	(set_io_space): New function.
	(set_iod): Likewise.
	(set_p2d): Likewise.
	(grub_cs5536_init_geode): Likewise.
	* commands/mips/yeeloong/lsspd.c: New file.
	* conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
	(serial_mod_SOURCES): New variable.
	(serial_mod_CFLAGS): Likewise.
	(serial_mod_LDFLAGS): Likewise.
	* conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
	term/terminfo.c and term/tparm.c.
	(pkglib_IMAGES): Add fwstart.img.
	(fwstart_img_SOURCES): New variable.
	(fwstart_img_CFLAGS): Likewise.
	(fwstart_img_ASFLAGS): Likewise.
	(fwstart_img_LDFLAGS): Likewise.
	(fwstart_img_FORMAT): Likewise.
	(pkglib_MODULES): Add lsspd.mod.
	(lsspd_mod_SOURCES): New variable.
	(lsspd_mod_CFLAGS): Likewise.
	(lsspd_mod_LDFLAGS): Likewise.
	(pkglib_MODULES): Add halt.mod.
	(halt_mod_SOURCES): New variable.
	(halt_mod_CFLAGS): Likewise.
	(halt_mod_LDFLAGS): Likewise.
	* conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
	(serial_mod_SOURCES): Removed.
	(serial_mod_CFLAGS): Likewise.
	(serial_mod_LDFLAGS): Likewise.
	* disk/ata.c (check_device): New function.
	(grub_ata_device_initialize): Use check_device.
	(grub_ata_iterate): Recheck devices.
	(grub_ata_open): Likewise.
	(grub_atapi_iterate): Likewise.
	(grub_atapi_open): Likewise.
	* include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
	(GRUB_ATA_CH1_PORT1): Likewise.
	(GRUB_ATA_CH0_PORT2): Likewise.
	(GRUB_ATA_CH1_PORT2): Likewise.
	* include/grub/mips/loongson.h: New file.
	* include/grub/mips/yeeloong/ec.h: Likewise.
	* include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
	(GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
	(GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
	* include/grub/misc.h (grub_halt): Declare as noreturn.
	* include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
	(UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
	(UART_ENABLE_FIFO_TRIGGER1): New definition.
	(UART_ENABLE_DTRRTS): Likewise.
	(UART_ENABLE_MODEM): Removed.
	(UART_ENABLE_OUT2): New const.
	* include/grub/term.h (grub_term_register_input_active): New function.
	(grub_term_register_output_active): Likewise.
	* kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
	argument.
	* kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
	(init_pci): New function.
	(grub_machine_init): Execute platform init when firmware. Init serial.
	(grub_halt): Implement.
	(grub_exit): Likewise.
	(grub_reboot): Likewise.
	* term/serial.c (serial_hw_init): Update macros.
	[GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
	* util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
	(image_targets): New target mipsel-yeeloong-flash.
	(generate_image): Support IMAGE_YEELOONG_FLASH.
	* video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
	(grub_video_sm712_setup): Init card.
	(grub_video_sm712_set_palette): Removed.
	* video/sm712_init.c: New file.
2010-07-01 03:16:56 +02:00
Vladimir 'phcoder' Serbinenko
b7e79e8a6a Merge mainline into yeeloongfw 2010-06-30 02:30:05 +02:00
Vladimir 'phcoder' Serbinenko
4045dee1b9 Use normal parser for menu entries.
Reported by: Thomas Frauendorfer

	* include/grub/parser.h (grub_parser_execute): Don't export.
	* normal/menu.c (grub_menu_execute_entry_real): New function.
	(grub_menu_execute_entry): Use grub_menu_execute_entry_real.
2010-06-28 12:42:50 +02:00
Vladimir 'phcoder' Serbinenko
2a1d16154d Merge mainline into newreloc 2010-06-24 21:22:40 +02:00
starous
12cd7239d9 Faster OHCI, USB hub support, UHCI portstatus corr. 2010-06-21 21:12:20 +02:00
Vladimir 'phcoder' Serbinenko
8e50ec9f05 Merge mainline into cirrus 2010-06-21 02:15:49 +02:00
Vladimir 'phcoder' Serbinenko
de24ab9b0d Fix grub_vga_palette_write 2010-06-21 02:07:45 +02:00
Vladimir 'phcoder' Serbinenko
4d88b9aec7 Init cirrus ourselves instead of calling videobios 2010-06-21 01:02:48 +02:00
Vladimir 'phcoder' Serbinenko
8c0346515d Add GRUB_PCI_REG_STATUS_*_ENABLE 2010-06-21 01:01:26 +02:00
Vladimir 'phcoder' Serbinenko
d246fc0368 Improve macroification of VGA registers. 2010-06-21 00:58:43 +02:00
Vladimir 'phcoder' Serbinenko
05e5187978 Cirrus 5446 and Bochs video cards support.
* conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
	video_bochs.mod
	(video_cirrus_mod_SOURCES): New variable.
	(video_cirrus_mod_CFLAGS): Likewise.
	(video_cirrus_mod_LDFLAGS): Likewise.
	(video_bochs_mod_SOURCES): Likewise.
	(video_bochs_mod_CFLAGS): Likewise.
	(video_bochs_mod_LDFLAGS): Likewise.
	* include/grub/vga.h: New file.
	* include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
	(grub_video_fb_set_page_t): New type.
	(grub_video_fb_setup): New prototype.
	(grub_video_fb_swap_buffers): Likewise.
	(grub_video_fb_get_info_and_fini): Likewise.
	* term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
	(CRTC_DATA_PORT): Likewise.
	(CRTC_CURSOR): Likewise.
	(CRTC_CURSOR_ADDR_HIGH): Likewise.
	(CRTC_CURSOR_ADDR_LOW): Likewise.
	(CRTC_CURSOR_DISABLE): Likewise.
	(update_cursor): Use grub_vga_cr_write.
	(grub_vga_text_setcursor): Likewise.
	* video/bochs.c: New file.
	* video/fb/video_fb.c (render_target): Moved into framebuffer variable.
	(palette): Likewise.
	(palette_size): Likewise.
	(framebuffer): New variable.
	(grub_video_fb_init): Use 'framebuffer'.
	(grub_video_fb_fini): Likewise.
	(grub_video_fb_get_info): Likewise.
	(grub_video_fb_get_palette): Likewise.
	(grub_video_fb_set_palette): Likewise.
	(grub_video_fb_set_viewport): Likewise.
	(grub_video_fb_get_viewport): Likewise.
	(grub_video_fb_map_color): Likewise.
	(grub_video_fb_map_rgb): Likewise.
	(grub_video_fb_map_rgba): Likewise.
	(grub_video_fb_unmap_color): Likewise.
	(grub_video_fb_unmap_color_int): Likewise.
	(grub_video_fb_fill_rect): Likewise.
	(grub_video_fb_blit_bitmap): Likewise.
	(grub_video_fb_blit_render_target): Likewise.
	(grub_video_fb_scroll): Likewise.
	(grub_video_fb_create_render_target): Likewise.
	(grub_video_fb_doublebuf_blit_init): Likewise.
	(grub_video_fb_set_active_render_target): Handle doublebuffering.
	(doublebuf_pageflipping_update_screen): New function.
	(doublebuf_pageflipping_init): Likewise.
	(grub_video_fb_setup): Likewise.
	(grub_video_fb_swap_buffers): Likewise.
	(grub_video_fb_get_info_and_fini): Likewise.
	* video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
	All users updated.
	(doublebuf_pageflipping_commit): Restructured into ...
	(doublebuf_pageflipping_set_page): ... this.
	(doublebuf_pageflipping_update_screen): Removed.
	(doublebuf_pageflipping_init): Likewise.
	(double_buffering_init): Likewise.
	(grub_video_vbe_setup): Use grub_video_fb_setup.
	(grub_video_vbe_swap_buffers): Removed.
	(grub_video_vbe_set_active_render_target): Likewise.
	(grub_video_vbe_get_active_render_target): Likewise.
	(grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
	(grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
	grub_video_fb_set_active_render_target and
	grub_video_fb_get_active_render_target.
	* video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
	(SEQUENCER_DATA_PORT): Likewise.
	(MAP_MASK_REGISTER): Likewise.
	(CRTC_ADDR_PORT): Likewise.
	(CRTC_DATA_PORT): Likewise.
	(START_ADDR_HIGH_REGISTER): Likewise.
	(START_ADDR_LOW_REGISTER): Likewise.
	(GRAPHICS_ADDR_PORT): Likewise.
	(GRAPHICS_DATA_PORT): Likewise.
	(READ_MAP_REGISTER): Likewise.
	(INPUT_STATUS1_REGISTER): Likewise.
	(INPUT_STATUS1_VERTR_BIT): Likewise.
	(get_map_mask): Use grub_vga_sr_read.
	(set_map_mask): Use grub_vga_sr_write.
	(set_read_map): Use grub_vga_gr_write.
	(set_start_address): Use grub_vga_cr_write.
	* video/sm712.c (framebuffer): Remove leftover fields.
2010-06-20 14:15:20 +02:00
BVK Chaitanya
2e1310bc7c merge with mainline 2010-06-13 10:22:38 +05:30
BVK Chaitanya
eedda76883 merge with mainline 2010-06-13 09:58:24 +05:30
BVK Chaitanya
49e38cf475 merge with mainline 2010-06-13 09:48:47 +05:30
Vladimir 'phcoder' Serbinenko
d49703d151 Add priorities support 2010-06-12 17:38:48 +02:00
BVK Chaitanya
20ebf73276 merge with mainline 2010-06-12 20:36:46 +05:30
Colin Watson
9038c767e3 merge mainline 2010-06-12 15:01:46 +01:00
Colin Watson
7beac90c5f Avoid false positives in fs.lst, partmap.lst, and video.lst due to
prototype declarations.
* genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
generating fs, partmap, and video lists.
* include/grub/fs.h (grub_fs_register): Omit prototype if
GRUB_LST_GENERATOR is defined.
* include/grub/partition.h (grub_partition_map_register): Likewise.
* include/grub/video.h (grub_video_register): Likewise.
2010-06-12 14:33:09 +01:00
Javier Martín
1c8f0f8d11 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate. 2010-06-12 14:50:07 +02:00
Colin Watson
934302d00b merge mainline 2010-06-12 12:17:28 +01:00
BVK Chaitanya
95af254928 merge with mainline 2010-06-12 16:32:06 +05:30
Colin Watson
8253ee6bd7 merge mainline up to r2075 (videomask merge) 2010-06-12 11:30:11 +01:00
BVK Chaitanya
b2d0e6c3fd merge with mainline 2010-06-12 13:55:31 +05:30
BVK Chaitanya
b06f83e3ba a better fix 2010-06-12 11:06:02 +05:30
Colin Watson
283af07aff * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
(GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
2010-06-11 22:15:35 +01:00
Vladimir 'phcoder' Serbinenko
3a37e3226b Use FOR_* macros instead of *_iterate whenever possible.
* commands/handler.c: Removed.
	* commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
	* commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
	* conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
	* conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
	(grub_probe_SOURCES): Remove kern/parser.c.
	(util/grub-script-check.c_DEPENDENCIES): Removed.
	(grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
	and grub_script_check_init.c.
	(grub_script_check_init.lst): Removed.
	(grub_script_check_init.h): Likewise.
	(grub_script_check_init.c): Likewise.
	(pkglib_MODULES): Remove handler.mod and sh.mod.
	(handler_mod_SOURCES): Removed.
	(handler_mod_CFLAGS): Likewise.
	(handler_mod_LDFLAGS): Likewise.
	(normal_mod_SOURCES): Remove normal/handler.c.
	Add script/main.c, script/script.c, script/execute.c,
	script/function.c, script/lexer.c, grub_script.tab.c
	and grub_script.yy.c.
	* conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
	* conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
	* conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
	(grub_setup_SOURCES): Remove kern/parser.c.
	* conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
	* conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
	* conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
	(grub_setup_SOURCES): Remove kern/parser.c.
	* conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
	* gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
	* include/grub/command.h (grub_command_iterate): Removed.
	(FOR_COMMANDS): New macro.
	* include/grub/dl.h (grub_dl): New member next.
	(grub_dl_iterate): Removed.
	(grub_dl_head): New variable declaration.
	(FOR_DL_MODULES): New macro.
	* include/grub/fs.h: Include list.h.
	(grub_fs): Make next first element.
	(grub_fs_list): New variable declaration.
	(grub_fs_register): Make inline.
	(grub_fs_unregister): Likewise.
	(grub_fs_iterate): Removed.
	(FOR_FILESYSTEMS): New macro.
	* include/grub/handler.h: Removed.
	* include/grub/list.h (grub_list_hook_t): Removed.
	(grub_list_test_t): Likewise.
	(grub_list_pop): Likewise.
	(grub_list_iterate): Likewise.
	(grub_list_insert): Likewise.
	(FOR_LIST_ELEMENTS): New macro.
	* include/grub/parser.h (grub_parser_class): Removed.
	(grub_parser_register): Likewise.
	(grub_parser_unregister): Likewise.
	(grub_parser_get_current): Likewise.
	(grub_parser_set_current): Likewise.
	(grub_register_rescue_parser): Likewise.
	(grub_rescue_parse_line): New function.
	* include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
	* include/grub/script_sh.h (grub_script_function_list): New variable
	declaration.
	(FOR_SCRIPT_FUNCTIONS): New macro.
	(grub_script_function_iterate): Removed.
	(grub_normal_parse_line): New prototype.
	* include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
	(FOR_DISABLED_TERM_INPUTS): Likewise.
	(FOR_ACTIVE_TERM_OUTPUTS): Likewise.
	(FOR_DISABLED_TERM_OUTPUTS): Likewise.
	* include/grub/video.h (grub_video_adapter): Move 'next' to first
	element.
	(grub_video_register): Inline.
	(grub_video_unregister): Likewise.
	(grub_video_adapter_list): New variable declaration.
	(grub_video_iterate): Removed.
	(FOR_VIDEO_ADAPTERS): New macro.
	* kern/dl.c (grub_dl_list): Removed. All users updated.
	(grub_dl_iterate): Removed.
	* kern/fs.c (grub_fs_list): Make global.
	(grub_fs_register): Removed.
	(grub_fs_unregister): Likewise.
	(grub_fs_iterate): Likewise.
	* kern/handler.c: Removed.
	* kern/list.c (grub_list_pop): Removed.
	(grub_list_iterate): Likewise.
	(grub_list_insert): Likewise.
	(grub_named_list_find): Use FOR_LIST_ELEMENTS.
	(grub_prio_list_insert): Don't use grub_list_insert.
	* kern/main.c (grub_register_rescue_parser): Don't call
	grub_register_rescue_parser.
	* kern/parser.c (grub_parser_class): Removed.
	(grub_parser_execute): Use grub_rescue_parse_line.
	* kern/rescue_parser.c (grub_rescue_parse_line): Make global.
	(grub_rescue_parser): Removed.
	(grub_register_rescue_parser): Likewise.
	* kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
	* normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
	(grub_auth_check_authentication): Likewise.
	* normal/completion.c (iterate_command): Removed.
	(grub_normal_do_completion): Use FOR_COMMANDS.
	* normal/handler.c: Removed.
	* normal/main.c (read_config_file): Remove parser changing.
	(grub_normal_execute): Don't call read_handler_list.
	(grub_normal_read_line_real): Statically allocate prompt.
	(grub_cmdline_run): Use grub_normal_parse_line.
	(GRUB_MOD_FINI): Don't call free_handler_list.
	* normal/menu_entry.c (run): Likewise.
	* script/function.c (grub_script_function_list): Make global.
	(grub_script_function_iterate): Removed.
	* script/main.c (grub_normal_parse_line): Make global.
	(grub_sh_parser): Removed.
	(GRUB_MOD_INIT): Likewise.
	(GRUB_MOD_FINI): Likewise.
	* tests/lib/functional_test.c (grub_functional_test): Use
	FOR_LIST_ELEMENTS.
	* tests/lib/test.c (free_failures): Don't use grub_list_pop.
	(grub_test_run): Use FOR_LIST_ELEMENTS.
	* tests/lib/unit_test.c (main): Likewise.
	* util/deviceiter.c (grub_util_iterate_devices): Don't use
	grub_list_pop.
	* util/grub-fstest.c (grub_term_input_class): Removed.
	(grub_term_output_class): Likewise.
	* util/grub-probe.c: Likewise.
	* util/i386/pc/grub-setup.c: Likewise.
	* util/sparc64/ieee1275/grub-setup.c: Likewise.
	* util/grub-script-check.c (main): Don't call grub_init_all and
	grub_fini_all.
	* video/video.c (grub_video_adapter_list): Make global.
	(grub_video_register): Removed.
	(grub_video_unregister): Likewise.
	(grub_video_iterate): Likewise.
2010-06-11 22:31:16 +02:00
BVK Chaitanya
d2039c36f2 merge with mainline 2010-06-10 21:47:25 +05:30
BVK Chaitanya
25156d7180 pull-in block-arg branch for loop fixes 2010-06-10 20:53:20 +05:30
BVK Chaitanya
a992a71ed8 fix memory issues when used inside loops 2010-06-10 20:49:57 +05:30
BVK Chaitanya
9d0bd7407d remove menuentry from GRUB script 2010-06-10 18:15:38 +05:30
BVK Chaitanya
db45b311cc pull-in block-arg branch 2010-06-10 17:57:16 +05:30
BVK Chaitanya
28be0e94db add example usage to hello command 2010-06-10 12:12:03 +05:30
BVK Chaitanya
3db1c9eee4 pull-in func-params branch 2010-06-09 11:34:01 +05:30
BVK Chaitanya
6c9aa3df16 block params are grub_script with independent memory 2010-06-09 11:29:11 +05:30
Colin Watson
e0f4c43882 * kern/emu/misc.c (device_mapper_null_log): New function.
(grub_device_mapper_supported): New function.
* include/grub/emu/misc.h (grub_device_mapper_supported): Add
prototype.
* kern/emu/hostdisk.c (find_partition_start): Check whether
device-mapper is supported before trying to use it.
* util/deviceiter.c (grub_util_iterate_devices): Likewise.
2010-06-07 22:41:55 +01:00
Vladimir 'phcoder' Serbinenko
f5db3949e7 Some hotplug support (buggy) 2010-06-02 21:54:51 +02:00
Vladimir 'phcoder' Serbinenko
440ab68551 Restructure usbms as a preparation for hotplug 2010-06-02 19:52:17 +02:00
Aleš Nesrsta
1515ec8684 2010-06-02 Aleš Nesrsta <starous@volny.cz>
Finally make USB usable.

	* bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
	(GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
	(GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
	(GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
	(GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
	(GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
	(GRUB_OHCI_FSMPS): Likewise.
	(GRUB_OHCI_PERIODIC_START): Likewise.
	(GRUB_OHCI_FRAME_INTERVAL): Likewise.
	(GRUB_OHCI_SET_PORT_ENABLE): Likewise.
	(GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
	(GRUB_OHCI_SET_PORT_RESET): Likewise.
	(GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
	* bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
	(grub_ohci_transaction): Likewise.
	(grub_ohci_transfer): Improve condition detection algorithms.
	Handle toggle property. Program the transactions correctly.
	Improve error handling. Various important fixups.
	(grub_ohci_portstatus): Put register writes in right order.
	* bus/usb/uhci.c (grub_free_queue): Compute last_trans.
	(grub_uhci_transfer): Don't show "failed" message on success.
	* bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
	array.
	(grub_usb_device_initialize): Read first 8 bytes of descriptor to
	determine its size.
	* bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
	before initialization is completed. Use IN direction for empty
	transfers. Use last_trans and compute toggle.
	* include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
	(GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
	(GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
	(GRUB_USB_FEATURE_TEST_MODE): Likewise.
	* include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
	(grub_usb_device): Increase toggle to 256.
	(grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
	GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
	GRUB_USBMS_SUBCLASS_SFF8070.
	* include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
	(grub_scsi_inquiry): New member page and alloc_length.
	(grub_scsi_request_sense): New structure.
	(grub_scsi_request_sense_data): Likewise.
	(grub_scsi_read_capacity): New fields logical_block_addr, PMI and
	control.
	* disk/scsi.c (grub_scsi_request_sense): New function.
	(grub_scsi_test_unit_ready): Likewise.
	(grub_scsi_inquiry): Fill new fields.
	(grub_scsi_read_capacity): Likewise.
	(grub_scsi_read10): Add request sense at the end.
	(grub_scsi_read12): Likewise.
	(grub_scsi_write10): Likewise.
	(grub_scsi_write12): Likewise.
	(grub_scsi_open): Add Test Unit Ready.
	* disk/usbms.c (grub_usbms_finddevs): Check configcnt.
	Support additional subclasses. Con't clear halt yet. Activate the
	proper config. Calculate LUNs correctly.
	(grub_usbms_transfer): Various important fixups.

2010-06-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
	* bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
	(grub_ohci_fini_hw): New function.
	(grub_ohci_restore_hw): Likewise.
	(GRUB_MOD_INIT(ohci)): Register preboot hook.
	(GRUB_MOD_FINI(ohci)): Shutdown OHCI.
	* term/usb_keyboard.c: Remove include of grub/machine/console.h.

2010-06-02  Vladimir Serbinenko  <phcoder@gmail.com>

	Dedicated DMA allocations.

	* bus/pci.c (grub_memalign_dma32): New function
	(grub_dma_free): Likewise.
	(grub_dma_get_virt): Likewise.
	(grub_dma_get_phys): Likewise.
	* bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
	(grub_ohci_pci_iter): Use dma32_alloc.
	(grub_ohci_transfer): Likewise.
	* bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
	(grub_usb_bulk_readwrite): Likewise.
	* include/grub/pci.h: Add declarations.

2010-06-02  Vladimir Serbinenko  <phcoder@gmail.com>

	CS5536 support.

	* bus/cs5536.c: New file.
	* bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
	* conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
	(cs5536_mod_SOURCES): New variable.
	(cs5536_mod_CFLAGS): Likewise.
	(cs5536_mod_LDFLAGS): Likewise.
	* conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
	machine/pci.h.
	(kernel_img_SOURCES): Add bus/cs5536.c.
	(pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
	usb_keyboard.mod.
	(usb_mod_SOURCES): New variable.
	(usb_mod_CFLAGS): New variable.
	(usb_mod_LDFLAGS): New variable.
	(usbtest_mod_SOURCES): New variable.
	(usbtest_mod_CFLAGS): New variable.
	(usbtest_mod_LDFLAGS): New variable.
	(ohci_mod_SOURCES): New variable.
	(ohci_mod_CFLAGS): New variable.
	(ohci_mod_LDFLAGS): New variable.
	(usbms_mod_SOURCES): New variable.
	(usbms_mod_CFLAGS): New variable.
	(usbms_mod_LDFLAGS): New variable.
	(usb_keyboard_mod_SOURCES): New variable.
	(usb_keyboard_mod_CFLAGS): New variable.
	(usb_keyboard_mod_LDFLAGS): New variable.
	* include/grub/smbus.h: New file.
	* include/grub/cs5536.h: New file.

	Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2010-06-02 17:16:20 +02:00
Vladimir 'phcoder' Serbinenko
11dccbfd4d Sort scsi_cmd_t. 2010-06-02 16:45:43 +02:00
Aleš Nesrsta
7d4873c26a Merge Aleš' latest patch 2010-06-01 02:10:19 +02:00
Jiro SEKIBA
dfbfe00473 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
* fs/nilfs.c: Support 2nd super block in case 1st one is accidently
	corrupted or not synced properly.
2010-05-31 20:49:42 +02:00
Vladimir 'phcoder' Serbinenko
89d90892d0 Merge usb into yeeloongfw 2010-05-31 14:21:34 +02:00
Aleš Nesrsta
778ff32476 Fix a bunch of problems with USB. 2010-05-31 14:11:41 +02:00
Vladimir 'phcoder' Serbinenko
8b1cf5e87f Dedicated DMA allocation functions. CS5536 OHCI support. 2010-05-31 13:58:18 +02:00
BVK Chaitanya
fa4b84900a Fix grub-emu issues on NetBSD, with gcc 4.1.3.
* conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
	* include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
	* kern/misc.c (__enable_execute_stack): Disable on
	GRUB_MACHINE_EMU.
2010-05-28 19:18:45 +05:30
Vladimir 'phcoder' Serbinenko
27cd973df6 Macroify command and status registers 2010-05-23 02:41:16 +02:00
Vladimir 'phcoder' Serbinenko
980d936688 Skip ghost USB controllers 2010-05-23 00:12:33 +02:00
Vladimir 'phcoder' Serbinenko
ae87524ea6 Fix getvirt function on yeeloong 2010-05-23 00:11:47 +02:00
Vladimir 'phcoder' Serbinenko
5667f2656d Add missing part of serial commit 2010-05-23 00:09:39 +02:00
Vladimir 'phcoder' Serbinenko
4b9fa9d70f Addmissing definitions 2010-05-23 00:08:52 +02:00
Vladimir 'phcoder' Serbinenko
e34b610d49 merge mainline into yeeloongfw 2010-05-22 16:58:45 +02:00
Vladimir 'phcoder' Serbinenko
39fbb79aa1 * include/grub/i18n.h: Always enable grub_gettext. 2010-05-21 20:12:41 +02:00
BVK Chaitanya
5ef88f6e95 merge with mainline 2010-05-20 13:56:14 +05:30
BVK Chaitanya
868bebea0c merge with mainline 2010-05-19 14:39:58 +05:30
BVK Chaitanya
3ad4f2418d pull-in func-params branch 2010-05-19 11:01:04 +05:30
BVK Chaitanya
0003008a58 memory leak fix in grub_script_execute_cmdline 2010-05-19 10:25:41 +05:30
BVK Chaitanya
a0b20aad47 some shell expansion features into grub-script 2010-05-18 21:03:35 +05:30
Vladimir 'phcoder' Serbinenko
5779bae94c merge mainline into newreloc 2010-05-18 14:30:07 +02:00
Vladimir 'phcoder' Serbinenko
95b97950e2 * include/grub/i18n.h (gettext): Inline instead of using #define.
(grub_gettext): Likewise.
	(_): Likewise.
2010-05-18 14:00:51 +02:00
Vladimir 'phcoder' Serbinenko
13f58ea31f merge mainline into newreloc 2010-05-18 13:19:42 +02:00
Vladimir 'phcoder' Serbinenko
918405fd8c merge mainline into rescue-efi 2010-05-17 21:26:16 +02:00
BVK Chaitanya
d2d32327a8 merge with mainline 2010-05-17 20:36:05 +05:30
Vladimir 'phcoder' Serbinenko
967828eb5a macroify and share VGA registers 2010-05-17 02:25:37 +02:00
Vladimir 'phcoder' Serbinenko
368e544ba6 Add bochs video support 2010-05-17 01:18:50 +02:00
Vladimir 'phcoder' Serbinenko
02aabd9e46 Encapsulate video_fb state in a structure 2010-05-16 15:01:54 +02:00
Vladimir 'phcoder' Serbinenko
26162102fa Move most framebuffer handling to video_fb.c 2010-05-16 14:40:03 +02:00
Vladimir 'phcoder' Serbinenko
94bf3dd564 somewhat working video_cirrus implementation 2010-05-16 01:32:07 +02:00
Vladimir 'phcoder' Serbinenko
65ce0931d0 Fix inconsistent grub_efiemu_finish_boot_services return type 2010-05-13 14:42:22 +02:00
Vladimir 'phcoder' Serbinenko
cced9145fc Fix gfxmenu crash.
Reported by: Thorsten Grützmacher.

	* gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
	timeout hook.
	(circprog_set_property): Register and unregister timeout hook.
	* gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
	(label_destroy): Free template. and unregister hook.
	(label_set_state): New function.
	(label_set_property): Handle templates and hooks.
	* gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
	timeout hook.
	(progress_bar_set_property): Register and unregister timeout hook.
	* gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
	* include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
	* gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
	(update_timeout_visit): Removed.
	(update_timeouts): New function.
	(redraw_timeouts): Likewise.
	(grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
	(grub_gfxmenu_clear_timeout): Likewise.
	* include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
	(grub_gfxmenu_timeout_notify): Likewise.
	(grub_gfxmenu_timeout_notifications): New external variable.
	(grub_gfxmenu_timeout_register): New function.
	(grub_gfxmenu_timeout_unregister): Likewise.
2010-05-13 03:56:14 +02:00
BVK Chaitanya
2e961bd737 pull-in func-params again 2010-05-12 17:59:09 +05:30
BVK Chaitanya
45ab4f486f pull-in func-params branch 2010-05-12 17:35:07 +05:30
BVK Chaitanya
263b0fa757 merge with mainline 2010-05-12 10:41:24 +05:30
BVK Chaitanya
49b9bacdee merge with mainline 2010-05-12 10:40:35 +05:30
BVK Chaitanya
a0167e8bdf rewrote arglist to argv conversion and added $@, $* support 2010-05-12 10:19:12 +05:30
BVK Chaitanya
01b0317f7b simplified nesting dynamic scopes 2010-05-11 10:52:10 +05:30
Vladimir 'phcoder' Serbinenko
176194068f cleaner AltGr handling 2010-05-10 21:23:40 +02:00
Vladimir 'phcoder' Serbinenko
1ff38af9b9 Simplify AT keyboards and support 102nd key 2010-05-10 20:57:01 +02:00
Vladimir 'phcoder' Serbinenko
08bfb543c4 Add key_102 2010-05-10 15:04:46 +02:00
Vladimir 'phcoder' Serbinenko
87fae34a1f Skeleton for keyboard layouts 2010-05-10 14:54:51 +02:00
Vladimir 'phcoder' Serbinenko
232dbbe509 Rename 'VGA' character set to CP-437 2010-05-09 13:26:52 +02:00
Vladimir 'phcoder' Serbinenko
d7fd78dc3d macroify EFI characters mapping 2010-05-09 13:20:35 +02:00
Vladimir 'phcoder' Serbinenko
b764bff263 Move arrow number into unicode characters array 2010-05-09 12:56:32 +02:00
Vladimir 'phcoder' Serbinenko
7dcef22cd3 merge mainline into bidi 2010-05-09 11:03:03 +02:00
Vladimir 'phcoder' Serbinenko
c6e5caab1d Transform (broken) vga terminal into (working) vga video driver.
* conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
	video/i386/pc/vga.c.
	* include/grub/video.h (grub_video_driver_id):
	Add GRUB_VIDEO_DRIVER_VGA.
	* term/i386/pc/vga.c: Renamed to ...
	* video/i386/pc/vga.c: ...this
	(DEBUG_VGA): Removed.
	(CHAR_WIDTH): Likewise.
	(CHAR_HEIGHT): Likewise.
	(TEXT_WIDTH): Likewise.
	(TEXT_HEIGHT): Likewise.
	(DEFAULT_FG_COLOR): Likewise.
	(DEFAULT_BG_COLOR): Likewise.
	(colored_char): Likewise.
	(xpos): Likewise.
	(ypos): Likewise.
	(cursor_state): Likewise.
	(fg_color): Likewise.
	(bg_color): Likewise.
	(text_buf): Likewise.
	(page): Likewise.
	(font): Likewise.
	(framebuffer): New variable.
	(set_read_map): Disabled.
	(setup): New variable.
	(is_target): Likewise.
	(grub_vga_mod_init): Likewise.
	(grub_vga_mod_fini): Likewise.
	(check_vga_mem): Likewise.
	(write_char): Likewise.
	(write_cursor): Likewise.
	(scroll_up): Likewise.
	(grub_vga_putchar): Likewise.
	(grub_vga_getcharwidth): Likewise.
	(grub_vga_getwh): Likewise.
	(grub_vga_getxy): Likewise.
	(grub_vga_gotoxy): Likewise.
	(grub_vga_cls): Likewise.
	(grub_vga_setcolorstate): Likewise.
	(grub_vga_setcursor): Likewise.
	(grub_video_vga_init): New function.
	(grub_video_vga_setup): Likewise.
	(grub_video_vga_fini): Likewise.
	(update_target): Likewise.
	(grub_video_vga_blit_bitmap): Likewise.
	(grub_video_vga_blit_render_target): Likewise.
	(grub_video_vga_set_active_render_target): Likewise.
	(grub_video_vga_get_active_render_target): Likewise.
	(grub_video_vga_swap_buffers): Likewise.
	(grub_video_vga_set_palette): Likewise.
	(grub_video_vga_get_info_and_fini): Likewise.
	(grub_vga_term): Removed.
	(grub_video_vga_adapter): New variable.
	(GRUB_MOD_INIT): Register a video driver instead of terminal.
	(GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
2010-05-09 11:00:21 +02:00
Vladimir 'phcoder' Serbinenko
3c151d94af simplify setcolor/getcolor 2010-05-08 01:06:22 +02:00
Vladimir 'phcoder' Serbinenko
d8e9099811 Move serial encoding handling to terminfo.c 2010-05-08 00:17:23 +02:00
Vladimir 'phcoder' Serbinenko
bf8733749b merge common serial and ofconsole code into terminfo 2010-05-07 15:44:43 +02:00
BVK Chaitanya
4a2ec49233 merge with mainline 2010-05-07 11:24:17 +05:30
BVK Chaitanya
e9efa0fe36 shift command support 2010-05-07 10:08:09 +05:30
BVK Chaitanya
7897070571 pulled-in func-params branch 2010-05-07 08:38:08 +05:30
Vladimir 'phcoder' Serbinenko
58664b94b7 pass pointer to term to term functions 2010-05-07 02:30:44 +02:00
Vladimir 'phcoder' Serbinenko
82e32bc310 make serial use ANSI code recognition in terminfo.mod 2010-05-06 21:32:58 +02:00
Vladimir 'phcoder' Serbinenko
e903ddec1c move ANSI code recognition to terminfo.mod 2010-05-06 21:11:59 +02:00
BVK Chaitanya
f1c891902d merge with mainline 2010-05-06 21:22:08 +05:30
Vladimir 'phcoder' Serbinenko
42d2c16b39 merge mainline in bidi 2010-05-06 15:18:46 +02:00
BVK Chaitanya
8c41176882 automake commit without merge history 2010-05-06 11:34:04 +05:30
BVK Chaitanya
8f6a910b23 fixed n > active_loops case 2010-05-06 09:55:06 +05:30
BVK Chaitanya
da6e6f17f3 cygwin emu build fixes 2010-05-06 08:45:39 +05:30
Vladimir 'phcoder' Serbinenko
e96ee4339f merge mainline into newreloc 2010-05-05 21:41:43 +02:00
Vladimir 'phcoder' Serbinenko
7e720a9bc1 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
	* kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
	GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
	* kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
	1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
2010-05-05 18:52:13 +02:00
Vladimir 'phcoder' Serbinenko
99bfe57386 merge mainline into bidi 2010-05-05 16:28:52 +02:00
BVK Chaitanya
a7aa28248b break command support 2010-05-05 15:34:26 +05:30
BVK Chaitanya
342bf06e58 function parameters support 2010-05-05 14:47:50 +05:30
Vladimir 'phcoder' Serbinenko
839ced08f5 separate function to allocate DMA memory 2010-05-05 10:40:48 +02:00
BVK Chaitanya
a8a145eb2f simplify cmdblock with cmdlist 2010-05-05 14:05:06 +05:30
Vladimir 'phcoder' Serbinenko
469ed9410b Fix i386-pc compilation 2010-05-05 09:58:02 +02:00
Vladimir 'phcoder' Serbinenko
6a82c1b2db merge mainline into newreloc 2010-05-04 17:35:44 +02:00
Vladimir 'phcoder' Serbinenko
8496927478 move grub_halt out of kernel on most platforms 2010-05-04 17:15:36 +02:00
Vladimir 'phcoder' Serbinenko
4dff488793 merge mainline into intwrap 2010-05-04 15:57:37 +02:00
Vladimir 'phcoder' Serbinenko
41cf1ca332 implement ACPI shutdown 2010-05-04 15:53:21 +02:00
BVK Chaitanya
81827e248c merge with mainline 2010-05-04 09:09:03 +05:30
Vladimir 'phcoder' Serbinenko
04d050152f Move geode init to bus/cs5536.c 2010-05-04 00:05:23 +02:00
Vladimir 'phcoder' Serbinenko
05f602fc51 enable xnu on all platforms 2010-05-02 22:06:44 +02:00
Vladimir 'phcoder' Serbinenko
6f030865da Add missing memory.h 2010-05-02 19:39:35 +02:00
Vladimir 'phcoder' Serbinenko
c5ac9b32ac Hotkey support
* include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
	* normal/main.c (hotkey_aliases): New variable.
	(grub_normal_add_menu_entry): Parse "--hotkey".
	* normal/menu_text.c (run_menu): Handle hotkeys.
2010-05-01 19:33:17 +02:00
Vladimir 'phcoder' Serbinenko
ef4ffedd46 remove loader.h leftovers 2010-05-01 15:15:38 +02:00
Vladimir 'phcoder' Serbinenko
c6fb51295b merge mainline into newreloc 2010-05-01 15:10:44 +02:00
Vladimir 'phcoder' Serbinenko
7819a4562f Use LBIO on coreboot.
* conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
	kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
	* include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
	New declaration.
	* kern/i386/coreboot/init.c (grub_machine_init): Don't call
	grub_machine_mmap_init on coreboot.
	* kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
	GRUB_LINUXBIOS_MEMBER_LINK.
	(grub_machine_mmap_iterate): Fix declaration.
	* kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
2010-05-01 14:32:48 +02:00
Vladimir 'phcoder' Serbinenko
7210dca942 Split coreboot and multiboot ports.
* conf/i386-multiboot.rmk: New file.
	* configure.ac: Add multiboot port.
	* include/grub/i386/multiboot/boot.h: New file.
	* include/grub/i386/multiboot/console.h: Likewise.
	* include/grub/i386/multiboot/init.h: Likewise.
	* include/grub/i386/multiboot/kernel.h: Likewise.
	* include/grub/i386/multiboot/loader.h: Likewise.
	* include/grub/i386/multiboot/memory.h: Likewise.
	* include/grub/i386/multiboot/serial.h: Likewise.
	* include/grub/i386/multiboot/time.h: Likewise.
	* include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
	* loader/multiboot.c: Likewise.
	* loader/multiboot_mbi2.c: Likewise.
	* util/grub-mkrescue.in: Generate multiboot rescue.
2010-05-01 14:06:53 +02:00
Vladimir 'phcoder' Serbinenko
421e8a5591 Fix ppc compilation problems 2010-05-01 13:23:19 +02:00
BVK Chaitanya
19dd394f56 block argument support 2010-04-30 12:09:31 +05:30
BVK Chaitanya
0993355a68 nested recording support 2010-04-29 18:10:22 +05:30
Vladimir 'phcoder' Serbinenko
ae3c4cd010 Remove loader.h 2010-04-29 13:26:38 +02:00
BVK Chaitanya
f07ccea799 removed some duplicate code 2010-04-27 20:55:12 +05:30
Vladimir 'phcoder' Serbinenko
6c3d9c2845 merge boottest into newreloc 2010-04-27 13:34:07 +02:00
BVK Chaitanya
4c7085f82b added support for --enable-grub-emu-modules build 2010-04-27 13:57:14 +05:30
BVK Chaitanya
840b61d8f0 reorganized grub-emu sources to suite upcoming automake build system 2010-04-27 10:50:28 +05:30
Vladimir 'phcoder' Serbinenko
8ea6ecb36d Some cleanups 2010-04-26 21:11:16 +02:00
Vladimir 'phcoder' Serbinenko
debaf23f7c all images binary identical to the ones from trunk 2010-04-26 19:11:38 +02:00
Vladimir 'phcoder' Serbinenko
bb3208158a Fill info for remaining platforms. Make efi image identical to image of previous grub-mkimage 2010-04-26 17:19:15 +02:00
Vladimir 'phcoder' Serbinenko
962b15b4c1 Fill info tables for qemu, sparc and mips 2010-04-26 14:42:40 +02:00
Vladimir 'phcoder' Serbinenko
0253aeb7a1 Unified grub-mkimage achieved 2010-04-26 13:11:43 +02:00
Vladimir 'phcoder' Serbinenko
94ac790645 Fix various issues created by previous commits 2010-04-26 10:56:12 +02:00
Christian Franke
460d8402e0 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
* util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
	(grub_get_prefix): Remove function.
	* util/grub-emu.c (main): Replace grub_get_prefix () call by
	make_system_path_relative_to_its_root ().
	* util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2010-04-26 03:35:55 +02:00
Vladimir 'phcoder' Serbinenko
614be3f119 #if-less grub-mkimage 2010-04-26 00:45:21 +02:00
Vladimir 'phcoder' Serbinenko
2296410ffb initial support for ppc in grub-mkimage (bugs for now) 2010-04-25 22:26:29 +02:00
Vladimir 'phcoder' Serbinenko
d31bc9964c migrate kernel.img to elf 2010-04-25 01:54:46 +02:00
Vladimir 'phcoder' Serbinenko
a51df0a1b4 Adjust mips relocator 2010-04-22 02:44:45 +02:00
Vladimir 'phcoder' Serbinenko
4b2ec20b41 Second part of p2v support 2010-04-21 19:13:45 +02:00
Vladimir 'phcoder' Serbinenko
368c17f85d First part of virtual addr support in relocator 2010-04-21 15:25:49 +02:00
Vladimir 'phcoder' Serbinenko
5490ddc18b Fix compilation on i386-pc 2010-04-21 10:01:41 +02:00
Vladimir 'phcoder' Serbinenko
6d6f55c557 Use leftovers 2010-04-21 09:27:57 +02:00
Vladimir 'phcoder' Serbinenko
91b58e6b74 EFI requests support for newreloc 2010-04-20 18:08:26 +02:00
BVK Chaitanya
bc4a2d832b Fix emu build with grub-emu-pci and grub-emu-modules.
* include/grub/util/misc.h: Export grub_util_{info,error,warn}
	functions.
	* include/grub/libpciaccess.h: New file.
	* conf/any-emu.rmk: Update kernel headers for emu build.
2010-04-19 16:04:56 +05:30
BVK Chaitanya
454c3001f2 fix emu build with grub-emu-pci and grub-emu-modules 2010-04-19 15:15:59 +05:30
Vladimir 'phcoder' Serbinenko
b076cdc730 Shave off bytes to compensate boot.img size increase 2010-04-18 18:22:58 +02:00
Vladimir 'phcoder' Serbinenko
ee9056d097 Support cross-disk installs. On non-cross-disk retrieve bootpath from chosen/bootpath 2010-04-18 16:35:08 +02:00
Vladimir 'phcoder' Serbinenko
6e86896ed8 Use ofpathname in grub-setup on sparc 2010-04-18 14:02:13 +02:00
Vladimir 'phcoder' Serbinenko
9130433353 Enable USB compilation on Yeeloong 2010-04-16 19:46:22 +02:00
Vladimir 'phcoder' Serbinenko
1c9d6bb81b Initialise USB option controller 2010-04-16 19:43:52 +02:00
Vladimir 'phcoder' Serbinenko
dae84898b2 Pass %dl to ntldr. Clear other registers. 2010-04-15 02:11:26 +02:00
Vladimir 'phcoder' Serbinenko
298ffd54b0 merge mainline into newreloc 2010-04-11 22:44:31 +02:00
Vladimir 'phcoder' Serbinenko
4b0cd8f813 Fix cygwin compilation.
* configure.ac: Define NEED_REGISTER_FRAME_INFO.
	* include/grub/misc.h (__register_frame_info)
	[NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
	(__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
	* kern/misc.c (__register_frame_info)
	[NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
	(__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2010-04-11 21:24:21 +02:00
Vladimir 'phcoder' Serbinenko
5d04b11e0e Unify libgcc processing.
* Makefile.in (kernel_img_LDFLAGS): New variable.
	* conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
	* conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
	overwriting.
	* conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
	* conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
	* conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
	* conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
	* conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
	overwriting. Remove -lgcc and -static-libgcc
	* conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
	* conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
	* conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
	(kernel_img_LDFLAGS): Append instead of overwriting.
	Remove -lgcc and -static-libgcc
	* conf/sparc64-ieee1275.rmk: Likewise.
	* include/grub/powerpc/libgcc.h: Move to ...
	* include/grub/libgcc.h: .. this.
	* include/grub/libgcc.h: Don't export most of the function on x86.
	(__bswapsi2): New export.
	(__bswapdi2): Likewise.
	* include/grub/mips/libgcc.h: Removed.
	* include/grub/sparc64/libgcc.h: Likewise.
2010-04-11 01:14:31 +02:00
Vladimir 'phcoder' Serbinenko
8c5ed46e48 Inline grub_stop_floppy 2010-04-10 19:59:22 +02:00
Vladimir 'phcoder' Serbinenko
d2e5601745 Merge mainline into intwrap 2010-04-10 19:29:40 +02:00
Vladimir 'phcoder' Serbinenko
f632937ab5 intwrap grub_get_mmap_entry 2010-04-10 19:12:04 +02:00
Vladimir 'phcoder' Serbinenko
0d06476b05 intwrap get_eisa_map. Fix intwrapping of get_ext_memsize. 2010-04-10 14:45:27 +02:00
Vladimir 'phcoder' Serbinenko
c663074e6d intwrap get_memsize 2010-04-10 14:35:26 +02:00
Vladimir 'phcoder' Serbinenko
6734334a53 * include/grub/util/misc.h (canonicalise_file_name): Add missing
prototype.
	Reported by: Seth Goldberg.
2010-04-10 12:46:12 +02:00
Vladimir 'phcoder' Serbinenko
f2fd9d2b2b * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
EXPORT_FUNC.
	Reported by: Seth Goldberg.
2010-04-10 02:45:26 +02:00
Vladimir 'phcoder' Serbinenko
b3d0fa12af Fix usb support 2010-04-10 01:56:51 +02:00
Vladimir 'phcoder' Serbinenko
a29e902132 Merge mainline into emu-modload 2010-04-10 01:25:46 +02:00
Vladimir 'phcoder' Serbinenko
787928e31e Remove newline_hook declaration 2010-04-09 23:15:33 +02:00
Vladimir 'phcoder' Serbinenko
4a55d631d7 Merge mainline into for_macros 2010-04-09 22:35:32 +02:00
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
a87add6d17 merge mainline into bidi 2010-04-09 19:40:31 +02:00
Vladimir 'phcoder' Serbinenko
9e71201f48 merge mainline into bidi 2010-04-09 19:31:43 +02:00
BVK Chaitanya
c41c00eab6 merged with mainline 2010-04-09 21:44:59 +05:30
Vladimir 'phcoder' Serbinenko
3bf09c9ea8 rename format from raw to yeeloong_flash 2010-04-06 22:23:02 +02:00
Vladimir 'phcoder' Serbinenko
781d7798bb Fix interrupt and windows problems 2010-04-06 22:12:04 +02:00
Vladimir 'phcoder' Serbinenko
f9e7780cff Fix an early timer-related hang 2010-04-06 02:40:44 +02:00
Vladimir 'phcoder' Serbinenko
04a3792f87 Macroify fwstart.S more 2010-04-05 22:39:58 +02:00
Vladimir 'phcoder' Serbinenko
a6132b9f3f Merge mainline into yeeloongfw 2010-04-05 17:35:03 +02:00
Vladimir 'phcoder' Serbinenko
064cb524ec * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
* conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
2010-04-05 15:57:40 +02:00
Vladimir 'phcoder' Serbinenko
77356db852 Intwrapped biosdisk 2010-04-04 18:43:26 +02:00
Vladimir 'phcoder' Serbinenko
42c4f00016 intwrapped halt 2010-04-04 18:42:48 +02:00
Vladimir 'phcoder' Serbinenko
1b8cb8573b intwrap grub_pxe_scan 2010-04-04 15:49:06 +02:00
Vladimir 'phcoder' Serbinenko
65936631e4 intwrap vbe and vga calls 2010-04-04 14:24:50 +02:00
Vladimir 'phcoder' Serbinenko
56912f57b6 Merge mainline into intwrap 2010-04-04 14:14:50 +02:00
Vladimir 'phcoder' Serbinenko
a8c3b552a7 Remove unused grub_vga_get_font.
* kern/i386/pc/startup.S (grub_vga_get_font): Removed.
	* include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
2010-04-04 14:12:11 +02:00
Grégoire Sutre
187bbe3d9c * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
* include/grub/misc.h: Likewise.
2010-04-03 21:00:21 +02:00
Vladimir 'phcoder' Serbinenko
f0847685dd Merge mainline into newreloc 2010-04-03 17:47:59 +02:00
Vladimir 'phcoder' Serbinenko
8c46a785e3 mips multiboot2 support 2010-04-03 14:14:48 +02:00
Vladimir 'phcoder' Serbinenko
a60f822cb2 Add missing id field to grub_video_sm712_adapter 2010-04-03 14:12:43 +02:00
Vladimir 'phcoder' Serbinenko
3a5768645c First version of allocation from firmware 2010-04-03 11:53:29 +02:00
Vladimir 'phcoder' Serbinenko
8b0800f66f merge mainline into newreloc 2010-04-01 22:17:26 +02:00
Vladimir 'phcoder' Serbinenko
f651947b58 Merge mainline into bidi 2010-03-30 11:24:28 +02:00
Vladimir 'phcoder' Serbinenko
483c5e7d47 Transform remarkable unicode codepoints into enum 2010-03-29 13:36:08 +02:00
Vladimir 'phcoder' Serbinenko
0546172e3e Basic thaana support 2010-03-29 13:31:03 +02:00
Vladimir 'phcoder' Serbinenko
e2588ccbfe Alif and alaph superscripts 2010-03-29 13:01:08 +02:00
Vladimir 'phcoder' Serbinenko
ad109fe056 Arabic diacritics support 2010-03-29 04:11:14 +02:00
Vladimir 'phcoder' Serbinenko
a82890fffc Shape arabic code when on UTF-8 visual 2010-03-29 03:37:24 +02:00
Vladimir 'phcoder' Serbinenko
3f11c7131e Generate shaping table based on unicode if source font has none 2010-03-29 02:06:40 +02:00
Vladimir 'phcoder' Serbinenko
016883a55c * include/multiboot2.h: Resync with spec. 2010-03-28 14:19:41 +02:00
Vladimir 'phcoder' Serbinenko
f5d5c327e3 Remove VBE multiboot support 2010-03-28 13:46:42 +02:00
Vladimir 'phcoder' Serbinenko
df32be8cc1 Merge mainline into mbtag 2010-03-27 22:14:41 +01:00
Vladimir 'phcoder' Serbinenko
46960ff9ec Resynced with multiboot2 spec 2010-03-27 21:50:57 +01:00
Grégoire Sutre
394a3120a7 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
which is the case with --disabled-nls.

	* include/grub/i18n.h: Use (defined(ENABLE_NLS)
	&& ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
	* util/misc.c: Likewise.
	* util/mkisofs/mkisofs.c: Likewise.
	* util/mkisofs/mkisofs.h: Likewise.
2010-03-27 12:19:32 +01:00
Vladimir 'phcoder' Serbinenko
9cc7b8751e Remove grub_script_function_iterate 2010-03-27 00:58:35 +01:00
Vladimir 'phcoder' Serbinenko
fcaae9ec12 Remove grub_dl_iterate 2010-03-27 00:52:40 +01:00
Vladimir 'phcoder' Serbinenko
9eade9dbd7 Remove grub_video_iterate 2010-03-27 00:36:28 +01:00
Vladimir 'phcoder' Serbinenko
c96db58ec5 Remove grub_fs_iterate 2010-03-27 00:27:42 +01:00
Vladimir 'phcoder' Serbinenko
d56a6ac7f6 Remove handlers 2010-03-27 00:19:42 +01:00
Vladimir 'phcoder' Serbinenko
0959e5ec30 Remove grub_list_pop 2010-03-26 20:20:52 +01:00
Vladimir 'phcoder' Serbinenko
8cfa78770d cleanup list.h a bit 2010-03-26 20:05:25 +01:00
Vladimir 'phcoder' Serbinenko
82f542016e Eradicate grub_list_insert 2010-03-26 20:00:06 +01:00
Vladimir 'phcoder' Serbinenko
fda282327f Complete eradication of grub_list_iterate 2010-03-26 19:44:18 +01:00
Vladimir 'phcoder' Serbinenko
3f8ae91c09 Use FOR_LIST_ELEMENTS convenience macros 2010-03-26 19:32:21 +01:00
Vladimir 'phcoder' Serbinenko
42ca71ca47 FOR_LIST_ELEMENTS convenience macros 2010-03-26 19:25:53 +01:00
Vladimir 'phcoder' Serbinenko
d85da27cc0 Remove grub_commands_iterate 2010-03-26 19:14:24 +01:00
Vladimir 'phcoder' Serbinenko
0790690196 merge mainline into grub-file 2010-03-26 17:06:36 +01:00
BVK Chaitanya
baae00df35 merged with mainline 2010-03-26 21:13:06 +05:30
BVK Chaitanya
c299f3d6fb merged with mainline 2010-03-26 20:55:07 +05:30
Vladimir 'phcoder' Serbinenko
c9ea504d25 merge mainline into nestpart 2010-03-26 15:44:13 +01:00
Vladimir 'phcoder' Serbinenko
e6d428c1b8 Arabic shaping support 2010-03-24 22:33:00 +01:00
Vladimir 'phcoder' Serbinenko
03e4ef0293 Import data for arabic joining computation 2010-03-24 00:35:38 +01:00
Vladimir 'phcoder' Serbinenko
832d13705c Most hebrew diacritics support (except dagesh and final kaf rules) 2010-03-23 21:50:27 +01:00
Vladimir 'phcoder' Serbinenko
7624beba47 Above left support. Various fixups 2010-03-23 19:13:46 +01:00
Vladimir 'phcoder' Serbinenko
45511ee976 below right support 2010-03-23 18:39:02 +01:00
Vladimir 'phcoder' Serbinenko
1f22d20c8c Fix yeeloong compilation 2010-03-23 18:17:54 +01:00
Vladimir 'phcoder' Serbinenko
5c56cac95f Fix few pager bugs 2010-03-23 18:06:49 +01:00
Vladimir 'phcoder' Serbinenko
3c69fb81e1 Restore and enhance pager functionality 2010-03-23 17:54:31 +01:00
Vladimir 'phcoder' Serbinenko
6fcebedeed Replace line counter with char counter 2010-03-23 16:51:53 +01:00
BVK Chaitanya
dd6fee39fa merged mainline 2010-03-21 11:03:41 +05:30
Vladimir 'phcoder' Serbinenko
09f9aa3b2e Move terminal-related function from normal/charset.c to normal/term.c 2010-03-17 08:57:23 +01:00
Vladimir 'phcoder' Serbinenko
34fac099a5 Make grub_console_real_putchar grub_console_putchar 2010-03-17 08:37:48 +01:00
Vladimir 'phcoder' Serbinenko
eaa1f9a64b Fix few memory errors 2010-03-16 23:03:08 +01:00
Vladimir 'phcoder' Serbinenko
6f5568ed67 Add mirroring for visual UTF-8 2010-03-16 21:57:34 +01:00
Vladimir 'phcoder' Serbinenko
6c363dfd54 Fix doublewidth character handling 2010-03-16 21:29:15 +01:00
Vladimir 'phcoder' Serbinenko
50186d826d Fix combining characters messing with width counter 2010-03-16 19:55:09 +01:00
Vladimir 'phcoder' Serbinenko
bf17ef45d6 Rename UCS4 to glyph description 2010-03-16 19:23:21 +01:00
Vladimir 'phcoder' Serbinenko
f588f1c8b6 Add simple line wrapping 2010-03-16 14:13:32 +01:00
BVK Chaitanya
8a99e92a69 merge in mainline 2010-03-16 17:42:27 +05:30
Vladimir 'phcoder' Serbinenko
97b3fbb872 Handle initial position in bidi 2010-03-16 10:55:06 +01:00
Vladimir 'phcoder' Serbinenko
05c15154a2 Visual(sic) UTF-8 support 2010-03-16 10:39:18 +01:00
Vladimir 'phcoder' Serbinenko
f10331edf2 Preliminary support for UTF-8 console 2010-03-16 00:48:34 +01:00
Vladimir 'phcoder' Serbinenko
53c648d2eb Break few dependencies on normal 2010-03-15 22:12:34 +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
53f312c1cf Merge mainline into bidi 2010-03-15 10:28:09 +01:00
BVK Chaitanya
8622549153 merged in mainline 2010-03-14 22:20:55 +05:30
Vladimir 'phcoder' Serbinenko
016a671b51 Merge mainline into cleanbuild 2010-03-14 16:01:31 +01:00
Vladimir 'phcoder' Serbinenko
9a1e70432b Merge mainline into ofwfb 2010-03-14 15:43:22 +01:00
Vladimir 'phcoder' Serbinenko
5dbb0fc055 Another round of macrofication 2010-03-12 14:08:26 +01:00
Vladimir 'phcoder' Serbinenko
f9ef05770a Shutdown and reboot on yeeloong 2010-03-12 14:07:33 +01:00
Vladimir 'phcoder' Serbinenko
d0c7485824 Macroify serial and PCI constants 2010-03-11 15:21:06 +01:00
Vladimir 'phcoder' Serbinenko
edf717f5cb Macroify CP0 registers 2010-03-11 13:59:56 +01:00
Vladimir 'phcoder' Serbinenko
21eecb8e83 Set ROM delay to 1 2010-03-11 03:21:10 +01:00
Vladimir 'phcoder' Serbinenko
bf8b8ab725 Enable caches on yeeloong 2010-03-11 02:47:08 +01:00
Vladimir 'phcoder' Serbinenko
c3a8dfc8b7 Tagged header support 2010-03-10 11:40:20 +01:00
Vladimir 'phcoder' Serbinenko
b1f6f35ae9 Preparation for mbh tag 2010-03-08 15:40:57 +01:00
Vladimir 'phcoder' Serbinenko
c28e2d120b merge mainline into yeeloongfw 2010-03-07 23:21:09 +01:00
Vladimir 'phcoder' Serbinenko
8eb567e662 Update with newest mbtag spec 2010-03-07 14:59:15 +01:00
Vladimir 'phcoder' Serbinenko
3f5a90c616 merge mainline into mbtag 2010-03-07 13:01:43 +01:00
Vladimir 'phcoder' Serbinenko
14532662ee merge mainline into sparc-mkimage 2010-03-03 11:24:36 +01: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
813a5f2d33 Init DDR2 controller 2010-03-01 18:53:34 +01:00
Vladimir 'phcoder' Serbinenko
c140a18037 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
Don't compile video modules on yeeloong since video subsystem is part
	of kernel.

	* conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
	video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
	* conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
	video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
	* conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
	* include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
	* include/grub/bitmap_scale.h: Likewise.
	* include/grub/bufio.h: Likewise.
	* include/grub/font.h: Likewise.
	* include/grub/gfxterm.h: Likewise.
	* include/grub/video.h: Likewise.
	* include/grub/vbe.h: Don't include video_fb.h.
	* video/i386/pc/vbe.c: Include video_fb.h.
	* commands/i386/pc/vbetest.c: Include video.h.
2010-02-25 15:10:18 +01:00
Vladimir 'phcoder' Serbinenko
7517048135 Working SPD reading in fwstart.img 2010-02-17 21:10:58 +01:00
Vladimir 'phcoder' Serbinenko
a1efcc79d3 Firmware startup block (for now just output a string on console) 2010-02-16 22:41:29 +01:00
Vladimir 'phcoder' Serbinenko
1eb746f274 Initialise remaining UART registers on Yeeloong 2010-02-16 22:40:53 +01:00
Vladimir 'phcoder' Serbinenko
232f7e29c9 SMBus on CS5536 support 2010-02-16 22:39:59 +01:00
Vladimir 'phcoder' Serbinenko
320dd174b5 Increase stack size on sparc 2010-02-14 14:32:21 +01:00
Vladimir 'phcoder' Serbinenko
10f6389453 Fix raw image addresses 2010-02-13 18:48:33 +01:00
Vladimir 'phcoder' Serbinenko
0b4ab8e54a Merge mainline int sparc-mkimage-unify 2010-02-13 16:49:21 +01:00
Vladimir 'phcoder' Serbinenko
904935c3ef 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
Merge grub_ieee1275_map_physical into grub_map and rename to
	grub_ieee1275_map

	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
	* include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
	Remove.
	* kern/ieee1275/openfw.c (grub_map): Rename to ...
	(grub_ieee1275_map): ... this. All users updated. Add phys_lo when
	necessary.
	* kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
2010-02-13 16:48:22 +01:00
Vladimir 'phcoder' Serbinenko
a49217cff7 aout image support 2010-02-13 16:26:50 +01:00
Vladimir 'phcoder' Serbinenko
ca62070b69 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
Fix over-4GiB seek on sparc64.

	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
	Replace pos_i and pos_lo with pos. All users updated.
	* include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
	New constant.
	* include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
	Likewise.
	* kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
	and pos_lo.
2010-02-13 16:13:28 +01:00
Vladimir 'phcoder' Serbinenko
b274d734f3 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
Properly create cross-endian images.

	* include/grub/types.h (grub_host_to_target_addr): New macro
	* util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
2010-02-13 15:40:13 +01:00
Vladimir 'phcoder' Serbinenko
6bea3f8983 merge sparc grub-mkimage into grub-mkrawimage 2010-02-12 20:08:56 +01:00
Vladimir 'phcoder' Serbinenko
2d2a9cd5b6 GRUB_FILE implementation 2010-02-09 15:32:42 +01:00
Vladimir 'phcoder' Serbinenko
1876cfdb56 GCJ 2010-02-08 02:01:10 +01:00
Vladimir 'phcoder' Serbinenko
9d9dca02d9 Type 240 2010-02-08 01:44:06 +01:00
Vladimir 'phcoder' Serbinenko
ca3112ba2d merge cleanbuild into emu-modload 2010-02-08 00:21:55 +01:00
Vladimir 'phcoder' Serbinenko
ec0be08d40 Clean building system 2010-02-07 23:49:49 +01:00
Vladimir 'phcoder' Serbinenko
b359aa1373 Merge ofwclock into cleanbuild 2010-02-07 23:01:41 +01:00
Vladimir 'phcoder' Serbinenko
e28e32ae51 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
	* include/grub/partition.h [GRUB_UTIL]: Likewise.
2010-02-07 16:52:47 +01:00
Vladimir 'phcoder' Serbinenko
6e14234c87 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/multiboot2.h: Remove leftover file.
2010-02-07 16:51:16 +01:00
Vladimir 'phcoder' Serbinenko
f38873b80b Build system support for grub-emu modules 2010-02-07 15:17:26 +01:00
Vladimir 'phcoder' Serbinenko
2083672af1 Remove -DGRUB_UTIL when compiling grub-emu 2010-02-07 04:23:44 +01:00
Vladimir 'phcoder' Serbinenko
74e4934e1c 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
	of disk to dsk to avoid shadowing.
	(find_free_slot): Fix prototype.
	* util/getroot.c (grub_util_is_dmraid): Make static.
	* include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
	Add missing prototype.
	* util/sdl.c (grub_video_sdl_set_viewport): Remove.
2010-02-07 02:47:18 +01:00
Vladimir 'phcoder' Serbinenko
58548abbc3 Remove data member in partition structure 2010-02-07 01:48:38 +01:00
Vladimir 'phcoder' Serbinenko
8f891adc6f 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
	* kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
	* kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
	* kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
	* kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
	* util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
2010-02-07 00:52:31 +01:00
Vladimir 'phcoder' Serbinenko
74b45184e4 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/err.h (grub_err_printf): Don't export.
2010-02-07 00:46:09 +01:00
Vladimir 'phcoder' Serbinenko
a4bced7752 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/dl.h (grub_dl_register_symbol): Don't export.
2010-02-07 00:40:17 +01:00
Vladimir 'phcoder' Serbinenko
007d0695e2 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/i18n.h (grub_gettext_dummy): Removed.
	* kern/misc.c (grub_gettext_dummy): Make static.
2010-02-07 00:36:18 +01:00
Vladimir 'phcoder' Serbinenko
cc306106b9 Merge mainline into intwrap 2010-02-06 23:49:41 +01:00
Vladimir 'phcoder' Serbinenko
f3e309ad7d Use (hd0,msdos1) syntax. Eliminate partmap_iterate 2010-02-06 21:00:53 +01:00
Vladimir 'phcoder' Serbinenko
bc6fcf0931 merge mainline into nestpart 2010-02-06 18:47:17 +01:00
Vladimir 'phcoder' Serbinenko
15cb7d433f Reimport nestpart 2010-02-06 18:43:37 +01:00
Vladimir 'phcoder' Serbinenko
e190e3d2cc merge mainline into ofwfb 2010-02-06 15:54:01 +01:00