lkml.org 
[lkml]   [2003]   [Sep]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Aliasing physical memory using virtual memory (from a d
    Stevie-O wrote:

    >
    > I grepped my 2.4 kernel source for 'vmap' and the only results that
    > seemed meaningful were vmap_pte_range or vmap_pmd_range in
    > mips/mm/umap.c and mips64/mm/umap.c. Is this documented somewhere? I
    > suffer from the 'i'm new at this, but this looks possible' syndrome. I
    > don't actually know how anything is accomplished.
    >
    > Btw, am I right about kmalloc(35000) effectively grabbing 64K?

    I did a freetext search of the LXR for 'remap' and came up with this function:

    820 /*
    821 * maps a range of physical memory into the requested pages. the old
    822 * mappings are removed. any references to nonexistent pages results
    823 * in null mappings (currently treated as "copy-on-access")
    824 */
    825 static inline void remap_pte_range(pte_t * pte, unsigned long address,
    unsigned long size,
    826 unsigned long phys_addr, pgprot_t prot)

    This looks promising, although it's a bit ambiguous to me. Treating the
    physical pages as distinct from virtual pages:

    [1] maps a range of physical memory onto the requested pages
    I assume 'the requested pages' here refer to 'the specified virtual pages',
    since the statement makes no sense if it's referring to 'the specified physical
    pages'.

    [2] the old mappings are removed.
    Looking at the source, it seems that this means 'if these virtual pages were
    pointed to any physical pages before, they won't be anymore'

    [3] any references to nonexistent pages results in null mappings ('copy-on-access')
    I have no idea what this means, and I can't figure it out reading the code.
    Obviously it refers to something not really being there (thus 'nonexistent'). So
    copy-on-access? How do you copy something that doesn't exist?

    --
    - Stevie-O

    Real Programmers use COPY CON PROGRAM.EXE

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:48    [W:0.022 / U:209.200 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site