From feb3fcf64f7d607a21d30ca4864fda1c8b61aa8a Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Wed, 24 Oct 2007 17:20:26 +0000 Subject: [PATCH] - fix for mactel machines --- memtest-intelmac-3.diff | 56 +++++++++++++++++++++++++++++++++++++++++ memtest86+.spec | 7 +++++- 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 memtest-intelmac-3.diff diff --git a/memtest-intelmac-3.diff b/memtest-intelmac-3.diff new file mode 100644 index 0000000..f309c08 --- /dev/null +++ b/memtest-intelmac-3.diff @@ -0,0 +1,56 @@ +diff -urpN memtest86+-1.70/setup.S.mactel memtest86+-1.70/setup.S +--- memtest86+-1.70/setup.S.mactel 2007-10-24 13:10:59.000000000 -0400 ++++ memtest86+-1.70/setup.S 2007-10-24 13:12:26.000000000 -0400 +@@ -29,6 +29,33 @@ start: + lgdt gdt_48 - start # load gdt with whatever appropriate + + # that was painless, now we enable A20 ++# start from grub-a20.patch ++ /* ++ * try to switch gateA20 using PORT92, the "Fast A20 and Init" ++ * register ++ */ ++ mov $0x92, %dx ++ inb %dx, %al ++ /* skip the port92 code if it's unimplemented (read returns 0xff) */ ++ cmpb $0xff, %al ++ jz alt_a20_done ++ ++ /* set or clear bit1, the ALT_A20_GATE bit */ ++ movb 4(%esp), %ah ++ testb %ah, %ah ++ jz alt_a20_cont1 ++ orb $2, %al ++ jmp alt_a20_cont2 ++alt_a20_cont1: ++ and $0xfd, %al ++ ++ /* clear the INIT_NOW bit; don't accidently reset the machine */ ++alt_a20_cont2: ++ and $0xfe, %al ++ outb %al, %dx ++ ++alt_a20_done: ++# end from grub-a20.patch + + call empty_8042 + +@@ -67,6 +94,9 @@ data32 ljmp $KERNEL_CS, $(TSTLOAD <<4) # + empty_8042: + call delay + inb $0x64, %al # 8042 status port ++ cmpb $0xff, %al # from grub-a20-patch, skip if not impl ++ jz empty_8042_ret ++ + testb $1, %al # output buffer? + jz no_output + call delay +@@ -76,6 +106,7 @@ empty_8042: + no_output: + testb $2, %al # is input buffer full? + jnz empty_8042 # yes - loop ++empty_8042_ret: + ret + # + # Delay is needed after doing i/o +diff -urpN memtest86+-1.70/memsize.c.mactel memtest86+-1.70/memsize.c diff --git a/memtest86+.spec b/memtest86+.spec index b03e56d..07ca2e2 100644 --- a/memtest86+.spec +++ b/memtest86+.spec @@ -6,7 +6,7 @@ Summary: Stand-alone memory tester for x86 and x86-64 computers Name: memtest86+ Version: 1.70 -Release: 3%{?dist} +Release: 4%{?dist} License: GPL ExclusiveArch: %{ix86} x86_64 Group: System Environment/Base @@ -19,6 +19,7 @@ Patch0: additional-lib-functions.diff Patch1: console-boot-parameter.diff Patch2: use-strtoul-in-getval.diff Patch3: parity-bits.diff +Patch4: memtest-intelmac-3.diff Requires(preun): coreutils # require glibc-devel.i386 via this file: BuildRequires: %{_includedir}/gnu/stubs-32.h @@ -39,6 +40,7 @@ Run 'memtest-setup' to add to your GRUB or lilo boot menu. %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 %build # Regular build flags not wanted for this binary @@ -70,6 +72,9 @@ rm -rf $RPM_BUILD_ROOT /sbin/new-memtest-pkg --remove %{version} %changelog +* Wed Oct 24 2007 Peter Jones - 1.70-4 +- Fix for mactel. + * Thu Oct 18 2007 Warren Togami - 1.70-3 - one more patch from mschmidt to allow configuration of parity and bits