Vladimir 'phcoder' Serbinenko
df26241939
* include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
...
needed by libusb wrapper.
2010-08-21 02:09:16 +02:00
Vladimir 'phcoder' Serbinenko
dee5057594
* loader/multiboot.c (grub_cmd_module): Don't unzip module if
...
--nounzip is passed.
2010-08-21 00:57:12 +02:00
Vladimir 'phcoder' Serbinenko
05a765c88b
USB hotunplugging and USB serial support.
...
* bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
* bus/usb/uhci.c (grub_free_queue): Compute *actual.
(grub_uhci_transfer): Respect timeout and set *actual.
* bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
non-standard length.
(grub_usb_device_attach): Autoload modules.
(GRUB_MOD_INIT): Set grub_term_poll_usb.
(GRUB_MOD_FINI): Unset grub_term_poll_usb.
* bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
users updated.
(grub_usb_add_hub): Fill nports and children.
(attach_root_port): Receive hub instead of controller.
All users updated. Fill hub->devices.
(grub_usb_root_hub): Allocate hub->devices.
(detach_device): New function.
(poll_nonroot_hub): Fill children and detach devices.
* bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
actual arguments. All users updated.
(grub_usb_bulk_read_extended): New function.
* bus/usb/serial/common.c: New file.
* bus/usb/serial/ftdi.c: Likewise.
* bus/usb/serial/pl2303.c: Likewise.
* commands/terminal.c (handle_command): Support wildcard.
* commands/usbtest.c: Output "Unknown" instead of empty string.
* conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
(usbserial_common_mod_SOURCES): New variable.
(usbserial_common_mod_CFLAGS): Likewise.
(usbserial_common_mod_LDFLAGS): Likewise.
(pkglib_MODULES): Add usbserial_pl2303.mod.
(usbserial_pl2303_mod_SOURCES): New variable.
(usbserial_pl2303_mod_CFLAGS): Likewise.
(usbserial_pl2303_mod_LDFLAGS): Likewise.
(pkglib_MODULES): Add usbserial_ftdi.mod.
(usbserial_ftdi_mod_SOURCES): New variable.
(usbserial_ftdi_mod_CFLAGS): Likewise.
(usbserial_ftdi_mod_LDFLAGS): Likewise.
(pkglib_MODULES): Add serial.mod.
(serial_mod_SOURCES): New variable.
(serial_mod_CFLAGS): Likewise.
(serial_mod_LDFLAGS): Likewise.
* conf/i386-pc.rmk: Likewise.
* conf/mips-yeeloong.rmk: Likewise.
* conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
* conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
* disk/usbms.c (first_available_slot): New variable.
(grub_usbms_attach): Don't reuse free slots due to potential cache
problems.
* include/grub/serial.h: Moved to ..
* include/grub/ns8250.h: ...this.
* include/grub/serial.h: New file.
* include/grub/term.h (grub_term_poll_usb): New variable.
* include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
readkey. All users updated.
(grub_terminfo_output_state): Pass term to put.
* include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
(grub_usb_controller_dev): Add timeout and actual arguments to
transfer. All users updated.
(grub_usb_interface): New field detach_data.
(grub_usb_device): New fields children and nports.
(grub_usb_ep_type_t): New type.
(grub_usb_get_ep_type): New function.
(grub_usb_bulk_read_extended): Likewise.
* include/grub/usbdesc.h (grub_usb_desc): New type.
* include/grub/usbserial.h: New file.
* include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
* kern/term.c (grub_term_poll_usb): New variable.
(grub_getkey): Call grub_term_poll_usb if set.
(grub_checkkey): Likewise.
(grub_getkeystatus): Likewise.
* term/serial.c: Moved controller-specific parts to ...
* term/ns8250.c: ... here.
* term/serial.c: Mostly rewritten.
* term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
according to spec.
2010-08-20 21:34:52 +02:00
Vladimir 'phcoder' Serbinenko
d6f66ca2a0
Export serial-related functions from kernel
2010-08-20 21:31:33 +02:00
Vladimir 'phcoder' Serbinenko
fb1d7b7975
Add ChangeLog
2010-08-20 21:26:27 +02:00
Vladimir 'phcoder' Serbinenko
41e46ae648
Enable usbserial on yeeloong
2010-08-20 21:26:04 +02:00
Vladimir 'phcoder' Serbinenko
1420c1d54a
Remove unused buffer0
2010-08-20 21:25:20 +02:00
Vladimir 'phcoder' Serbinenko
ccedc09bc7
Make HID found dprintf instead of printf
2010-08-20 20:26:57 +02:00
Vladimir 'phcoder' Serbinenko
8161b08687
Merge mainline into usb
2010-08-20 20:12:26 +02:00
Vladimir 'phcoder' Serbinenko
2823526d28
Acount for transfer->size being size-1 when counting *actual
2010-08-20 19:54:40 +02:00
Vladimir 'phcoder' Serbinenko
52d8255d20
Support hot unplugging
2010-08-20 19:34:29 +02:00
Vladimir 'phcoder' Serbinenko
60c1ffdfdc
Fix OHCI error message
2010-08-20 19:33:44 +02:00
Vladimir 'phcoder' Serbinenko
24582ab39b
Correct *actual counting in OHCI
2010-08-20 16:56:03 +02:00
Vladimir 'phcoder' Serbinenko
15bd1f9ccf
Don't update status on 0 message
2010-08-20 16:49:24 +02:00
Vladimir 'phcoder' Serbinenko
9ba74de61a
Scan descriptor rather than elying on hardcoded endpoint number
2010-08-20 16:34:34 +02:00
Vladimir 'phcoder' Serbinenko
a17e3c978b
Use GetReport only at initialisation as specified in the USBHID spec
2010-08-20 14:36:29 +02:00
Vladimir 'phcoder' Serbinenko
537f375321
Fix control msg type
2010-08-20 12:22:23 +02:00
Vladimir 'phcoder' Serbinenko
b4ece5e11e
Implement sendkey support.
...
* commands/i386/pc/sendkey.c: New file.
* conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
(sendkey_mod_SOURCES): New variable.
(sendkey_mod_CFLAGS): Likewise.
(sendkey_mod_LDFLAGS): Likewise.
2010-08-19 21:03:14 +02:00
Vladimir 'phcoder' Serbinenko
d04b9414a8
* kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
2010-08-11 04:25:56 +02:00
Vladimir 'phcoder' Serbinenko
f947ab49b0
Remove the dump of sm712 initialisation sequence.
...
* include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
* include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
(GRUB_VGA_IO_MISC_WRITE): Likewise.
(GRUB_VGA_CR_*): Added many registers.
(GRUB_VGA_SR_*): Likewise.
(GRUB_VGA_GR_*): Likewise.
(grub_vga_write_arx): New function.
(grub_video_hw_config): New struct.
(grub_vga_set_geometry): New function.
* kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
GRUB_PCI_CLASS_SUBCLASS_VGA.
* video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
* video/sm712.c (grub_sm712_write_reg): New function
(grub_sm712_read_reg): Likewise.
(grub_sm712_sr_write): Likewise.
(grub_sm712_gr_write): Likewise.
(grub_sm712_cr_write): Likewise.
(grub_sm712_write_arx): Likewise.
(grub_sm712_cr_shadow_write): Likewise.
(grub_sm712_write_dda_lookup): Likewise.
(grub_video_sm712_setup): Initialise the video rather then
blindly replay the dump.
(main) [TEST]: Add a routine to be able to compile as standalone for
tests.
* video/sm712_init.c (sm712_init): Removed.
(sm712_sr_seq1): New array.
(sm712_sr_seq2): Likewise.
2010-08-11 04:18:07 +02:00
Vladimir 'phcoder' Serbinenko
f0206638bf
* include/grub/vga.h: Add missing grub/pci.h include.
2010-08-11 04:00:06 +02:00
Vladimir 'phcoder' Serbinenko
cf0c775ed4
* include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
...
(grub_vga_gr_read): Likewise.
(grub_vga_cr_write): Likewise.
(grub_vga_cr_read): Likewise.
(grub_vga_sr_write): Likewise.
(grub_vga_sr_read): Likewise.
(grub_vga_palette_read): Likewise.
(grub_vga_palette_write): Likewise.
* video/sm712.c (GRUB_SM712_REG_BASE): New definition.
(grub_sm712_sr_read): New function.
(grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
* video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
2010-08-10 13:43:43 +02:00
Vladimir 'phcoder' Serbinenko
9c98ae8911
Skip non-boot usb_keyboard interface
2010-08-01 23:08:33 +02:00
Vladimir 'phcoder' Serbinenko
443a6c4b21
Skip unexpected descriptors
2010-08-01 23:08:03 +02:00
Vladimir 'phcoder' Serbinenko
fafc23e90a
merge mainline into usb
2010-08-01 21:23:18 +02:00
Vladimir 'phcoder' Serbinenko
553df63d76
* lib/arg.c (grub_arg_show_help): Add the necessary spacing.
2010-08-01 21:01:05 +02:00
Vladimir 'phcoder' Serbinenko
8687cf071e
* kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
...
[HAVE_LIBZFS && HAVE_LIBNVPAIR]
2010-08-01 16:11:27 +02:00
Vladimir Serbinenko
7decd202a7
* kern/misc.c (grub_memset): Optimise to reduce cache stalls.
...
Also-By: Colin Watson <cjwatson@ubuntu.com >
2010-08-01 09:44:36 -05:00
Vladimir 'phcoder' Serbinenko
463711215f
* util/ieee1275/grub-install.in: Don't use empty grub_device.
...
Reported by: Lennart Sorensen.
2010-07-28 18:25:48 +03:00
Vladimir 'phcoder' Serbinenko
0ac33bf5eb
* util/grub.d/00_header.in: Remove compatibility with terminal.mod
...
prior to terminal_input/terminal_output separation. It's been over 1.5
years and those versions weren't widely deployed.
2010-07-21 06:44:38 +02:00
Vladimir 'phcoder' Serbinenko
5e3bec6716
* tests/util/grub-shell-tester.in: Remove bashism and declare as
...
sh script.
2010-07-20 22:10:23 +02:00
Vladimir 'phcoder' Serbinenko
afaec079d1
* disk/loopback.c (grub_loopback): Replace filename with file.
...
(delete_loopback): Handle new semantics.
(grub_cmd_loopback): Likewise.
(grub_loopback_iterate): Likewise.
(grub_loopback_close): Likewise.
2010-07-20 21:56:00 +02:00
Vladimir 'phcoder' Serbinenko
a6a11f3cac
* util/i386/efi/grub-install.in: Revert to platform-specific behaviour
...
with -p "".
Reported by: Tito Keitel.
2010-07-20 20:36:11 +02:00
Vladimir 'phcoder' Serbinenko
64a638b0d9
* docs/grub.texi (Naming convention): Document new naming convention.
2010-07-20 20:22:52 +02:00
Vladimir 'phcoder' Serbinenko
39d824e8f9
* commands/acpi.c (setup_common_tables): Use sizeof instead of
...
hardcoding size.
(setv1table): Likewise.
2010-07-20 14:42:32 +02:00
Vladimir 'phcoder' Serbinenko
34787305df
Allow psartial transfers and use them for usbserial
2010-07-19 08:43:01 +02:00
Vladimir 'phcoder' Serbinenko
824e1447ac
Use generic description of HID endpoints
2010-07-19 00:13:06 +02:00
Vladimir 'phcoder' Serbinenko
ac2534273b
fix losing pl2303 input at the price of losing some input bytes sometimes.
2010-07-19 00:12:59 +02:00
Vladimir 'phcoder' Serbinenko
9685412782
PL2303 works and is configurable. But sometime input is lost
2010-07-18 23:12:08 +02:00
Vladimir 'phcoder' Serbinenko
9edd681bbc
Somewhat working although a lot of hardcoding pl2303
2010-07-18 21:36:00 +02:00
Vladimir 'phcoder' Serbinenko
d556277751
Add possibility of bulk reading with short timeout
2010-07-18 21:35:22 +02:00
Vladimir 'phcoder' Serbinenko
aa86530e38
enable usbserial on grub-emu
2010-07-18 19:11:09 +02:00
Vladimir 'phcoder' Serbinenko
a531fd134d
Split common usbserial function. PL2303 skeleton
2010-07-18 19:10:57 +02:00
Vladimir 'phcoder' Serbinenko
44e7b8cb49
account for absence of NS8250 on emu
2010-07-18 19:09:54 +02:00
Vladimir 'phcoder' Serbinenko
24494d478a
Add fini routines for usbserial and rename grub_usbserial to grub_ftdi
2010-07-18 17:40:42 +02:00
Vladimir 'phcoder' Serbinenko
dd20a7868b
Rename usbserial to usbserial_ftdi
2010-07-18 16:31:42 +02:00
Vladimir 'phcoder' Serbinenko
fd5b663793
Configure word length
2010-07-18 15:07:59 +02:00
Vladimir 'phcoder' Serbinenko
91d135a12c
Support variable speed
2010-07-18 15:00:50 +02:00
Vladimir 'phcoder' Serbinenko
1da07b142b
some serial config support
2010-07-18 14:43:23 +02:00
Vladimir 'phcoder' Serbinenko
8c8e269906
Encapsulate serial config in dedicated structure
2010-07-18 13:40:48 +02:00
Vladimir 'phcoder' Serbinenko
34364df689
usbserial basic support. Works in qemu
2010-07-18 12:53:35 +02:00
Vladimir 'phcoder' Serbinenko
cbf41813b3
Don't check transaction active flag as it's not updated and creates problems for usbserial
2010-07-18 12:53:08 +02:00
Vladimir 'phcoder' Serbinenko
7b5502f30b
Remove debug comment-out
2010-07-18 01:41:08 +02:00
Vladimir 'phcoder' Serbinenko
75eb7d1116
Restructure serial in order to prepare for usbserial. As a byproduct simultaneous serial consoles are possible
2010-07-18 01:37:19 +02:00
Vladimir 'phcoder' Serbinenko
03f286ea9f
Always show class
2010-07-18 01:35:55 +02:00
Vladimir 'phcoder' Serbinenko
a17b90f0ec
Support USB device drivers autoloading
2010-07-17 03:58:23 +02:00
Vladimir 'phcoder' Serbinenko
3a25376967
Detect usb keyboard properly, support keyboard hotpluanad multiple keyboards
2010-07-17 03:57:59 +02:00
Vladimir 'phcoder' Serbinenko
b92c6ff67f
Merge mainline into usb
2010-07-17 02:44:33 +02:00
Vladimir 'phcoder' Serbinenko
3222efaff3
* include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
...
* partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
delta determination style. Works with most NetBSD partitions too.
2010-07-17 01:57:48 +02:00
Vladimir 'phcoder' Serbinenko
139b714a93
* kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
...
* partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
2010-07-17 01:55:01 +02:00
Vladimir 'phcoder' Serbinenko
986aad56c1
* disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
2010-07-17 01:52:41 +02:00
Vladimir 'phcoder' Serbinenko
af0bedf8af
merge mainline into usb
2010-07-17 01:14:13 +02:00
Vladimir 'phcoder' Serbinenko
36f84f1a7c
Use inline functions instead of macros
2010-07-17 00:57:14 +02:00
Vladimir 'phcoder' Serbinenko
9c17c6411a
Fix mismerge
2010-07-17 00:56:38 +02:00
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
Vladimir 'phcoder' Serbinenko
5bc24388fb
* commands/help.c (grub_cmd_help): Fix a typo.
2010-07-10 02:40:41 +02:00
Vladimir 'phcoder' Serbinenko
249975ba6b
* normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
...
Reported and tested by: Colin Watson.
2010-07-10 02:23:48 +02:00
Vladimir 'phcoder' Serbinenko
3eaac1a13e
* util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
...
in this context.
2010-07-10 02:15:49 +02:00
Vladimir 'phcoder' Serbinenko
becce1b16a
* tests/util/grub-shell.in: Remove bashisms and declare as sh script.
2010-07-07 17:51:26 +02:00
Vladimir 'phcoder' Serbinenko
75d959ea7c
Revert latest two Aleš' commits
2010-07-06 01:55:26 +02:00
Vladimir 'phcoder' Serbinenko
72a2026d33
missing ChangeLog commit.
2010-07-04 14:29:01 +02:00
Vladimir 'phcoder' Serbinenko
653d6e94b0
* util/i386/efi/grub-install.in: Don't use empty grub_device.
...
Reported by: Tito Keitel.
2010-07-04 14:23:55 +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
c23bb3837f
Update ChangeLog
2010-07-02 22:07:56 +02:00
Vladimir 'phcoder' Serbinenko
fb73efb794
Fix mismerge
2010-07-02 22:06:43 +02:00
Vladimir 'phcoder' Serbinenko
41ca7b81a9
Fix letters reversing in qemu
2010-07-02 22:06:19 +02:00
Vladimir 'phcoder' Serbinenko
169ed0dc69
Add missing include
2010-07-02 22:05:47 +02:00
Vladimir 'phcoder' Serbinenko
a06cec31e7
Skip bidi if no RTL characters are present
2010-07-02 20:37:08 +02:00
Vladimir 'phcoder' Serbinenko
e8d0a8f85c
Merge mainline into bidi
2010-07-02 19:35:07 +02:00
Vladimir 'phcoder' Serbinenko
4037210375
* gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
...
too long captions.
(list_get_minimal_size): Take selection box into account.
2010-07-02 18:28:54 +02:00
Vladimir 'phcoder' Serbinenko
942a10c71e
* font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
...
NULL font.
2010-07-02 18:25:42 +02:00
Vladimir 'phcoder' Serbinenko
919e37b0ac
Inline setcolorstate and move grub_Cls out of kernel.img
2010-07-02 18:20:48 +02:00
Vladimir 'phcoder' Serbinenko
1c4827beff
* partmap/gpt.c (MAX_SECTOR_LOG): New definition.
...
(gpt_partition_map_iterate): Support non-512B sectors.
2010-07-02 02:47:10 +02:00
Vladimir 'phcoder' Serbinenko
d9a0c9413e
* kern/efi/init.c (grub_efi_init): Disable watchdog.
...
Tested by: Seth Goldberg.
2010-07-02 02:43:09 +02:00
Vladimir 'phcoder' Serbinenko
48f27e87fc
* loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
...
Properly align mbi.
Reported by: Seth Goldberg.
2010-07-02 00:40:37 +02:00
Vladimir 'phcoder' Serbinenko
b0c4f95642
* util/grub-mkrescue.in: Avoid module duplication.
2010-07-01 23:35:45 +02: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
412e09f355
XEN with Linux grub-mkconfig support.
...
* conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
* util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
GRUB_CMDLINE_XEN_DEFAULT.
* util/grub.d/20_linux_xen.in: New file.
2010-06-28 02:39:49 +02:00
Vladimir 'phcoder' Serbinenko
53f3ef38c5
Initialise VGA video on qemu ourselves.
...
* boot/i386/qemu/boot.S: Don't call 0xc000.
* conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
(kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
(kernel_img_HEADERS): Add pci.h.
* conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
* configure.ac: Force unifont on qemu and yeeloong.
* include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
(grub_vga_palette_write): Use correct register.
* kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
Call grub_qemu_init_cirrus.
* kern/i386/qemu/init.c: New file.
* term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
* commands/videotest.c (grub_cmd_videotest): Handle double buffering.
2010-06-28 02:33:32 +02:00
Vladimir 'phcoder' Serbinenko
d86e186ff1
Fix detection of dom0 kernels
2010-06-28 02:24:08 +02:00
Vladimir 'phcoder' Serbinenko
994b0c27ea
Add ChangeLog
2010-06-21 02:23:58 +02:00
Vladimir 'phcoder' Serbinenko
8e50ec9f05
Merge mainline into cirrus
2010-06-21 02:15:49 +02:00
Vladimir 'phcoder' Serbinenko
5410ebd1f6
Don't read outside of VGA screen
2010-06-21 02:08:48 +02:00
Vladimir 'phcoder' Serbinenko
a29051ec7f
Handle double redraw
2010-06-21 02:08:19 +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