Arm Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

46107
469
422678


태그 : arm64 요약보기전체보기목록닫기

1 2

[리눅스커널] Arm64: VMEMMAP_START, vmemmap, PAGE_OFFSET 위치 조정(v5.4)

리눅스 커널 v5.4 버전부터 가상 주소 맵이 약간 변경됐습니다.그 중 대표적인 속성은 아래 정보입니다.VMEMMAP_START: 0xfffffffeffe00000PAGE_OFFSET:   0xffffff8000000000    이 정보를 직접 어셈블리 코드로 확인해보겠습니다.관련 코드는 참고로 다음과 같습니다.&nb...

[Linux][ARM] Coprocessor(코프로세서) Assembly

ARM 프로세스 내 Coprocessor라는 하드웨어가 있습니다. Co-Processor라는 것은 Co-worker랍니다. CPU 혼자 모든 일을 다 할 수 없으니 Co-Processor가 필요한 것입니다.Co-Processor는 C언어 같이 어떤 코드 흐름을 제어하는 일보다는 ARM Core나 Cache을 콘트롤하는 역할을 수행합니다. 그래서...

ARM64- Stack Push Userspace -> Kernel Space 코드리뷰

유저 공간에서 실행된 레지스터가 커널 Bottom Stack에 Push 되는 디버깅 정보를 예전 페이지에 업데이트했잖아요.아래와 같은 메모리 덤프를 확인했었죠.(출처:http://rousalome.egloos.com/9966225)NUD:FFFFFFE4DE6A7EB8| 3C 6B 77 2B 46 76 A8 C2  0xC2A876462B776B3...

[ARM64]signal - sa_handler signal handler 실행 (code walk-through)

#리눅스 커널 런큐 & 프로세스Runqueue(런큐) 디버깅 - Process 프로세스 상태Runqueue(런큐) Timestamp(실행 시간) 확인signal - sa_handler signal handler 실행  signal - signal handler data structure signal에 대해서는 리눅스 시...

ARM64 - Data Abort Exception(익셉션) Vector 실행

이번 시간에는 Abort 즉 프로그램에 문제가 생겨서 Exception이 생겼을 때 동작 흐름에 대해점검해보고자 해요.ARM에 대한 자료와 세미나를 통해 Exception에 대해서 엄청나게 많이 들었잖아요.뭐, data abort, prefetch abort, undefined abort 등등이죠.이제 ARM64 아키텍처에서는 이 Abort를 어떻게 처...

IRQ Stack(ARM64) - Debugging(디버깅)

아래 블로그에서 IRQ Stack(ARM64)에 대해 소개를 했는데요.http://rousalome.egloos.com/9966360이번에는 직접 코어 덤프에서 IRQ Stack 덤프를 살펴볼께요.IRQ Stack Feature를 지원하는 프로세스의 콜스택을 Trace32로 잡아서 확인해 보았어요.참고로, 아래는 CPU0에서 idle process가 돌...

IRQ Stack(ARM64) - Overview

IRQ Stack란 뭘까요. IRQ가 쓰는 스택이라고 말할 수 있나요? 이번 시간에 IRQ Stack에 대한 내용을 조금 더 짚어 보겠습니다. IRQ Stack이란 IRQ가 떳을 때 사용하는 스택 공간입니다. 달리 설명하면 인터럽트 컨택스트로 코드가 실행될 때 스택에 지역 변수를 할당 받고 함수를 호출할 때 프레임 포인터 레지스터를 스택에 푸쉬...

ARM64 - 프로세스(Process) preempt_disable(), preemption 스케줄(Schedule) 조건 분석

아래 제 블로그에서 ARM32 아키텍처에서 preempt_disable() 매크로 함수를 호출하면 __irq_svc 벡터에서 svc_preempt 함수를 호출하지 않아, preemption이 수행되지 않는다고 확인했어요.http://rousalome.egloos.com/9964816이번에는 ARM64(Aarch64) 아키텍처에서는 어떤 코드로 ...
1 2