History log of /arch/x86/mm/memtest.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
24aa07882b672fff2da2f5c955759f0bd13d32d5 12-Jul-2011 Tejun Heo <tj@kernel.org> memblock, x86: Replace memblock_x86_reserve/free_range() with generic ones

Other than sanity check and debug message, the x86 specific version of
memblock reserve/free functions are simple wrappers around the generic
versions - memblock_reserve/free().

This patch adds debug messages with caller identification to the
generic versions and replaces x86 specific ones and kills them.
arch/x86/include/asm/memblock.h and arch/x86/mm/memblock.c are empty
after this change and removed.

Signed-off-by: Tejun Heo <tj@kernel.org>
Link: http://lkml.kernel.org/r/1310462166-31469-14-git-send-email-tj@kernel.org
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
/arch/x86/mm/memtest.c
8d89ac808417e92a33fb5fa3c86352016643775a 12-Jul-2011 Tejun Heo <tj@kernel.org> x86: Replace memblock_x86_find_in_range_size() with for_each_free_mem_range()

setup_bios_corruption_check() and memtest do_one_pass() open code
memblock free area iteration using memblock_x86_find_in_range_size().
Convert them to use for_each_free_mem_range() instead.

This leaves memblock_x86_find_in_range_size() and
memblock_x86_check_reserved_size() unused. Kill them.

Signed-off-by: Tejun Heo <tj@kernel.org>
Link: http://lkml.kernel.org/r/1310462166-31469-8-git-send-email-tj@kernel.org
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
/arch/x86/mm/memtest.c
a9ce6bc15100023b411f8117e53a016d61889800 25-Aug-2010 Yinghai Lu <yinghai@kernel.org> x86, memblock: Replace e820_/_early string with memblock_

1.include linux/memblock.h directly. so later could reduce e820.h reference.
2 this patch is done by sed scripts mainly

-v2: use MEMBLOCK_ERROR instead of -1ULL or -1UL

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
/arch/x86/mm/memtest.c
9866b7e86a2ce4daa677be750e3ccbfc65d187f5 11-Jun-2009 Thomas Gleixner <tglx@linutronix.de> x86: memtest: use pointers of equal type for comparison

Commit c9690998ef48ffefeccb91c70a7739eebdea57f9 (x86: memtest: remove
64-bit division) introduced following compile warning:

arch/x86/mm/memtest.c: In function 'memtest':
arch/x86/mm/memtest.c:56: warning: comparison of distinct pointer types lacks a cast
arch/x86/mm/memtest.c:58: warning: comparison of distinct pointer types lacks a cast

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/arch/x86/mm/memtest.c
c9690998ef48ffefeccb91c70a7739eebdea57f9 08-Jun-2009 Andreas Herrmann <andreas.herrmann3@amd.com> x86: memtest: remove 64-bit division

Using gcc 3.3.5 a "make allmodconfig" + "CONFIG_KVM=n"
triggers a build error:

arch/x86/mm/built-in.o(.init.text+0x43f7): In function `__change_page_attr':
arch/x86/mm/pageattr.c:114: undefined reference to `__udivdi3'
make: *** [.tmp_vmlinux1] Error 1

The culprit turned out to be a division in arch/x86/mm/memtest.c
For more info see this thread:

http://marc.info/?l=linux-kernel&m=124416232620683

The patch entirely removes the division that caused the build
error.

[ Impact: build fix with certain GCC versions ]

Reported-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: xiyou.wangcong@gmail.com
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: <stable@kernel.org>
LKML-Reference: <20090608170939.GB12431@alberich.amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
/arch/x86/mm/memtest.c
d1a8e7792047f7dca7eb5759250e2c12800bf262 06-Mar-2009 Yinghai Lu <yinghai@kernel.org> x86: make "memtest" like "memtest=17"

Impact: make boot command line "memtest" do one loop by default

So don't need to guess many patterns in one loop.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
LKML-Reference: <49B10532.3020105@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
/arch/x86/mm/memtest.c
63823126c221dd721ce7351b596b3b73aa943613 25-Feb-2009 Andreas Herrmann <andreas.herrmann3@amd.com> x86: memtest: add additional (regular) test patterns

Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
/arch/x86/mm/memtest.c
bfb4dc0da45f8fddc76eba7e62919420c7d6dae2 25-Feb-2009 Andreas Herrmann <andreas.herrmann3@amd.com> x86: memtest: wipe out test pattern from memory

Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
/arch/x86/mm/memtest.c
570c9e69aaa84689fb8ed2a3a4af39ca54ba7a47 25-Feb-2009 Andreas Herrmann <andreas.herrmann3@amd.com> x86: memtest: adapt log messages

- print test pattern instead of pattern number,
- show pattern as stored in memory,
- use proper priority flags,
- consistent use of u64 throughout the code

Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
/arch/x86/mm/memtest.c
7dad169e57eda1f0aa6dc5ac43a898b4b0ced2c7 25-Feb-2009 Andreas Herrmann <andreas.herrmann3@amd.com> x86: memtest: cleanup memtest function

Impact: code cleanup

Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
/arch/x86/mm/memtest.c
6d74171bf7315257d276aa35400c5a8d6a993f19 25-Feb-2009 Andreas Herrmann <andreas.herrmann3@amd.com> x86: memtest: introduce array to select memtest patterns

Impact: code cleanup

Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
/arch/x86/mm/memtest.c
40823f737e5bd186a1156fb1c28f360260e1e084 25-Feb-2009 Andreas Herrmann <andreas.herrmann3@amd.com> x86: memtest: reuse test patterns when memtest parameter exceeds number of available patterns

Impact: fix unexpected behaviour when pattern number is out of range

Current implementation provides 4 patterns for memtest. The code doesn't
check whether the memtest parameter value exceeds the maximum pattern number.

Instead the memtest code pretends to test with non-existing patterns, e.g.
when booting with memtest=10 I've observed the following

...
early_memtest: pattern num 10
0000001000 - 0000006000 pattern 0
...
0000001000 - 0000006000 pattern 1
...
0000001000 - 0000006000 pattern 2
...
0000001000 - 0000006000 pattern 3
...
0000001000 - 0000006000 pattern 4
...
0000001000 - 0000006000 pattern 5
...
0000001000 - 0000006000 pattern 6
...
0000001000 - 0000006000 pattern 7
...
0000001000 - 0000006000 pattern 8
...
0000001000 - 0000006000 pattern 9
...

But in fact Linux didn't test anything for patterns > 4 as the default
case in memtest() is to leave the function.

I suggest to use the memtest parameter as the number of tests to be
performed and to re-iterate over all existing patterns.

Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
/arch/x86/mm/memtest.c
2cb0ebeeb664e6eefe06951709949203e04f7c7b 13-Oct-2008 Daniele Calore <orkaan@orkaan.org> x86: memtest fix use of reserve_early()

Hi all,

Wrong usage of 2nd parameter in reserve_early call.
66/75: reserve_early(start_bad, last_bad - start_bad, "BAD RAM");
^^^^^^^^^^^^^^^^^^^^

The correct way is to use 'end' address and not 'size'.
As a bonus a fix to the printk format.

Signed-off-by: Daniele Calore <orkaan@orkaan.org>
Acked-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
/arch/x86/mm/memtest.c
1f067167a83d1c7f80437fd1d32b55508aaca009 15-Jul-2008 Yinghai Lu <yhlu.kernel@gmail.com> x86: seperate memtest from init_64.c

it's separate functionality that deserves its own file.

This also prepares 32-bit memtest support.

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
/arch/x86/mm/memtest.c