linux_dsm_epyc7002/arch
Prarit Bhargava d6be118a97 x86: fix memmap=exactmap boot argument
When using kdump modifying the e820 map is yielding strange results.

For example starting with

 BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000100 - 0000000000093400 (usable)
 BIOS-e820: 0000000000093400 - 00000000000a0000 (reserved)
 BIOS-e820: 0000000000100000 - 000000003fee0000 (usable)
 BIOS-e820: 000000003fee0000 - 000000003fef3000 (ACPI data)
 BIOS-e820: 000000003fef3000 - 000000003ff80000 (ACPI NVS)
 BIOS-e820: 000000003ff80000 - 0000000040000000 (reserved)
 BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
 BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
 BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
 BIOS-e820: 00000000ff000000 - 0000000100000000 (reserved)

and booting with args

memmap=exactmap memmap=640K@0K memmap=5228K@16384K memmap=125188K@22252K memmap=76K#1047424K memmap=564K#1047500K

resulted in:

 user-defined physical RAM map:
 user: 0000000000000000 - 0000000000093400 (usable)
 user: 0000000000093400 - 00000000000a0000 (reserved)
 user: 0000000000100000 - 000000003fee0000 (usable)
 user: 000000003fee0000 - 000000003fef3000 (ACPI data)
 user: 000000003fef3000 - 000000003ff80000 (ACPI NVS)
 user: 000000003ff80000 - 0000000040000000 (reserved)
 user: 00000000e0000000 - 00000000f0000000 (reserved)
 user: 00000000fec00000 - 00000000fec10000 (reserved)
 user: 00000000fee00000 - 00000000fee01000 (reserved)
 user: 00000000ff000000 - 0000000100000000 (reserved)

But should have resulted in:

 user-defined physical RAM map:
 user: 0000000000000000 - 00000000000a0000 (usable)
 user: 0000000001000000 - 000000000151b000 (usable)
 user: 00000000015bb000 - 0000000008ffc000 (usable)
 user: 000000003fee0000 - 000000003ff80000 (ACPI data)

This is happening because of an improper usage of strcmp() in the
e820 parsing code.  The strcmp() always returns !0 and never resets the
value for e820.nr_map and returns an incorrect user-defined map.

This patch fixes the problem.

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-09-09 11:54:53 -07:00
..
alpha [PATCH] fix osf_getdirents() 2008-08-25 01:18:06 -04:00
arm [ARM] 5226/1: remove unmatched comment end. 2008-08-28 17:12:29 +01:00
avr32 avr32: Make atstk1006_nand_data definition static 2008-08-08 12:44:56 +02:00
blackfin Blackfin arch: Fix PM building on BF52x: No ROTWE on BF52x, add USBWE 2008-08-28 17:32:01 +08:00
cris removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
frv FRV: Wire up new system calls 2008-08-01 13:03:49 -07:00
h8300 [h8300] move include/asm-h8300 to arch/h8300/include/asm 2008-08-13 14:26:32 -07:00
ia64 [IA64] Fix __{in,out}s{w,l} to handle unaligned data 2008-08-25 11:23:13 -07:00
m32r m32r: use generic show_mem() 2008-07-26 12:00:11 -07:00
m68k m68k: atari_keyb_init operator precedence fix 2008-09-02 10:57:52 -07:00
m68knommu m68k{,nommu}: Wire up new system calls 2008-08-11 10:37:34 -07:00
mips [MIPS] Ignore vmlinux.lds generated files 2008-08-26 09:10:27 +01:00
mn10300 removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
parisc fix typo in arch/parisc/hpux/fs.c 2008-09-02 10:57:29 -07:00
powerpc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-08-27 17:38:07 -07:00
s390 [S390] Fix linker script. 2008-08-25 18:15:01 +02:00
sh Merge branch 'sh/for-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2008-08-20 08:46:11 -07:00
sparc sparc: Fix resource flags for PCI children in OF device tree. 2008-08-28 22:59:10 -07:00
sparc64 sparc64: setup_valid_addr_bitmap_from_pavail() should be __init 2008-08-30 02:04:45 -07:00
um uml: fix tty-related build error 2008-07-30 09:41:45 -07:00
x86 x86: fix memmap=exactmap boot argument 2008-09-09 11:54:53 -07:00
xtensa remove unneeded #include <linux/ide.h>'s 2008-08-05 18:17:00 +02:00
.gitignore
Kconfig tracehook: CONFIG_HAVE_ARCH_TRACEHOOK 2008-07-26 12:00:09 -07:00