Commit Graph

52 Commits

Author SHA1 Message Date
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 120cc3eebc Merge mainline into cleanbuild 2010-03-14 16:41:57 +01:00
Vladimir 'phcoder' Serbinenko 5c2ee77128 Share common compilation flags 2010-02-10 01:39:23 +01:00
Vladimir 'phcoder' Serbinenko 428b0b2edd Unify lexer.c_DEPENDENCIES 2010-02-10 01:09:23 +01:00
Vladimir 'phcoder' Serbinenko a3df209041 Fix libusb compilation 2010-02-09 21:16:17 +01:00
Vladimir 'phcoder' Serbinenko ec0be08d40 Clean building system 2010-02-07 23:49:49 +01:00
Vladimir 'phcoder' Serbinenko b4674703a1 Add fno-builtin 2010-02-07 17:39:52 +01:00
Vladimir 'phcoder' Serbinenko a1a8d38a58 Use nostdinc 2010-02-07 17:30:16 +01:00
Vladimir 'phcoder' Serbinenko ac307b2ae4 Cleanup 2010-02-07 16:47:50 +01:00
Vladimir 'phcoder' Serbinenko c3e6233987 REmove the need for disable-werror 2010-02-07 04:50:30 +01:00
Vladimir 'phcoder' Serbinenko 19987ffa02 Remove the need for explicit make grub-emu 2010-02-07 04:45:54 +01:00
Vladimir 'phcoder' Serbinenko 2083672af1 Remove -DGRUB_UTIL when compiling grub-emu 2010-02-07 04:23:44 +01:00
Vladimir 'phcoder' Serbinenko 1eebb21608 Add missing dependency 2010-02-07 04:01:22 +01:00
Vladimir 'phcoder' Serbinenko 285505d3fc Eliminate blacklist of modules w/o init 2010-02-07 03:58:14 +01:00
Vladimir 'phcoder' Serbinenko ebe841ad55 Don't try to generate moddep.lst on any-emu.rmk 2010-02-07 03:48:38 +01:00
Vladimir 'phcoder' Serbinenko c5160d75c4 Don't strip on any-emu 2010-02-07 03:43:07 +01:00
Vladimir 'phcoder' Serbinenko dcb3f497be Rename main.mod to kernel.img 2010-02-07 03:29:59 +01:00
Vladimir 'phcoder' Serbinenko 19a9fb834b merge mainline into emu-mod 2010-02-07 03:06:33 +01:00
Vladimir 'phcoder' Serbinenko 909301af11 First try at generating grub-emu from modules 2010-02-07 02:07:35 +01:00
Vladimir 'phcoder' Serbinenko 1f534b6908 Merge mainline into gfxmenu 2010-02-03 01:24:07 +01:00
BVK Chaitanya 547e494f1b lexer-rewrite rebase commit 2010-01-22 19:07:27 +05:30
Vladimir 'phcoder' Serbinenko 61c501a941 merge mainline into newenv 2010-01-20 21:31:39 +01:00
Vladimir 'phcoder' Serbinenko cbca0ada62 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
Fix any-emu compilation.

	* conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
	* grub_bin2h_SOURCES: New variable.
2010-01-20 15:26:31 +01:00
Robert Millan cdec4d3193 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
Fix grub-emu build.
	
	* conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
2010-01-10 00:47:19 +00:00
Vladimir 'phcoder' Serbinenko fc054c9cb8 Various cleanups 2010-01-07 22:18:59 +01:00
Vladimir 'phcoder' Serbinenko e6e86df1de Merge multiterm into gfxmenu+multiterm 2010-01-05 16:34:10 +01:00
Vladimir 'phcoder' Serbinenko 519634516f Merge mainline into multiterm 2010-01-05 16:27:41 +01:00
Vladimir 'phcoder' Serbinenko 7f1f423cda merge multiterm gfxmenu+multiterm 2009-12-27 22:38:22 +01:00
Vladimir 'phcoder' Serbinenko 13d1f24696 Fix grub-emu compilation 2009-12-27 22:36:09 +01:00
Vladimir 'phcoder' Serbinenko bee140683a Initial effort for gfxmenu on multiterm branch 2009-12-26 01:49:57 +01:00
Vladimir 'phcoder' Serbinenko 9f293ab0df merge mainline into gfxmenu 2009-12-25 21:32:46 +01:00
Vladimir 'phcoder' Serbinenko e48625a306 merge crypto into multiout 2009-12-24 00:38:41 +01:00
Vladimir 'phcoder' Serbinenko f4c623e170 Work on multi-out terminal 2009-12-24 00:37:11 +01:00
Vladimir 'phcoder' Serbinenko 7316783f35 Crypto module autoloading 2009-12-23 17:33:35 +01:00
Vladimir 'phcoder' Serbinenko ba136b293a merge mainline into crypto 2009-12-22 14:28:39 +01:00
Vladimir 'phcoder' Serbinenko 2fbcbbc389 Save 314 bytes on not handling contexts in core 2009-12-20 02:52:39 +01:00
Robert Millan 37ba589a4e Merge from trunk 2009-12-12 00:07:45 +00:00
Vladimir 'phcoder' Serbinenko c0a6bd447e fix *-emu build 2009-12-05 20:45:32 +01:00
Vladimir 'phcoder' Serbinenko 7d624c2949 merge mainline into crypto 2009-12-05 16:34:27 +01:00
Vladimir 'phcoder' Serbinenko e45f7848e6 merged mainline into pci 2009-11-30 16:39:59 +01:00
Robert Millan 3df1f5113a Merge from trunk. 2009-11-27 00:03:09 +00:00
Felix Zielcke db77c4d43c 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
* conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
2009-11-26 01:08:42 +01:00
Felix Zielcke a755bb0437 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
* conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
2009-11-26 00:52:55 +01:00
Vladimir 'phcoder' Serbinenko 53e08cc54c Merged mainstream into newuuid 2009-11-25 23:50:54 +01:00
Vladimir 'phcoder' Serbinenko 0e8489094a mainstream merged into pci 2009-11-25 15:15:30 +01:00
Vladimir 'phcoder' Serbinenko a5c894bcd9 Enable gfxmenu on grub-emu 2009-11-24 04:19:33 +01:00
Vladimir 'phcoder' Serbinenko 59f746dc5f merged mainstream into crypto 2009-11-24 02:54:35 +01:00
Vladimir 'phcoder' Serbinenko 3dcf83ba7d merged mainstream into gfxmenu 2009-11-24 01:22:41 +01:00