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

    Russell King
     

02 Jul, 2006

1 commit


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

    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

    Russell King
     

26 Apr, 2006

1 commit


04 Apr, 2006

2 commits


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

    Lennert Buytenhek
     

28 Mar, 2006

1 commit


13 Jan, 2006

1 commit


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

    Deepak Saxena
     

05 Dec, 2005

1 commit


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

    Nicolas Pitre
     
  • 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

    Nicolas Pitre
     

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

    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!

    Linus Torvalds