5

커널이 PAE 모드인지 확인하려면 스크립트를 작성해야합니다. 확실히,/proc/cpuinfo 플래그에이 'pae'설정이 있는지 확인하는 것만으로는 충분하지 않습니다.Linux가 PAE 또는 비 PAE 모드에 있다는 것을 프로그래밍 방식으로 알려주는 방법은 무엇입니까?

PAE 메커니즘이 실제로 구현되었을뿐만 아니라 활성화되었는지도 알아야합니다.

이제 PAE 커널이 새로운 기본값이되고, PAE가 아닌 커널이 필요하다면 요즘 다른 커널을 만들어야합니다. 우리는 커널이 PAE를 갖는 CPU에 비 PAE 경우 어떻게 알 수 있습니까 다른 단어에서

  1. 은 (테스트하는 두 가지 조건 중 하나입니다).

  2. 기타는 커널이 PAE 지원이없는 CPU에서 PAE인지 확인하는 방법입니다.

그리고 CONFIG_HIGHMEM 또는 CONFIG_PAE 커널 설정 옵션이 일반적인 보안 커널에 사용 된 경우 알 수있는 방법은 없습니다. 그 파일에

$ cat /boot/config-$(uname -r) | grep PAE 
    CONFIG_X86_PAE=y 

당신이하지 마십시오 액세스 :

+2

'/ proc/cpuinfo'는 주어진 프로세서가 PAE 모드로 실행되는지를 결정하는 신뢰할 수있는 방법입니다. 이것은 당신에게 충분하지 않습니다 당신이 당신의 리눅스 플랫폼을 통해 BIOS 설정을 시험하고 싶다는 암시하는 것 같습니다. 정확히 무엇을 달성하기를 원하십니까? –

+0

PAE 커널은 이제 기본값이므로, PAE가 아닌 커널이 필요하다면 요즘은 그것을 만들어야합니다. 즉, 커널이 PAE가있는 CPU에서 비 -PAE인지 (어떻게 테스트 할 수있는 두 가지 조건 중 하나인지) 어떻게 알 수 있습니까? 기타는 커널이 PAE 지원이없는 CPU에서 PAE인지 확인하는 방법입니다. 보안 커널 설정에서'CONFIG_HIGHMEM' 또는'CONFIG_PAE'이 사용되었는지 알 수있는 방법이 없습니다. 이를 반영하기 위해 –

+0

업데이트 된 질문. –

답변

1

일반적으로 CONFIG_PAE은/부팅/config- *이 같은 발견 할 수 있는가?

0

한 가지 방법은 CR4 레지스터를 읽고 비트 5를 보는 것입니다. PAE의 경우 1, PAE가없는 경우 0이됩니다. 커널에서 실행중인 일부 코드 (예 : 커널 드라이버)에서 해당 레지스터를 읽을 수 있습니다. 이 목적을 위해 작은 드라이버를 작성할 수 있습니다. 그것은 아주 복잡해서는 안됩니다.

관련 문제