linux内核之 phys_to_virt

phys_to_virt是将已经映射的物理内存的地址转换为虚拟地址

函数定义:

static inline void *phys_to_virt(unsigned long x)
{
    return (void*)(__phys_to_virt((unsigned long)(x)));
}

 

#define__phys_to_virt(x)   ((x) - PHYS_OFFSET + PAGE_OFFSET)

 

#ifdef CONFIG_CPU_S3C2400
#definePHYS_OFFSET   (0x0C000000UL)
#else
#definePHYS_OFFSET    ()   //2410应该使用这个偏移地址
#endif

 

#definePAGE_OFFSET       (0xc0000000UL)   //3G处

linux内核之 phys_to_virt_第1张图片


 

由此可知物理内存与内核虚拟地址3G开始处一一对应.

你可能感兴趣的:(linux,linux,linux,kernel,内核,函数)