ARMV8

포스트: 45|조회수: 0|ARTIFACT
Items

Posts

45 posts

[Arm프로세서] 하이퍼바이저 관점으로 익셉션 벡터 테이블 스팩 문서 확인

Guillermo Austin Kim|2022년 2월 11일

Armv8 아키텍처는 하이퍼바이저를 지원하기 위해 다양한 기능을 제공합니다. 이전 절에서 살펴 본 HCR_EL2 레지스터와 hvc, wfe, wfi와 같은 명령어가 가장 큰 예입니다. Armv8 아키텍처 관점으로 하이퍼바이저가 어떤 방식으로 동작하는지 파악하려면 알아야 하는 기능들이 있습니다. 이 중에 가장 중요한 내용은 바로 하이퍼바이저의 익셉션 벡터 핸들러입니다. 이번 절에서는 하이퍼바이저가 구동되는 EL2 관점으로 익셉션 벡터 테이블을 분석하고, XEN 하이퍼바이저의 익셉션 벡터 핸들러의 코드를 분석합니다.먼저 Armv8 아키텍처에서 정의한 익셉션 벡터 테이블 스팩을 보겠습니다. 그림 12.6 Armv8 아키텍처의 익셉션 벡터 테이블

[Arm프로세서] 하이퍼바이저: HCR_EL2 레지스터에 접근하는 어셈블리 코드 분석

Guillermo Austin Kim|2022년 2월 9일

이번에는 HCR_EL2 레지스터를 읽은 예시 코드를 소개합니다.다음은 XEN 하이퍼바이저에서 호출되는 _show_registers() 함수의 어셈블리 명령어입니다. 01 000000000025c550 :02 25c550: a9ba53f3 stp x19, x20, [sp, #-96]!03 25c554: 12001c54 and w20, w2, #0xff...04 25c62c: d53c1101 mrs x1, hcr_el205 25c630: 90000140 adrp x0, 284000 06 25c634: 91242000 add x0, x0, #0x90807 25c638: 97ff

[Arm프로세서] 하이퍼바이저: wfe/wfi 명령어

Guillermo Austin Kim|2022년 1월 28일

많은 개발자들은 hvc 명령어를 통해서만 EL1에서 EL2로 진입할 수 있다고 알고 있습니다. 사실 그렇지는 않습니다. 게스트 OS에서 하이퍼바이저로 진입하는 다른 방법은 wfe와 wfi 명령어를 실행하는 것입니다. 원래 wfe와 wfi 명령어는 Arm 코어가 저전력 모드(low-power mode)으로 실행될 수 있게 동작합니다. HCR_EL2 레지스터의 TWE 혹은 TWI 비트를 1로 설정하면 EL2 트랩이 유발되어, EL2로 진입합니다. 시스템에 하나의 운영체제가 존재하는 환경에서는 wfe, wfi 명령어는 저전력 모드용으로 실행되나, 하이퍼바이저와 같이 시스템에 2개 이상의 운영체제가 실행되는 환경에서, HCR_EL2 레지스터의 TWE 혹은 TWI 비트를 1로 설정하면 hvc 명령어처럼 EL2로

[Arm프로세서] 하이퍼바이저는 어디에 사용될까?

Guillermo Austin Kim|2022년 1월 23일

클라우드 아키텍처로 하이퍼바이저를 적용하는 제품이 점검 늘어나는 추세입니다. 이번 절에서는 하이퍼바이저는 어느 제품군에 활용되는지 소개하겠습니다. 오토모티브(Automotive): 전기 자동차 먼저 오토모티브 분야에서 하이퍼바이저는 많이 활용됩니다. 특히 자동차의 계기판과 네비게이션 부품으로 구성되는 인포테이먼트 분야에서는 자동차 고객사가 하이퍼바이저를 소프트웨어 아키텍처로 선택하고 있습니다. 그렇다면 하이퍼바이저는 인포테이먼트 분야에서 어떻게 활용될까요? 다음 그림과 같이 운전자 입장에서 높은 안정성이 요구되는 계기판은 보안성이 높은 RTOS을 실행하고, 네비게이션은 범용적인 안드로이드나 네이티브 리눅스를 실행할 수 있습니다. 그림 12.2 하이퍼바이저가 사용되는 사례 다양한 시장 조사 보고서에