* grub-core/gfxmenu/gui_box.c: Updated to work with area status.
        * grub-core/gfxmenu/gui_canvas.c: Likewise.
        * grub-core/gfxmenu/view.c: Likewise.
        * grub-core/video/fb/video_fb.c: Introduce new functions:
        grub_video_set_area_status, grub_video_get_area_status,
        grub_video_set_region, grub_video_get_region.
        * grub-core/video/bochs.c: Likewise.
        * grub-core/video/capture.c: Likewise.
        * grub-core/video/video.c: Likewise.
        * grub-core/video/cirrus.c: Likewise.
        * grub-core/video/efi_gop.c: Likewise.
        * grub-core/video/efi_uga.c: Likewise.
        * grub-core/video/emu/sdl.c: Likewise.
        * grub-core/video/radeon_fuloong2e.c: Likewise.
        * grub-core/video/sis315pro.c: Likewise.
        * grub-core/video/sm712.c: Likewise.
        * grub-core/video/i386/pc/vbe.c: Likewise.
        * grub-core/video/i386/pc/vga.c: Likewise.
        * grub-core/video/ieee1275.c: Likewise.
        * grub-core/video/i386/coreboot/cbfb.c: Likewise.
        * include/grub/video.h: Likewise.
        * include/grub/video_fb.h: Likewise.
        * include/grub/fbfill.h: Updated render_target structure.
        grub_video_rect_t viewport, region, area
        int area_offset_x, area_offset_y, area_enabled
        * include/grub/gui.h: New helper function
        grub_video_bounds_inside_region.
        * docs/grub-dev.texi: Added information about new functions.
	* grub-core/tests/div_test.c: New test.
	* configure.ac: Use elf_*_fbsd on kfreebsd.
	* grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
	division by-zero and senseless negative divisions.
	* grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
	division by-zero and senseless negative divisions.
	(circprog_set_property): Don't accept negative num_ticks.
	* grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
	division by-zero and senseless negative divisions.
	* include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
	truncate.
	(grub_fixed_fsf_divide): Likewise.
	* grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
	Use grub_fatal rather than divide by zero.
	* grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
	* grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
	divisions.
	* grub-core/term/serial.c: Add option for enabling/disabling
	RTS/CTS flow control.
	* grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
	Use to get rounded angle rather than truncated.
	* grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
	* grub-core/commands/i386/cmostest.c: Add new command "cmosset".

	Tested by: Denis 'GNUtoo' Carikli.
	* grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
	handling.
	* grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
	* grub-core/loader/multiboot_mbi2.c: Likewise.
	Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
	XEN PV environment and load kernels.
	* configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
	Add -march=core2 when testing compile of efiemu64.

	Thanks Andrey Borzenkov for spotting this.
	* grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
	-DELF.
	* grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
	instead of ELF*.
	* configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
	Fix grub_machine_fini bitrot.

	Reported by: Glenn Washburn.