Revision tags: v3.0-rc6, v3.0-rc5, v3.0-rc4, v3.0-rc3 |
|
#
8f4b8c76 |
| 10-Jun-2011 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: initrd: disable initrds outside of memory
We can't cope with initrds outside of memory, so check that the initrd is within some declared memory to the kernel before using it. Otherwise we're l
ARM: initrd: disable initrds outside of memory
We can't cope with initrds outside of memory, so check that the initrd is within some declared memory to the kernel before using it. Otherwise we're likely to OOPS during boot.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v3.0-rc2 |
|
#
45f6d7e0 |
| 02-Jun-2011 |
Rabin Vincent <rabin@rab.in> |
ARM: 6951/1: include .bss in memory layout information
The "Virtual memory kernel layout" message at startup already prints .text and .data. Print .bss too.
Signed-off-by: Rabin Vincent <rabin@rab
ARM: 6951/1: include .bss in memory layout information
The "Virtual memory kernel layout" message at startup already prints .text and .data. Print .bss too.
Signed-off-by: Rabin Vincent <rabin@rab.in> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v3.0-rc1 |
|
#
7b7bf499 |
| 19-May-2011 |
Will Deacon <will.deacon@arm.com> |
ARM: 6913/1: sparsemem: allow pfn_valid to be overridden when using SPARSEMEM
In commit eb33575c ("[ARM] Double check memmap is actually valid with a memmap has unexpected holes V2"), a new function
ARM: 6913/1: sparsemem: allow pfn_valid to be overridden when using SPARSEMEM
In commit eb33575c ("[ARM] Double check memmap is actually valid with a memmap has unexpected holes V2"), a new function, memmap_valid_within, was introduced to mmzone.h so that holes in the memmap which pass pfn_valid in SPARSEMEM configurations can be detected and avoided.
The fix to this problem checks that the pfn <-> page linkages are correct by calculating the page for the pfn and then checking that page_to_pfn on that page returns the original pfn. Unfortunately, in SPARSEMEM configurations, this results in reading from the page flags to determine the correct section. Since the memmap here has been freed, junk is read from memory and the check is no longer robust.
In the best case, reading from /proc/pagetypeinfo will give you the wrong answer. In the worst case, you get SEGVs, Kernel OOPses and hung CPUs. Furthermore, ioremap implementations that use pfn_valid to disallow the remapping of normal memory will break.
This patch allows architectures to provide their own pfn_valid function instead of using the default implementation used by sparsemem. The architecture-specific version is aware of the memmap state and will return false when passed a pfn for a freed page within a valid section.
Acked-by: Mel Gorman <mgorman@suse.de> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Tested-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
#
7bf02ea2 |
| 24-May-2011 |
David Rientjes <rientjes@google.com> |
arch, mm: filter disallowed nodes from arch specific show_mem functions
Architectures that implement their own show_mem() function did not pass the filter argument to show_free_areas() to appropriat
arch, mm: filter disallowed nodes from arch specific show_mem functions
Architectures that implement their own show_mem() function did not pass the filter argument to show_free_areas() to appropriately avoid emitting the state of nodes that are disallowed in the current context. This patch now passes the filter argument to show_free_areas() so those nodes are now avoided.
This patch also removes the show_free_areas() wrapper around __show_free_areas() and converts existing callers to pass an empty filter.
ia64 emits additional information for each node, so skip_free_areas_zone() must be made global to filter disallowed nodes and it is converted to use a nid argument rather than a zone for this use case.
Signed-off-by: David Rientjes <rientjes@google.com> Cc: Russell King <linux@arm.linux.org.uk> Cc: Tony Luck <tony.luck@intel.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Cc: Kyle McMartin <kyle@mcmartin.ca> Cc: Helge Deller <deller@gmx.de> Cc: James Bottomley <jejb@parisc-linux.org> Cc: "David S. Miller" <davem@davemloft.net> Cc: Guan Xuetao <gxt@mprc.pku.edu.cn> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
show more ...
|
Revision tags: v2.6.39, v2.6.39-rc7, v2.6.39-rc6 |
|
#
93c02ab4 |
| 28-Apr-2011 |
Grant Likely <grant.likely@secretlab.ca> |
arm/dt: probe for platforms via the device tree
If a dtb is passed to the kernel then the kernel needs to iterate through compiled-in mdescs looking for one that matches and move the dtb data to a s
arm/dt: probe for platforms via the device tree
If a dtb is passed to the kernel then the kernel needs to iterate through compiled-in mdescs looking for one that matches and move the dtb data to a safe location before it gets accidentally overwritten by the kernel.
This patch creates a new function, setup_machine_fdt() which is analogous to the setup_machine_atags() created in the previous patch. It does all the early setup needed to use a device tree machine description.
v5: - Print warning with neither dtb nor atags are passed to the kernel - Fix bug in setting of __machine_arch_type to the selected machine, not just the last machine in the list. Reported-by: Tixy <tixy@yxit.co.uk> - Copy command line directly into boot_command_line instead of cmd_line v4: - Dump some output when a matching machine_desc cannot be found v3: - Added processing of reserved list. - Backed out the v2 change that copied instead of reserved the dtb. dtb is reserved again and the real problem was fixed by using alloc_bootmem_align() for early allocation of RAM for unflattening the tree. - Moved cmd_line and initrd changes to earlier patch to make series bisectable. v2: Changed to save the dtb by copying into an allocated buffer. - Since the dtb will very likely be passed in the first 16k of ram where the interrupt vectors live, memblock_reserve() is insufficient to protect the dtb data.
[based on work originally written by Jeremy Kerr <jeremy.kerr@canonical.com>] Tested-by: Tony Lindgren <tony@atomide.com> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
show more ...
|
#
9af386c8 |
| 28-Apr-2011 |
Will Deacon <will.deacon@arm.com> |
ARM: 6890/1: memmap: only free allocated memmap entries when using SPARSEMEM
The SPARSEMEM code allocates memmap entries only for sections which are present (i.e. those which contain some valid memo
ARM: 6890/1: memmap: only free allocated memmap entries when using SPARSEMEM
The SPARSEMEM code allocates memmap entries only for sections which are present (i.e. those which contain some valid memory). The membank checks in free_unused_memmap do not take this into account and can incorrectly attempt to free memory which is not allocated, resulting in a BUG() in the bootmem code.
However, if memory is configured as follows:
|<----section---->|<----hole---->|<----section---->| +--------+--------+--------------+--------+--------+ | bank 0 | unused | | bank 1 | unused | +--------+--------+--------------+--------+--------+
where a bank only occupies part of a section, the memmap allocated for the remainder of the section *can* be freed.
This patch modifies the checks in free_unused_memmap so that only valid memmap entries are considered for removal.
Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
#
be20902b |
| 11-May-2011 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: use ARM_DMA_ZONE_SIZE to adjust the zone sizes
Rather than each platform providing its own function to adjust the zone sizes, use the new ARM_DMA_ZONE_SIZE definition to perform this adjustment
ARM: use ARM_DMA_ZONE_SIZE to adjust the zone sizes
Rather than each platform providing its own function to adjust the zone sizes, use the new ARM_DMA_ZONE_SIZE definition to perform this adjustment. This ensures that the actual DMA zone size and the ISA_DMA_THRESHOLD/MAX_DMA_ADDRESS definitions are consistent with each other, and moves this complexity out of the platform code.
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
#
9eb8f674 |
| 28-Apr-2011 |
Grant Likely <grant.likely@secretlab.ca> |
arm/dt: Allow CONFIG_OF on ARM
Add some basic empty infrastructure for DT support on ARM.
v5: - Fix off-by-one error in size calculation of initrd - Stop mucking with cmd_line, and load command
arm/dt: Allow CONFIG_OF on ARM
Add some basic empty infrastructure for DT support on ARM.
v5: - Fix off-by-one error in size calculation of initrd - Stop mucking with cmd_line, and load command line from dt into boot_command_line instead which matches the behaviour of ATAGS booting v3: - moved cmd_line export and initrd setup to this patch to make the series bisectable. - switched to alloc_bootmem_align() for allocation when unflattening the device tree. memblock_alloc() was not the right interface.
Signed-off-by: Jeremy Kerr <jeremy.kerr@canonical.com> Tested-by: Tony Lindgren <tony@atomide.com> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
show more ...
|
Revision tags: v2.6.39-rc5, v2.6.39-rc4, v2.6.39-rc3, v2.6.39-rc2, v2.6.39-rc1 |
|
#
b2b755b5 |
| 24-Mar-2011 |
David Rientjes <rientjes@google.com> |
lib, arch: add filter argument to show_mem and fix private implementations
Commit ddd588b5dd55 ("oom: suppress nodes that are not allowed from meminfo on oom kill") moved lib/show_mem.o out of lib/l
lib, arch: add filter argument to show_mem and fix private implementations
Commit ddd588b5dd55 ("oom: suppress nodes that are not allowed from meminfo on oom kill") moved lib/show_mem.o out of lib/lib.a, which resulted in build warnings on all architectures that implement their own versions of show_mem():
lib/lib.a(show_mem.o): In function `show_mem': show_mem.c:(.text+0x1f4): multiple definition of `show_mem' arch/sparc/mm/built-in.o:(.text+0xd70): first defined here
The fix is to remove __show_mem() and add its argument to show_mem() in all implementations to prevent this breakage.
Architectures that implement their own show_mem() actually don't do anything with the argument yet, but they could be made to filter nodes that aren't allowed in the current context in the future just like the generic implementation.
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Reported-by: James Bottomley <James.Bottomley@hansenpartnership.com> Suggested-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David Rientjes <rientjes@google.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
show more ...
|
Revision tags: v2.6.38, v2.6.38-rc8, v2.6.38-rc7, v2.6.38-rc6, v2.6.38-rc5 |
|
#
cae6292b |
| 15-Feb-2011 |
Will Deacon <will.deacon@arm.com> |
ARM: 6672/1: LPAE: use phys_addr_t instead of unsigned long in mapping functions
The unsigned long datatype is not sufficient for mapping physical addresses >= 4GB.
This patch ensures that the phys
ARM: 6672/1: LPAE: use phys_addr_t instead of unsigned long in mapping functions
The unsigned long datatype is not sufficient for mapping physical addresses >= 4GB.
This patch ensures that the phys_addr_t datatype is used to represent physical addresses when converting from a PFN.
Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v2.6.38-rc4, v2.6.38-rc3 |
|
#
b0a2679d |
| 30-Jan-2011 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: initrd: disable initrd if passed address overlaps reserved region
Disable the initrd if the passed address already overlaps the reserved region. This avoids oopses on Netwinders when NeTTrom t
ARM: initrd: disable initrd if passed address overlaps reserved region
Disable the initrd if the passed address already overlaps the reserved region. This avoids oopses on Netwinders when NeTTrom tells the kernel that an initrd is located at mem+4MB, but this overlaps the BSS, resulting in the kernels in-use BSS being freed.
This should be applied to v2.6.37-stable.
Cc: <stable@kernel.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v2.6.38-rc2, v2.6.38-rc1, v2.6.37, v2.6.37-rc8, v2.6.37-rc7, v2.6.37-rc6, v2.6.37-rc5, v2.6.37-rc4, v2.6.37-rc3, v2.6.37-rc2, v2.6.37-rc1 |
|
#
f25b4b4c |
| 27-Oct-2010 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: memblock: move meminfo into find_limits directly
bootmem_init() no longer makes several uses of the membank information, so move this into the one remaining called function which does use it.
ARM: memblock: move meminfo into find_limits directly
bootmem_init() no longer makes several uses of the membank information, so move this into the one remaining called function which does use it.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
#
df4f14c7 |
| 27-Oct-2010 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: memblock: convert free_highpages() to use memblock
Free the high pages using the memblock memory lists - and more importantly, exclude any memblock allocations in highmem from the free'd memory
ARM: memblock: convert free_highpages() to use memblock
Free the high pages using the memblock memory lists - and more importantly, exclude any memblock allocations in highmem from the free'd memory.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
#
d0e775af |
| 27-Oct-2010 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: move freeing of highmem pages out of mem_init()
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
#
47ea3c15 |
| 27-Oct-2010 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: memblock: convert memory detail printing to use memblock
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
#
a801d276 |
| 27-Oct-2010 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: memblock: use memblock to free memory into arm_bootmem_init()
Switch arm_bootmem_init() to use memblock instead of membank to free memory into bootmem.
Signed-off-by: Russell King <rmk+kernel@
ARM: memblock: use memblock to free memory into arm_bootmem_init()
Switch arm_bootmem_init() to use memblock instead of membank to free memory into bootmem.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
#
a2c54d2a |
| 27-Oct-2010 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: memblock: use memblock when initializing memory allocators
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
#
7dc50ec7 |
| 27-Oct-2010 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: ensure membank array is always sorted
This was missing from the noMMU code, so there was the possibility of things not working as expected if out of order memory information was passed.
Signed
ARM: ensure membank array is always sorted
This was missing from the noMMU code, so there was the possibility of things not working as expected if out of order memory information was passed.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v2.6.36, v2.6.36-rc8 |
|
#
c7fc2de0 |
| 12-Oct-2010 |
Yinghai Lu <yinghai@kernel.org> |
memblock, bootmem: Round pfn properly for memory and reserved regions
We need to round memory regions correctly -- specifically, we need to round reserved region in the more expansive direction (low
memblock, bootmem: Round pfn properly for memory and reserved regions
We need to round memory regions correctly -- specifically, we need to round reserved region in the more expansive direction (lower limit down, upper limit up) whereas usable memory regions need to be rounded in the more restrictive direction (lower limit up, upper limit down).
This introduces two set of inlines:
memblock_region_memory_base_pfn() memblock_region_memory_end_pfn() memblock_region_reserved_base_pfn() memblock_region_reserved_end_pfn()
Although they are antisymmetric (and therefore are technically duplicates) the use of the different inlines explicitly documents the programmer's intention.
The lack of proper rounding caused a bug on ARM, which was then found to also affect other architectures.
Reported-by: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Yinghai Lu <yinghai@kernel.org> LKML-Reference: <4CB4CDFD.4020105@kernel.org> Cc: Jeremy Fitzhardinge <jeremy@goop.org> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
show more ...
|
Revision tags: v2.6.36-rc7 |
|
#
842eab40 |
| 01-Oct-2010 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: vmlinux.lds: Refer to start of .data using _sdata rather than _data
Use _sdata as the start of the data section, rather than _data.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
Revision tags: v2.6.36-rc6, v2.6.36-rc5 |
|
#
7c996361 |
| 16-Sep-2010 |
Yinghai Lu <yinghai@kernel.org> |
arm, memblock: Fix the sparsemem build
Stephen Rothwell reported this build failure:
arch/arm/mm/init.c: In function 'arm_memory_present': arch/arm/mm/init.c:260: warning: ISO C90 forbids mixed
arm, memblock: Fix the sparsemem build
Stephen Rothwell reported this build failure:
arch/arm/mm/init.c: In function 'arm_memory_present': arch/arm/mm/init.c:260: warning: ISO C90 forbids mixed declarations and code
Caused by commit 719c1514f2 ("memblock/arm: Use new accessors") which forgot a closing brace on a new for_each_memblock() in arm_memory_present().
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Yinghai Lu <yinghai@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Russell King <linux@arm.linux.org.uk> LKML-Reference: <4C91C544.5050907@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
show more ...
|
Revision tags: v2.6.36-rc4, v2.6.36-rc3, v2.6.36-rc2, v2.6.36-rc1 |
|
#
719c1514 |
| 04-Aug-2010 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
memblock/arm: Use new accessors
CC: Russell King <linux@arm.linux.org.uk> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
|
#
5e6f6aa1 |
| 03-Aug-2010 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
memblock/arm: pfn_valid uses memblock_is_memory()
The implementation is pretty much similar. There is a -small- added overhead by having another function call and the address shift.
If that becomes
memblock/arm: pfn_valid uses memblock_is_memory()
The implementation is pretty much similar. There is a -small- added overhead by having another function call and the address shift.
If that becomes a concern, I suppose we could actually have memblock itself expose a memblock_pfn_valid() which then ARM can use directly with an appropriate #define...
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
show more ...
|
#
e3239ff9 |
| 03-Aug-2010 |
Benjamin Herrenschmidt <benh@kernel.crashing.org> |
memblock: Rename memblock_region to memblock_type and memblock_property to memblock_region
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
|
Revision tags: v2.6.35, v2.6.35-rc6, v2.6.35-rc5 |
|
#
1dbd30e9 |
| 12-Jul-2010 |
Linus Walleij <linus.walleij@stericsson.com> |
ARM: 6225/1: make TCM allocation static and common for all archs
This changes the TCM handling so that a fixed area is reserved at 0xfffe0000-0xfffeffff for TCM. This areas is used by XScale but XSc
ARM: 6225/1: make TCM allocation static and common for all archs
This changes the TCM handling so that a fixed area is reserved at 0xfffe0000-0xfffeffff for TCM. This areas is used by XScale but XScale does not have TCM so the mechanisms are mutually exclusive.
This change is needed to make TCM detection more dynamic while still being able to compile code into it, and is a must for the unified ARM goals: the current TCM allocation at different places in memory for each machine would be a nightmare if you want to compile a single image for more than one machine with TCM so it has to be nailed down in one place.
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|