01 Dec, 2006
1 commit
-
Most architectures have fairly simple discontiguous memory - a
simple set of successive regions each containing some memory.
These can be described simply as a log2 of their maximum size,
along with the base address of the first region and the number
of regions.The base address is already described by PHYS_PFN_OFFSET, and
the number of regions via the MAX_NUMNODES and the number of
online nodes.If we then supply the log2 of their maximum size, all the other
discontigmem macros can move into generic code.There is one exception: lh7a40x seems to have a more complicated
setup; this is left alone.Signed-off-by: Russell King
02 Jul, 2006
1 commit
-
Patch from Lennert Buytenhek
Analogous to the previous patch that allows ioremap() to use section
mappings, this patch allows ioremap() to use supersection mappings.
Original patch by Deepak Saxena.Signed-off-by: Lennert Buytenhek
Signed-off-by: Russell King
30 Jun, 2006
1 commit
-
Allow section mappings to be setup using ioremap() and torn down
with iounmap(). This requires additional support in the MM
context switch to ensure that mappings are properly synchronised
when mapped in.Based an original implementation by Deepak Saxena, reworked and
ARMv6 support added by rmk.Signed-off-by: Russell King
29 Jun, 2006
1 commit
-
Majorily based on Hyok Choi's patches, this fixes up the asm-arm
header files for mmuless systems. Over and above Hyok's patches:- nommu.h merged into mmu.h (it's only a structure)
- nommu_context.h is essentially the same as mmu_context.h, but
without the MM switching code.so there's no point having separate files. Also, in memory.h,
there's no point #ifndef'ing PHYS_OFFSET and END_MEM - both
CONFIG_DRAM_BASE and CONFIG_DRAM_SIZE will always be set by the
configuration scripts.Other files have minor formatting changes, but are essentially
the same. Hyok's original patches were signed off thusly:Signed-off-by: Hyok S. Choi
Signed-off-by: Russell King
26 Apr, 2006
1 commit
-
Signed-off-by: David Woodhouse
04 Apr, 2006
2 commits
-
Signed-off-by: Russell King
-
This patch fixes arch_local_page_offset(pfn,nid) in arm.
This new one (added by unify_pfn_to_page patches) is obviously buggy.This macro calculate page offset in a node.
Note: about LOCAL_MAP_NR()
comment in arm's sub-archs says.../*
* Given a kaddr, LOCAL_MAP_NR finds the owning node of the memory
* and returns the index corresponding to the appropriate page in the
* node's mem_map.
*/but LOCAL_MAP_NR() is designed to be able to take both paddr and kaddr.
In this case, paddr is better.Signed-off-by: KAMEZAWA Hiroyuki
Signed-off-by: Russell King
02 Apr, 2006
1 commit
-
Patch from Lennert Buytenhek
This patch adds support for the I/O coherent cache available on the
xsc3. The approach is to provide a simple API to determine whether the
chipset supports coherency by calling arch_is_coherent() and then
setting the appropriate system memory PTE and PMD bits. In addition,
we call this API on dma_alloc_coherent() and dma_map_single() calls.
A generic version exists that will compile out all the coherency-related
code that is not needed on the majority of ARM systems.Note that we do not check for coherency in the dma_alloc_writecombine()
function as that still requires a special PTE setting. We also don't
touch dma_mmap_coherent() as that is a special ARM-only API that is by
definition only used on non-coherent system.Signed-off-by: Deepak Saxena
Signed-off-by: Lennert Buytenhek
Signed-off-by: Russell King
28 Mar, 2006
1 commit
-
ARM can use generic funcs.
PFN_TO_NID, LOCAL_MAP_NR are defined by sub-archs.Signed-off-by: KAMEZAWA Hirotuki
Cc: Russell King
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
13 Jan, 2006
1 commit
-
Patch from Kevin Hilman
This patch increase available DMA-consistent memory allocated by dma_coherent_alloc(). The default remains at 2M (defined in asm/memory.h) and each platform has the ability to override in asm/arch-foo/memory.h.
Signed-off-by: Kevin Hilman
Signed-off-by: Russell King
10 Jan, 2006
1 commit
-
Patch from Deepak Saxena
In working on adding 36-bit addressed supersection support to ioremap(),
I came to the conclusion that it would be far simpler to do so by just
splitting __ioremap() into a main external interface and adding an
__ioremap_pfn() function that takes a pfn + offset into the page that
__ioremap() can call. This way existing callers of __ioremap() won't have
to change their code and 36-bit systems will just call __ioremap_pfn()
and we will not have to deal with unsigned long long variables.Note that __ioremap_pfn() should _NOT_ be called directly by drivers
but is reserved for use by arch_ioremap() implementations that map
32-bit resource regions into the real 36-bit address and then call
this new function.Signed-off-by: Deepak Saxena
Signed-off-by: Russell King
05 Dec, 2005
1 commit
-
Patch from Hiroki Kaminaga
This patch defines a new macro: pfn_to_kaddr(pfn).
Same macro is already defined on other arch, such as i386.Signed-off-by: Hiroki Kaminaga
Signed-off-by: Russell King
30 Oct, 2005
2 commits
-
Patch from Nicolas Pitre
Since vmlinux.lds.S is preprocessed, we can use the defines already
present in asm/memory.h (allowed by patch #3060) for the XIP kernel link
address instead of relying on a duplicated Makefile hardcoded value, and
also get rid of its dependency on awk to handle it at the same time.While at it let's clean XIP stuff even further and make things clearer
in head.S with a nice code reduction.Signed-off-by: Nicolas Pitre
Signed-off-by: Russell King -
Patch from Nicolas Pitre
This patch allows for assorted type of cleanups by letting assembly code
use the same set of defines for constant values and avoid duplicated
definitions that might not always be in sync, or that might simply be
confusing due to the different names for the same thing.Signed-off-by: Nicolas Pitre
Signed-off-by: Russell King
15 Sep, 2005
1 commit
-
Thomas Gleixner reported that mmaping and unmapping each physical
page in turn eventually caused the kernel to oops. It appears
that pfn_valid() in the discontigmem case was too simplistic for
proper operation.Tighten the logic so we also check if the PFN is within the range
of the selected memory node.Signed-off-by: Russell King
17 Apr, 2005
1 commit
-
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.Let it rip!