Commit graph

625 commits

Author SHA1 Message Date
Vladimir 'phcoder' Serbinenko
c9ea504d25 merge mainline into nestpart 2010-03-26 15:44:13 +01:00
Adrian Glaubitz
a3940f8874 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
grammar.
2010-03-24 12:54:39 +00:00
Vladimir 'phcoder' Serbinenko
f84afb2775 * kern/parser.c: Indented. 2010-03-18 00:19:30 +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
dae79b6b05 Merge mainline into emu-mod 2010-03-14 16:27:54 +01:00
Vladimir 'phcoder' Serbinenko
9a1e70432b Merge mainline into ofwfb 2010-03-14 15:43:22 +01:00
Vladimir 'phcoder' Serbinenko
313df2f552 Merge mainline into sparc-mkimage 2010-03-14 15:21:04 +01:00
Vladimir 'phcoder' Serbinenko
d078036308 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
* kern/main.c (grub_load_modules): Handle errors from init functions of
	embeded modules.
2010-03-04 21:32:11 +01:00
Vladimir 'phcoder' Serbinenko
14532662ee merge mainline into sparc-mkimage 2010-03-03 11:24:36 +01:00
Vladimir 'phcoder' Serbinenko
f17d332e49 Remove trailing spaces in kern/device.c 2010-02-24 11:29:11 +01:00
Vladimir 'phcoder' Serbinenko
13b6d963ea Fix yeeloong compilation 2010-02-15 19:03:07 +01:00
Vladimir 'phcoder' Serbinenko
a3334e79e8 Revert gratuituos change of alias.name 2010-02-14 20:03:19 +01:00
Vladimir 'phcoder' Serbinenko
320dd174b5 Increase stack size on sparc 2010-02-14 14:32:21 +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
17cec782c4 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
* kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
2010-02-13 16:23:20 +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
2d2a9cd5b6 GRUB_FILE implementation 2010-02-09 15:32:42 +01:00
Vladimir 'phcoder' Serbinenko
62509f0434 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
2010-02-07 22:49:45 +01:00
Vladimir 'phcoder' Serbinenko
56e33364c5 Fix yeeloong compilation 2010-02-07 19:59:19 +01:00
Vladimir 'phcoder' Serbinenko
2083672af1 Remove -DGRUB_UTIL when compiling grub-emu 2010-02-07 04:23:44 +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
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
b6c0d9c201 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
* kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
	by non-valid ones.
	* kern/term.c (grub_putchar): Likewise.
2010-02-06 23:39:14 +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
Vladimir 'phcoder' Serbinenko
7b5d0fe444 Increase heap limit 2010-02-06 15:53:39 +01:00
Vladimir 'phcoder' Serbinenko
7cc192d9f2 2010-02-06 Colin D Bennett <colin@gibibit.com>
* conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
	(gfxmenu_mod_SOURCES): New variable.
	(gfxmenu_mod_CFLAGS): Likewise.
	(gfxmenu_mod_LDFLAGS): Likewise.
	* include/grub/term.h (grub_term_set_current_output): Declare
	argument as const.
	* docs/gfxmenu-theme-example.txt: New file.
	* gfxmenu/gfxmenu.c: Likewise.
	* gfxmenu/gui_box.c: Likewise.
	* gfxmenu/gui_canvas.c: Likewise.
	* gfxmenu/gui_circular_progress.c: Likewise.
	* gfxmenu/gui_image.c: Likewise.
	* gfxmenu/gui_label.c: Likewise.
	* gfxmenu/gui_list.c: Likewise.
	* gfxmenu/gui_progress_bar.c: Likewise.
	* gfxmenu/gui_string_util.c: Likewise.
	* gfxmenu/gui_util.c: Likewise.
	* gfxmenu/icon_manager.c: Likewise.
	* gfxmenu/model.c: Likewise.
	* gfxmenu/named_colors.c: Likewise.
	* gfxmenu/theme_loader.c: Likewise.
	* gfxmenu/view.c: Likewise.
	* gfxmenu/widget-box.c: Likewise.
	* include/grub/gfxmenu_model.h: Likewise.
	* include/grub/gfxmenu_view.h: Likewise.
	* include/grub/gfxwidgets.h: Likewise.
	* include/grub/gui.h: Likewise.
	* include/grub/gui_string_util.h: Likewise.
	* include/grub/icon_manager.h: Likewise.

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

	Agglomerate scrolling in gfxterm.

	* term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
	(grub_virtual_screen_setup): Initialise 'total_screen'.
	(write_char): Split to ...
	(paint_char): ... this ...
	(write_char): ... and this.
	(paint_char): Handle delayed scrolling.
	(draw_cursor): Likewise.
	(scroll_up): Split to ...
	(real_scroll): ... this ...
	(scroll_up): ... and this.
	(real_scroll): Handle multi-line scroll and draw below-the-bottom
	characters.
	(grub_gfxterm_refresh): Call real_scroll.

2010-02-06  Colin D Bennett  <colin@gibibit.com>

	* include/grub/misc.h (grub_iscntrl): New inline function.
	(grub_isalnum): Likewise.
	(grub_strtol): Likewise.

2010-02-06  Colin D Bennett  <colin@gibibit.com>

	* normal/menu_text.c (get_entry_number): Move from here ...
	* normal/menu.c (get_entry_number): ... moved here.
	* include/grub/menu.h (grub_menu_get_default_entry_index):
	New prototype.
	* normal/menu.c (grub_menu_get_default_entry_index): New function.
	* normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
	* include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
	(grub_menu_viewer_should_return): Likewise.
	* normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
	* normal/menu_text.c (run_menu): Enable menu switching.
	* normal/menu_viewer.c (should_return): New variable.
	(menu_viewer_changed): Likewise.
	(grub_menu_viewer_show_menu): Handle menu viewer changes.
	(grub_menu_viewer_should_return): New function.
	(menuviewer_write_hook): Likewise.
	(grub_menu_viewer_init): Likewise.

2010-02-06  Colin D Bennet <colin@gibibit.com>
2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>

	Support for gfxterm in a window.

	* include/grub/gfxterm.h: New file.
	* include/grub/video.h (struct grub_video_rect): New declaration.
	(grub_video_rect_t): Likewise.
	* term/gfxterm.c (struct grub_gfxterm_window): New type.
	(refcount): New variable.
	(render_target): Likewise.
	(window): Likewise.
	(repaint_callback): Likewise.
	(grub_virtual_screen_setup): Use 'render_target'.
	(init_window): New function.
	(grub_gfxterm_init_window): Likewise.
	(grub_gfxterm_init): Check reference counter.
	Use init_window.
	(destroy_window): New function.
	(grub_gfxterm_destroy_window): Likewise.
	(grub_gfxterm_fini): Check reference counter.
	Use destroy_window.
	(redraw_screen_rect): Restore viewport.
	Use 'render_target' and 'window'.
	Call 'repaint_callback'.
	(write_char): Use 'render_target'.
	(draw_cursor): Likewise.
	(scroll_up): Restore viewport.
	Use 'render_target' and 'window'.
	Call 'repaint_callback'.
	(grub_gfxterm_cls): Likewise.
	(grub_gfxterm_refresh): Use 'window'.
	(grub_gfxterm_set_repaint_callback): New function.
	(grub_gfxterm_background_image_cmd): Use 'window'.
	(grub_gfxterm_get_term): New function.
	(GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.

2010-02-06  Colin D Bennett  <colin@gibibit.com>

	Bitmap scaling support.

	* conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
	(bitmap_scale_mod_SOURCES): New variable.
	(bitmap_scale_mod_CFLAGS): Likewise.
	(bitmap_scale_mod_LDFLAGS): Likewise.
	* include/grub/bitmap_scale.h: New file.
	* term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
	(background_image_cmd_options): New variable.
	(grub_gfxterm_background_image_cmd): Support bitmap stretching.
	(cmd): Rename and change type to ...
	(background_image_cmd_handle): ... this. All users updated.
	(GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
	* video/bitmap_scale.c: New file.

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

	SDL support.

	* Makefile.in (LIBSDL): New variable.
	(enable_grub_emu_sdl): Likewise.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
	(grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
	(grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
	* configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
	* util/sdl.c: New file.

2010-02-06  Colin D Bennett  <colin@gibibit.com>
2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>

	Double buffering support.

	* commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
	* include/grub/video.h: Update comment.
	* include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
	New type.
	(grub_video_fb_doublebuf_blit_init): New prototype.
	* term/gfxterm.c (scroll_up): Support double buffering.
	(grub_gfxterm_refresh): Likewise.
	* video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
	(grub_video_fb_doublebuf_blit_init): Likewise.
	* video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
	'front_target', 'back_target', 'offscreen_buffer', 'page_size',
	'displayed_page', 'render_page' and 'update_screen'.
	(grub_video_vbe_fini): Free offscreen buffer.
	(doublebuf_pageflipping_commit): New function.
	(doublebuf_pageflipping_update_screen): Likewise.
	(doublebuf_pageflipping_init): Likewise.
	(double_buffering_init): Likewise.
	(grub_video_vbe_setup): Enable doublebuffering.
	(grub_video_vbe_swap_buffers): Implement.
	(grub_video_vbe_set_active_render_target): Handle double buffering.
	(grub_video_vbe_get_active_render_target): Likewise.
	(grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
	(grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
	(grub_video_vbe_enable_double_buffering): Likewise.
	(grub_video_vbe_swap_buffers): Use update_screen.
	(grub_video_set_mode): Use double buffering.

2010-02-06  Robert Millan  <rmh.grub@aybabtu.com>

	* maintainance/gentrigtables.py: Remove.
	* lib/trig.c: Likewise.

	* gentrigtables.c: New file.  C rewrite of gentrigtables.py.

	* conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
	`trigtables.c'.
	(trigtables.c): New rule.
	(gentrigtables): Likewise.
	(DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.

2010-02-06  Robert Millan  <rmh.grub@aybabtu.com>

	* maintainance/gentrigtables.py: Avoid duplicate hardcoding of
	integer constants.

2010-02-06  Colin D Bennet <colin@gibibit.com>

	Trigonometry support.

	* include/grub/trig.h: New file.
	* lib/trig.c: Likewise.
	* maintainance/gentrigtables.py: Likewise.
	* conf/common.rmk (pkglib_MODULES): Add trig.mod.
	(trig_mod_SOURCES): New variable.
	(trig_mod_CFLAGS): Likewise.
	(trig_mod_LDFLAGS): Likewise.
2010-02-06 14:40:57 +01:00
Vladimir 'phcoder' Serbinenko
5562834e18 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
* kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
	disk devices.
2010-02-06 00:32:07 +01:00
Vladimir 'phcoder' Serbinenko
4f8528fc2b 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
* kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
	error.
2010-02-06 00:30:25 +01:00
Vladimir 'phcoder' Serbinenko
1f534b6908 Merge mainline into gfxmenu 2010-02-03 01:24:07 +01:00
Torsten Landschoff
399f6e4d9c 2010-02-03 Torsten Landschoff <torsten@debian.org>
* kern/disk.c (grub_disk_read): Fix offset computation when reading
	last sectors.
2010-02-03 00:46:55 +01:00
Vladimir 'phcoder' Serbinenko
fbab7b0794 Framebuffer on PowerPC-based macs 2010-01-31 01:57:17 +01:00
Vladimir 'phcoder' Serbinenko
989e1f934b 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
* kern/disk.c (grub_disk_read): Fix offset computation when reading
	last sectors.
2010-01-27 17:30:03 +01:00
Robert Millan
67667b9ced 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
* kern/disk.c (grub_disk_read): Fix bug that would cause infinite
	loop when using read hooks on files whose size isn't sector-aligned.
2010-01-27 03:15:03 +00:00
Robert Millan
3973a59a34 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
	
	* boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
	(_start): Macroify `0x7F'.
	
	* kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
	(make_install_device): Use "(pxe)" as fallback prefix when booting
	via PXE.
2010-01-26 16:39:37 +00:00
Robert Millan
566863ca19 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
Use generic grub_reboot() for i386-efi.
	
	* kern/efi/efi.c [__i386__] (grub_reboot): Remove.
	* kern/i386/efi/startup.S: Include `"../realmode.S"'.
	* kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
2010-01-22 17:12:40 +00:00
Vladimir 'phcoder' Serbinenko
bf86e59a76 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
* kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
	presence of "prefix" variable as it breaks when normal.mod is
	embedded.
2010-01-22 00:33:07 +01:00
Vladimir 'phcoder' Serbinenko
61c501a941 merge mainline into newenv 2010-01-20 21:31:39 +01:00
Vladimir 'phcoder' Serbinenko
61eb45eee7 Rename asprint into xasprintf and avsprintf into xvasprintf 2010-01-20 09:12:47 +01:00
Vladimir 'phcoder' Serbinenko
2d49abe9e7 merge mainline into asprintf 2010-01-20 07:36:17 +01:00
Colin Watson
917dd37040 2010-01-20 Dan Merillat <debian@dan.merillat.org>
* kern/device.c (grub_device_iterate): Allocate new part_ent
	structure based on sizeof (*p) rather than sizeof (p->next), to
	account for structure padding.

	* util/grub-probe.c (probe_raid_level): Return -1 immediately if
	disk is NULL, which might happen for LVM physical volumes with no
	LVM signature.
2010-01-20 02:11:07 +00:00
Robert Millan
d4a4ee5765 Merge mips branch 2010-01-20 01:55:41 +00:00
Robert Millan
e3538adaea 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
* kern/mips/yeeloong/init.c (grub_video_sm712_init)
	(grub_video_video_init, grub_video_bitmap_init)
	(grub_font_manager_init, grub_term_gfxterm_init)
	(grub_at_keyboard_init): New extern declarations.
	(grub_machine_init): Initialize gfxterm and at_keyboard.
	
	* kern/main.c (grub_main): Revert grub_printf delay kludge.
	
	* util/grub-install.in: Revert embed of `at_keyboard.mod' and
	`gfxterm.mod' into core image.
	
	* conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
	(kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
	(kernel_img_FORMAT): Copy to ...
	
	* conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
	(kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
	(kernel_img_FORMAT): ... here, and ...
	
	* conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
	(kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
	(kernel_img_FORMAT): ... here.
	
	(kernel_img_SOURCES): Add files necessary for output (gfxterm)
	and input (at_keyboard) terminals in kernel.
	(kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
	
	(pkglib_MODULES): Remove `pci.mod'.
	(pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
	(sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
	(at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
	(at_keyboard_mod_LDFLAGS): Remove variables.
2010-01-20 01:19:53 +00:00
Robert Millan
e022a2d667 Sync with trunk 2010-01-18 20:51:35 +00:00
Robert Millan
88d170128f 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
Fix annoying UI bug in rescue mode.  Thanks to Tristan Gingold for
	spotting it back in 2008.  Shame on me for forgetting he did.
	
	* kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
2010-01-18 13:45:40 +00:00
carles
ba2f6848e0 2010-01-14 Carles Pina i Estany <carles@pina.cat>
* gettext/gettext.c (grub_gettext_translate): Push and pop
	grub_errno.
	(grub_gettext_delete_list): Change comment style.
	* kern/err.c (grub_error): Gettextizze.
	(grub_fatal): Gettextizze.
2010-01-14 22:31:06 +00:00
Robert Millan
0a46429a55 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
	(grub_linux16_real_boot): ... this.
	* kern/i386/loader.S: Likewise.
	* loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
	(grub_linux16_boot): New function.  Switches to text mode and calls
	grub_linux16_real_boot().
	
	* loader/i386/bsd.c: Include `<grub/video.h>'.
	(grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
	text mode before calling grub_unix_real_boot().
	
	* loader/i386/multiboot.c: Include `<grub/video.h>'.
	(grub_multiboot_boot): Switch to text mode before calling
	grub_relocator32_boot().
	
	* loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
	(grub_chainloader_boot): Switch to text mode before calling
	grub_chainloader_real_boot().
2010-01-14 21:08:31 +00:00
Vladimir 'phcoder' Serbinenko
17383dfe96 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
* kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
	it would result in module crash.
2010-01-13 22:53:12 +01:00
Vladimir 'phcoder' Serbinenko
85a2cf749f merge mainline into mips 2010-01-10 13:34:48 +01:00
Vladimir 'phcoder' Serbinenko
fc054c9cb8 Various cleanups 2010-01-07 22:18:59 +01:00
Robert Millan
c1d2f1d81b Merge from trunk 2010-01-07 00:58:54 +00:00
carles
e7730de786 2010-01-06 Carles Pina i Estany <carles@pina.cat>
* kern/err.c: Include `<grub/i18n.h>'.
	(grub_print_error): Add full stop. Gettextizze.
	* loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
	(grub_bsd_load_elf): Capitalise ELF.
	(grub_cmd_freebsd_loadenv): Add `s' in error string.
	(grub_cmd_freebsd_module): Likewise.
	(grub_cmd_freebsd_module_elf): Likewise.
	* loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
2010-01-06 22:00:57 +00: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
Robert Millan
e33ace066e 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
* disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
	instead of manual alignment.
	* kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
	verbose).  Avoid attempts to read past end of the device
	(grub_disk_adjust_range() guarantees that we can read `size' bytes,
	but GRUB_DISK_CACHE_SIZE may exceed that).
2010-01-04 23:30:27 +00:00
Robert Millan
58bc8bd5b1 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
* boot/i386/pc/boot.S: Update copyright year.
	* boot/i386/pc/cdboot.S: Likewise.
	* boot/i386/pc/diskboot.S: Likewise.
	* boot/i386/pc/lnxboot.S: Likewise.
	* boot/i386/pc/pxeboot.S: Likewise.
	* bus/pci.c: Likewise.
	* commands/cmp.c: Likewise.
	* commands/help.c: Likewise.
	* commands/hexdump.c: Likewise.
	* commands/i386/pc/halt.c: Likewise.
	* commands/i386/pc/play.c: Likewise.
	* commands/i386/pc/vbeinfo.c: Likewise.
	* commands/ls.c: Likewise.
	* commands/test.c: Likewise.
	* disk/dmraid_nvidia.c: Likewise.
	* disk/i386/pc/biosdisk.c: Likewise.
	* disk/ieee1275/nand.c: Likewise.
	* disk/ieee1275/ofdisk.c: Likewise.
	* disk/lvm.c: Likewise.
	* disk/raid.c: Likewise.
	* disk/raid6_recover.c: Likewise.
	* disk/scsi.c: Likewise.
	* fs/affs.c: Likewise.
	* fs/cpio.c: Likewise.
	* fs/ext2.c: Likewise.
	* fs/hfs.c: Likewise.
	* fs/iso9660.c: Likewise.
	* fs/ntfs.c: Likewise.
	* fs/sfs.c: Likewise.
	* fs/udf.c: Likewise.
	* fs/ufs.c: Likewise.
	* fs/xfs.c: Likewise.
	* gencmdlist.sh: Likewise.
	* genmk.rb: Likewise.
	* include/grub/disk.h: Likewise.
	* include/grub/efi/api.h: Likewise.
	* include/grub/efi/efi.h: Likewise.
	* include/grub/efi/pe32.h: Likewise.
	* include/grub/elf.h: Likewise.
	* include/grub/fs.h: Likewise.
	* include/grub/i386/at_keyboard.h: Likewise.
	* include/grub/i386/pc/memory.h: Likewise.
	* include/grub/i386/pc/vbe.h: Likewise.
	* include/grub/i386/pci.h: Likewise.
	* include/grub/i386/tsc.h: Likewise.
	* include/grub/ieee1275/ieee1275.h: Likewise.
	* include/grub/ntfs.h: Likewise.
	* include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
	* include/grub/sparc64/libgcc.h: Likewise.
	* include/grub/symbol.h: Likewise.
	* include/grub/types.h: Likewise.
	* include/multiboot2.h: Likewise.
	* io/gzio.c: Likewise.
	* kern/device.c: Likewise.
	* kern/disk.c: Likewise.
	* kern/efi/efi.c: Likewise.
	* kern/efi/mm.c: Likewise.
	* kern/elf.c: Likewise.
	* kern/file.c: Likewise.
	* kern/i386/dl.c: Likewise.
	* kern/i386/pc/init.c: Likewise.
	* kern/i386/pc/startup.S: Likewise.
	* kern/ieee1275/ieee1275.c: Likewise.
	* kern/ieee1275/init.c: Likewise.
	* kern/main.c: Likewise.
	* kern/mm.c: Likewise.
	* kern/powerpc/dl.c: Likewise.
	* kern/sparc64/dl.c: Likewise.
	* kern/x86_64/dl.c: Likewise.
	* lib/hexdump.c: Likewise.
	* loader/efi/appleloader.c: Likewise.
	* loader/i386/ieee1275/linux.c: Likewise.
	* loader/i386/pc/chainloader.c: Likewise.
	* loader/i386/pc/linux.c: Likewise.
	* loader/i386/pc/multiboot2.c: Likewise.
	* loader/ieee1275/multiboot2.c: Likewise.
	* loader/multiboot2.c: Likewise.
	* loader/multiboot_loader.c: Likewise.
	* loader/powerpc/ieee1275/linux.c: Likewise.
	* normal/completion.c: Likewise.
	* normal/menu_entry.c: Likewise.
	* partmap/apple.c: Likewise.
	* util/grub.d/10_hurd.in: Likewise.
	* util/hostfs.c: Likewise.
	* video/readers/png.c: Likewise.
2010-01-03 22:05:07 +00:00
carles
136d24f643 2010-01-03 Carles Pina i Estany <carles@pina.cat>
* kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
2010-01-03 21:08:51 +01:00
Yves Blusseau
18f81dfc02 2010-01-01 Yves Blusseau <blusseau@zetam.org>
* kern/misc.c
	(memcmp): add missing memcmp "alias" function for Apple platforms
	(memset): add missing memset "alias" function for Apple platforms
2010-01-01 22:48:52 +01:00
Vladimir 'phcoder' Serbinenko
18277ec1f7 Fix typo 2009-12-31 14:03:45 +01:00
Vladimir 'phcoder' Serbinenko
11c22894af Fix warning in kern/misc.c 2009-12-30 14:24:10 +01:00
Vladimir 'phcoder' Serbinenko
8b442f3f4c asprintf and snprintf support 2009-12-29 10:04:06 +01:00
Vladimir 'phcoder' Serbinenko
742e1f7e72 merge mainline into mips 2009-12-28 01:05:47 +01:00
Vladimir 'phcoder' Serbinenko
c181849b95 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
* kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
2009-12-28 01:02:21 +01:00
Vladimir 'phcoder' Serbinenko
7f1f423cda merge multiterm gfxmenu+multiterm 2009-12-27 22:38:22 +01:00
Vladimir 'phcoder' Serbinenko
dc71441293 Output \n\r like it was done previously because ncurses is confused by \r\n 2009-12-27 22:35:40 +01:00
Vladimir 'phcoder' Serbinenko
20b9c9dc0d merge multiterm into gfxmenu+multiterm 2009-12-27 17:42:26 +01:00
Vladimir 'phcoder' Serbinenko
1975ecdc59 Fix include in kern/term.c 2009-12-27 17:40:36 +01:00
carles
864ba2bbca 2009-12-27 Carles Pina i Estany <carles@pina.cat>
* efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
	stops.
	* kern/corecmd.c (grub_register_core_commands): Likewise.
	* loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
	* loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/xnu.c (GRUB_MOD_INIT): Likewise.
	* mmap/mmap.c (GRUB_MOD_INIT): Likewise.
	* normal/handler.c (insert_handler): Likewise.
	* normal/main.c (GRUB_MOD_INIT): Likewise.
	* term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2009-12-26 11:01:33 +01:00
Vladimir 'phcoder' Serbinenko
bee140683a Initial effort for gfxmenu on multiterm branch 2009-12-26 01:49:57 +01:00
carles
fdcdbb6633 2009-12-26 Carles Pina i Estany <carles@pina.cat>
* commands/help.c (grub_cmd_help): Print the command name before the
	summary.
	(GRUB_MOD_INIT): Remove command name from the summary.
	* kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
	strig as summary.
	* lib/arg.c (find_long): Print the command name before the summary.
	* commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
	summary.
	* commands/blocklist.c (GRUB_MOD_INIT): Likewise.
	* commands/cat.c (GRUB_MOD_INIT): Likewise.
	* commands/cmp.c (GRUB_MOD_INIT): Likewise.
	* commands/configfile.c (GRUB_MOD_INIT): Likewise.
	* commands/crc.c (GRUB_MOD_INIT): Likewise.
	* commands/date.c (GRUB_MOD_INIT): Likewise.
	* commands/echo.c (GRUB_MOD_INIT): Likewise.
	* commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
	* commands/gptsync.c (GRUB_MOD_INIT): Likewise.
	* commands/handler.c (GRUB_MOD_INIT): Likewise.
	* commands/hdparm.c (GRUB_MOD_INIT): Likewise.
	* commands/hexdump.c (GRUB_MOD_INIT): Likewise.
	* commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
	* commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
	* commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
	* commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
	* commands/keystatus.c (GRUB_MOD_INIT): Likewise.
	* commands/loadenv.c (GRUB_MOD_INIT): Likewise.
	* commands/ls.c (GRUB_MOD_INIT): Likewise.
	* commands/lspci.c (GRUB_MOD_INIT): Likewise.
	* commands/memrw.c (GRUB_MOD_INIT): Likewise.
	* commands/minicmd.c (GRUB_MOD_INIT): Likewise.
	* commands/parttool.c (GRUB_MOD_INIT): Likewise.
	* commands/password.c (GRUB_MOD_INIT): Likewise.
	* commands/probe.c (GRUB_MOD_INIT): Likewise.
	* commands/read.c (GRUB_MOD_INIT): Likewise.
	* commands/search.c (GRUB_MOD_INIT): Likewise.
	* commands/sleep.c (GRUB_MOD_INIT): Likewise.
	* commands/test.c (GRUB_MOD_INIT): Likewise.
	* commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
	* efiemu/main.c (GRUB_MOD_INIT): Likewise.
	* font/font_cmd.c (GRUB_MOD_INIT): Likewise.
	* gettext/gettext.c (GRUB_MOD_INIT): Likewise.
	* kern/corecmd.c (GRUB_MOD_INIT): Likewise.
	* lib/arg.c (GRUB_MOD_INIT): Likewise.
	* loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
	* loader/xnu.c (GRUB_MOD_INIT): Likewise.
	* mmap/mmap.c (GRUB_MOD_INIT): Likewise.
	* term/terminfo.c (GRUB_MOD_INIT): Likewise.
	* video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
	* video/readers/png.c (GRUB_MOD_INIT): Likewise.
	* video/readers/tga.c (GRUB_MOD_INIT): Likewise.
2009-12-26 00:50:59 +01:00
Robert Millan
d94000ed13 Merge from trunk 2009-12-25 22:29:47 +00:00
Vladimir 'phcoder' Serbinenko
db9433999c 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
* kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
	Ignore return status if CF is cleared.
	(grub_biosdisk_get_diskinfo_standard): Likewise.
2009-12-25 23:01:32 +01:00
Vladimir 'phcoder' Serbinenko
9f293ab0df merge mainline into gfxmenu 2009-12-25 21:32:46 +01:00
Robert Millan
427d6aa453 Merge my local branch 2009-12-25 12:43:20 +01:00
Vladimir 'phcoder' Serbinenko
fa533ebb5c Various fixes to make multiterm work 2009-12-25 01:13:21 +01:00
carles
7fd0baee0f 2009-12-24 Carles Pina i Estany <carles@pina.cat>
* bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
	grub_errno calls.
	* commands/acpi.c: Likewise.
	* commands/blocklist.c: Likewise.
	* commands/efi/loadbios.c: Likewise.
	* commands/i386/pc/drivemap.c: Likewise.
	* commands/loadenv.c: Likewise.
	* commands/memrw.c: Likewise.
	* commands/password.c: Likewise.
	* commands/videotest.c: Likewise.
	* disk/ata.c: Likewise.
	* disk/ata_pthru.c: Likewise.
	* disk/dmraid_nvidia.c: Likewise.
	* disk/ieee1275/nand.c: Likewise.
	* disk/ieee1275/ofdisk.c: Likewise.
	* disk/loopback.c: Likewise.
	* disk/lvm.c: Likewise.
	* disk/mdraid_linux.c: Likewise.
	* disk/raid.c: Likewise.
	* disk/raid6_recover.c: Likewise.
	* disk/scsi.c: Likewise.
	* efiemu/main.c: Likewise.
	* efiemu/mm.c: Likewise.
	* efiemu/pnvram.c: Likewise.
	* efiemu/symbols.c: Likewise.
	* font/font.c: Likewise.
	* fs/cpio.c: Likewise.
	* fs/hfsplus.c: Likewise.
	* fs/iso9660.c: Likewise.
	* fs/jfs.c: Likewise.
	* fs/minix.c: Likewise.
	* fs/ntfs.c: Likewise.
	* fs/ntfscomp.c: Likewise.
	* fs/reiserfs.c: Likewise.
	* fs/ufs.c: Likewise.
	* fs/xfs.c: Likewise.
	* gettext/gettext.c: Likewise.
	* include/grub/auth.h: Likewise.
	* kern/elf.c: Likewise.
	* kern/file.c: Likewise.
	* kern/ieee1275/init.c: Likewise.
	* kern/ieee1275/mmap.c: Likewise.
	* kern/ieee1275/openfw.c: Likewise.
	* kern/powerpc/dl.c: Likewise.
	* kern/sparc64/dl.c: Likewise.
	* lib/arg.c: Likewise.
	* loader/i386/bsd.c: Likewise.
	* loader/i386/bsdXX.c: Likewise.
	* loader/i386/efi/linux.c: Likewise.
	* loader/i386/efi/xnu.c: Likewise.
	* loader/i386/ieee1275/linux.c: Likewise.
	* loader/i386/linux.c: Likewise.
	* loader/i386/multiboot.c: Likewise.
	* loader/i386/pc/linux.c: Likewise.
	* loader/i386/pc/multiboot2.c: Likewise.
	* loader/i386/xnu.c: Likewise.
	* loader/ieee1275/multiboot2.c: Likewise.
	* loader/macho.c: Likewise.
	* loader/machoXX.c: Likewise.
	* loader/multiboot2.c: Likewise.
	* loader/multiboot_loader.c: Likewise.
	* loader/powerpc/ieee1275/linux.c: Likewise.
	* loader/sparc64/ieee1275/linux.c: Likewise.
	* loader/xnu.c: Likewise.
	* loader/xnu_resume.c: Likewise.
	* mmap/i386/pc/mmap.c: Likewise.
	* normal/menu_viewer.c: Likewise.
	* partmap/acorn.c: Likewise.
	* partmap/amiga.c: Likewise.
	* partmap/apple.c: Likewise.
	* script/lexer.c: Likewise.
	* term/gfxterm.c: Likewise.
	* term/i386/pc/serial.c: Likewise.
	* term/i386/pc/vga.c: Likewise.
	* term/ieee1275/ofconsole.c: Likewise.
	* term/terminfo.c: Likewise.
	* video/bitmap.c: Likewise.
	* video/efi_gop.c: Likewise.
	* video/efi_uga.c: Likewise.
	* video/fb/video_fb.c: Likewise.
	* video/i386/pc/vbe.c: Likewise.
	* video/readers/tga.c: Likewise.
	* video/video.c: Likewise.
2009-12-24 23:53:05 +01:00
Vladimir 'phcoder' Serbinenko
6d305d4f7d Fix paging. 2009-12-24 23:37:38 +01:00
Vladimir 'phcoder' Serbinenko
0aa6339849 Working multi-terminal 2009-12-24 21:54:37 +01:00
Vladimir 'phcoder' Serbinenko
3be7f8de12 FORALL_ACTIVE_TERM_OUTPUTS macro 2009-12-24 17:51:43 +01:00
Robert Millan
8eca55a6eb Imported nyu's multi-input 2009-12-24 17:08:14 +01:00
Vladimir 'phcoder' Serbinenko
2322a12693 remove list iterators to save space 2009-12-24 16:25:10 +01:00
Vladimir 'phcoder' Serbinenko
2e71383172 Core changes hopefully finished 2009-12-24 15:34:33 +01:00
Robert Millan
e4d47d8d64 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
For consistency with [multiboot]/docs/boot.S.
	
	* include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
	(MULTIBOOT_HEADER_MAGIC): ... to this.  Update all users.
	(MULTIBOOT_MAGIC2): Rename from this ...
	(MULTIBOOT_BOOTLOADER_MAGIC): ... to this.  Update all users.
2009-12-24 14:09:06 +00:00
Vladimir 'phcoder' Serbinenko
f4c623e170 Work on multi-out terminal 2009-12-24 00:37:11 +01:00
Felix Zielcke
a2c1332b70 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
* commands/i386/pc/drivemap.c: Remove all trailing whitespace.
	* commands/lspci.c: Likewise.
	* commands/probe.c: Likewise.
	* commands/xnu_uuid.c: 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/sparc64-ieee1275.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.
	* fs/i386/pc/pxe.c: Likewise.
	* gettext/gettext.c: Likewise.
	* include/grub/efi/graphics_output.h: Likewise.
	* include/grub/i386/pc/memory.h: Likewise.
	* kern/env.c: Likewise.
	* kern/i386/qemu/startup.S: Likewise.
	* lib/i386/pc/biosnum.c: Likewise.
	* lib/i386/relocator.c: Likewise.
	* lib/i386/relocator_asm.S: Likewise.
	* lib/relocator.c: Likewise.
	* loader/i386/bsd.c: Likewise.
	* loader/i386/multiboot.c: Likewise.
	* loader/i386/pc/chainloader.c: Likewise.
	* loader/i386/xnu.c: Likewise.
	* loader/xnu.c: Likewise.
	* normal/main.c: Likewise.
	* normal/menu_text.c: Likewise.
	* util/getroot.c: Likewise.
	* util/grub-mkconfig_lib.in: Likewise.
	* util/grub.d/00_header.in: Likewise.
	* util/i386/pc/grub-mkimage.c: Likewise.
	* util/mkisofs/eltorito.c: Likewise.
	* util/mkisofs/exclude.h: Likewise.
	* util/mkisofs/hash.c: Likewise.
	* util/mkisofs/iso9660.h: Likewise.
	* util/mkisofs/joliet.c: Likewise.
	* util/mkisofs/mkisofs.c: Likewise.
	* util/mkisofs/mkisofs.h: Likewise.
	* util/mkisofs/multi.c: Likewise.
	* util/mkisofs/name.c: Likewise.
	* util/mkisofs/rock.c: Likewise.
	* util/mkisofs/tree.c: Likewise.
	* util/mkisofs/write.c: Likewise.
	* video/efi_gop.c: Likewise.
2009-12-23 17:41:32 +01:00
Vladimir 'phcoder' Serbinenko
0866ec655e merge mainline to newenv 2009-12-22 14:14:28 +01:00
Andreas Born
05d2154711 2009-12-21 Andreas Born <futur.andy@googlemail.com>
* kern/env.c (grub_env_context_open): Mark exported variable for
	reexport.
2009-12-21 15:27:50 +01:00
Andreas Born
0175d51f49 2009-12-21 Andreas Born <futur.andy@googlemail.com>
* kern/env.c (grub_env_export): Create nonexistent variables before
	exporting.
2009-12-21 15:20:12 +01:00
Vladimir 'phcoder' Serbinenko
3041d8989c 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
* kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
	of arguments. Return number of tokens and not arguments. All users
	updated.
2009-12-20 22:54:12 +01:00
Vladimir 'phcoder' Serbinenko
e0a6ca52f2 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/types.h (UNUSED): Removed since it conflicts with
	NetBSD headers. All users changed to direct __attribute__ ((unused)).
	Reported by Grégoire Sutre.
2009-12-20 14:09:16 +01:00
Vladimir 'phcoder' Serbinenko
2fbcbbc389 Save 314 bytes on not handling contexts in core 2009-12-20 02:52:39 +01:00
Vladimir 'phcoder' Serbinenko
0d48a435a0 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/types.h (UNUSED): Removed since it conflicts with
	NetBSD headers. All users changed to direct __attribute__ ((unused)).
	Reported by Grégoire Sutre.
2009-12-19 21:30:00 +01:00
Vladimir 'phcoder' Serbinenko
7ea73643f5 merge mtrunk into xnu 2009-12-18 03:57:32 +01:00
Felix Zielcke
7cba88bbde Include <grub/cmos.h> instead of <grub/i386/cmos.h> in kern/i386/qemu/mmap.c to fix a compiler warning 2009-12-13 21:03:47 +01:00
Carles Pina i Estany
c4a3e41a72 2009-12-13 Carles Pina i Estany <carles@pina.cat>
* include/grub/misc.h (grub_puts): New declaration.
	(grub_puts_): Likewise.
	* kern/mis.c (grub_puts): New definition.
	(grub_puts_): Likewise.
2009-12-13 19:51:08 +00:00