[lkml]   [2003]   [Sep]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    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

    [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
    More majordomo info at
    Please read the FAQ at

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