phys_base은 kernnel 소스 코드에서 참조 __phys_addr() 아치/86/mm /이되지 physaddr.c 와 충돌도 e.g. --machdep 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 , 어떻게 정의되고 결정되며, 왜 그런가?
은 UPDATE : "phys_base"의 데뷔 일부 CPU 아키텍처, 물리 주소의 메모리가없는 것들에 액세스하는 데 사용되기 때문에이 반드시 0이 아닌 here
phys_base는 실제 실행중인 실제 주소와 연결된 실제 주소 사이의 델타입니다. – firo