--- memtest86+-1.65.orig/pci.c +++ memtest86+-1.65/pci.c @@ -93,12 +93,18 @@ { unsigned long value; int result; + int dev; + /* Do a trivial check to make certain we can see a host bridge. * There are reportedly some buggy chipsets from intel and * compaq where this test does not work, I will worry about * that when we support them. */ - result = pci_conf_read(0, 0, 0, PCI_CLASS_DEVICE, 2, &value); + dev = 0; + if (cpu_id.cpuid > 0 && cpu_id.vend_id[0] == 'A' && cpu_id.type == 15) { + dev = 24; + } + result = pci_conf_read(0, dev, 0, PCI_CLASS_DEVICE, 2, &value); if (result == 0) { result = -1; if (value == PCI_CLASS_BRIDGE_HOST) { --- memtest86+-1.65.orig/controller.c +++ memtest86+-1.65/controller.c @@ -1798,10 +1798,10 @@ /* AMD */ { 0x1022, 0x7006, "AMD 751", 0, poll_fsb_nothing, poll_timings_nothing, setup_amd751, poll_amd751 }, - { 0x1022, 0x700c, "AMD 762", 0, poll_fsb_nothing, poll_timings_nothing, setup_amd76x, poll_amd76x }, - { 0x1022, 0x700e, "AMD 761", 0, poll_fsb_nothing, poll_timings_nothing, setup_amd76x, poll_amd76x }, - { 0x1022, 0x1100, "AMD 8000", 0, poll_fsb_amd64, poll_timings_amd64, setup_amd64, poll_amd64 }, - { 0x1022, 0x7454, "AMD 8000", 0, poll_fsb_amd64, poll_timings_amd64, setup_amd64, poll_amd64 }, + { 0x1022, 0x700c, "AMD 762", 1, poll_fsb_nothing, poll_timings_nothing, setup_amd76x, poll_amd76x }, + { 0x1022, 0x700e, "AMD 761", 1, poll_fsb_nothing, poll_timings_nothing, setup_amd76x, poll_amd76x }, + { 0x1022, 0x1100, "AMD 8000", 1, poll_fsb_amd64, poll_timings_amd64, setup_amd64, poll_amd64 }, + { 0x1022, 0x7454, "AMD 8000", 1, poll_fsb_amd64, poll_timings_amd64, setup_amd64, poll_amd64 }, /* SiS */ { 0x1039, 0x0600, "SiS 600", 0, poll_fsb_nothing, poll_timings_nothing, setup_nothing, poll_nothing }, @@ -1897,14 +1897,14 @@ { 0x8086, 0x84C5, "Intel i450gx", 0, poll_fsb_nothing, poll_timings_nothing, setup_nothing, poll_nothing }, { 0x8086, 0x2540, "Intel E7500", 1, poll_fsb_p4, poll_timings_E750x, setup_iE7xxx, poll_iE7xxx }, { 0x8086, 0x254C, "Intel E7501", 1, poll_fsb_p4, poll_timings_E750x, setup_iE7xxx, poll_iE7xxx }, - { 0x8086, 0x255d, "Intel E7205", 0, poll_fsb_p4, poll_timings_nothing, setup_iE7xxx, poll_iE7xxx }, + { 0x8086, 0x255d, "Intel E7205", 1, poll_fsb_p4, poll_timings_nothing, setup_iE7xxx, poll_iE7xxx }, { 0x8086, 0x3592, "Intel E7320", 0, poll_fsb_p4, poll_timings_E7520, setup_iE7520, poll_iE7520 }, { 0x8086, 0x2588, "Intel E7221", 1, poll_fsb_i925, poll_timings_i925, setup_i925, poll_iE7221 }, { 0x8086, 0x3590, "Intel E7520", 0, poll_fsb_p4, poll_timings_E7520, setup_iE7520, poll_nothing }, { 0x8086, 0x2600, "Intel E8500", 0, poll_fsb_p4, poll_timings_nothing, setup_nothing, poll_nothing }, - { 0x8086, 0x2570, "Intel i848/i865", 0, poll_fsb_i875, poll_timings_i875, setup_i875, poll_nothing }, - { 0x8086, 0x2578, "Intel i875P", 0, poll_fsb_i875, poll_timings_i875, setup_i875, poll_i875 }, - { 0x8086, 0x2550, "Intel E7505", 0, poll_fsb_p4, poll_timings_nothing, setup_iE7xxx, poll_iE7xxx }, + { 0x8086, 0x2570, "Intel i848/i865", 1, poll_fsb_i875, poll_timings_i875, setup_i875, poll_nothing }, + { 0x8086, 0x2578, "Intel i875P", 1, poll_fsb_i875, poll_timings_i875, setup_i875, poll_i875 }, + { 0x8086, 0x2550, "Intel E7505", 1, poll_fsb_p4, poll_timings_nothing, setup_iE7xxx, poll_iE7xxx }, { 0x8086, 0x3580, "Intel ", 0, poll_fsb_i855, poll_timings_i852, setup_nothing, poll_nothing }, { 0x8086, 0x3340, "Intel i855PM", 0, poll_fsb_i855, poll_timings_i855, setup_nothing, poll_nothing }, { 0x8086, 0x2580, "Intel i915P/G", 0, poll_fsb_i925, poll_timings_i925, setup_i925, poll_nothing }, @@ -1997,6 +1997,11 @@ unsigned long vendor; unsigned long device; int i; + + /* AMD64 don't have anything on dev 0 (at least not the ones we have access too) */ + if (cpu_id.cpuid > 0 && cpu_id.vend_id[0] == 'A' && cpu_id.type == 15) { + ctrl.dev = 24; + } int result; result = pci_conf_read(ctrl.bus, ctrl.dev, ctrl.fn, PCI_VENDOR_ID, 2, &vendor); result = pci_conf_read(ctrl.bus, ctrl.dev, ctrl.fn, PCI_DEVICE_ID, 2, &device); --- memtest86+-1.65.orig/debian/README.Debian +++ memtest86+-1.65/debian/README.Debian @@ -0,0 +1,13 @@ +memtest86+ for Debian +--------------------- + +Binary image is /boot/memtest86+.bin + +To run the tester you'll need to setup your bootloader (see +examples/lilo.conf for LILO), or to make a boot-floppy, and reboot on +this image. + +The make-memtest86+-boot-floppy utility will help you to create a +boot floppy or floppy image. + + -- Yann Dirson , Tue May 25 15:49:06 2004 --- memtest86+-1.65.orig/debian/changelog +++ memtest86+-1.65/debian/changelog @@ -0,0 +1,193 @@ +memtest86+ (1.65-1) unstable; urgency=low + + * New upstream release (Closes: #331394). + * Get rid of "read -p" bashism in postinst (Closes: 327454). + * Get rid of the -a and -o bashisms in test calls in postinst, use && + and || instead (lintian). + * Fixed style error in extended description (Tarzeau). + + -- Yann Dirson Wed, 5 Oct 2005 21:56:07 +0200 + +memtest86+ (1.60-2) unstable; urgency=low + + * Install (partial) upstream changelog (Closes: #325129). + * Added a clarifying note to the sample grub.conf for /boot partitions + (Closes: #311144). + * Applied patch from Mattias Wadenstein to test for ECC on more chipsets + (Closes: #303049). + + -- Yann Dirson Fri, 2 Sep 2005 09:47:12 +0200 + +memtest86+ (1.60-1) unstable; urgency=low + + * New upstream release. + * Re-applied Opteron patch. + + -- Yann Dirson Mon, 27 Jun 2005 23:28:25 +0200 + +memtest86+ (1.55.1-1) unstable; urgency=low + + * New upstream release. + * Applied Opteron patch from Mattias Wadenstein (Closes: #302371). + * Added amd64 to the Architecture list in debian/control (Closes: + #280508). + + -- Yann Dirson Mon, 4 Apr 2005 15:19:44 +0200 + +memtest86+ (1.51-1) unstable; urgency=low + + * New upstream release. + + -- Yann Dirson Thu, 17 Feb 2005 21:13:29 +0100 + +memtest86+ (1.50-1) unstable; urgency=low + + * New upstream release. + + -- Yann Dirson Fri, 28 Jan 2005 21:44:07 +0100 + +memtest86+ (1.40-1) unstable; urgency=low + + * New upstream release, based on memtest86 3.2 (Closes: #290027). + * No need to patch README any more. + * Removed capitalized article at start of short description (thanks + lintian). + + -- Yann Dirson Sat, 15 Jan 2005 23:14:30 +0100 + +memtest86+ (1.30-1) unstable; urgency=low + + * New upstream release. + + -- Yann Dirson Fri, 12 Nov 2004 18:36:29 +0100 + +memtest86+ (1.27-2) unstable; urgency=low + + * Removed the note in extended description that it was once part of + hwtools, since that only applies to memtest86. + + -- Yann Dirson Sat, 16 Oct 2004 16:35:46 +0200 + +memtest86+ (1.27-1) unstable; urgency=low + + * New upstream release. + + -- Yann Dirson Fri, 15 Oct 2004 23:16:30 +0200 + +memtest86+ (1.26-2) unstable; urgency=low + + * regarding make-memtest86+-boot-floppy: + - posixified call to "read" (Closes: #275233). + - added mtools to suggested packages, and notice early when the + package is missing (Closes: #264619). + - changed message about grub package, and versionned the suggests + field, so people know they need a recent version of it (Closes: + #269148). + * Bumped Standards-Version to 3.6.1, no change. + + -- Yann Dirson Wed, 13 Oct 2004 23:58:12 +0200 + +memtest86+ (1.26-1) unstable; urgency=low + + * New upstream release. + + -- Yann Dirson Mon, 13 Sep 2004 23:07:44 +0200 + +memtest86+ (1.20-2) unstable; urgency=low + + * Fixed make-memtest86+-boot-floppy to use /lib/grub instead of old + /usr/lib/grub (Closes: #261883). + * Added grub to the list of suggested packages. Mentionned the script + in the description. + * Include manpage by Thomas Schmidt for make-memtest86+-boot-floppy + (see #263708). + * Added debian/watch file. + + -- Yann Dirson Sat, 7 Aug 2004 01:39:21 +0200 + +memtest86+ (1.20-1) unstable; urgency=low + + * New upstream release. + + -- Yann Dirson Mon, 19 Jul 2004 14:38:19 +0200 + +memtest86+ (1.15-2) unstable; urgency=low + + * Install make-memtest86+-boot-floppy in /usr/bin/. + * Mention it in README.Debian. + + -- Yann Dirson Tue, 25 May 2004 15:49:16 +0200 + +memtest86+ (1.15-1) unstable; urgency=low + + * New upstream release: + - KTxxx-specific code was disabled (Closes: #241698). + - allows building with gcc 3.3, so go for it. + + -- Yann Dirson Sun, 23 May 2004 00:52:15 +0200 + +memtest86+ (1.11-3) unstable; urgency=low + + * Step back to using gcc-2.95 to allow gcc-3.2 to be dropped (Closes: + #236455). + + -- Yann Dirson Thu, 1 Apr 2004 22:16:53 +0200 + +memtest86+ (1.11-2) unstable; urgency=low + + * Fixed --memtest option in make-memtest86+-boot-floppy. + * Integrated changes from Martin Koeppe in + make-memtest86+-boot-floppy: + * use mtools to write into floppy image without being root + * cannot select filesystem type anymore, msdos only (who cares ?) + * put full GRUB on floppy to be able to install on harddisk + * Removed internal parameter for fd0, since that booting floopy is + always fd0 (if not, tell me). That settles the potential problem with + linux/grub device names mapping: there's no problem. + * When writing to a real device, use a temporary image file and dd it as + a last step, so that mtools synchronous writes do not slow down things. + + -- Yann Dirson Mon, 15 Mar 2004 18:21:35 +0100 + +memtest86+ (1.11-1) unstable; urgency=low + + * New upstream release. + + -- Yann Dirson Tue, 17 Feb 2004 14:00:55 +0100 + +memtest86+ (1.10-1) unstable; urgency=low + + * New upstream release. + + -- Yann Dirson Mon, 16 Feb 2004 15:12:15 +0100 + +memtest86+ (1.00-4) unstable; urgency=low + + * Fixed postinst snippet to check for memtest86+ instead of memtest86 + (thanks hmh). + + -- Yann Dirson Thu, 5 Feb 2004 10:18:50 +0100 + +memtest86+ (1.00-3) unstable; urgency=low + + * Fixed make-memtest86+-boot-floppy to correctly select the devault + image as /dev/fd0. + * Fixed make-memtest86+-boot-floppy usage summary to advertise expected + syntax. + + -- Yann Dirson Wed, 4 Feb 2004 18:02:26 +0100 + +memtest86+ (1.00-2) unstable; urgency=low + + * Improved the make-memtest86+-boot-floppy script to support writing to + a floppy image. + + -- Yann Dirson Wed, 4 Feb 2004 14:59:39 +0100 + +memtest86+ (1.00-1) unstable; urgency=low + + * Initial packaging, based on memtest86 3.0-5 (Closes: #230963). + * Force the use of gcc-3.2, since neither 3.3 nor 2.95 work. + * Use dh-buildinfo. + + -- Yann Dirson Wed, 4 Feb 2004 00:14:06 +0100 --- memtest86+-1.65.orig/debian/control +++ memtest86+-1.65/debian/control @@ -0,0 +1,28 @@ +Source: memtest86+ +Section: misc +Priority: optional +Maintainer: Yann Dirson +Build-Depends: debhelper (>> 3.0.0), dh-buildinfo +Standards-Version: 3.6.1 + +Package: memtest86+ +Architecture: i386 amd64 +Suggests: hwtools, sysutils, kernel-patch-badram, grub (>= 0.95+cvs20040624), mtools +Description: thorough real-mode memory tester + Memtest86+ scans your RAM for errors. + . + This tester runs independently of any OS - it is run at computer + boot-up, so that it can test *all* of you memory. You may want to + look at `memtest' (in package `sysutils'), which allows to test + your memory within Linux, but this one won't be able to test your + whole RAM. + . + It can output a list of bad RAM regions usable by the BadRAM kernel + patch, so that you can still use you old RAM with one or two bad bits. + . + Memtest86+ is based on memtest86 3.0, and adds support for recent + hardware, as well as a number of general-purpose improvements, + including many patches to memtest86 available from various sources. + . + A convenience script is also provided to make a grub-based floppy or + image. --- memtest86+-1.65.orig/debian/copyright +++ memtest86+-1.65/debian/copyright @@ -0,0 +1,26 @@ +This package was debianized by Yann Dirson + +It was downloaded from http://www.memtest.org/ + +Upstream Author: Samuel Demeulemeester , based on +memtest86 by Chris Brady , and various contributors. + +Copyright: + + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 dated June, 1991. + + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this package; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + 02111-1307, USA. + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL'. + --- memtest86+-1.65.orig/debian/grub-menu.lst +++ memtest86+-1.65/debian/grub-menu.lst @@ -0,0 +1,8 @@ +# sample /boot/grub/menu.lst entry for memtest86 +# +# This example assumes the contents of /boot is on the root partition. +# If your /boot is on its own partition, remove /boot from the 'kernel' line. + +title memtest86+ +root (hd0,0) +kernel /boot/memtest86+.bin --- memtest86+-1.65.orig/debian/lilo.conf +++ memtest86+-1.65/debian/lilo.conf @@ -0,0 +1,5 @@ +# sample /etc/lilo.conf entry for memtest86 + +image = /boot/memtest86+.bin + label = memtest86+ + --- memtest86+-1.65.orig/debian/postinst +++ memtest86+-1.65/debian/postinst @@ -0,0 +1,19 @@ +#!/bin/sh + +set -e + +# offer to run LILO +# (adapted from snippet by chr.ohm@gmx.net) +if [ -x /sbin/lilo ] && [ -r /etc/lilo.conf ] && + grep "image.*=.*/boot/memtest86+.bin" /etc/lilo.conf >/dev/null +then + echo "You seem to have an entry for memtest86+ in /etc/lilo.conf." + printf "Run lilo now [y/N]? " + read c + if [ "$c" = "y" ] || [ "$c" = "Y" ] + then + /sbin/lilo + fi +fi + +#DEBHELPER# --- memtest86+-1.65.orig/debian/rules +++ memtest86+-1.65/debian/rules @@ -0,0 +1,54 @@ +#!/usr/bin/make -f +# Sample debian/rules that uses debhelper. +# GNU copyright 1997 to 1999 by Joey Hess. + +build: build-stamp +build-stamp: + dh_testdir + $(MAKE) # CC=gcc-2.95 + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp + + -$(MAKE) clean + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + mkdir -p debian/memtest86+/boot debian/memtest86+/usr/bin + install -m644 memtest.bin debian/memtest86+/boot/memtest86+.bin + install -m755 debian/make-memtest86+-boot-floppy debian/memtest86+/usr/bin/ + dh_installman debian/make-memtest86+-boot-floppy.1 + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot +# dh_installdebconf + dh_installdocs README + dh_buildinfo + dh_installexamples debian/lilo.conf debian/grub-menu.lst + dh_installchangelogs changelog +# dh_strip + dh_compress + dh_fixperms + dh_installdeb +# dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure --- memtest86+-1.65.orig/debian/compat +++ memtest86+-1.65/debian/compat @@ -0,0 +1 @@ +3 --- memtest86+-1.65.orig/debian/make-memtest86+-boot-floppy +++ memtest86+-1.65/debian/make-memtest86+-boot-floppy @@ -0,0 +1,101 @@ +#!/bin/sh +# +# Script for making a memtest86 boot floppy using GRUB as bootloader +# + +# (c) 2003 Peter Loje Hansen +# - original version +# (c) 2004 Yann Dirson +# - added parameters +# - ability to work on a floppy image instead of a real floppy +# - adapted patches from Martin Koeppe , to use +# mtools and install full grub + +# TODO: +# - add a flag to generate a default boot entry for (hd0) + +set -e + +MEMTEST=/boot/memtest86+.bin +FLOPPYIMAGE=/dev/fd0 + +error() +{ + echo >&2 "$0: $*" + exit 1 +} + +needsarg() +{ + [ $1 -ge 2 ] || error "syntax error" +} + +[ -d /lib/grub ] || error "Can't find /lib/grub - did you install a recent grub package (0.95+cvs20040624 or later) ?" +[ -x /usr/bin/mformat ] || error "Can't find mformat - did you install the mtools package ?" + +while [ $# -gt 0 ] +do + case "$1" in + --help) echo "$0 [--memtest $MEMTEST] [--floppyimage $FLOPPYIMAGE]"; exit 0 ;; + --memtest) needsarg $#; MEMTEST="$2"; shift ;; + --floppyimage) needsarg $#; FLOPPYIMAGE="$2"; shift ;; + *) error "syntax error" ;; + esac + shift +done + +MOUNTPOINT=$(mktemp -d) + +if [ -b "$FLOPPYIMAGE" ] +then + FINALDEV="$FLOPPYIMAGE" + FLOPPYIMAGE="$(mktemp)" +else + FINALDEV="" +fi + +echo "* Creating msdos file system" +echo +if [ ! -s "$FLOPPYIMAGE" ]; then + # unless a non-empty image exists, create a blank one first + dd bs=1024 count=1440 if=/dev/zero of="$FLOPPYIMAGE" +fi +# FIXME: "-f 1440" should probably be dropped +mformat -i $FLOPPYIMAGE -f 1440 :: + +mmd -i $FLOPPYIMAGE ::/boot +mmd -i $FLOPPYIMAGE ::/boot/grub + +echo +echo "* Installing GRUB files" +mcopy -v -i "$FLOPPYIMAGE" - ::/boot/grub/menu.lst < +.B ] [ \-\-floppyimage +.I +.B ] + +.SH DESCRIPTION +.B make-memtest86+-boot-floppy +can create a memtest86+ boot floppy using GRUB as the bootloader. + +.SH OPTIONS + +.IP "\-\-memtest " +Path to the memtest86+-image, default is /boot/memtest86+.bin. + +.IP "\-\-floppyimage " +File or device where the boot-image should be written to, default is /dev/fd0. + +.IP "\-\-help" +Display a short message about the options of the tool. + +.SH AUTHOR +This man-page has been written by Thomas Schmidt +.PP +Permission is granted to copy, distribute and/or modify this document under +the terms of the GNU General Public License, Version 2 any +later version published by the Free Software Foundation. +.PP +On Debian systems, the complete text of the GNU General Public +License can be found in /usr/share/common\-licenses/GPL. --- memtest86+-1.65.orig/debian/opteron.diff +++ memtest86+-1.65/debian/opteron.diff @@ -0,0 +1,36 @@ +--- memtest86+-1.60.orig/controller.c ++++ memtest86+-1.60/controller.c +@@ -1994,6 +1994,11 @@ + unsigned long vendor; + unsigned long device; + int i; ++ ++ /* AMD64 don't have anything on dev 0 (at least not the ones we have access too) */ ++ if (cpu_id.cpuid > 0 && cpu_id.vend_id[0] == 'A' && cpu_id.type == 15) { ++ ctrl.dev = 24; ++ } + int result; + result = pci_conf_read(ctrl.bus, ctrl.dev, ctrl.fn, PCI_VENDOR_ID, 2, &vendor); + result = pci_conf_read(ctrl.bus, ctrl.dev, ctrl.fn, PCI_DEVICE_ID, 2, &device); +--- memtest86+-1.60.orig/pci.c ++++ memtest86+-1.60/pci.c +@@ -93,12 +93,18 @@ + { + unsigned long value; + int result; ++ int dev; ++ + /* Do a trivial check to make certain we can see a host bridge. + * There are reportedly some buggy chipsets from intel and + * compaq where this test does not work, I will worry about + * that when we support them. + */ +- result = pci_conf_read(0, 0, 0, PCI_CLASS_DEVICE, 2, &value); ++ dev = 0; ++ if (cpu_id.cpuid > 0 && cpu_id.vend_id[0] == 'A' && cpu_id.type == 15) { ++ dev = 24; ++ } ++ result = pci_conf_read(0, dev, 0, PCI_CLASS_DEVICE, 2, &value); + if (result == 0) { + result = -1; + if (value == PCI_CLASS_BRIDGE_HOST) { --- memtest86+-1.65.orig/debian/ecc-chipsets.diff +++ memtest86+-1.65/debian/ecc-chipsets.diff @@ -0,0 +1,36 @@ +--- memtest86+-1.60.orig/controller.c ++++ memtest86+-1.60/controller.c +@@ -1798,10 +1798,10 @@ + + /* AMD */ + { 0x1022, 0x7006, "AMD 751", 0, poll_fsb_nothing, poll_timings_nothing, setup_amd751, poll_amd751 }, +- { 0x1022, 0x700c, "AMD 762", 0, poll_fsb_nothing, poll_timings_nothing, setup_amd76x, poll_amd76x }, +- { 0x1022, 0x700e, "AMD 761", 0, poll_fsb_nothing, poll_timings_nothing, setup_amd76x, poll_amd76x }, +- { 0x1022, 0x1100, "AMD 8000", 0, poll_fsb_amd64, poll_timings_amd64, setup_amd64, poll_amd64 }, +- { 0x1022, 0x7454, "AMD 8000", 0, poll_fsb_amd64, poll_timings_amd64, setup_amd64, poll_amd64 }, ++ { 0x1022, 0x700c, "AMD 762", 1, poll_fsb_nothing, poll_timings_nothing, setup_amd76x, poll_amd76x }, ++ { 0x1022, 0x700e, "AMD 761", 1, poll_fsb_nothing, poll_timings_nothing, setup_amd76x, poll_amd76x }, ++ { 0x1022, 0x1100, "AMD 8000", 1, poll_fsb_amd64, poll_timings_amd64, setup_amd64, poll_amd64 }, ++ { 0x1022, 0x7454, "AMD 8000", 1, poll_fsb_amd64, poll_timings_amd64, setup_amd64, poll_amd64 }, + + /* SiS */ + { 0x1039, 0x0600, "SiS 600", 0, poll_fsb_nothing, poll_timings_nothing, setup_nothing, poll_nothing }, +@@ -1894,14 +1894,14 @@ + { 0x8086, 0x84C5, "Intel i450gx", 0, poll_fsb_nothing, poll_timings_nothing, setup_nothing, poll_nothing }, + { 0x8086, 0x2540, "Intel E7500", 1, poll_fsb_p4, poll_timings_E750x, setup_iE7xxx, poll_iE7xxx }, + { 0x8086, 0x254C, "Intel E7501", 1, poll_fsb_p4, poll_timings_E750x, setup_iE7xxx, poll_iE7xxx }, +- { 0x8086, 0x255d, "Intel E7205", 0, poll_fsb_p4, poll_timings_nothing, setup_iE7xxx, poll_iE7xxx }, ++ { 0x8086, 0x255d, "Intel E7205", 1, poll_fsb_p4, poll_timings_nothing, setup_iE7xxx, poll_iE7xxx }, + { 0x8086, 0x3592, "Intel E7320", 0, poll_fsb_p4, poll_timings_E7520, setup_iE7520, poll_iE7520 }, + { 0x8086, 0x2588, "Intel E7221", 1, poll_fsb_i925, poll_timings_i925, setup_i925, poll_iE7221 }, + { 0x8086, 0x3590, "Intel E7520", 0, poll_fsb_p4, poll_timings_E7520, setup_iE7520, poll_nothing }, + { 0x8086, 0x2600, "Intel E8500", 0, poll_fsb_p4, poll_timings_nothing, setup_nothing, poll_nothing }, +- { 0x8086, 0x2570, "Intel i848/i865", 0, poll_fsb_i875, poll_timings_i875, setup_i875, poll_nothing }, +- { 0x8086, 0x2578, "Intel i875P", 0, poll_fsb_i875, poll_timings_i875, setup_i875, poll_i875 }, +- { 0x8086, 0x2550, "Intel E7505", 0, poll_fsb_p4, poll_timings_nothing, setup_iE7xxx, poll_iE7xxx }, ++ { 0x8086, 0x2570, "Intel i848/i865", 1, poll_fsb_i875, poll_timings_i875, setup_i875, poll_nothing }, ++ { 0x8086, 0x2578, "Intel i875P", 1, poll_fsb_i875, poll_timings_i875, setup_i875, poll_i875 }, ++ { 0x8086, 0x2550, "Intel E7505", 1, poll_fsb_p4, poll_timings_nothing, setup_iE7xxx, poll_iE7xxx }, + { 0x8086, 0x3580, "Intel ", 0, poll_fsb_i855, poll_timings_i852, setup_nothing, poll_nothing }, + { 0x8086, 0x3340, "Intel i855PM", 0, poll_fsb_i855, poll_timings_i855, setup_nothing, poll_nothing }, + { 0x8086, 0x2580, "Intel i915P/G", 0, poll_fsb_i925, poll_timings_i925, setup_i925, poll_nothing }, --- memtest86+-1.65.orig/opteron.diff +++ memtest86+-1.65/opteron.diff @@ -0,0 +1,58 @@ +Package: memtest86+ +Version: 1.55 +Tags: patch + +The current and older versions of memtest86+ does not support the interal +Opteron memory controller properly. These are a few simple fixes for that +in two patches. The patches are against an older version, but visual +inspection says that they should apply well to a current upstreams source +at least. + +In addition to this, ecc polling should be turned on for "AMD 762", "AMD +761", "AMD 8000", "AMD 8000", "Intel E7205", "Intel i848/i865", "Intel +i875P", "Intel E7505". (Change the 0 after the string name to 1 in static +struct pci_memory_controller...) + +/Mattias Wadenstein + +diff -upr memtest86+-1.26.orig/pci.c memtest86+-1.26/pci.c +--- memtest86+-1.26.orig/pci.c Mon May 17 10:50:05 2004 ++++ memtest86+-1.26/pci.c Fri Oct 8 10:41:05 2004 +@@ -80,12 +83,18 @@ static int pci_sanity_check(void) + { + unsigned long value; + int result; ++ int dev; ++ + /* Do a trivial check to make certain we can see a host bridge. + * There are reportedly some buggy chipsets from intel and + * compaq where this test does not work, I will worry about + * that when we support them. + */ +- result = pci_conf_read(0, 0, 0, PCI_CLASS_DEVICE, 2, &value); ++ dev = 0; ++ if (cpu_id.cpuid > 0 && cpu_id.vend_id[0] == 'A' && cpu_id.type == 15) { ++ dev = 24; ++ } ++ result = pci_conf_read(0, dev, 0, PCI_CLASS_DEVICE, 2, &value); + if (result == 0) { + result = -1; + if (value == PCI_CLASS_BRIDGE_HOST) { + + +diff -upr memtest86+-1.26.orig/controller.c memtest86+-1.26/controller.c +--- memtest86+-1.26.orig/controller.c Wed Sep 1 16:02:00 2004 ++++ memtest86+-1.26/controller.c Fri Oct 8 10:46:44 2004 +@@ -1705,6 +1708,11 @@ void find_controller(void) + unsigned long device; + int i; + int result; ++ ++ /* AMD64 don't have anything on dev 0 (at least not the ones we have access too) */ ++ if (cpu_id.cpuid > 0 && cpu_id.vend_id[0] == 'A' && cpu_id.type == 15) { ++ ctrl.dev = 24; ++ } + result = pci_conf_read(ctrl.bus, ctrl.dev, ctrl.fn, PCI_VENDOR_ID, 2, &vendor); + result = pci_conf_read(ctrl.bus, ctrl.dev, ctrl.fn, PCI_DEVICE_ID, 2, &device); + ctrl.index = 0; +