Posts
4 posts[ARM프로세서] XEN: 익셉션 벡터 테이블(ARMv7)
XEN 하이퍼바이저의 익셉션 벡터 테이블을 살펴봅시다. 익셉션 벡터 테이블의 선언부 다음은 XEN 하이퍼바이저의 익셉션 벡터 테이블의 선언부입니다. xen/xen/arch/arm/arm32/entry.S vect_br 0, trap_fiq vect_br 1, trap_irq vect_br 2, trap_guest_sync vect_br 3, trap_data_abort vect_br 4, trap_prefetch_abort vect_br 5, trap_hypervisor_call vect_br 6, trap_undefined_instruction vect_br 7, trap_reset 위 코드가 컴파일
[ARMv8] EL1: el1_sync - 익셉션 벡터 코드와 ARM 스팩 문서 분석
이번 포스트에서는 ARMv8 아키텍처 기반에서 구현된 익셉션 벡터의 코드를 리뷰해보겠습니다.물론 리눅스 커널에서 확인된 코드입니다. ARMv8 아키텍처의 익셉션 벡터 코드 다음은 ARMv8 아키텍처 기반의 익셉션 벡터 코드입니다. /*02 * Exception vectors.03 */04 .pushsection ".entry.text", "ax"05 06 .align 1107 ENTRY(vectors)08 kernel_ventry 1, sync_invalid // Synchronous EL1t09 kernel_ventry 1, irq_invalid // IRQ EL1t10 kernel_ventry 1, fiq_invalid
[RISC-V] 익셉션 벡터 핸들러 코드 산책 - 리눅스 커널
이번 시간에는 RISC-V 기반 리눅스 커널에 구현된 익셉션 벡터 테이블과 익셉션 벡터 핸들러를 분석하겠습니다. 익셉션 벡터 핸들러를 호출하는 코드 확인하기 다음은 익셉션 벡터 핸들러의 구현부입니다. RISCV_PTR do_trap_insn_misaligned RISCV_PTR do_trap_insn_fault RISCV_PTR do_trap_insn_illegal RISCV_PTR do_trap_break RISCV_PTR do_trap_load_misaligned RISCV_PTR do_trap_load_fault RISCV_PTR do_trap_store_misaligned RISCV_PTR do_trap_store_fault RISCV_PTR do_trap_ecall_u /* system cal
[ARM] ARMv7: 익셉션 벡터 테이블의 구현 방식 코드 분석
이번 포스트에서는 ARM 아키텍처의 핵심 개념 중 하나인 익셉션 벡터의 구현 방식에 대해 살펴보겠습니다. ○ ARMv7(Aarch32) ○ ARMv8(Aarch64) ARM 아키텍처에서 정의하는 익셉션의 타입은 3가지로 분류할 수 있습니다. ○ 메모리 어보트(Memory Abort) ○ 인터럽트(Interrupt) ○ 소프트웨어 인터럽트 ARMv7 아키텍처의 익셉션 벡터 테이블 위와 같은 익셉션이 발생하면 익셉션 종류별로 지정된 주소로 프로그램 카운터가 변경됩니다.다음은 리눅스 커널(non-secure)에서의 익셉션 벡터 테이블을 나타냅니다. 오프셋 익셉션 종류--------------------------------------- 0x0



