RE: locking user memory and kiobuf

Bret Indrelee (bindrelee@sbs-cp.com)
Mon, 8 Nov 1999 13:20:07 -0600


Jeff Garzik [mailto:jgarzik@mandrakesoft.com] wrote:
> Bret Indrelee wrote:
> > Does page_address() return a virtual or physical address?
> > To me it looks
> > like it may be a physical address, in which case you would
> > have to do:
> > memcpy (foo, phys_to_virt(phys), PAGE_SIZE *4);
>
> Not true. The above code example was in kernel space, and
> the memcpy is
> definitely in kernel (physical) address space as well.

Kernel address space is different than physical address space.

Kernel address space is a virtual address that goes through the MMU (page
tables) in order to create the physical address. Virtual address space is as
seen from the CPU, physical address space is as seen with a logic analyzer
hooked up to the board traces.

It may be that some of the kernel address space is mapped to the identical
physical address space, I don't know if Linux does this or not. The MIPS
chip has a section of its address space that is direct mapped.

-Bret

-------------------------------------------------------------
SBS Technologies, Connectivity Products
... solutions for real-time connectivity

Bret Indrelee, Engineer
SBS Technologies, Inc., Connectivity Products
1284 Corporate Center Drive, St. Paul MN 55121
Direct: (651) 905-4731
Main: (651) 905-4700 Fax: (651) 905-4701
E-mail: bindrelee@sbs-cp.com http://www.sbs.com
-------------------------------------------------------------

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