memlayout.h #define P2V(a) ((void *)(((char *) (a)) + KERNBASE))
トップページ
jupiteroak.hatenablog.com
memlayout.h
https://github.com/mit-pdos/xv6-public/blob/master/memlayout.h#L12
#define P2V(a) ((void *)(((char *) (a)) + KERNBASE))
P2Vマクロは、xv6で定められたメモリレイアウトに従って、物理アドレスを仮想アドレスに変換します。
#define KERNBASE 0x80000000 // First kernel virtual address #define P2V(a) ((void *)(((char *) (a)) + KERNBASE))