SHA256
1
0
forked from pool/memtest86_
OBS User unknown 2008-11-28 15:28:03 +00:00 committed by Git OBS Bridge
parent c060f60eed
commit 5d75b732af
3 changed files with 63 additions and 3 deletions

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Fri Nov 28 16:09:47 CET 2008 - duwe@suse.de
- work around a virtual address wrap at 4G, if > 5GB are installed
(bnc#388191)
-------------------------------------------------------------------
Wed Apr 30 14:45:38 CEST 2008 - coolo@suse.de

View File

@ -2,9 +2,16 @@
# spec file for package memtest86+ (Version 2.01)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@ -12,7 +19,7 @@
Name: memtest86+
Version: 2.01
Release: 1
Release: 46
#
License: BSD 3-Clause
Group: System/Boot
@ -34,6 +41,7 @@ Patch1: include-linkonce
Patch2: serial-enable
Patch3: include-gnuhash
Patch4: fix-overflows.diff
Patch5: work-around-4G-virtual-overflow
#
Summary: Memory Testing Image for x86 Architecture
@ -63,6 +71,7 @@ Authors:
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%build
%ifarch x86_64
@ -90,6 +99,9 @@ test -x /sbin/update-bootloader && /sbin/update-bootloader --remove --force --im
%doc README* changelog FAQ
%changelog
* Fri Nov 28 2008 duwe@suse.de
- work around a virtual address wrap at 4G, if > 5GB are installed
(bnc#388191)
* Wed Apr 30 2008 coolo@suse.de
- update to 2.01 - among others:
- Solved a major bug in Memory Address Errors Reporting

View File

@ -0,0 +1,42 @@
--- memtest86+-2.01/init.c.orig 2008-11-26 13:28:22.000000000 +0100
+++ memtest86+-2.01/init.c 2008-11-28 16:06:50.000000000 +0100
@@ -238,7 +238,7 @@
unsigned long addr_hi;
};
extern unsigned char pdp[];
- extern struct pde pd2[];
+ extern struct pde pd1[];
unsigned long window = page >> 19;
if (FLAT || (window == mapped_window)) {
return 0;
@@ -266,11 +266,11 @@
* Bit 6 = Dirty. 1 = memory has been written to.
* Bit 7 = Page Size. 1 = page size is 2 MBytes
* --------------------------------------------------*/
- pd2[i].addr_lo = ((window & 1) << 31) + ((i & 0x3ff) << 21) + 0xE3;
- pd2[i].addr_hi = (window >> 1);
+ pd1[i].addr_lo = ((window & 1) << 31) + ((i & 0x3ff) << 21) + 0xE3;
+ pd1[i].addr_hi = (window >> 1);
}
paging_off();
- if (window > 1) {
+ if (window > 0) {
paging_on(pdp);
}
mapped_window = window;
@@ -281,13 +281,13 @@
{
void *result;
if (FLAT || (page_addr < 0x80000)) {
- /* If the address is less that 1GB directly use the address */
+ /* If the address is less than 2GB directly use the address */
result = (void *)(page_addr << 12);
}
else {
unsigned long alias;
alias = page_addr & 0x7FFFF;
- alias += 0x80000;
+ alias += 0x40000;
result = (void *)(alias << 12);
}
return result;