Vladimir 'phcoder' Serbinenko
f84afb2775
* kern/parser.c: Indented.
2010-03-18 00:19:30 +01:00
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
abe8f24a47
Fix widthspec.h dependency
2010-03-17 08:49:48 +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
84f8180158
Merge mainline into bidi
2010-03-17 08:24:12 +01:00
Vladimir 'phcoder' Serbinenko
ed0e3d30cd
* term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
2010-03-17 08:22:45 +01:00
Vladimir 'phcoder' Serbinenko
c2bd1d182e
Fix sporadious newline
2010-03-17 00:23:23 +01:00
Vladimir 'phcoder' Serbinenko
2b68d34764
merge mainline into bidi
2010-03-17 00:18:30 +01:00
Vladimir 'phcoder' Serbinenko
0ea81d9845
* video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
...
alpha_mask_size == 0 case.
2010-03-17 00:16:11 +01:00
Vladimir 'phcoder' Serbinenko
eaa1f9a64b
Fix few memory errors
2010-03-16 23:03:08 +01:00
Vladimir 'phcoder' Serbinenko
7c464a1ec5
Don't show gfxmenu error
2010-03-16 23:02:48 +01:00
Vladimir 'phcoder' Serbinenko
701f1df961
Fix junk newline on second console
2010-03-16 22:34:13 +01:00
Vladimir 'phcoder' Serbinenko
bb7f4dbe3b
Explicitly check that terminal is in visual UTF-8 before mirroring code
2010-03-16 22:05:50 +01:00
Vladimir 'phcoder' Serbinenko
6f5568ed67
Add mirroring for visual UTF-8
2010-03-16 21:57:34 +01:00
Vladimir 'phcoder' Serbinenko
703cbe63d6
Remove trivial getcharwidth (now implicit)
2010-03-16 21:33:23 +01:00
Vladimir 'phcoder' Serbinenko
6c363dfd54
Fix doublewidth character handling
2010-03-16 21:29:15 +01:00
Vladimir 'phcoder' Serbinenko
2b5af23fa5
Remove leftover
2010-03-16 20:01:19 +01:00
Vladimir 'phcoder' Serbinenko
8a0b074f39
Fix combining characters messing with width counter
2010-03-16 19:56:33 +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
d6e0e85bf4
Disable UTF-8 serial by default
2010-03-16 19:16:15 +01:00
Vladimir 'phcoder' Serbinenko
7a476ba0a3
Dedup remapping code
2010-03-16 19:04:08 +01:00
Vladimir 'phcoder' Serbinenko
3830c087bb
Fix few wrapping problems
2010-03-16 15:21:50 +01:00
Vladimir 'phcoder' Serbinenko
8b4ca08868
better line wrapping
2010-03-16 14:48:14 +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
cacd173d3e
Fix linewrapper when levels=NULL
2010-03-16 11:31:05 +01:00
Vladimir 'phcoder' Serbinenko
eb67952309
Separate line-wrapping function
2010-03-16 11:23:49 +01:00
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
4f501d31ae
Fix length miscomputing
2010-03-16 00:55:11 +01:00
Vladimir 'phcoder' Serbinenko
f10331edf2
Preliminary support for UTF-8 console
2010-03-16 00:48:34 +01:00
Vladimir 'phcoder' Serbinenko
9a3355cfde
Fix EFI and IEEE1275
2010-03-16 00:23:49 +01:00
Vladimir 'phcoder' Serbinenko
023e3a5ca7
Move charset to normal/
2010-03-15 22:17:26 +01:00
Vladimir 'phcoder' Serbinenko
53c648d2eb
Break few dependencies on normal
2010-03-15 22:12:34 +01:00
Vladimir 'phcoder' Serbinenko
7f837ea536
Fixed circular dependency
2010-03-15 21:34:50 +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
Vladimir 'phcoder' Serbinenko
1159bdce4a
* kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
...
extra == 0.
2010-03-14 23:56:13 +01:00
Vladimir 'phcoder' Serbinenko
9b6e10bbbf
Handle defered device registration
2010-03-14 23:18:13 +01:00
BVK Chaitanya
0cdc2a095b
2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
...
GRUB shell lexer and parser improvements.
* conf/any-emu.rmk: Build rule updates.
* conf/common.rmk: Likewise.
* conf/i386-coreboot.rmk: Likewise.
* conf/i386-efi.rmk: Likewise.
* conf/i386-ieee1275.rmk: Likewise.
* conf/i386-pc.rmk: Likewise.
* conf/powerpc-ieee1275.rmk: Likewise.
* conf/x86_64-efi.rmk: Likewise.
* configure.ac: Configure check for flex.
* include/grub/script_sh.h (grub_script_arg_type_t): More argument
types.
(grub_lexer_param): Struct member updates.
(grub_parser_param): Likewise.
(GRUB_LEXER_TOKEN_MAX): Maximum token size.
(GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
(grub_script_lexer_init): Prototype update.
(grub_script_lexer_record_start): Likewise.
(grub_script_lexer_record_stop): Likewise.
(grub_script_lexer_yywrap): New function prototype.
(grub_script_lexer_fini): Likewise.
(grub_script_execute_argument_to_string): Removed by...
(grub_script_execute_argument_to_argv): ...better version.
* script/execute.c (ROUND_UPTO): New macro.
(grub_script_execute_cmdline): Out of memory fixes.
(grub_script_execute_menuentry): Likewise.
(grub_script_execute_argument_to_string): Removed. Update all
users by...
(grub_script_execute_argument_to_argv): ...better version.
* script/function.c (grub_script_function_create): Use
grub_script_execute_argument_to_argv instead of
grub_script_execute_argument_to_string.
* script/lexer.c (check_varstate): Removed.
(check_textstate): Removed.
(grub_script_lexer_record_start): Likewise.
(grub_script_lexer_record_stop): Likewise.
(recordchar): Replaced with...
(grub_script_lexer_record): ...new function.
(nextchar): Removed.
(grub_script_lexer_init): Rewritten.
(grub_script_yylex): Rewritten.
(append_newline): New function.
(grub_script_lexer_yywrap): New function.
(grub_script_lexer_fini): New function.
(grub_script_yyerror): Sets error flag.
* script/yylex.l: New file.
(grub_lexer_yyfree): Wrapper for flex yyffre.
(grub_lexer_yyalloc): Likewise.
(grub_lexer_yyrealloc): Likewise.
* script/parser.y: Refactored.
* script/script.c (grub_script_arg_add): Out of memory fixes.
(grub_script_add_arglist): Likewise.
(grub_script_create_cmdline): Likewise.
(grub_script_create_cmdmenu): Likewise.
(grub_script_add_cmd): Likewise.
(grub_script_parse): Use grub_script_lexer_fini to deallocated.
* util/grub-script-check.c (grub_script_execute_menuentry): Remove
unnecessary code.
* tests/grub_script_echo1.in: New testcase.
* tests/grub_script_vars1.in: New testcase.
* tests/grub_script_echo_keywords.in: New testcase.
2010-03-14 22:37:17 +05:30
BVK Chaitanya
8622549153
merged in mainline
2010-03-14 22:20:55 +05:30
Vladimir 'phcoder' Serbinenko
1d63a066e2
Remove some redundancy in build system.
...
* Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
(TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
(TARGET_LDFLAGS): Add -nostdlib.
(TARGET_IMG_LDFLAGS): Likewise.
* commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
anything since mmap isn't available.
* conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
Add util/time.c.
(pkglib_MODULES): Remove reboot.mod.
(reboot_mod_SOURCES): Removed.
(reboot_mod_CFLAGS): Likewise.
(reboot_mod_LDFLAGS): Likewise.
* conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
(MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
(DEFSYMFILES): Add kernel_syms.lst.
(kernel_img_HEADERS): Add common headers.
(symlist.c): New target.
(kernel_syms.lst): Likewise.
(pkglib_MODULES): Add memdisk.mod.
(memdisk_mod_SOURCES): New variable.
(memdisk_mod_CFLAGS): Likewise.
(memdisk_mod_LDFLAGS): Likewise.
(pkglib_MODULES): Add reboot.mod.
(reboot_mod_SOURCES): New variable.
(reboot_mod_CFLAGS): Likewise.
(reboot_mod_LDFLAGS): Likewise.
(pkglib_MODULES): Add date.mod.
(date_mod_SOURCES): New variable.
(date_mod_CFLAGS): Likewise.
(date_mod_LDFLAGS): Likewise.
(pkglib_MODULES): Add datehook.mod.
(datehook_mod_SOURCES): New variable.
(datehook_mod_CFLAGS): Likewise.
(datehook_mod_LDFLAGS): Likewise.
(pkglib_MODULES): Add lsmmap.mod.
(lsmmap_mod_SOURCES): New variable.
(lsmmap_mod_CFLAGS): Likewise.
(lsmmap_mod_LDFLAGS): Likewise.
(pkglib_MODULES): Add boot.mod.
(boot_mod_SOURCES): New variable.
(boot_mod_CFLAGS): Likewise.
(boot_mod_LDFLAGS): Likewise.
* conf/i386-coreboot.rmk: Removed redundant parts.
* conf/i386-ieee1275.rmk: Likewise.
* conf/i386-pc.rmk: Likewise.
* conf/mips-yeeloong.rmk: Likewise.
* conf/mips.rmk: Likewise.
* conf/powerpc-ieee1275.rmk: Likewise.
* conf/sparc64-ieee1275.rmk: Likewise.
* conf/x86_64-efi.rmk: Likewise.
* conf/i386-coreboot.rmk: Moved qemu parts ..
* conf/i386-qemu.rmk: ... here
* conf/i386-efi.rmk: Moved common parts to...
* conf/x86-efi.rmk: ... here.
* conf/i386.rmk: Added modules common to all x86 variants.
* configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
* disk/memdisk.c: Remove grub/machine/kernel.h.
* gensymlist.sh.in: Include symbol.h.
* hook/datehook.c: Correct module name.
* include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
(grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
* include/grub/i386/efi/serial.h: New file.
* include/grub/x86_64/efi/serial.h: Likewise.
* util/time.c: Likewise.
* video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
2010-03-14 17:17:49 +01:00
Vladimir 'phcoder' Serbinenko
8d7f2981d0
Remove leftover date*.mo on sparc64
2010-03-14 16:55:51 +01:00
Colin King
463ac55fac
Shrink the pre-partition-table part of boot.img by eight bytes.
...
* boot/i386/pc/boot.S (ERR): New macro.
(chs_mode): Use ERR.
(geometry_error): Likewise.
(hd_probe_error): Remove. This is only used once, so we wrwite
it inline instead.
(read_error): Instead of printing read_error_string, just set up
%si and fall through to ...
(error_message): ... this new function, also used by ERR.
Also-By: Colin Watson <cjwatson@ubuntu.com>
2010-03-14 15:47:05 +00:00
Vladimir 'phcoder' Serbinenko
120cc3eebc
Merge mainline into cleanbuild
2010-03-14 16:41:57 +01:00
Colin Watson
08e46ededa
Speed up consecutive hostdisk operations on the same device.
...
* util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
(grub_util_biosdisk_open): Initialise disk->data.
(struct linux_partition_cache): New structure.
(linux_find_partition): Cache partition start positions; these are
expensive to compute on every read and write.
(open_device): Cache open file descriptor in disk->data, so that we
don't have to reopen it and flush the buffer cache for consecutive
operations on the same device.
(grub_util_biosdisk_close): New function.
(grub_util_biosdisk_dev): Set `close' member.
* conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
* conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
* conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
* conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
* conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
2010-03-14 15:39:14 +00:00
Vladimir 'phcoder' Serbinenko
18d4c6f0ce
Fix address size in ofwfb on sparc64 (based on info by bvk)
2010-03-14 16:32:50 +01:00
Vladimir 'phcoder' Serbinenko
4a6d2d06db
Compile parts of grub-emu as modules.
...
* Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
(pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
(all-local): Add $(GRUB_EMU).
(install-local): Install $(GRUB_EMU).
(uninstall): Uninstall $(GRUB_EMU).
* commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
* kern/dl.c: Likewise.
* commands/sleep.c: Not include machine/time.h.
* conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
(COMMON_CFLAGS): Likewise.
(sbin_UTILITIES): Remove grub-emu.
(grub_emu_SOURCES): Removed.
(kernel_img_RELOCATABLE): New variable.
(pkglib_PROGRAMS): Add kernel.img.
(kernel_img_SOURCES): New variable
(kernel_img_CFLAGS): Likewise.
(kernel_img_LDFLAGS): Likewise.
(TARGET_NO_STRIP): Likewise.
(TARGET_NO_DYNAMIC_MODULES): Likewise.
(pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
(grub-emu): New target.
(GRUB_EMU): New variable.
* configure.ac: Whitelist -emu as possible x86_64 architecture.
* efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
* loader/xnu.c: Likewise.
* include/grub/pci.h: Likewise.
* genemuinit.sh: New file.
* genemuinitheader.sh: Likewise.
* genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
Support TARGET_NO_DYNAMIC_MODULES.
* include/grub/dl.h (GRUB_NO_MODULES): New variable.
* commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
* disk/loopback.c: Likewise.
* font/font_cmd.c: Likewise.
* partmap/acorn.c: Likewise.
* partmap/amiga.c: Likewise.
* partmap/apple.c: Likewise.
* partmap/gpt.c: Likewise.
* partmap/msdos.c: Likewise.
* partmap/sun.c: Likewise.
* parttool/msdospart.c: Likewise.
* term/gfxterm.c: Likewise.
* video/bitmap.c: Likewise.
* video/readers/jpeg.c: Likewise.
* video/readers/png.c: Likewise.
* video/readers/tga.c: Likewise.
* video/video.c: Likewise.
* util/grub-emu.c (read_command_list): Removed.
(main): Don't call util_init_nls.
* util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
(grub_util_init_nls) [!GRUB_UTIL]: Likewise.
2010-03-14 16:29:52 +01:00