시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
안녕하세요! Exception Level 관련 질문이 있습니다. 질문) Exception Level을 프로그래머가 직접 설정하는 것인가요? Exception 발생하는 경우를 예시로 H/W설계자가 결정 한 것 VBAR 레지스터에 설정된 주소 + Offset 위치로 분기하도록 설계 Exception 유발 직전 상태의 PSTATE값 백업 PSATE 값 변경 : 현재 EL0인 경우 EL1로 변경 ELR, ESR 업데이트 프로그래머가 설정하는 부분 VBAR 레지스터의 값은 프로그래머가 미리 초기화 Exception Vector 주소로 분기 한 경우, 어떻게 동작할지 코드 작성 → Exception Handler 작성 결국 프로그래머가 Exception Handler를 작성하는 것으로 이해했는데, 프로그래머가 자신이 작성하는 코드의 Exception Level을 설정할 수 있나요? 프로그래머가 작성하는 코드의 Exception Level이 어떻게 결정되는지 궁금합니다.
시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
안녕하세요! 우선 너무 좋은 강의 잘 보고 있습니다. 질문 Current Exception Level 정의 를 어떻게 내리는지 질문드립니다. 제가 처음에 이해하기로는 리눅스OS 위에서 User App이 실행 중 Exception이 발생했다면 Current El = EL0 라고 생각했습니다. 하지만 강의를 듣다보니 Exception handler가 어느 EL에 정의 되어있는지에 따라 Current EL을 정의해야하는 것이라고 이해했는데, 위와 같이 이해하면 문제가 없을까요?
안녕하세요. 익셉션 벡터 테이블에서 Current Exception Level이 어떤 경우에는 EL1이 되고 EL3가 되는지 궁금합니다. 예를 들면, 시큐어 모니터가 포함된 시스템에서는 무조건 Current Exception Level이 EL3로 설정되는 것인지 입니다.
시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 1부 저자 직강 (2024년 버전)
MVN R0, #7 명령어를 통해 MVN을 공부하다 생긴 궁금증입니다 MOV R0, 0xFFFFFF8 과 같은 의미가 아닐까 하고 생각해보았는데 Armv7기준 32bit 단위로 명령어를 가져오는데 이 경우 상수로 전달되는 값이 32bit이기 때문에 명령어를 올바르게 해석하지 못하지 않을까 라는 결론을 가졌습니다. 제가 올바르게 생각한게 맞나요? 만약 맞다면 SUB 명령어를 통해 음수값을 만드는 것과 차이점이 있나요? 또한 상수값이 아닌 Operand Register값이 들어갈 수도 있나요? 좋은 강의 감사합니다