diff options
author | Bob van der Linden <bobvanderlinden@gmail.com> | 2015-02-28 00:30:36 +0100 |
---|---|---|
committer | Bob van der Linden <bobvanderlinden@gmail.com> | 2015-02-28 00:30:36 +0100 |
commit | 3b40ec50126026cb7194204dcb0d5f6c0427b55f (patch) | |
tree | 6ea5d41569349fcd039094c725eed47e31b3ccd3 /pkgs/tools/misc/memtest86+ | |
parent | 2beb43174f6c92862534868e8959f2800c41ce1e (diff) | |
download | nixpkgs-3b40ec50126026cb7194204dcb0d5f6c0427b55f.tar nixpkgs-3b40ec50126026cb7194204dcb0d5f6c0427b55f.tar.gz nixpkgs-3b40ec50126026cb7194204dcb0d5f6c0427b55f.tar.bz2 nixpkgs-3b40ec50126026cb7194204dcb0d5f6c0427b55f.tar.lz nixpkgs-3b40ec50126026cb7194204dcb0d5f6c0427b55f.tar.xz nixpkgs-3b40ec50126026cb7194204dcb0d5f6c0427b55f.tar.zst nixpkgs-3b40ec50126026cb7194204dcb0d5f6c0427b55f.zip |
memtest86+: fixed reboot issues
Diffstat (limited to 'pkgs/tools/misc/memtest86+')
-rw-r--r-- | pkgs/tools/misc/memtest86+/compile-fix.patch | 20 | ||||
-rw-r--r-- | pkgs/tools/misc/memtest86+/crash-fix.patch | 99 | ||||
-rw-r--r-- | pkgs/tools/misc/memtest86+/default.nix | 3 | ||||
-rw-r--r-- | pkgs/tools/misc/memtest86+/no-optimization.patch | 11 |
4 files changed, 133 insertions, 0 deletions
diff --git a/pkgs/tools/misc/memtest86+/compile-fix.patch b/pkgs/tools/misc/memtest86+/compile-fix.patch new file mode 100644 index 00000000000..f178259f9e0 --- /dev/null +++ b/pkgs/tools/misc/memtest86+/compile-fix.patch @@ -0,0 +1,20 @@ +--- memtest86+-5.01/io.h~ 2013-08-10 02:01:58.000000000 +0000 ++++ memtest86+-5.01/io.h 2014-01-08 01:29:12.404465515 +0000 +@@ -31,7 +31,7 @@ + */ + + #define __OUT1(s,x) \ +-extern inline void __out##s(unsigned x value, unsigned short port) { ++static inline void __out##s(unsigned x value, unsigned short port) { + + #define __OUT2(s,s1,s2) \ + __asm__ __volatile__ ("out" #s " %" s1 "0,%" s2 "1" +@@ -43,7 +43,7 @@ + __OUT1(s##c_p,x) __OUT2(s,s1,"") : : "a" (value), "id" (port)); SLOW_DOWN_IO; } + + #define __IN1(s) \ +-extern inline RETURN_TYPE __in##s(unsigned short port) { RETURN_TYPE _v; ++static inline RETURN_TYPE __in##s(unsigned short port) { RETURN_TYPE _v; + + #define __IN2(s,s1,s2) \ + __asm__ __volatile__ ("in" #s " %" s2 "1,%" s1 "0" diff --git a/pkgs/tools/misc/memtest86+/crash-fix.patch b/pkgs/tools/misc/memtest86+/crash-fix.patch new file mode 100644 index 00000000000..de7c86bac35 --- /dev/null +++ b/pkgs/tools/misc/memtest86+/crash-fix.patch @@ -0,0 +1,99 @@ +diff --git a/controller.c b/controller.c +index f4f7371..183e9c3 100644 +--- a/controller.c ++++ b/controller.c +@@ -2,6 +2,8 @@ + * MemTest86+ V5 Specific code (GPL V2.0) + * By Samuel DEMEULEMEESTER, sdemeule@memtest.org + * http://www.canardpc.com - http://www.memtest.org ++ * ++ * Edited by David McInnis Oct 4, 2014 + */ + + //#include "defs.h" +@@ -292,7 +294,7 @@ static void setup_nhm(void) + + /* First, locate the PCI bus where the MCH is located */ + +- for(i = 0; i < sizeof(possible_nhm_bus); i++) { ++ for(i = 0; i < sizeof(possible_nhm_bus) / sizeof(possible_nhm_bus[0]); i++) { + pci_conf_read( possible_nhm_bus[i], 3, 4, 0x00, 2, &vid); + pci_conf_read( possible_nhm_bus[i], 3, 4, 0x02, 2, &did); + vid &= 0xFFFF; +@@ -327,7 +329,7 @@ static void setup_nhm32(void) + ctrl.mode = ECC_NONE; + + /* First, locate the PCI bus where the MCH is located */ +- for(i = 0; i < sizeof(possible_nhm_bus); i++) { ++ for(i = 0; i < sizeof(possible_nhm_bus) / sizeof(possible_nhm_bus[0]); i++) { + pci_conf_read( possible_nhm_bus[i], 3, 4, 0x00, 2, &vid); + pci_conf_read( possible_nhm_bus[i], 3, 4, 0x02, 2, &did); + vid &= 0xFFFF; +@@ -1424,7 +1426,7 @@ static void poll_fsb_amd64(void) { + unsigned long dramchr; + float clockratio; + double dramclock; +- unsigned int dummy[3]; ++ unsigned int dummy[4]; + int ram_type; + + float coef = 10; +@@ -2851,13 +2853,13 @@ static void poll_timings_nf4ie(void) { + + static void poll_timings_i875(void) { + +- ulong dev6, dev62; ++ ulong dev6; + ulong temp; + float cas; + int rcd, rp, ras, chan; + long *ptr, *ptr2; + +- pci_conf_read( 0, 6, 0, 0x40, 4, &dev62); ++ pci_conf_read( 0, 6, 0, 0x40, 4, &dev6); + ptr2=(long*)(dev6+0x68); + + /* Read the MMR Base Address & Define the pointer */ +diff --git a/init.c b/init.c +index 754b8d7..5bd8b4f 100644 +--- a/init.c ++++ b/init.c +@@ -7,6 +7,8 @@ + * + * Released under version 2 of the Gnu Public License. + * By Chris Brady ++ * ++ * Edited by David McInnis October 4, 2014 + */ + + +@@ -914,7 +916,6 @@ void cpu_type(void) + default: + cprint(0, COL_MID, "Unknown Intel"); + break; +- break; + } + + } +diff --git a/main.c b/main.c +index 0bc7ca0..613f811 100644 +--- a/main.c ++++ b/main.c +@@ -422,7 +422,7 @@ void test_start(void) + //initialise_cpus(); + btrace(my_cpu_num, __LINE__, "BeforeInit", 1, 0, 0); + /* Draw the screen and get system information */ +- init(); ++ init(); + + /* Set defaults and initialize variables */ + set_defaults(); +@@ -737,7 +737,7 @@ void test_start(void) + /* Do the same test for each CPU */ + if (++cpu_sel >= act_cpus) + { +- cpu_sel = 0; ++ cpu_sel = 0; + next_test(); + } else { + continue; diff --git a/pkgs/tools/misc/memtest86+/default.nix b/pkgs/tools/misc/memtest86+/default.nix index 500d7e815d2..dbd5a46e10a 100644 --- a/pkgs/tools/misc/memtest86+/default.nix +++ b/pkgs/tools/misc/memtest86+/default.nix @@ -8,6 +8,9 @@ stdenv.mkDerivation rec { sha256 = "0fch1l55753y6jkk0hj8f6vw4h1kinkn9ysp22dq5g9zjnvjf88l"; }; + # Patch incompatiblity with GCC. Source: http://koji.fedoraproject.org/koji/buildinfo?buildID=586907 + patches = [ ./compile-fix.patch ./crash-fix.patch ./no-optimization.patch ]; + preBuild = '' # Really dirty hack to get Memtest to build without needing a Glibc # with 32-bit libraries and headers. diff --git a/pkgs/tools/misc/memtest86+/no-optimization.patch b/pkgs/tools/misc/memtest86+/no-optimization.patch new file mode 100644 index 00000000000..76815a93170 --- /dev/null +++ b/pkgs/tools/misc/memtest86+/no-optimization.patch @@ -0,0 +1,11 @@ +--- memtest86+-5.01/Makefile~ 2014-01-08 01:30:11.355900076 +0000 ++++ memtest86+-5.01/Makefile 2014-01-08 01:31:19.387555469 +0000 +@@ -12,7 +12,7 @@ + AS=as -32 + CC=gcc + +-CFLAGS= -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin \ ++CFLAGS= -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin \ + -ffreestanding -fPIC $(SMP_FL) -fno-stack-protector + + OBJS= head.o reloc.o main.o test.o init.o lib.o patn.o screen_buffer.o \ |