태그>arm64(총 47개의 글)
'arm64' 관련 최근글
-
- [리눅스커널] Arm64: VMEMMAP_START, vmemmap, PAGE_OFFSE..

-
Arm Linux Kernel Hacks by AustinKim|2021/08/08 21:36
리눅스 커널 v5.4 버전부터 가상 주소 맵이 약간 변경됐습니다.그 중 대표적인 속성은 아래 정보입니다. VMEMMAP_START: 0xfffffffeffe00000PAGE_OFFSET: 0xffffff8000000000 이 정보를 직접 어셈블리 코드로 확인해보겠습니다. 관련 코드는 참고로 다음과 같습니다. vmemmap ((..
- [리눅스커널] Arm64: VMEMMAP_START, vmemmap, PAGE_OFFSE..
-
-
- [Linux][ARM] Coprocessor(코프로세서)..

-
Linux Kernel(4.9) Hacks by Guillermo|2018/05/24 08:41
ARM 프로세스 내 Coprocessor라는 하드웨어가 있습니다. Co-Processor라는 것은 Co-worker랍니다. CPU 혼자 모든 일을 다 할 수 없으니 Co-Processor가 필요한 것입니다. Co-Processor는 C언어 같이 어..
- [Linux][ARM] Coprocessor(코프로세서)..
-
- ARM64- Stack Push Userspace -> Kernel Space 코드리뷰

-
Linux Kernel(4.4) Hacker by Guillermo|2018/01/01 00:35
유저 공간에서 실행된 레지스터가 커널 Bottom Stack에 Push 되는 디버깅 정보를 예전 페이지에 업데이트했잖아요.아래와 같은 메모리 덤프를 확인했었죠.(출처:http://rousalome.egloos.com/9966225)NUD:FFFFFFE4DE6A7EB8| 3C 6B 77 2B 46 76 A8 C2 0xC2A876462B776B3CNUD..
- ARM64- Stack Push Userspace -> Kernel Space 코드리뷰
-
- [ARM64]signal - sa_handler signal handler 실행 (code walk-t..

-
Linux Kernel(4.x) Hacker by Guillermo|2017/12/30 21:16
#리눅스 커널 런큐 & 프로세스Runqueue(런큐) 디버깅 - Process 프로세스 상태Runqueue(런큐) Timestamp(실행 시간) 확인signal - sa_handler signal handler 실행 signal - signal handler data structure signal에 대해서는 리눅스 시스템 ..
sa_handler, linux, kernel, 리눅스, 커널
- [ARM64]signal - sa_handler signal handler 실행 (code walk-t..
-
- ARM64 - Data Abort Exception(익셉션) Vecto..

-
Linux Kernel(4.x) Hacker by Guillermo|2017/12/29 21:06
이번 시간에는 Abort 즉 프로그램에 문제가 생겨서 Exception이 생겼을 때 동작 흐름에 대해점검해보고자 해요. ARM에 대한 자료와 세미나를 통해 Exception에 대해서 엄청나게 많이 들었잖아요.뭐, data abort, pr..
- ARM64 - Data Abort Exception(익셉션) Vecto..
-
- IRQ Stack(ARM64) - Debugging(디버깅)

-
Linux Kernel(4.x) Hacker by Guillermo|2017/12/28 23:53
아래 블로그에서 IRQ Stack(ARM64)에 대해 소개를 했는데요. 이번에는 직접 코어 덤프에서 IRQ Stack 덤프를 살펴볼께요. IRQ Stack Feature를 지원하는 프로세스의 콜스택을 Trace32로 잡아서 확인해 보았어요. 참고로, 아래는 CPU0에서 idle process가 돌아가 갑자기..
- IRQ Stack(ARM64) - Debugging(디버깅)
-
- IRQ Stack(ARM64) - Overview

-
Linux Kernel Hacker by AustinKim|2017/12/26 22:32
IRQ Stack란 뭘까요. IRQ가 쓰는 스택이라고 말할 수 있나요? 이번 시간에 IRQ Stack에 대한 내용을 조금 더 짚어 보겠습니다. IRQ Stack이란 IRQ가 떳을 때 사용하는 스택 공간입니다. 달리 설명하면 인터럽트 컨택스..
- IRQ Stack(ARM64) - Overview
-
- ARM64 - 프로세스(Process) preempt_disable(), preemption ..

-
Linux Kernel Hacker by AustinKim|2017/12/25 23:18
아래 제 블로그에서 ARM32 아키텍처에서 preempt_disable() 매크로 함수를 호출하면 _irq_svc 벡터에서 svc_preempt 함수를 호출하지 않아, preemption이 수행되지 않는다고 확인했어요.http://rousalome.egloos.com/9964816 이번에는 ARM64(Aarch64) 아키텍..
- ARM64 - 프로세스(Process) preempt_disable(), preemption ..
-
- ARM64 - ttrb0 Special Register 설정 건

-
Linux Kernel Hacker by AustinKim|2017/12/25 22:16
current_thread_info를 보면 ttbr0 레지스터 확인을 할 수 있거든요. (리눅스 커널 버젼: 4.4 이상) (struct thread_info *) (struct thread_info*)(0xFFFFFFE5783BFEE0 & ~0x3fff) = 0xFFFFFFE5783BC000 = (long unsigned int) flags = 0 = 0x0 = '.',..
- ARM64 - ttrb0 Special Register 설정 건
-
- ARM64(Aarch64) - 함수 호출시 Stack Push(스..

-
Linux Kernel Hacker by AustinKim|2017/12/25 13:03
아래와 같은 콜 스택에서 유저 공간에서 돌던 레지스터 Stack Push와 Exception 발생 시 Stack Push에 대해서 살펴봤어요. 이제는 평상시 함수 호출 시 어떻게 Stack Push를 하는 지 점검하려고 해요. 자 계속 그..
- ARM64(Aarch64) - 함수 호출시 Stack Push(스..
-
- ARM64- 스택 푸쉬(Stack Push) Userspace..

-
Linux Kernel Hacker by AustinKim|2017/12/25 11:46
유저 스페이스에서 커널 스페이스로 전환하려면 시스템 콜을 호출해야 한다 것은 마르고 닳도록 들었죠?이번에는 ARM64 Architecture에서 EL0 ->EL1로 변환될 시, Stack을 어떻게 Push하는 지 살펴볼..
- ARM64- 스택 푸쉬(Stack Push) Userspace..
-
- ARM64 - Exception 시 Stack Push

-
Linux Kernel Hacker by AustinKim|2017/12/25 10:10
유저 공간에서 시스템 콜을 호출할 때 유저 공간에서 돌던 레지스터를 커널 공간 스택 Bottom Address 근처에 Push하거든요. 이번에는 Exception(Data abort)이 발생했을 때 스택에 어떤 값들을 Push하는 지 점검해 볼께요. 아래는 ch_pop_remote_rx_intent() ..
- ARM64 - Exception 시 Stack Push
-
- ARM64(Aarch64) - Special Register 설정(Tra..

-
Linux Kernel Hacker by AustinKim|2017/12/24 18:13
AArch64 64비트 아키텍쳐에서 설정해야 할 Special Register에 대해서 잠깐 살펴볼께요.우선 커널이 구동될 때의 Exception Level이 1이니까 EL1 모드만 점검하죠. TTBR1_EL1약자는 Translation Table Base Re..
- ARM64(Aarch64) - Special Register 설정(Tra..
-
- [ARMv8]ARM64 - 각 익셉션(Exception) 레..

-
Linux Kernel Hacker by AustinKim|2017/12/23 18:48
이번 포스팅에서는 ARMv8 아키텍처를 파악하다가 만나는 가장 큰 걸림돌인 '익셉션 레벨'에 대해 설명합니다. 대부분 개발자들은 기존 ARM 아키텍처의 User, Supervisor, IRQ, FIQ, 모드에 익숙한 상..
- [ARMv8]ARM64 - 각 익셉션(Exception) 레..



