mirror of
https://git.proxmox.com/git/grub2
synced 2025-08-04 10:50:56 +00:00
* Backport from upstream:
- Fix booting FreeBSD >= 9.1 amd64 kernels (closes: #699002).
This commit is contained in:
parent
90521ecd2a
commit
1dcca7d52b
7
debian/changelog
vendored
7
debian/changelog
vendored
@ -1,3 +1,10 @@
|
||||
grub2 (2.00-13) UNRELEASED; urgency=low
|
||||
|
||||
* Backport from upstream:
|
||||
- Fix booting FreeBSD >= 9.1 amd64 kernels (closes: #699002).
|
||||
|
||||
-- Colin Watson <cjwatson@debian.org> Mon, 28 Jan 2013 11:08:07 +0000
|
||||
|
||||
grub2 (2.00-12) experimental; urgency=low
|
||||
|
||||
* Silence output from running-in-container.
|
||||
|
57
debian/patches/kfreebsd_9.1.patch
vendored
Normal file
57
debian/patches/kfreebsd_9.1.patch
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
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
|
||||
|
||||
Index: b/grub-core/loader/i386/bsd.c
|
||||
===================================================================
|
||||
--- a/grub-core/loader/i386/bsd.c
|
||||
+++ b/grub-core/loader/i386/bsd.c
|
||||
@@ -1309,7 +1309,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;
|
||||
@@ -1333,7 +1333,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);
|
||||
@@ -1351,7 +1351,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;
|
||||
@@ -1375,7 +1375,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);
|
||||
|
||||
@@ -1394,7 +1394,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, filename,
|
||||
grub_bsd_elf32_size_hook, NULL);
|
||||
if (err)
|
1
debian/patches/series
vendored
1
debian/patches/series
vendored
@ -33,3 +33,4 @@ gnulib_gets.patch
|
||||
no_insmod_on_sb.patch
|
||||
default_grub_d.patch
|
||||
blacklist_1440x900x32.patch
|
||||
kfreebsd_9.1.patch
|
||||
|
@ -1309,7 +1309,7 @@ grub_bsd_elf32_size_hook (grub_elf_t elf __attribute__ ((unused)),
|
||||
&& phdr->p_type != PT_DYNAMIC)
|
||||
return 0;
|
||||
|
||||
paddr = phdr->p_paddr & 0xFFFFFF;
|
||||
paddr = phdr->p_paddr & 0xFFFFFFF;
|
||||
|
||||
if (paddr < kern_start)
|
||||
kern_start = paddr;
|
||||
@ -1333,7 +1333,7 @@ grub_bsd_elf32_hook (Elf32_Phdr * phdr, grub_addr_t * addr, int *do_load)
|
||||
}
|
||||
|
||||
*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);
|
||||
@ -1351,7 +1351,7 @@ grub_bsd_elf64_size_hook (grub_elf_t elf __attribute__ ((unused)),
|
||||
&& phdr->p_type != PT_DYNAMIC)
|
||||
return 0;
|
||||
|
||||
paddr = phdr->p_paddr & 0xffffff;
|
||||
paddr = phdr->p_paddr & 0xfffffff;
|
||||
|
||||
if (paddr < kern_start)
|
||||
kern_start = paddr;
|
||||
@ -1375,7 +1375,7 @@ grub_bsd_elf64_hook (Elf64_Phdr * phdr, grub_addr_t * addr, int *do_load)
|
||||
}
|
||||
|
||||
*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);
|
||||
|
||||
@ -1394,7 +1394,7 @@ grub_bsd_load_elf (grub_elf_t elf, const char *filename)
|
||||
{
|
||||
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, filename,
|
||||
grub_bsd_elf32_size_hook, NULL);
|
||||
if (err)
|
||||
|
Loading…
Reference in New Issue
Block a user