주소 0x100000의 start_32는 어떻습니까?

주소 0x100000의 start_32는 어떻습니까?

나는 Linux 커널이 보호 모드로 들어가기 위해 어떻게 준비하는지에 대해 읽고 있었습니다. boot/pmjump.S:74에서 EAX의 0x100000으로 점프하기 전까지는 모든 것을 이해할 수 있습니다.

여기에 이미지 설명을 입력하세요.

컨트롤은 32비트 진입점인 boot/compressed/head_64.S의 start_up_32 태그로 이동해야 합니다.

그러나 start_32는 주소 0x0에서 시작하는 .head.text 섹션에 있습니다. (아래를 내려다본다)

여기에 이미지 설명을 입력하세요.

따라서 start_32의 주소는 실제로 0x0입니다. 하지만 0x100000으로 점프하면 제어가 어떻게 거기에 도달할까요?

관련 정보