rpms/grub/devel grub-low-memory.patch,NONE,1.1 grub.spec,1.94,1.95
Peter Jones
pjones at fedoraproject.org
Thu Apr 16 20:38:42 UTC 2009
- Previous message (by thread): rpms/xorg-x11-server/F-11 xserver-1.6.1-randr-gamma.patch, NONE, 1.1 xorg-x11-server.spec, 1.435, 1.436
- Next message (by thread): rpms/ldns/EL-5 ldns-keygen-hmac-memory.patch, NONE, 1.1 ldns.spec, 1.16, 1.17 sources, 1.6, 1.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: pjones
Update of /cvs/extras/rpms/grub/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29106
Modified Files:
grub.spec
Added Files:
grub-low-memory.patch
Log Message:
* Thu Apr 16 2009 Peter Jones <pjones at redhat.com> - 0.97-49
- Fix efi booting on machines with continguous memory regions across
the 1G boundary.
grub-low-memory.patch:
--- NEW FILE grub-low-memory.patch ---
From: Peter Jones
Date: Thu, Apr 16 2009 16:16:00 -0500
Subject: [PATCH] allocate low memory at bottom of memory instead of top.
Don't allocate the low memory area above 1GB, as the kernel doesn't map that
during early boot.
diff -urpN grub-0.97/efi/x86_64/loader/linux.c.lowmem grub-0.97/efi/x86_64/loader/linux.c
--- grub-0.97/efi/x86_64/loader/linux.c.lowmem 2009-04-16 15:31:45.000000000 -0400
+++ grub-0.97/efi/x86_64/loader/linux.c 2009-04-16 16:14:25.000000000 -0400
@@ -169,6 +169,7 @@ allocate_pages (grub_size_t real_size, g
&& desc->num_pages >= real_mode_pages)
{
grub_efi_physical_address_t physical_end;
+ int allocsize = real_size + mmap_size;
physical_end = desc->physical_start + (desc->num_pages << 12);
@@ -176,10 +177,17 @@ allocate_pages (grub_size_t real_size, g
(unsigned) desc->physical_start,
(unsigned) physical_end);
- addr = physical_end - real_size - mmap_size;
+ addr = physical_end - allocsize;
if (addr < 0x10000)
continue;
+ /* the kernel wants this address to be under 1 gig.*/
+ if (desc->physical_start > 0x40000000 - allocsize)
+ continue;
+
+ if (addr > 0x40000000 - allocsize)
+ addr = 0x40000000 - allocsize;
+
grub_printf ("trying to allocate %u pages at %x\n",
(unsigned) real_mode_pages, (unsigned) addr);
real_mode_mem = grub_efi_allocate_pages (addr, real_mode_pages);
Index: grub.spec
===================================================================
RCS file: /cvs/extras/rpms/grub/devel/grub.spec,v
retrieving revision 1.94
retrieving revision 1.95
diff -u -r1.94 -r1.95
--- grub.spec 9 Apr 2009 21:23:16 -0000 1.94
+++ grub.spec 16 Apr 2009 20:38:11 -0000 1.95
@@ -1,6 +1,6 @@
Name: grub
Version: 0.97
-Release: 48%{?dist}
+Release: 49%{?dist}
Summary: Grand Unified Boot Loader.
Group: System Environment/Base
License: GPLv2+
@@ -40,6 +40,7 @@
Patch12: grub-0.97-fat-lowercase.patch
Patch13: grub-0.97-efipxe.patch
Patch14: grub-0.97-tolower.patch
+Patch15: grub-low-memory.patch
%description
GRUB (Grand Unified Boot Loader) is an experimental boot loader
@@ -64,6 +65,7 @@
%patch12 -p1
%patch13 -p1
%patch14 -p1
+%patch15 -p1
%build
autoreconf
@@ -126,6 +128,10 @@
%{_datadir}/grub
%changelog
+* Thu Apr 16 2009 Peter Jones <pjones at redhat.com> - 0.97-49
+- Fix efi booting on machines with continguous memory regions across
+ the 1G boundary.
+
* Thu Apr 09 2009 Peter Jones <pjones at redhat.com> - 0.97-48
- remove test message Re: using network drive or not.
- Previous message (by thread): rpms/xorg-x11-server/F-11 xserver-1.6.1-randr-gamma.patch, NONE, 1.1 xorg-x11-server.spec, 1.435, 1.436
- Next message (by thread): rpms/ldns/EL-5 ldns-keygen-hmac-memory.patch, NONE, 1.1 ldns.spec, 1.16, 1.17 sources, 1.6, 1.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list