[커널 20차] 21주차

2023.09.23 22:15

이민찬 조회 수:116

 

2023.09.23 (21주차) - 약 10명 참여

init_kernel_el 들어가기 전 익셉션 개념 학습 (Arm 아키텍처의 구조와 원리 6장, 7장, 9장)

9.4.3까지 진행

6.1 Armv8 아키텍처의 익셉션 레벨

Q: EL1에서 EL2의 레지스터에 접근을 하는 것은 제한되는데, 그 방법은 무엇인가요?

A: 실행 단계에서 익셉션이 발생한다.

 

Q: IRQ와 FIQ의 차이가 무엇인가요?

A: 일단 FIQ는 키보드 입력과 같은 인터럽트라고 생각하면 된다.

A: 9.2 pg 245 하단부에서 IRQ는 외부 I/O 디바이스에서 발생하는 인터럽트를 뜻하고, FIQ는 시큐어상태에서 처리되는 인터럽트를 의미한다고 나와있다.

A: 위의 답변은 간단한 설명이고, 10장 GIC를 보면 더 알 수 있다.

6.2 익셉션 레벨과 관련된 레지스터

Q: pg 147의 표6.4에 스택 포인터 별 접미사로 t와 h가 있는데 무슨 차이인가요?

A: t는 공통적으로 사용하는 스택이고, h는 레벨 별로 구분되어 사용하는 스택이다.

 

책 오류 0) pg 147 표 6.4 EL3h 의 bit 인코딩값 이상. (0b1101이 되어야한다.)

책 오류 1) pg 149의 표 6.6에서 16진수의 값이 잘못되었다.

책 오류 2) pg 149의 하단부에서 SPSR의 익셉션 레벨은 1~3이다. SPSR_EL0는 없다.

6.3 익셉션 레벨과 관련된 명령어

Q: pg153의 그림 6.7은 EL1에서 익셉션이 발생해 EL1에서 익셉션 핸들러가 처리되는 것이 맞나요?

A: 맞다. 시스템 콜 호출이 일어나 처리 중에 익셉션이 발생할 수도 있다. 

6.4 익셉션 레벨을 읽고 제어하는 예제 코드 분석 

7.1 익셉션 소개

7.2 익셉션의 동작 원리를 잘 알아야 하는 이유 

7.3 익셉션을 배우기 어려운 이유

공유) Armv7은 r14를 링크 레지스터로 사용하고, Armv8은 x30을 링크 레지스터로 사용한다.

7.4 익셉션을 효과적으로 배우는 방법

7.5 익셉션을 구성하는 주요 개념 

9.1 Armv8 아키텍처의 익셉션 소개

9.2 Armv8 익셉션의 종류와 분류 체계

9.3 익셉션 클래스와 익셉션 신드롬 레지스터(ESR_ELx)

공유) Synchronous와 Asynchronous의 용어 

- 에스컬레이터 비유, 하드웨어 간의 공유 timer 여부

 

cf)

Q: Arm에서는 모든 명령어의 클럭 사이클이 같나요?

A: 다르다. https://developer.arm.com/documentation/ddi0337/e/BABBCJII

 

Q: pg 250의 표 9.6브레이크포인트 관련 익셉션 클래스가 나오는데, 여기서 말하는 브레이크 포인트가 디버거 브레이크 포인트를 의미하는 건가요?

A: 그럴 것이다. 

9.4 Armv8 익셉션을 구성하는 주요 개념

공유) 익셉션 벡터 테이블 보는 방법

 

Q:  SP_EL0?

A: 메모리가 적은 상황에서 즉, 레벨 별로 스택을 구성하지 못하는 상황에 통합 스택을 사용하는 옵션으로 남겨놓은 것 같다. M 시리즈에서 사용이 된다.

https://community.arm.com/support-forums/f/architectures-and-processors-forum/5034/armv8-exception-vector-significance-of-el0_sp

번호 제목 글쓴이 날짜 조회 수
공지 [공지] 스터디 정리 노트 공간입니다. woos 2016.05.14 626
247 [커널 20차] 48주차 무한질주 2024.04.25 19
246 [커널 19차] 102 주차 Min 2024.04.20 35
245 [커널 19차] 101 주차 Min 2024.04.13 63
244 [커널 19차] 100 주차 Min 2024.04.13 16
243 [커널 19차] 99 주차 Min 2024.03.30 82
242 [커널 19차] 98 주차 Min 2024.03.23 55
241 [커널 19차] 97 주차 Min 2024.03.16 50
240 [커널 19차] 96 주차 Min 2024.03.14 32
239 [커널 19차] 95 주차 [2] Min 2024.03.03 111
238 [커널 20차] 32주차 brw 2023.12.16 386
237 [커널 20차] 29주차 brw 2023.11.27 161
236 [커널 20차] 27주차 brw 2023.11.21 86
235 [커널 20차] 26주차 brw 2023.11.21 48
234 [커널 20차] 28주차 이민찬 2023.11.19 64
233 [커널 20차] 25주차 이민찬 2023.10.30 120
232 [커널 20차] 24주차 이민찬 2023.10.22 733
231 [커널 20차] 23주차 이민찬 2023.10.14 81
230 [커널 20차] 22주차 이민찬 2023.10.08 76
» [커널 20차] 21주차 이민찬 2023.09.23 116
228 [커널 20차] 20주차 [2] 이민찬 2023.09.17 182
XE Login