반응형

ARM64 Linux Kernel/head.S 4

record_mmu_state

record_mmu_state 프로시저는 Exception Level에 따라 적절한 SCTLR 레지스터를 읽고, EE(Endianness) 비트를 검사해 현재 CPU Endianness가 기대하는 값과 일치하는지 확인한다.Endian이 일치하면, SCTLR의 C(Cache) 비트를 보고, 캐시 사용 여부를 검사하고, 캐시가 꺼져있으면 MMU가 꺼져있다고 판단, 켜져있으면 M bit로 MMU가 켜져있는지를 판단한다.Endian이 일치하지 않는 경우, Endian을 일치시키고, MMU 비트를 클리어하고, 레지스터를 업데이트하고, MMU를 꺼진상태로 판단한다.코드를 통해 자세히 알아보자.SYM_CODE_START_LOCAL(record_mmu_state) mrs x19, CurrentEL cmp x19, #C..

반응형