]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Fuloong support.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 14 May 2011 23:43:44 +0000 (01:43 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 14 May 2011 23:43:44 +0000 (01:43 +0200)
* configure.ac: Rename yeeloong platform to loongson. All users updated.
* grub-core/Makefile.core.def (fwstart_fuloong): New image.
* grub-core/boot/mips/loongson/fuloong.S: New file.
* grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
Explicitly init CS5536.
[FULOONG]: Don't use serial until CS5536 is available.
Set GPIO based on dumps.
(serial_hw_init) [FULOONG]: Handle CS5536 parts.
[FULOONG]: Handle GPIO and memory controller differences.
Parse machine type in $a2.
* grub-core/boot/mips/startup_raw.S: Determine and save the
architecture.
* grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
(grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
init on architecture type.
* grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
SIS315E. Don't init at_keyboard on fuloong.
(grub_halt): Support Fuloong.
* grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
* grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
(loongson_machtypes): New array.
(grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
type.
* grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
config. All users updated. Handle CS5536 serial.
* grub-core/term/serial.c (grub_serial_register): Conditionalise
default port on machine type. Register serial as inactive.
* grub-core/video/sis315pro.c: New file.
* include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
definition.
(GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
(GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
(GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
(GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
(GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
* include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
to ...
(GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
* include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
definition.
(GRUB_ARCH_MACHINE_FULOONG): Likewise.
(grub_arch_machine): New extern var.
* include/grub/mips/loongson/serial.h
(GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
(GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
(GRUB_MACHINE_SERIAL_PORT): Renamed to ...
(GRUB_MACHINE_SERIAL_PORT0): ... this.
(GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
(GRUB_MACHINE_SERIAL_PORT1): Likewise.
(GRUB_MACHINE_SERIAL_PORT2): Likewise.
(GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
* include/grub/term.h (grub_term_register_input_inactive): New inline
function.
(grub_term_register_output_inactive): Likewise.
* include/grub/video.h (grub_video_driver_id): New value
GRUB_VIDEO_DRIVER_SIS315PRO.
* util/grub-mkimage.c (image_target_desc): Rename name to dirname.
New field "names". All users updated.
New field value IMAGE_FULOONG_FLASH.
(generate_image): USe separate fwstart hashes for yeeloong and fuloong.

16 files changed:
1  2 
ChangeLog
conf/Makefile.common
configure.ac
grub-core/Makefile.core.def
grub-core/boot/mips/loongson/fwstart.S
grub-core/boot/mips/startup_raw.S
grub-core/bus/cs5536.c
grub-core/bus/pci.c
grub-core/commands/mips/loongson/lsspd.c
grub-core/loader/mips/linux.c
grub-core/term/at_keyboard.c
grub-core/term/serial.c
include/grub/offsets.h
include/grub/term.h
util/grub-install.in
util/grub-mkimage.c

diff --cc ChangeLog
index 9575204c2600ac446fe04c85d6594bbc637b5258,8c39f7ba57b2b876cbdfacb2dd9ffd0f35e49179..505be20c2fee79c11c8d3034acb4c2273199cb19
+++ b/ChangeLog
++2011-05-15  Vladimir Serbinenko  <phcoder@gmail.com>
++
++      Fuloong support.
++
++      * configure.ac: Rename yeeloong platform to loongson. All users updated.
++      * grub-core/Makefile.core.def (fwstart_fuloong): New image.
++      * grub-core/boot/mips/loongson/fuloong.S: New file.
++      * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
++      Explicitly init CS5536.
++      [FULOONG]: Don't use serial until CS5536 is available.
++      Set GPIO based on dumps.
++      (serial_hw_init) [FULOONG]: Handle CS5536 parts.
++      [FULOONG]: Handle GPIO and memory controller differences.
++      Parse machine type in $a2.
++      * grub-core/boot/mips/startup_raw.S: Determine and save the
++      architecture.
++      * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
++      (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
++      init on architecture type.
++      * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
++      SIS315E. Don't init at_keyboard on fuloong.
++      (grub_halt): Support Fuloong.
++      * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
++      * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
++      (loongson_machtypes): New array.
++      (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
++      type.
++      * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
++      config. All users updated. Handle CS5536 serial.
++      * grub-core/term/serial.c (grub_serial_register): Conditionalise
++      default port on machine type. Register serial as inactive.
++      * grub-core/video/sis315pro.c: New file.
++      * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
++      definition.
++      (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
++      (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
++      (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
++      (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
++      (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
++      * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
++      to ...
++      (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
++      * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
++      definition.
++      (GRUB_ARCH_MACHINE_FULOONG): Likewise.
++      (grub_arch_machine): New extern var.
++      * include/grub/mips/loongson/serial.h
++      (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
++      (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
++      (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
++      (GRUB_MACHINE_SERIAL_PORT0): ... this.
++      (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
++      (GRUB_MACHINE_SERIAL_PORT1): Likewise.
++      (GRUB_MACHINE_SERIAL_PORT2): Likewise.
++      (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
++      * include/grub/term.h (grub_term_register_input_inactive): New inline
++      function.
++      (grub_term_register_output_inactive): Likewise.
++      * include/grub/video.h (grub_video_driver_id): New value
++      GRUB_VIDEO_DRIVER_SIS315PRO.
++      * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
++      New field "names". All users updated.
++      New field value IMAGE_FULOONG_FLASH.
++      (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
++
 +2011-05-14  Jordan Uggla  <jordan.uggla@gmail.com>
 +
 +      * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
 +      and add some clarification.
 +
 +2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
 +      platforms if kernel is compressed.
 +
 +2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
 +      unused modules since currently referrence counter isn't reliable and
 +      there isn't much memory to recover there anyway.
 +
 +2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
 +      rather than resetting it to allow modules to reference themselves
 +      in init.
 +
 +2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
 +      counter on dependencies since grub_dl_unref already handles this.
 +
 +2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
 +      on error if not already done.
 +
 +2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Fix few potential memory misusage.
 +
 +      * grub-core/font/font.c (load_font_index): Don't free char_index to
 +      avoid double free.
 +      (grub_font_load): Zero-fill font at alloc for safety.
 +      Close file on error.
 +      (free_font): Free bmp_idx.
 +
 +2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * docs/grub.texi (Installation): Fix several outdated claims.
 +
 +2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Handle module_license on windows.
 +
 +      * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
 +      sections shifted.
 +      (insert_string): Make argument const char * instead of char *.
 +      (write_section_data): Handle long section names.
 +      Handle module_license.
 +
 +2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
 +      handle class-free menuentries.
 +      (grub_normal_add_menu_entry): Add a check to be sure.
 +
 +2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
 +      PgUp and PgDown.
 +
 +2011-05-13  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * configure.ac: Bump version to 1.99.
 +
 +2011-05-13  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Give ATA device a bit more time on first try in order to allow disks
 +      to spin up.
 +
 +      * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
 +      if dev->present is 1. Reset dev->present on failure.
 +      (grub_ata_device_initialize): Set dev->present to 1.
 +      * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
 +      (grub_ata_device): New member 'present'.
 +
 +2011-05-13  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-mkimage.c (generate_image): Update hash.
 +
 +2011-05-13  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Flush caches on DMA memory.
 +
 +      * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
 +      * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
 +      (grub_dma_free): Likewise.
 +      * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
 +
 +2011-05-13  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
 +      to avoid asm treating ld and sd as macros.
 +
 +2011-05-13  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/boot/mips/startup_raw.S: Flush cache after loading
 +      decompressor.
 +
 +2011-05-13  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
 +      grub_decompress_core since later would fail if grub_decompress_core
 +      is too far.
 +
 +2011-05-13  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
 +      R_MIPS_JALR since it's used by newer compiler.
 +
 +2011-05-10  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub.d/10_linux.in: Correctly handle the Linux in root.
 +
 +2011-05-09  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
 +      file_path to 0 for surety.
 +      (grub_chainloader_boot): Set exit_data to NULL.
 +      Unset the loader once done.
 +      (grub_cmd_chainloader): Fix confusing error message if file is empty.
 +
 +2011-05-09  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
 +      unknown key into a dprintf.
 +
 +2011-05-09  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
 +      on first non-existant partition.
 +
 +2011-05-09  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
 +      openning fails.
 +      Reported by: Mark Korenberg.
 +
 +2011-05-09  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
 +      overflow.
 +
 +2011-05-09  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-mkimage.c (main): Explicitely flush and sync the output
 +      before closing to ensure that it will be readable by grub-setup.
 +
 +2011-05-05  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
 +      (devpath_1): Use MAKE_PIWG_PATH.
 +      (devpath_2): Likewise.
 +      (devpath_3): Likewise.
 +      (devpath_4): Likewise.
 +      (devpath_5): Likewise.
 +      (devpath_6): Likewise.
 +
 +      The appleldr.mod was checked that to be binary identical to previous
 +      version.
 +
 +2011-05-05  Zach <mikezackles>
 +
 +      Support 2010 Macbooks.
 +
 +      * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
 +      (devs): Add devpath_6.
 +
 +2011-05-05  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
 +      /dev/random. /dev/urandom is good enough for our purposes (salting).
 +
 +2011-05-05  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
 +
 +2011-05-05  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
 +      hexadecimal.
 +
 +2011-05-05  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
 +      and not 0 on failure.
 +
 +2011-05-03  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
 +      GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
 +      disk; otherwise grub_fs_probe will not fall back to the next
 +      filesystem.
 +      (grub_pxefs_open): Likewise, for consistency.
 +      Reported and tested by: Ezekiel Grave.
 +
 +2011-05-03  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * tests/partmap_test.in: Don't hardcode path to parted.
 +      Reported by: Peter Hjalmarsson.  Fixes Savannah bug #33150.
 +
 +2011-05-01  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
 +      of `ls' to find out which devices are available.
 +
 +2011-04-25  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
 +      than source address for efi mmap buffer.
 +
 +2011-04-25  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
 +      wrong action on non-detecting the magic.
 +
 +2011-04-25  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
 +      already supplied by another part of the module (fixes compilation on
 +      FreeBSD).
 +
 +2011-04-25  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
 +      match the one used by mdadm.
 +
 +2011-04-21  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * po/README: Add instructions for creating po/LINGUAS.
 +
 +2011-04-21  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      Add "SEE ALSO" sections to most man pages.  Fixes Debian bug
 +      #551428.
 +
 +      * docs/man/grub-editenv.h2m (SEE ALSO): New section.
 +      * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
 +      * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
 +      * docs/man/grub-install.h2m (SEE ALSO): Likewise.
 +      * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
 +      * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
 +      * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
 +      * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
 +      * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
 +      * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
 +      * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
 +      * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
 +      * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
 +      * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
 +      * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
 +      * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
 +      * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
 +      * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
 +      * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
 +      * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
 +      * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
 +      * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
 +
 +2011-04-21  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * grub-core/kern/emu/getroot.c
 +      (grub_find_root_device_from_mountinfo): Remove non-virtual-device
 +      test that was incorrectly reintroduced in r3214.
 +      Reported by: Ian Dall.  Fixes Savannah bug #33133.
 +
 +2011-04-21  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      Fix stack pointer handling in 16-bit relocator.
 +
 +      * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
 +      grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
 +      Fixes Ubuntu bug #683904.
 +
 +2011-04-20  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * configure.ac: Bump version to 1.99~rc2.
 +
 +2011-04-20  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
 +      * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
 +      * grub-core/lib/x86_64/setjmp.S: Likewise.
 +      * grub-core/lib/mips/setjmp.S: Likewise.
 +      * grub-core/lib/powerpc/setjmp.S: Likewise.
 +      * grub-core/lib/sparc64/setjmp.S: Likewise.
 +
 +2011-04-20  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
 +      * grub-core/lib/efi/datetime.c: Likewise.
 +
 +2011-04-19  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
 +      New function.
 +      (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
 +      * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
 +      * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
 +
 +2011-04-19  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
 +      bitmap.
 +      (grub_gfxterm_term_init): Likewise.
 +
 +2011-04-19  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Take into account the decorations the computing menu entry width.
 +
 +      * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
 +      (grub_gfxmenu_create_box): Register get_border_width.
 +      * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
 +      if available.
 +      * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
 +      get_border_width.
 +
 +2011-04-18  Endres Puschner <code@e7p.de>
 +
 +      * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
 +      Don't skip first class.
 +
 +2011-04-18  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
 +      chunks.
 +      * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
 +
 +2011-04-18  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Complete 64-bit division support.
 +
 +      * grub-core/kern/misc.c (grub_divmod64): Rename to ...
 +      (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
 +      * include/grub/misc.h (grub_divmod64): Rename to ...
 +      (grub_divmod64_full): ... this.
 +      (grub_divmod64): New inline function.
 +
 +2011-04-18  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-mkimage.c (generate_image): Add forgotten comma.
 +
 +2011-04-18  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
 +      performing the necessary test.
 +
 +2011-04-17  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
 +      (kfreebsd.elf): Likewise.
 +      (pc-chainloader.elf): Likewise.
 +      (ntldr.elf): Likewise.
 +
 +2011-04-17  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Identify RAID by its UUID rather than (guessed) name.
 +
 +      * grub-core/disk/raid.c (ascii2hex): New function.
 +      (grub_raid_open): Accept mduuid/%s specification.
 +      * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
 +      (get_mdadm_uuid): ... this.
 +      (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
 +
 +2011-04-16  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
 +      to negative size.
 +
 +2011-04-13  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
 +      btrfs subvolume.
 +      * util/grub.d/20_linux_xen.in: Likewise.
 +
 +2011-04-13  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
 +      move-mounts appearing out of order.  Fixes Ubuntu bug #738345.
 +
 +      * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
 +      Build a list of relevant visible mounts using the mnt_id and
 +      parent_mnt_id fields, and then scan that list at the end.
 +
 +2011-04-12  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (normal): New section.
 +      (normal_exit): New section.
 +      (Embedded configuration): Add reference to normal.
 +      (GRUB only offers a rescue shell): Likewise.
 +      * docs/grub-dev.texi (Error Handling): Fix typo.
 +
 +2011-04-12  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * NEWS: Drop obsolete entry about probe-only btrfs support.
 +
 +2011-04-12  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * util/import_gcry.py: Fix typo.
 +
 +2011-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * NEWS: Add btrfs support.
 +
 +2011-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
 +2011-04-11  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      BtrFS support. Written by me (Vladimir) with important bugfixes and
 +      even more important testing by Colin.
 +
 +      * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
 +      * grub-core/Makefile.core.def (btrfs): Add crc.c.
 +      * grub-core/fs/btrfs.c: Stub replaced with real implementation.
 +      * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
 +      mem_input_off and mem_input. All users updated to accept in-RAM input.
 +      (gzio_seek): New function.
 +      (test_zlib_header): Likewise.
 +      (grub_gzio_read): Likewise.
 +      (grub_zlib_decompress): Likewise.
 +      * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
 +      Accept partial and non-virtual mounts.
 +      (grub_guess_root_device): Do rescanning after device_from_mountinfo to
 +      avoid receiving /dev/dm-X as device.
 +      * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
 +      Handle bind and partial mounts.
 +      * grub-core/lib/crc.c: New file.
 +      * include/grub/deflate.h: Likewise.
 +      * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
 +      proto.
 +      * include/grub/lib/crc.h: New file.
 +
 +2011-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Implement automatic module license checking according to new GNU
 +      guidelines.
 +
 +      * grub-core/kern/dl.c (grub_dl_check_license): New function.
 +      (grub_dl_load_core): Use grub_dl_check_license.
 +      * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
 +      (GRUB_MOD_LICENSE): Likewise.
 +      (GRUB_MOD_DUAL_LICENSE): Likewise.
 +      All modules updated.
 +
 +2011-04-11  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
 +      reserved_first_sector to 1.  btrfs reserves plenty of space for boot
 +      loaders.
 +      Reported by: Gene Cumm.  Fixes Ubuntu bug #757446.
 +
 +2011-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-fstest.c (cmd_cmp): Check that sizes match.
 +
 +2011-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-fstest.c (read_file): Report GRUB error if file opening
 +      failed.
 +
 +2011-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/file.c (grub_file_open): Don't take into account the
 +      parenthesis in the middle of the filename.
 +
 +2011-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
 +      rather than trying to put initrd way too high.
 +      Reported by: Ryan Lortie <desrt@desrt.ca>
 +
 +2011-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
 +      improperly removed string.
 +
 +2011-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
 +      is_disk.
 +      (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
 +      (open_device) Likewise.
 +      (grub_util_biosdisk_close): Likewise.
 +      Reported by: Mark Korenberg.
 +
 +2011-04-10  Alexander Kurtz <kurtz.alex@googlemail.com>
 +
 +      * util/grub-mkconfig_lib.in: Add missing quotes.
 +
 +2011-04-10  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
 +      is NULL.
 +
 +2011-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Dynamically count the number of lines for the lower banner.
 +
 +      * grub-core/normal/menu_entry.c (per_term_screen): New member
 +      num_entries.
 +      (print_down): Use num_entries.
 +      (update_screen): Likewise.
 +      (grub_menu_entry_run): Set num_entries.
 +      * grub-core/normal/menu_text.c (menu_viewer_data): New member
 +      num_entries.
 +      (grub_print_message_indented): Move real part to ...
 +      (grub_print_message_indented_real): ... here. Additional argument
 +      dry_run.
 +      (draw_border): Additional argument num_entries.
 +      (print_message): Additional argument dry_run.
 +      (print_entries): Receive menu viewer data.
 +      (grub_menu_init_page): New argment num_entries.
 +      (menu_text_set_chosen_entry): Use num_entries.
 +      (grub_menu_try_text): Likewise.
 +      * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
 +      All users updated.
 +      (grub_ucs4_count_lines): New function.
 +      * include/grub/term.h (grub_term_cursor_x): Moved from here ..
 +      * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
 +      * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
 +      (grub_term_border_height): Likewise.
 +      (grub_term_num_entries): Likewise.
 +
 +2011-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
 +      Remove now unused string.
 +
 +2011-04-09  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub-dev.texi (Finding your way around): Update for 1.99
 +      build system.
 +      (Getting started): GRUB is developed in Bazaar now, not Subversion.
 +
 +      (Comment): Fix typo.
 +      (Getting started): General copy-editing.
 +      (Typical Development Experience): Likewise.
 +      (Error Handling): Likewise.
 +      (Video API): Likewise.
 +
 +2011-04-09  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
 +      throughout.
 +
 +2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-mkimage.c (main): Handle special naming of yeeloong
 +      directory.
 +
 +2011-04-08  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub-dev.texi: Fix spelling of "developer" throughout.
 +      * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
 +      "development".
 +
 +2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
 +      grub_strcpy since the lines aren't necessarily 0-terminated.
 +
 +2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
 +      root on legacy.
 +
 +2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/commands/probe.c (options): Argument to set isn't optional.
 +      (GRUB_MOD_INIT): DEVICE isn't optional.
 +
 +2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
 +      word on new line if it's too long anyway. Fixes a hang.
 +
 +2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
 +      const.
 +      * util/grub-setup.c (main): Reuse md device name if available.
 +      * util/raid.c (grub_util_raid_getmembers): Receive device name and
 +      not GRUB name as argument.
 +      Based on patch by: Florian Wagner <fwagner>.
 +
 +2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
 +      Place mbi on low memory for better compatibility.
 +
 +2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
 +
 +2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
 +2011-04-08  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * autogen.sh: Ensure that collate and ctype locale is C.
 +      * conf/Makefile.common: Likewise.
 +
 +2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/normal/menu.c: Add missing include.
 +
 +2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
 +
 +2011-04-08  Martin Zuther <mzuther@mzuther.de>
 +
 +      * util/grub-mkconfig.in: Ignore emacsen backup.
 +
 +2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
 +      on open.
 +      (grub_util_biosdisk_close): Likewise.
 +
 +2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
 +      const attribute and use grub_isdigit.
 +
 +2011-04-06  Andrey  <dev_null@ukr.net>
 +
 +      * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
 +      gcc warning.
 +
 +2011-04-06  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
 +      useful grub_dprintf's.
 +
 +2011-04-06  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
 +
 +2011-04-06  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
 +
 +2011-04-06  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Output errors if theme loading failed.
 +
 +      * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
 +      grub_gfxterm_fullscreen on error paths to ...
 +      * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
 +      theme loading error.
 +
 +2011-04-06  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
 +      space for older compilers.
 +      (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
 +
 +2011-04-06  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
 +      and report them as not RAID members since they are useless for GRUB.
 +      * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
 +
 +2011-04-02  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Increase LVM implementation robustness in order not to crash on
 +      configurations like pvmove. Previously code assumed that in some places
 +      only lvs or only pvs are used whereas it seems that they are used
 +      interchangeably.
 +
 +      * grub-core/disk/lvm.c (read_node): New function.
 +      (read_lv): Use read_node.
 +      (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
 +      Match volumes only at the end when all lvs are found. Take both
 +      pvs (first) and lvs (second) into account.
 +      * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
 +      mirror_* into node_*. All users updated.
 +      (grub_lvm_stripe): Merge this ...
 +      (grub_lvm_mirror): ... and this ...
 +      (grub_lvm_node): ... into this. All users updated.
 +
 +2011-04-02  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
 +      of function to allow further scanning for LVMs.
 +
 +2011-04-02  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
 +      on failed seek as it breaks open fd reusage.
 +
 +2011-04-02  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-install.in: Add a recommendation to use --recheck before
 +      reporting bugs.
 +
 +2011-04-02  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
 +      are obtained.
 +
 +2011-04-02  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      GRUB developper manual based on existing Internals section and
 +      contributions by the various authors with active copyright assignment.
 +
 +      * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
 +      * docs/font_char_metrics.png: New file.
 +      * docs/font_char_metrics.txt: Likewise.
 +      * docs/grub-dev.texi: Likewise.
 +      * docs/grub.texi (Internals): Move from here ...
 +      * docs/grub-dev.texi: ... here.
 +
 +2011-04-01  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      Store the loopback device as data on loopback grub_disk structures,
 +      rather than the file it points to.  This fixes use of freed memory
 +      if an existing loopback device is replaced.
 +
 +      * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
 +      disk->data, not dev->file.
 +      (grub_loopback_read): Adjust file assignment to match.
 +      Fixes Ubuntu bug #742967.
 +
 +2011-04-01  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
 +      when replacing an existing device.
 +
 +2011-04-01  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
 +      memory corruptions.
 +
 +      * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
 +      unsigned.
 +      (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
 +      (grub_jfs_blkno): Use 64-bit quantities for block sectors.
 +      (grub_jfs_read_inode): Likewise.
 +      (grub_jfs_opendir): Likewise. Remove now useless casts.
 +      (grub_jfs_getent): Likewise.
 +      Make ino a grub_uint32_t rather than int.
 +      (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
 +      (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
 +      division and module with bit operations.
 +      (grub_jfs_find_file): Make ino a grub_uint32_t.
 +      (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
 +
 +2011-04-01  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * grub-core/normal/menu_entry.c (run): Quieten uninitialised
 +        warning.  (This was in fact always initialised before use, but GCC
 +        wasn't smart enough to prove that.)
 +      * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
 +
 +2011-03-31  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
 +      stack alignment.
 +      (efi_wrap_1): Likewise.
 +      (efi_wrap_2): Likewise.
 +      (efi_wrap_3): Likewise.
 +      (efi_wrap_4): Likewise.
 +      (efi_wrap_5): Likewise.
 +      (efi_wrap_6): Likewise.
 +      (efi_wrap_10): Likewise.
 +      Based on information by: Red Hat/Peter Jones.
 +
 +2011-03-31  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
 +      set-but-not-used variable.
 +
 +2011-03-31  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (Simple configuration): Be more explicit about
 +      GRUB_DEFAULT, and add an example.
 +      Reported by: Leslie Rhorer.
 +
 +2011-03-30  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
 +      shell".
 +
 +2011-03-30  Alexey Shvetsov <alexxy@gentoo.org>
 +
 +      * util/grub.d/10_linux.in: Add gentoo-specific config filename.
 +      * util/grub.d/20_linux_xen.in: Likewise.
 +
 +2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub.d/10_linux.in: Try alternative config filenames where
 +      we parse config file.
 +      * util/grub.d/20_linux_xen.in: Likewise.
 +
 +2011-03-30  Alexey Shvetsov <alexxy@gentoo.org>
 +
 +      * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
 +      * util/grub.d/20_linux_xen.in: Likewise.
 +
 +2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/disk/raid.c (insert_array): Add few potentially
 +      useful grub_util_info.
 +      (grub_raid_register): Likewise.
 +
 +2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
 +      Preserve partition number in mdadm code path.
 +
 +2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
 +      few potentially useful grub_util_info.
 +
 +2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
 +
 +2011-03-30  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (default): Use @example rather than nested
 +      itemized lists to avoid breaking gendocs.
 +
 +2011-03-30  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (Future): Update.
 +
 +2011-03-30  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (Environment): New chapter.
 +      (Changes from GRUB Legacy): Link to "Environment block" section for
 +      details of limitations.
 +      (Simple configuration): Likewise.  Link to documentation of gfxmode
 +      and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
 +      respectively.
 +      (Shell-like scripting): Note that normal variables are stored in the
 +      environment.
 +      (gettext): Link to documentation of lang and locale_dir.
 +      (list_env): New section.
 +      (load_env): New section.
 +      (save_env): New section.
 +
 +      (Reporting bugs): Fix typo.
 +
 +2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
 +      the example.
 +
 +2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/term/at_keyboard.c (set_scancodes)
 +      [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
 +
 +2011-03-30  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (Menu-specific commands): Remove some semantics
 +      that were true in GRUB Legacy but not in GRUB 2.
 +      (submenu): New section.
 +      (false): New section.
 +      (read): New section.
 +      (true): New section.
 +
 +2011-03-30  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
 +
 +2011-03-30  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (Simple configuration): Explain some of the
 +      current limitations of grub-mkconfig.
 +      Reported by: Leslie Rhorer.
 +
 +2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Old macs search for boot.efi rather than for bootia32.efi.
 +
 +      * util/grub-install.in: Copy bootia32.efi to boot.efi.
 +      * util/grub-mkrescue.in: Likewise.
 +      Suggested by: Peter Jones.
 +
 +2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
 +
 +2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
 +      (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
 +      (grub_lvm_mirror): New struct.
 +      * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
 +      (grub_lvm_iterate): Iterate only visible volumes.
 +      (grub_lvm_read): Factor out to ..
 +      (read_lv): ... this. Support mirrors.
 +      (grub_lvm_read): New wrapper function.
 +      (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
 +      stripped or mirrored.
 +
 +2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
 +
 +2011-03-29  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (loopback): New section.
 +
 +2011-03-29  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
 +      removed -p option.
 +
 +2011-03-29  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (BIOS installation): New section, partly based on
 +      previous text in other sections.
 +      (Installing GRUB using grub-install): Replace BIOS discussion with a
 +      cross-reference.
 +      (Images): Likewise.
 +
 +2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/emu/hostdisk.c (find_partition_start)
 +      [HAVE_DIOCGDINFO]: Add safety checks.
 +
 +2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
 +      per default compiled in kernel and prior to 8.0 isn't shipped at all.
 +
 +2011-03-29  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
 +      real_sb->size is zero (e.g. RAID-0), get the disk size from
 +      real_sb->data_size instead.
 +      Fixes Ubuntu bug #743136.
 +
 +2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
 +      printf clauses for printing size and start.
 +
 +2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
 +      Reported and tested by: Timothy Nikkel.
 +
 +2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
 +      (dirty_region_add_real): ... this.
 +      (dirty_region_add): Don't discard margin refresh when performing
 +      scheduled repaint.
 +
 +2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/lib/relocator.c (allocate_regstart)
 +      [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
 +      terminals are capabple of malloc-free operation.
 +      (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
 +      (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
 +
 +2011-03-29  Mario Limonciello  <Mario_Limonciello@Dell.com>
 +
 +        * util/grub-setup.c: Copy the partition table zone if floppy support
 +      is disabled, even if no partition table is found.
 +
 +        Otherwise, the BIOS on Dell Latitude E series laptops will freeze
 +        during POST if an invalid partition table is contained in the PBR
 +        of the active partition when GRUB is installed to a partition.
 +
 +2011-03-28  Colin Watson  <cjwatson@debian.org>
 +
 +      * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
 +      comment.
 +
 +2011-03-28  Colin Watson  <cjwatson@debian.org>
 +
 +      * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
 +      to be specific about what kind of RAID device we're scanning for.
 +
 +2011-03-26  Seth Goldberg <seth.goldberg@oracle.com>
 +
 +      * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
 +      return freed string.
 +
 +2011-03-26  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
 +
 +2011-03-26  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Use libgeom on FreeBSD to detect partitions.
 +
 +      * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
 +      (grub-mkrelpath): Likewise.
 +      (grub-script-check): Likewise.
 +      (grub-editenv): Likewise.
 +      (grub-mkpasswd-pbkdf2): Likewise.
 +      (grub-fstest): Likewise.
 +      (grub-mkfont): Likewise.
 +      (grub-mkdevicemap): Likewise.
 +      (grub-probe): Likewise.
 +      (grub-setup): Likewise.
 +      (grub-ofpathname): Likewise.
 +      (grub-mklayout): Likewise.
 +      (example_unit_test): Likewise.
 +      (grub-menulst2cfg): Likewise.
 +      * grub-core/Makefile.core.def (grub-emu): Likewise.
 +      (grub-emu-lite): Likewise.
 +      * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
 +      * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
 +      define HAVE_DIOCGDINFO.
 +      (follow_geom_up) [FreeBSD]: New function.
 +      (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
 +      (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
 +      (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
 +      unconditionally of HAVE_DIOCGDINFO.
 +
 +2011-03-26  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Fix FreeBSD compilation problem.
 +
 +      * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
 +      (FLOPPY_MAJOR) [FreeBSD]: Likewise.
 +
 +2011-03-24  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
 +      Switch back to page zero before loading a kernel, since some kernel
 +      drivers expect that.
 +      Thanks to: Felix Kuehling.
 +
 +2011-03-24  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
 +      [DEBUG_RELOCATOR]: Reuse grub_mm_check.
 +      (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
 +
 +2011-03-24  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
 +      (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
 +
 +2011-03-24  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
 +      DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
 +      malloc is disabled.
 +
 +2011-03-24  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
 +      for modules headers when counting the needed allocation size.
 +
 +2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
 +      if no ASCII character is found to prevent crash.
 +
 +2011-03-23  Alexander Kurtz  <kurtz.alex@googlemail.com>
 +
 +      * grub-core/video/bitmap.c (match_extension): Ignore case.
 +
 +2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
 +
 +2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/script/parser.y: Declare "time" as valid argument.
 +
 +2011-03-23  Peter Jones  <pjones@redhat.com>
 +
 +      Fix incorrect assert failure reporting.
 +
 +      * grub-core/tests/example_functional_test.c (example_test): Add
 +      a failure comment.
 +      * grub-core/tests/lib/test.c (add_failure): Renamed to ...
 +      (failure_start): ...this. Check that malloc succeeded.
 +      Don't call xvasprintf. Return failure struct.
 +      (failure_append_vtext): New function.
 +      (failure_append_text): Likewise.
 +      (add_failure): Likewise.
 +      (grub_test_assert_helper): Likewise.
 +      * include/grub/test.h (grub_test_assert_helper): New declaration.
 +      (grub_test_assert): Macro rewritten.
 +
 +2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
 +
 +2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/lib/i386/pc/biosnum.c: Add missing include.
 +
 +2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
 +      into GRUB-style one.
 +
 +2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
 +      error and not grub_errno.
 +      * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
 +
 +2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
 +      GRUB_USB_SPEED_NONE in case of failure and not the error code.
 +
 +2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/efiemu/i386/pc/cfgtables.c
 +      (grub_machine_efiemu_init_tables): Make declaration a prototype.
 +      * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
 +      (grub_xnu_unlock): Likewise.
 +      * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
 +
 +2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/bus/usb/usb.c (attach_hooks): Make static.
 +      * grub-core/bus/usb/usbhub.c (hubs): Likewise.
 +      * grub-core/commands/hashsum.c (aliases): Likewise.
 +      * grub-core/commands/setpci.c (pci_registers): Likewise.
 +      * grub-core/disk/usbms.c (attach_hook): Likewise.
 +      * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
 +      (zio_checksum_table): Likewise.
 +      * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
 +      * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
 +      * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
 +      * grub-core/lib/relocator.c (leftovers): Likewise.
 +      (extra_blocks): Likewise.
 +      * grub-core/loader/i386/bsd.c (relocator): Likewise.
 +      * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
 +      (modules_last): Likewise.
 +      * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
 +      (devices): Likewise.
 +      * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
 +      (modules_last): Likewise.
 +      * grub-core/normal/auth.c (users): Likewise.
 +      * grub-core/normal/context.c (initial_menu): Likewise.
 +      (current_menu): Likewise.
 +      * grub-core/normal/crypto.c (crypto_specs): Likewise.
 +      * grub-core/term/serial.c (grub_serial_ports): Likewise.
 +      (grub_serial_terminfo_input_template): Likewise.
 +      (grub_serial_terminfo_output_template): Likewise.
 +      (grub_serial_terminfo_input): Likewise.
 +      (grub_serial_terminfo_output): Likewise.
 +      (registered): Likewise.
 +      * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
 +
 +2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/video/bochs.c (grub_video_bochs_setup): Use
 +      grub_video_mode_type_t.
 +      * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
 +      * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
 +      * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
 +
 +2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-install.in: Correct the x86-64 name as x86_64.
 +
 +2011-03-11  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
 +      initial chunk read from the kernel always includes GRUB's multiboot
 +      header, which is now outside the first sector.
 +
 +2011-03-09  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
 +      cached mmap_size, so that this works correctly when called multiple
 +      times.
 +      Reported by: Daniel Kahn Gillmor.  Should fix Debian bug #616638.
 +
 +2011-03-09  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (Simple configuration): Tidy up formatting.
 +
 +2011-03-07  Szymon Janc <szymon@janc.net.pl>
 +
 +      * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
 +      Set-but-not-used variable removed.
 +
 +2011-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Workaround yet another IEEE1275 bug.
 +
 +      * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
 +      GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
 +      * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
 +      adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
 +      is set.
 +      * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
 +      GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
 +
 +2011-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
 +      error.
 +
 +2011-02-11  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
 +      empty, since in that case we can only generate either nothing or a
 +      syntactically invalid configuration file.
 +      Reported by: Michal Suchanek.  Fixes Debian bug #612898.
 +
 +2011-02-09  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
 +      (Making a GRUB bootable CD-ROM): Likewise.
 +      (Invoking grub-mkrescue): New section.
 +      Reported by: Yann Dirson.  Fixes Debian bug #612585.
 +
 +2011-02-09  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * util/grub-install.in: Remove unnecessary brackets from tr
 +      arguments.
 +      * util/grub.d/10_hurd.in: Likewise.
 +      * util/grub.d/10_kfreebsd.in: Likewise.
 +      * util/grub.d/10_linux.in: Likewise.
 +      * util/grub.d/20_linux_xen.in: Likewise.
 +      Reported by: Jamie Heilman.  Fixes Debian bug #612564.
 +
 +2011-02-08  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * include/grub/file.h (not_easly_seekable): Rename to ...
 +      (not_easily_seekable): ... this.  Update all users.
 +
 +2011-01-28  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
 +      grub-mkrescue.
 +
 +2011-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-mkimage.c (generate_image): Refuse to create the images
 +      bigger than the actual flash (512K) in Loongson machines. 512K is also
 +      the biggest chip supported by them.
 +
 +2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
 +
 +2011-01-22  Anthony DeRobertis <anthony@derobert.net>
 +
 +      * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
 +      super_offset field.
 +
 +2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-install.in: Ignore install device on platforms
 +      where it doesn't make sense. Always use UUIDs except on pc, efi and
 +      sparc64.
 +      Reported by: Daniel Kahn Gillmor.
 +
 +2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
 +
 +2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
 +      (iterate_real): Don't rely on partition being non-NULL.
 +
 +2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
 +      supported platforms. Put a compile time assert for this rather than
 +      generate a warning with 32-bit shift.
 +
 +2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
 +      logical expression more readable.
 +
 +2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
 +      even if some elements have a name.
 +      Reported by: Alexander GQ Gerasiov.
 +
 +2011-01-22  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
 +      path unreadable if `grub-probe -t abstraction' fails, for example if
 +      memberlist fails on an LVM volume group.
 +      Reported by: Darius Jahandarie.
 +
 +2011-01-22  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (Simple configuration): Document
 +      GRUB_PRELOAD_MODULES.
 +
 +2011-01-17  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * .bzrignore: Remove nonexistent grub-pbkdf2.
 +
  2011-01-16  Vladimir Serbinenko  <phcoder@gmail.com>
  
        * configure.ac: Bump version to 1.99~rc1.
Simple merge
diff --cc configure.ac
Simple merge
Simple merge
index 2eec876c2fdbbad6bba38a10e52111be80fa05c6,6deb17f2b01d9e5d81b19d41e4f9a421316d6c14..38e87ad72b13319555304d9ad1421021cf9a1719
@@@ -207,10 -228,54 +229,54 @@@ other_exception
        b fatal
         addiu $a0, $a0, %lo(unhandled_exception)
  
+ gpio_init:
+       lui $t0, %hi(GRUB_MACHINE_PCI_IO_BASE + GRUB_CS5536_LBAR_GPIO)
+       addiu  $t0, $t0, %lo(GRUB_MACHINE_PCI_IO_BASE + GRUB_CS5536_LBAR_GPIO)
+       lui $t1, %hi (gpio_dump)
+       addiu $t1, $t1, %lo (gpio_dump)
+ 1:    
+       lw $t2, 0($t1)
+       sw $t2, 0($t0)
+       addiu $t0, $t0, 4
+       addiu $t1, $t1, 4
+       lui $t2, %hi (gpio_dump_end)
+       addiu $t2, $t2, %lo (gpio_dump_end)
+       bne $t1, $t2, 1b
+        nop
+       jr $ra
+        nop
        /* Same as similarly named C function but in asm since
           we need it early.  */
-       /* In: none. Out: none. Clobbered: $t0, $t1, $a0.  */
+       /* In: none. Out: none. Clobbered: $t0, $t1, $t2, $a0, $a1, $a2.  */
  serial_hw_init:
 -      li $a1, (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3    \
 -               | GRUB_CS5536_MSR_DIVIL_LEG_IO_F_REMAP     \
 -               | GRUB_CS5536_MSR_DIVIL_LEG_IO_MODE_X86    \
 -               | GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1  \
 -               | GRUB_CS5536_MSR_DIVIL_LEG_IO_RTC_ENABLE0 \
 -               | GRUB_CS5536_MSR_DIVIL_LEG_IO_RTC_ENABLE1)
+       move $t2, $ra
+ #ifdef FULOONG
+       lui $a0, %hi(GRUB_CS5536_MSR_DIVIL_LEG_IO)
+       addiu $a0, $a0, %lo(GRUB_CS5536_MSR_DIVIL_LEG_IO)
++      lui $a1, %hi (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3    \
++                   | GRUB_CS5536_MSR_DIVIL_LEG_IO_F_REMAP         \
++                   | GRUB_CS5536_MSR_DIVIL_LEG_IO_MODE_X86    \
++                   | GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1)
++      ori $a1, $a1, (GRUB_CS5536_MSR_DIVIL_LEG_IO_RTC_ENABLE0 \
++                     | GRUB_CS5536_MSR_DIVIL_LEG_IO_RTC_ENABLE1)
+       bal wrmsr
+        move $a2, $zero
+       lui $a0, %hi(GRUB_CS5536_MSR_DIVIL_UART1_CONF)
+       addiu $a0, $a0, %lo(GRUB_CS5536_MSR_DIVIL_UART1_CONF)
+       li $a1, 2
+       bal wrmsr
+        move $a2, $zero
+       lui $a0, %hi(GRUB_CS5536_MSR_DIVIL_UART2_CONF)
+       addiu $a0, $a0, %lo(GRUB_CS5536_MSR_DIVIL_UART2_CONF)
+       li $a1, 2
+       bal wrmsr
+        move $a2, $zero
+ #endif
+       
        lui $t0, %hi (GRUB_MACHINE_SERIAL_PORT)
  
        /* Turn off the interrupt.  */
Simple merge
index fbcb83cfe32062fca8d49b985cff405e12ece44a,f5b2089e3ace584795690c984463e0fb87d1cc82..f1a56425157a3e859027dd7302f3d8e51d326d1e
  #include <grub/pci.h>
  #include <grub/time.h>
  #include <grub/ata.h>
+ #include <grub/machine/kernel.h>
  
 +#include <grub/dl.h>
 +
 +GRUB_MOD_LICENSE ("GPLv3+");
 +
  int
  grub_cs5536_find (grub_pci_device_t *devp)
  {
Simple merge
Simple merge
index f0f346b1b986c5f895f06234c5e03afa8ad71629,828217497d35c5a794741a56cc3595afd7acac1f..e86df6f35371595c97559115580ffec22649b3c7
@@@ -332,11 -330,6 +332,11 @@@ set_scancodes (void
        return;
      }
  
- #if !(defined (GRUB_MACHINE_MIPS_YEELOONG) || defined (GRUB_MACHINE_QEMU))
++#if !(defined (GRUB_MACHINE_MIPS_LOONGSON) || defined (GRUB_MACHINE_QEMU))
 +  current_set = 1;
 +  return;
 +#endif
 +
    grub_keyboard_controller_write (grub_keyboard_controller_orig
                                  & ~KEYBOARD_AT_TRANSLATE);
  
index 073c27aed8d1bcfeee5aaa5582629829453bdf16,74c493da12c256f083fb943008bd91665b4592d9..add112f4ad245dfdf302f235d790e2fa97dc822e
  #include <grub/extcmd.h>
  #include <grub/i18n.h>
  #include <grub/list.h>
+ #ifdef GRUB_MACHINE_MIPS_LOONGSON
+ #include <grub/machine/kernel.h>
+ #endif
  
 +GRUB_MOD_LICENSE ("GPLv3+");
 +
  #define FOR_SERIAL_PORTS(var) FOR_LIST_ELEMENTS((var), (grub_serial_ports))
  
  /* Argument options.  */
Simple merge
Simple merge
Simple merge
index 5e964a3e750238434d2082ebc81f44108a583394,739b8c16e691d2324ee03a66fd442dd4b7f8f008..b65a3e3d50f0a3b3f1eefdaac89675ae8926def3
@@@ -256,7 -265,8 +265,8 @@@ struct image_target_desc image_targets[
        .install_bsd_part = TARGET_NO_FIELD,
      },
      {
-       .name = "mipsel-yeeloong-flash",
 -      .dirname = "mipsel-loongson",
++      .dirname = "mips-loongson",
+       .names = { "mipsel-yeeloong-flash", NULL },
        .voidp_sizeof = 4,
        .bigendian = 0,
        .id = IMAGE_YEELOONG_FLASH, 
        .default_compression = COMPRESSION_NONE
      },
      {
-       .name = "mipsel-yeeloong-elf",
 -      .dirname = "mipsel-loongson",
++      .dirname = "mips-loongson",
+       .names = { "mipsel-fuloong-flash", NULL },
        .voidp_sizeof = 4,
        .bigendian = 0,
-       .id = IMAGE_YEELOONG_ELF
+       .id = IMAGE_FULOONG_FLASH
        .flags = PLATFORM_FLAGS_DECOMPRESSORS,
-       .prefix = GRUB_KERNEL_MIPS_YEELOONG_PREFIX,
-       .prefix_end = GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END,
+       .prefix = GRUB_KERNEL_MIPS_LOONGSON_PREFIX,
+       .prefix_end = GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END,
        .raw_size = 0,
-       .total_module_size = GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE,
+       .total_module_size = GRUB_KERNEL_MIPS_LOONGSON_TOTAL_MODULE_SIZE,
        .compressed_size = TARGET_NO_FIELD,
        .kernel_image_size = TARGET_NO_FIELD,
        .section_align = 1,
        .default_compression = COMPRESSION_NONE
      },
      {
-       .name = "powerpc-ieee1275",
 -      .dirname = "mipsel-loongson",
++      .dirname = "mips-loongson",
+       .names = { "mipsel-loongson-elf", "mipsel-yeeloong-elf",
+                "mipsel-fuloong-elf", NULL },
+       .voidp_sizeof = 4,
+       .bigendian = 0,
+       .id = IMAGE_LOONGSON_ELF, 
+       .flags = PLATFORM_FLAGS_DECOMPRESSORS,
+       .prefix = GRUB_KERNEL_MIPS_LOONGSON_PREFIX,
+       .prefix_end = GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END,
+       .raw_size = 0,
+       .total_module_size = GRUB_KERNEL_MIPS_LOONGSON_TOTAL_MODULE_SIZE,
+       .compressed_size = TARGET_NO_FIELD,
+       .kernel_image_size = TARGET_NO_FIELD,
+       .section_align = 1,
+       .vaddr_offset = 0,
+       .install_dos_part = TARGET_NO_FIELD,
+       .install_bsd_part = TARGET_NO_FIELD,
+       .link_addr = GRUB_KERNEL_MIPS_LOONGSON_LINK_ADDR,
+       .elf_target = EM_MIPS,
+       .link_align = GRUB_KERNEL_MIPS_LOONGSON_LINK_ALIGN,
+       .default_compression = COMPRESSION_NONE
+     },
+     {
+       .dirname = "powerpc-ieee1275",
+       .names = { "powerpc-ieee1275", NULL },
        .voidp_sizeof = 4,
        .bigendian = 1,
        .id = IMAGE_PPC, 
@@@ -1169,23 -1207,41 +1207,41 @@@ generate_image (const char *dir, char *
        char *boot_path, *boot_img;
        size_t boot_size;
        grub_uint8_t context[GRUB_MD_SHA512->contextsize];
 -      /* fwstart.img is the only part which can't be testes by using *-elf
 +      /* fwstart.img is the only part which can't be tested by using *-elf
-        target. Check it against the checksum. This checksum is obtained with
-        sha512sum utility after compiling on Gnewsense.
-       */
-       const grub_uint8_t fwstart_good_hash[] = 
-       { 
-         0x44, 0xce, 0xbc, 0xe7, 0xc2, 0x5e, 0xff, 0x65,
-         0xc5, 0xda, 0x29, 0x5a, 0xb9, 0x08, 0x89, 0x42,
-         0x83, 0x3f, 0x2b, 0x2e, 0x06, 0xe1, 0x6f, 0x79,
-         0x9b, 0x78, 0x6d, 0xe5, 0xd3, 0x64, 0x98, 0x35,
-         0xc8, 0x58, 0xac, 0xb8, 0x08, 0x6d, 0x21, 0x51,
-         0xcf, 0xe0, 0x76, 0x48, 0x81, 0x6c, 0xed, 0x65,
-         0x4a, 0x50, 0xb4, 0x06, 0x38, 0x0b, 0x26, 0x74,
-         0x43, 0xbf, 0xc5, 0x2e, 0x07, 0xa6, 0xb8, 0x0e,
+        target. Check it against the checksum. */
 -      /* Wasn't retested after important changes. */
+       const grub_uint8_t yeeloong_fwstart_good_hash[512 / 8] = 
+       { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
+       /* None yet. */
+       const grub_uint8_t fuloong_fwstart_good_hash[512 / 8] = 
+       { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        };
-       
-       boot_path = grub_util_get_path (dir, "fwstart.img");
+       const grub_uint8_t *fwstart_good_hash;
+             
+       if (image_target->id == IMAGE_FULOONG_FLASH)
+       {
+         fwstart_good_hash = fuloong_fwstart_good_hash;
+         boot_path = grub_util_get_path (dir, "fwstart_fuloong.img");
+       }
+       else
+       {
+         fwstart_good_hash = yeeloong_fwstart_good_hash;
+         boot_path = grub_util_get_path (dir, "fwstart.img");
+       }
++
        boot_size = grub_util_get_image_size (boot_path);
        boot_img = grub_util_read_image (boot_path);