=== modified file 'debian/changelog'
--- debian/changelog	2013-07-01 17:31:58 +0000
+++ debian/changelog	2013-07-01 17:36:32 +0000
@@ -1,3 +1,10 @@
+grub2 (1.99-27+deb7u2) stable; urgency=low
+
+  * Backport from upstream:
+    - Fix booting FreeBSD >= 9.1 amd64 kernels (closes: #699002).
+
+ -- Robert Millan <rmh@debian.org>  Mon, 01 Jul 2013 19:36:21 +0200
+
 grub2 (1.99-27+deb7u1) testing-proposed-updates; urgency=medium
 
   * NMU

=== added file 'debian/patches/kfreebsd_9.1.patch'
--- debian/patches/kfreebsd_9.1.patch	1970-01-01 00:00:00 +0000
+++ debian/patches/kfreebsd_9.1.patch	2013-06-27 22:47:44 +0000
@@ -0,0 +1,55 @@
+Description: Fix booting FreeBSD >= 9.1 amd64 kernels
+Author: Vladimir Serbinenko <phcoder@gmail.com>
+Origin: upstream, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4556
+Bug-Debian: http://bugs.debian.org/699002
+Forwarded: not-needed
+Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4556
+Last-Update: 2013-01-28
+
+--- a/grub-core/loader/i386/bsd.c
++++ b/grub-core/loader/i386/bsd.c
+@@ -1148,7 +1148,7 @@
+       && phdr->p_type != PT_DYNAMIC)
+       return 0;
+ 
+-  paddr = phdr->p_paddr & 0xFFFFFF;
++  paddr = phdr->p_paddr & 0xFFFFFFF;
+ 
+   if (paddr < kern_start)
+     kern_start = paddr;
+@@ -1172,7 +1172,7 @@
+     }
+ 
+   *do_load = 1;
+-  phdr->p_paddr &= 0xFFFFFF;
++  phdr->p_paddr &= 0xFFFFFFF;
+   paddr = phdr->p_paddr;
+ 
+   *addr = (grub_addr_t) (paddr - kern_start + (grub_uint8_t *) kern_chunk_src);
+@@ -1190,7 +1190,7 @@
+       && phdr->p_type != PT_DYNAMIC)
+     return 0;
+ 
+-  paddr = phdr->p_paddr & 0xffffff;
++  paddr = phdr->p_paddr & 0xfffffff;
+ 
+   if (paddr < kern_start)
+     kern_start = paddr;
+@@ -1214,7 +1214,7 @@
+     }
+ 
+   *do_load = 1;
+-  paddr = phdr->p_paddr & 0xffffff;
++  paddr = phdr->p_paddr & 0xfffffff;
+ 
+   *addr = (grub_addr_t) (paddr - kern_start + (grub_uint8_t *) kern_chunk_src);
+ 
+@@ -1233,7 +1233,7 @@
+     {
+       grub_relocator_chunk_t ch;
+ 
+-      entry = elf->ehdr.ehdr32.e_entry & 0xFFFFFF;
++      entry = elf->ehdr.ehdr32.e_entry & 0xFFFFFFF;
+       err = grub_elf32_phdr_iterate (elf, grub_bsd_elf32_size_hook, NULL);
+       if (err)
+ 	return err;

=== modified file 'debian/patches/series'
--- debian/patches/series	2013-05-08 16:16:20 +0000
+++ debian/patches/series	2013-07-01 17:36:02 +0000
@@ -47,3 +47,4 @@ efi_device_discovery.patch
 gettext_error_handling.patch
 l10n_fi.patch
 os_prober_efi.patch
+kfreebsd_9.1.patch

