phys_base は、カーネル ソース コード__phys_addr() arch/x86/mm/physaddr.c で参照され、クラッシュもマシン依存のパラメーターとして使用されます(例: --macdep phys_base=0x200000)。
unsigned long __phys_addr(unsigned long x)
{
if (x >= __START_KERNEL_map) {
x -= __START_KERNEL_map;
VIRTUAL_BUG_ON(x >= KERNEL_IMAGE_SIZE);
x += phys_base;
} else {
VIRTUAL_BUG_ON(x < PAGE_OFFSET);
x -= PAGE_OFFSET;
VIRTUAL_BUG_ON(!phys_addr_valid(x));
}
return x;
}
EXPORT_SYMBOL(__phys_addr);
どのような状態で 0 でないか、どのように定義/決定され、その理由を説明していただけますか。
更新: 「phys_base」のデビューはここにあります