aboutsummaryrefslogtreecommitdiff
path: root/sysutils/memtest86+
diff options
context:
space:
mode:
authorTorsten Zuehlsdorff <tz@FreeBSD.org>2016-09-30 11:40:44 +0000
committerTorsten Zuehlsdorff <tz@FreeBSD.org>2016-09-30 11:40:44 +0000
commit3e4ce85bdc890c43c01fb887d59ec44c3d4a1cf2 (patch)
tree7d5a4a61eb52190233f1e56ac306f4d49f0f158b /sysutils/memtest86+
parent08a7ca817e21b5f355ced2caf35c84eb5c71e1d9 (diff)
downloadports-3e4ce85bdc890c43c01fb887d59ec44c3d4a1cf2.tar.gz
ports-3e4ce85bdc890c43c01fb887d59ec44c3d4a1cf2.zip
sysutils/memtest86+: upgrade from 4.20 to 5.0.1
- Added support for up to 2 TB of RAM on X64 CPUs - Added experimental SMT support up to 32 cores (Press F2 to enable at startup) - Added complete detection for memory controllers - Added Motherboard Manufacturer & Model reporting - Added CPU temperature reporting - Added enhanced Fail Safe Mode (Press F1 at startup) - Added support for Intel "Sandy Bridge-E" CPUs - Added support for Intel "Ivy Bridge" CPUs - Added preliminary support for Intel "Haswell" CPUs (Core 4th Gen) - Added preliminary support for Intel "Haswell-ULT" CPUs - Added support for AMD "Kabini" (K16) CPUs - Added support for AMD "Bulldozer" CPUs - Added support for AMD "Trinity" CPUs - Added support for AMD E-/C-/G-/Z- "Bobcat" CPUs - Added support for Intel Atom "Pineview" CPUs - Added support for Intel Atom "Cedar Trail" CPUs - Added SPD detection on most AMD Chipsets - Enforced Coreboot support - Optimized run time for faster memory error detection - Rewriten lots of memory timings detection cod - Corrected bugs, bugs and more bugs (some could remain) Also set GCC_USE=4.8 because it did not compile with GCC 5+. There seems to be a patch for this problem which will be tested later: https://build.opensuse.org/package/view_file/Base:System/memtest86+/memtest86+-gcc5.patch?expand=1 PR: 210293 Submitted by: takefu@airport.fm Reviewed by: Andriy Gapon <avg@FreeBSD.org> (maintainer) Approved by: pi (mentor)
Notes
Notes: svn path=/head/; revision=422980
Diffstat (limited to 'sysutils/memtest86+')
-rw-r--r--sysutils/memtest86+/Makefile43
-rw-r--r--sysutils/memtest86+/distinfo5
-rw-r--r--sysutils/memtest86+/files/extra-patch-Makefile11
-rw-r--r--sysutils/memtest86+/files/extra-patch-config.h17
-rw-r--r--sysutils/memtest86+/files/extra-patch-config.h-11520017
-rw-r--r--sysutils/memtest86+/files/patch-Makefile33
-rw-r--r--sysutils/memtest86+/files/patch-error.c10
-rw-r--r--sysutils/memtest86+/files/patch-memtest.lds8
-rw-r--r--sysutils/memtest86+/files/patch-setup.S22
-rw-r--r--sysutils/memtest86+/files/patch-test.c29
10 files changed, 69 insertions, 126 deletions
diff --git a/sysutils/memtest86+/Makefile b/sysutils/memtest86+/Makefile
index 6dd69d7052f4..abad2803efd7 100644
--- a/sysutils/memtest86+/Makefile
+++ b/sysutils/memtest86+/Makefile
@@ -2,21 +2,22 @@
# $FreeBSD$
PORTNAME= memtest86+
-PORTVERSION= 4.20
-PORTREVISION= 2
+PORTVERSION= 5.01
CATEGORIES= sysutils
MASTER_SITES= http://www.memtest.org/download/${PORTVERSION}/
MAINTAINER= avg@icyb.net.ua
COMMENT= Stand-alone memory test for x86 architecture computers
+LICENSE= GPLv2
+
ONLY_FOR_ARCHS= i386 amd64
-USES= gmake dos2unix
+USES= gmake
ALL_TARGET= all
PORTDOCS= *
-USE_GCC= yes
+USE_GCC= 4.8
# Please provide absolute path below (cannot be root)
BOOT_DIR?= /boot/opt
@@ -31,28 +32,12 @@ SERIAL_DESC= Enable serial console at COM1/9600
HISPEED_DESC= Set COM1 serial console speed to 115200
ISO_PLIST_FILES= ${DATADIR}/mt${PORTVERSION:C/\.//}.iso
+ISO_BUILD_DEPENDS= genisoimage:sysutils/genisoimage
+ISO_ALL_TARGET= iso
BOOT_PLIST_FILES= ${BOOT_DIR}/memtest86+
BOOT_PLIST_DIRS= ${BOOT_DIR}
-
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MBOOT}
-SUB_FILES= pkg-message
-SUB_LIST+= BOOT_DIR=${BOOT_DIR}
-.endif
-
-.if ${PORT_OPTIONS:MISO}
-BUILD_DEPENDS+= mkisofs:sysutils/cdrtools
-ALL_TARGET+= iso
-.endif
-
-.if ${PORT_OPTIONS:MSERIAL}
-EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-config.h
-
-.if ${PORT_OPTIONS:MHISPEED}
-EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-config.h-115200
-.endif
-.endif # WITH_SERIAL
+BOOT_SUB_FILES= pkg-message
+BOOT_SUB_LIST+= BOOT_DIR=${BOOT_DIR}
pre-fetch:
.if !defined(PACKAGE_BUILDING)
@@ -63,8 +48,16 @@ pre-fetch:
@${ECHO} "build ISO image with custom tweaks in memtest86+ code."
.endif
+.include <bsd.port.options.mk>
+
post-patch:
${REINPLACE_CMD} -e 's|gcc|${CC}|' ${WRKSRC}/Makefile
+.if ${PORT_OPTIONS:MSERIAL}
+ ${REINPLACE_CMD} -e 's|SERIAL_CONSOLE_DEFAULT 0|SERIAL_CONSOLE_DEFAULT 1|' ${WRKSRC}/config.h
+. if ${PORT_OPTIONS:MHISPEED}
+ ${REINPLACE_CMD} -e 's|9600|115200|' ${WRKSRC}/config.h
+. endif
+.endif
do-install:
.if ${PORT_OPTIONS:MISO}
@@ -82,5 +75,3 @@ do-install:
.endif
.include <bsd.port.mk>
-
-RUN_DEPENDS:= ${RUN_DEPENDS:Ngcc*}
diff --git a/sysutils/memtest86+/distinfo b/sysutils/memtest86+/distinfo
index 745282868493..e0587040be1b 100644
--- a/sysutils/memtest86+/distinfo
+++ b/sysutils/memtest86+/distinfo
@@ -1,2 +1,3 @@
-SHA256 (memtest86+-4.20.tar.gz) = 5630ce978d0e6b671891df4253fc5c54659764d0cdfc7515ac0df3d8dd9e8737
-SIZE (memtest86+-4.20.tar.gz) = 206044
+TIMESTAMP = 1465956443
+SHA256 (memtest86+-5.01.tar.gz) = 142127b7953fbd829b1057fb64a78d3340c2b771484230a7347e94530a0d9039
+SIZE (memtest86+-5.01.tar.gz) = 214877
diff --git a/sysutils/memtest86+/files/extra-patch-Makefile b/sysutils/memtest86+/files/extra-patch-Makefile
deleted file mode 100644
index 1e3acbc52c73..000000000000
--- a/sysutils/memtest86+/files/extra-patch-Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- Makefile.orig
-+++ Makefile
-@@ -11,7 +11,7 @@
- AS=as -32
- CC=gcc
-
--CFLAGS= -Wall -march=i486 -m32 -O2 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC -fno-stack-protector
-+CFLAGS= -Wall -march=i486 -m32 -O2 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC
-
- OBJS= head.o reloc.o main.o test.o init.o lib.o patn.o screen_buffer.o \
- config.o linuxbios.o memsize.o pci.o controller.o random.o spd.o \
diff --git a/sysutils/memtest86+/files/extra-patch-config.h b/sysutils/memtest86+/files/extra-patch-config.h
deleted file mode 100644
index 58f18d99824d..000000000000
--- a/sysutils/memtest86+/files/extra-patch-config.h
+++ /dev/null
@@ -1,17 +0,0 @@
---- config.h.orig
-+++ config.h
-@@ -13,13 +13,13 @@
- /* SERIAL_CONSOLE_DEFAULT - The default state of the serial console. */
- /* This is normally off since it slows down testing. Change to a 1 */
- /* to enable. */
--#define SERIAL_CONSOLE_DEFAULT 0
-+#define SERIAL_CONSOLE_DEFAULT 1
-
- /* SERIAL_TTY - The default serial port to use. 0=ttyS0, 1=ttyS1 */
- #define SERIAL_TTY 0
-
- /* SERIAL_BAUD_RATE - Baud rate for the serial console */
- #define SERIAL_BAUD_RATE 9600
-
- /* BEEP_MODE - Beep on error. Default off, Change to 1 to enable */
- #define BEEP_MODE 0
diff --git a/sysutils/memtest86+/files/extra-patch-config.h-115200 b/sysutils/memtest86+/files/extra-patch-config.h-115200
deleted file mode 100644
index 67204723022d..000000000000
--- a/sysutils/memtest86+/files/extra-patch-config.h-115200
+++ /dev/null
@@ -1,17 +0,0 @@
---- config.h.orig
-+++ config.h
-@@ -13,13 +13,13 @@
- /* SERIAL_CONSOLE_DEFAULT - The default state of the serial console. */
- /* This is normally off since it slows down testing. Change to a 1 */
- /* to enable. */
- #define SERIAL_CONSOLE_DEFAULT 1
-
- /* SERIAL_TTY - The default serial port to use. 0=ttyS0, 1=ttyS1 */
- #define SERIAL_TTY 0
-
- /* SERIAL_BAUD_RATE - Baud rate for the serial console */
--#define SERIAL_BAUD_RATE 9600
-+#define SERIAL_BAUD_RATE 115200
-
- /* BEEP_MODE - Beep on error. Default off, Change to 1 to enable */
- #define BEEP_MODE 0
diff --git a/sysutils/memtest86+/files/patch-Makefile b/sysutils/memtest86+/files/patch-Makefile
index 46292e13ffa4..41f5504d24bd 100644
--- a/sysutils/memtest86+/files/patch-Makefile
+++ b/sysutils/memtest86+/files/patch-Makefile
@@ -1,12 +1,18 @@
---- Makefile.orig 2015-01-19 13:24:01.512893165 +0000
-+++ Makefile 2015-01-19 13:24:23.844906601 +0000
-@@ -23,15 +23,15 @@
+--- Makefile.orig 2013-08-10 02:01:58 UTC
++++ Makefile
+@@ -21,21 +21,20 @@ OBJS= head.o reloc.o main.o test.o init.
+
+
+ all: clean memtest.bin memtest
+- scp memtest.bin root@192.168.0.12:/srv/tftp/mt86plus
+
+ # Link it statically once so I know I don't have undefined
# symbols and then link it dynamically so I have full
# relocation information
memtest_shared: $(OBJS) memtest_shared.lds Makefile
- $(LD) --warn-constructors --warn-common -static -T memtest_shared.lds \
+ $(LD) --warn-constructors --warn-common -static --oformat elf32-i386-freebsd -T memtest_shared.lds \
- -o $@ $(OBJS) && \
+ -o $@ $(OBJS) && \
- $(LD) -shared -Bsymbolic -T memtest_shared.lds -o $@ $(OBJS)
+ $(LD) -shared -Bsymbolic --oformat elf32-i386-freebsd -T memtest_shared.lds -o $@ $(OBJS)
@@ -19,15 +25,22 @@
head.s: head.S config.h defs.h test.h
$(CC) -E -traditional $< -o $@
-@@ -58,10 +58,8 @@
- asm:
- @./makedos.sh
+@@ -47,7 +46,7 @@ setup.s: setup.S config.h defs.h
+ $(CC) -E -traditional $< -o $@
+
+ memtest.bin: memtest_shared.bin bootsect.o setup.o memtest.bin.lds
+- $(LD) -T memtest.bin.lds bootsect.o setup.o -b binary \
++ $(LD) --oformat elf32-i386-freebsd -T memtest.bin.lds bootsect.o setup.o -b binary \
+ memtest_shared.bin -o memtest.bin
+
+ reloc.o: reloc.c
+@@ -67,8 +66,7 @@ clean:
+ rm -f *.o *.s *.iso memtest.bin memtest memtest_shared \
+ memtest_shared.bin memtest.iso
-iso:
- make all
-+iso: all
++iso: all
./makeiso.sh
-- rm -f *.o *.s memtest.bin memtest memtest_shared memtest_shared.bin
install: all
- dd <memtest.bin >$(FDISK) bs=8192
diff --git a/sysutils/memtest86+/files/patch-error.c b/sysutils/memtest86+/files/patch-error.c
deleted file mode 100644
index 452b906527c7..000000000000
--- a/sysutils/memtest86+/files/patch-error.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- error.c 2008-11-16 02:18:14.000000000 +0200
-+++ error.c 2009-02-18 00:27:40.000000000 +0200
-@@ -11,7 +11,6 @@
-
- #include "test.h"
- #include "config.h"
--#include <sys/io.h>
- #include "dmi.h"
-
- extern int test_ticks, nticks, beepmode;
diff --git a/sysutils/memtest86+/files/patch-memtest.lds b/sysutils/memtest86+/files/patch-memtest.lds
index f5a70ca81e02..759738effa3d 100644
--- a/sysutils/memtest86+/files/patch-memtest.lds
+++ b/sysutils/memtest86+/files/patch-memtest.lds
@@ -1,11 +1,11 @@
---- memtest.lds.orig
+--- memtest.lds.orig 2013-08-10 02:01:58 UTC
+++ memtest.lds
-@@ -3,7 +3,7 @@
+@@ -3,7 +3,7 @@ OUTPUT_ARCH(i386);
ENTRY(_start);
SECTIONS {
-- . = 0x5000;
-+ . = 0xc0120000;
+- . = 0x10000;
++ . = 0xc0120000;
_start = . ;
.data : {
*(.data)
diff --git a/sysutils/memtest86+/files/patch-setup.S b/sysutils/memtest86+/files/patch-setup.S
index 82d39f8819c5..5479c7660601 100644
--- a/sysutils/memtest86+/files/patch-setup.S
+++ b/sysutils/memtest86+/files/patch-setup.S
@@ -1,11 +1,11 @@
---- setup.S 2008-11-16 02:18:14.000000000 +0200
-+++ setup.S 2009-02-18 00:28:02.000000000 +0200
-@@ -42,7 +42,7 @@ start:
- jz alt_a20_done
-
- /* set or clear bit1, the ALT_A20_GATE bit */
-- movb 4(%esp), %ah
-+ addr32 movb 4(%esp), %ah
- testb %ah, %ah
- jz alt_a20_cont1
- orb $2, %al
+--- setup.S.orig 2013-08-10 02:01:58 UTC
++++ setup.S
+@@ -50,7 +50,7 @@ reload:
+ jz alt_a20_done
+
+ /* set or clear bit1, the ALT_A20_GATE bit */
+- movb 4(%esp), %ah
++ addr32 movb 4(%esp), %ah
+ testb %ah, %ah
+ jz alt_a20_cont1
+ orb $2, %al
diff --git a/sysutils/memtest86+/files/patch-test.c b/sysutils/memtest86+/files/patch-test.c
index 367bad070b9b..ce6f9dd219c4 100644
--- a/sysutils/memtest86+/files/patch-test.c
+++ b/sysutils/memtest86+/files/patch-test.c
@@ -1,20 +1,14 @@
---- test.c 2008-11-16 02:18:14.000000000 +0200
-+++ test.c 2009-02-18 00:27:11.000000000 +0200
-@@ -6,12 +6,11 @@
- * ----------------------------------------------------
- * MemTest86+ V2.01 Specific code (GPL V2.0)
- * By Samuel DEMEULEMEESTER, sdemeule@memtest.org
- * http://www.canardpc.com - http://www.memtest.org
- */
-
--#include "test.h"
- #include "config.h"
+--- test.c.orig 2013-08-10 02:29:44 UTC
++++ test.c
+@@ -14,7 +14,6 @@
+ #include "stdint.h"
+ #include "cpuid.h"
+ #include "smp.h"
-#include <sys/io.h>
-+#include "test.h"
- #include "dmi.h"
- extern int segs, bail;
-@@ -1400,6 +1399,20 @@ void sleep(int n, int sms)
+ extern struct cpu_ident cpu_id;
+ extern volatile int mstr_cpu;
+@@ -1543,6 +1542,19 @@ void sleep(long n, int flag, int me, int
}
}
@@ -31,11 +25,10 @@
+ asm __volatile__("outb %0,%1" : : "a" (data), "id" ((unsigned short)(port)));
+}
+
-+
/* Beep function */
void beep(unsigned int frequency)
-@@ -1407,18 +1420,18 @@ void beep(unsigned int frequency)
+@@ -1551,18 +1563,18 @@ void beep(unsigned int frequency)
unsigned int count = 1193180 / frequency;
// Switch on the speaker
@@ -52,7 +45,7 @@
outb((count >> 8) & 0xff, 0x42);
// Block for 100 microseconds
- sleep(100, 1);
+ sleep(100, 0, 0, 1);
// Switch off the speaker
- outb(inb_p(0x61)&0xFC, 0x61);