
- 2017/12/23 18:49
- rousalome.egloos.com/9966116
- 덧글수 : 4

핑백
Linux Kernel(4.14) Hacks : [Linux][ARM] Coprocessor(코프로세서) Assembly 2018-07-21 18:12:43 #
... 관련된 Co-Processor로서, 이 레지스터를 잘 콘트롤 해야 일이 아주 많습니다. # Reference (ARM Processor)- ARM64 - 각 익셉션(Exception) 레벨 소개- [T32] Cortex A53: 프로세스 별 Call Stack 복원하는 방법- ARM32- 스택 푸쉬(Stack P ... more
Linux Kernel(4.14) Hacks : arm32 - Unwind Idx/prolog 소개 2018-07-21 18:12:58 #
... pop {r4-r11,pc} # Reference (ARM Processor)- ARM64 - 각 익셉션(Exception) 레벨 소개- [T32] Cortex A53: 프로세스 별 Call Stack 복원하는 방법- ARM32- 스택 푸쉬(Stack P ... more
Linux Kernel(4.14) Hacks : ARM64 - Data Abort Exception(익셉션) Vector 실행 2018-07-21 18:13:09 #
... ruct pt_regs bl do_debug_exception kernel_exit 1 # Reference (ARM Processor)- ARM64 - 각 익셉션(Exception) 레벨 소개- [T32] Cortex A53: 프로세스 별 Call Stack 복원하는 방법- ARM32- 스택 푸쉬(Stack P ... more
Linux Kernel(4.14) Hacks : ARM64(Aarch64) - Special Register 설정(Trace32) 2018-07-21 18:13:22 #
... 4로 설정한 변수는 %llx, %lld 로 printk 아규먼트를 줘야 해요. # Reference (ARM Processor)- ARM64 - 각 익셉션(Exception) 레벨 소개- [T32] Cortex A53: 프로세스 별 Call Stack 복원하는 방법- ARM32- 스택 푸쉬(Stack P ... more
Linux Kernel(4.14) Hacks : ARM64- 스택 푸쉬(Stack Push) Userspace -> Kernel Space 2018-07-21 18:13:36 #
... ../kernel/net/socket.c: 1889 # Reference (ARM Processor)- ARM64 - 각 익셉션(Exception) 레벨 소개- [T32] Cortex A53: 프로세스 별 Call Stack 복원하는 방법- ARM32- 스택 푸쉬(Stack P ... more
Linux Kernel(4.14) Hacks : ARM32- 스택 푸쉬(Stack Push) Userspace -> Kernel Space 2018-07-21 18:13:56 #
... 시 sys_ioctl의 시스템 콜 번호는 0x36이네요. 물론 R7도 0x36이지만요. # Reference (ARM Processor)- ARM64 - 각 익셉션(Exception) 레벨 소개- [T32] Cortex A53: 프로세스 별 Call Stack 복원하는 방법- ARM32- 스택 푸쉬(Stack P ... more
Linux Kernel(4.14) Hacks : [T32] Cortex A53: 프로세스 별 Call Stack 복원하는 방법 2018-07-21 18:14:09 #
... 05|kthread(_create = 0x0) ---|end of frame # Reference (ARM Processor)- ARM64 - 각 익셉션(Exception) 레벨 소개- [T32] Cortex A53: 프로세스 별 Call Stack 복원하는 방법- ARM32- 스택 푸쉬(Stack P ... more
Linux Kernel(4.14) Hacks : arm instruction(명령어) - ldr 2019-02-08 08:09:26 #
... 자체를 볼 수 없습니다. 그러니 조금 낯설더라도 꾸준히 이 명령어를 익히시길 바래요. # Reference (ARM Processor)- ARM64 - 각 익셉션(Exception) 레벨 소개- [T32] Cortex A53: 프로세스 별 Call Stack 복원하는 방법- ARM32- 스택 푸쉬(Stack P ... more
Linux Kernel(4.14) Hacks : ARM64 - 프로세스(Process) preempt_disable(), preemption 스케줄(Schedule) 조건 분석 2019-02-08 08:12:18 #
... 을 읽어서 0이면 preemption, 아니면 그냥 빠져 나와요. # Reference (ARM Processor)- ARM64 - 각 익셉션(Exception) 레벨 소개- [T32] Cortex A53: 프로세스 별 Call Stack 복원하는 방법- ARM32- 스택 푸쉬(Stack P ... more
Linux Kernel(4.14) Hacks : [라즈베리파이] 시그널 - 시그널 번호와 동작 알아보기 2019-02-08 08:12:51 #
... 기본 동작 로그 분석 ftrace 시그널 핸들러 동작 로그 분석 # Reference (ARM Processor)- ARM64 - 각 익셉션(Exception) 레벨 소개- [T32] Cortex A53: 프로세스 별 Call Stack 복원하는 방법- ARM32- 스택 푸쉬(Stack P ... more
Linux Kernel(4.14) Hacks : [Linux][Kernel]뮤텍스 데드락(Mutex Deadlock) 락업(lockup) - "simpleperf" 디버깅 2019-02-08 08:13:23 #
... 커널 마이그레이션 할 때 conflict나면 살 떨려서 어떻게 하죠? 조심해야 겠어요. # Reference (ARM Processor)- ARM64 - 각 익셉션(Exception) 레벨 소개- [T32] Cortex A53: 프로세스 별 Call Stack 복원하는 방법- ARM32- 스택 푸쉬(Stack P ... more
Linux Kernel(4.14) Hacks : 와치독 Watchdog Kick 동작 비교 (Qualcomm vs Intel vs Mediatek vs nVidia) 2019-02-08 08:13:37 #
... atchdog Reset이 발생했을때 어떤 포인트로 디버깅을 할 지 감을 잡기 어렵죠. # Reference (ARM Processor)- ARM64 - 각 익셉션(Exception) 레벨 소개- [T32] Cortex A53: 프로세스 별 Call Stack 복원하는 방법- ARM32- 스택 푸쉬(Stack P ... more
Linux Kernel(4.14) Hacks : mutex lock vs spinlock ( 재현 상황 ) 2019-02-08 08:13:51 #
... 이 안되거나 모바일인 경우 터치 동작이 안되듯 락업으로 문제가 재현되는 경우가 많아요. # Reference (ARM Processor)- ARM64 - 각 익셉션(Exception) 레벨 소개- [T32] Cortex A53: 프로세스 별 Call Stack 복원하는 방법- ARM32- 스택 푸쉬(Stack P ... more
Linux Kernel(4.14) Hacks : Runqueue(런큐) Timestamp(실행 시간) 확인 2019-02-08 08:14:16 #
... ; update_rq_clock_task(rq, delta);} # Reference (ARM Processor)- ARM64 - 각 익셉션(Exception) 레벨 소개- [T32] Cortex A53: 프로세스 별 Call Stack 복원하는 방법- ARM32- 스택 푸쉬(Stack P ... more
Linux Kernel(4.14) Hacks : IRQ Stack(ARM64) - Overview 2019-02-08 08:19:06 #
... 다. 다음에는 실제 코어 덤프에서 IRQ Stack이 어떻게 Push되는지 점검해볼께요 # Reference (ARM Processor)- ARM64 - 각 익셉션(Exception) 레벨 소개- [T32] Cortex A53: 프로세스 별 Call Stack 복원하는 방법- ARM32- 스택 푸쉬(Stack P ... more
Linux Kernel(4.14) Hacks : [라즈베리파이]워크큐(Workqueue) - 워크 초기화는 어떻게 하나 2019-02-08 08:39:32 #
... 작을 하는지 살펴봅니다. 우선 워크를 워크큐에 큐잉하면 어떤 동작을 하는지 알아봅시다. # Reference (ARM Processor)- ARM64 - 각 익셉션(Exception) 레벨 소개- [T32] Cortex A53: 프로세스 별 Call Stack 복원하는 방법- ARM32- 스택 푸쉬(Stack P ... more
Linux Kernel(4.14) Hacks : ARM64(Aarch64) - 함수 호출시 Stack Push(스택 푸쉬) 규약 2019-02-08 08:40:10 #
... 스택 Push가 어떻게 수행되는지 알았기 때문에 가능한 것이지오. 참 쉽죠? # Reference (ARM Processor)- ARM64 - 각 익셉션(Exception) 레벨 소개- [T32] Cortex A53: 프로세스 별 Call Stack 복원하는 방법- ARM32- 스택 푸쉬(Stack P ... more
ARM Linux Kernel Hacks : [ARM] 함수 호출 규약(Calling Convention)이란 2020-10-06 09:58:34 #
... ●● ARMv7 동작 모드 ●● ARMv8 익셉션 레벨(Exception Level) ● 익셉션(Exception)이란 ● 함수 호 ... more
ARM Linux Kernel Hacks : [ARM] 익셉션(Exception)이란 2020-10-06 09:58:37 #
... ●● ARMv7 동작 모드 ●● ARMv8 익셉션 레벨(Exception Level) ● 익셉션(Exception)이란 ● 함수 호 ... more
ARM Linux Kernel Hacks : [ARM] ARMv7: ARM 동작 모드란 2020-10-06 09:58:41 #
... ●● ARMv7 동작 모드 ●● ARMv8 익셉션 레벨(Exception Level) ● 익셉션(Exception)이란 ● 함수 호 ... more
ARM Linux Kernel Hacks : [ARM] 레지스터란(ARMv7, ARMv8) 2020-10-06 09:58:44 #
... ●● ARMv7 동작 모드 ●● ARMv8 익셉션 레벨(Exception Level) ● 익셉션(Exception)이란 ● 함수 호 ... more
ARM Linux Kernel Hacks : [ARM] 어셈블리 명령어란 2020-10-06 09:58:46 #
... ●● ARMv7 동작 모드 ●● ARMv8 익셉션 레벨(Exception Level) ● 익셉션(Exception)이란 ● 함수 호 ... more
ARM Linux Kernel Hacks : [ARM] ARM 프로세서와 ARM 아키텍처란 2020-10-06 09:58:48 #
... ●● ARMv7 동작 모드 ●● ARMv8 익셉션 레벨(Exception Level) ● 익셉션(Exception)이란 ● 함수 호 ... more
ARM Linux Kernel Hacks : [ARM] ARM 프로세서의 전망 2020-10-06 09:58:51 #
... ●● ARMv7 동작 모드 ●● ARMv8 익셉션 레벨(Exception Level) ● 익셉션(Exception)이란 ● 함수 호 ... more
ARM Linux Kernel Hacks : [ARM] ARM 의 라이센스 - 소프트 매크로/하드 매크로 2020-10-06 09:58:53 #
... ●● ARMv7 동작 모드 ●● ARMv8 익셉션 레벨(Exception Level) ● 익셉션(Exception)이란 ● 함수 호 ... more
ARM Linux Kernel Hacks : [ARM] ARM 프로세서의 패밀리 2020-10-06 09:58:55 #
... ●● ARMv7 동작 모드 ●● ARMv8 익셉션 레벨(Exception Level) ● 익셉션(Exception)이란 ● 함수 호 ... more
ARM Linux Kernel Hacks : [ARM] ARM 프로세서의 역사 2020-10-06 09:58:58 #
... ●● ARMv7 동작 모드 ●● ARMv8 익셉션 레벨(Exception Level) ● 익셉션(Exception)이란 ● 함수 호 ... more
ARM Linux Kernel Hacks : [ARM] ARM 프로세서는 어떻게 공부해야 할까? 2020-10-06 09:59:00 #
... ●● ARMv7 동작 모드 ●● ARMv8 익셉션 레벨(Exception Level) ● 익셉션(Exception)이란 ● 함수 호 ... more
ARM Linux Kernel Hacks : [ARM] ARM 프로세서를 공부하는 방법의 문제점 2020-10-06 09:59:04 #
... ●● ARMv7 동작 모드 ●● ARMv8 익셉션 레벨(Exception Level) ● 익셉션(Exception)이란 ● 함수 호 ... more
ARM Linux Kernel Hacks : [ARM] ARM 프로세서를 일반 SW 개발자도 배워야 하는 이유 2020-10-06 09:59:06 #
... ●● ARMv7 동작 모드 ●● ARMv8 익셉션 레벨(Exception Level) ● 익셉션(Exception)이란 ● 함수 호 ... more
ARM Linux Kernel Hacks : [ARM] 소프트웨어 개발자가 ARM 프로세서를 배워야 하는 이유 2020-10-06 09:59:09 #
... ●● ARMv7 동작 모드 ●● ARMv8 익셉션 레벨(Exception Level) ● 익셉션(Exception)이란 ● 함수 호 ... more
ARM Linux Kernel Hacks : [ARM] CPU 캐시(Cache)란 2020-10-06 09:59:11 #
... ●● ARMv7 동작 모드 ●● ARMv8 익셉션 레벨(Exception Level) ● 익셉션(Exception)이란 ● 함수 호 ... more
ARM Linux Kernel Hacks : [ARM] 트러스트존(Trustzone) 이란 2020-10-06 09:59:46 #
... ●● ARMv7 동작 모드 ●● ARMv8 익셉션 레벨(Exception Level) ● 익셉션(Exception)이란 ● 함수 호 ... more
Arm Linux Kernel Hacks : 이제는 Arm의 시대: Armv7, Armv8, Armv9 아키텍처 - 목차 2021-12-18 06:55:46 #
... ●● ARMv7 동작 모드 ●● ARMv8 익셉션 레벨(Exception Level) ● 익셉션(Exception)이란 ● 함수 호 ... more
Arm Linux Kernel Hacks : Table of contents(목차) - 이제는 ARM의 시대 2021-12-18 07:05:59 #
... ●● ARMv7 동작 모드 ●● ARMv8 익셉션 레벨(Exception Level) ● 익셉션(Exception)이란 ● 함수 호 ... more
Arm Linux Kernel Hacks : [ARM] ARMv8(Aarch64) 아키텍처 기반 프로젝트가 대세인가? 2021-12-18 12:37:34 #
... ●● ARMv7 동작 모드 ●● ARMv8 익셉션 레벨(Exception Level) ● 익셉션(Exception)이란 ● 함수 호 ... more
덧글
-
이룸 2021/12/08 14:31 # 삭제 답글
T32로 EL0 에서 EL1으로 또는 반대로 이동해보려면 어떻게 해야 하나요? 감사합니다. -
AustinKim 2021/12/14 07:55 #
답신이 늦었네요.
EL1에서 EL0 그리고 EL0에서 EL1으로 변경하는 방법을 소개합니다.
<환경: T32 시뮬레이터 모드>
1. EL1에서 EL0으로 변경하는 방법
r 명령어를 입력하면 레지스터 창이 보일 겁니다.
SP 0 CPSR 01C5
EL1h ELR 0
nsec SPSR 0
아래 명령어를 입력하면
$ r.s m 0x0
EL0로 변경됩니다.
SP 0 CPSR 01C0
EL0t ELR 0
nsec SPSR
위 출력 결과에서 'EL0t' 가 EL을 나타냅니다.
2. EL0에서 EL1으로 변경하는 방법
아래 명령어를 입력하면 됩니다.
$ r.s m 0x5
SP 0 CPSR 01C5
EL1h ELR 0
nsec SPSR 0
위 출력 결과에서 'EL1h' 가 EL을 나타냅니다.
정리하면, Arm 아키텍처에서 정의된 익셉션 레벨을 바꾸려면 "r.s m [모드 바이트]" 명령어를 입력하면 됩니다. -
비더탑 2021/12/08 15:11 # 답글
설명 정말 감사합니다. 깊숙히는 그렇지만 어느 정도 이해하고 갑니다.ㅎ -
AustinKim 2021/12/14 07:55 #
많은 도움이 됐으면 좋겠습니다.
즐거운 하루 되세요.
최근 덧글