특정 CPU를 끄는 패치(특정 CPU에서 커널 크래시)
By Guillermo Austin Kim | 2017년 12월 24일 |
가끔 타겟 보드에서 특정 CPU에서만 커널 패닉으로 시스템이 리셋되는 경우가 있어요.이럴 때 테스트할 수 있는 유용한 디버깅 패치를 소개하고자 해요. 아래 패치는 부팅 할 때 CPU3을 sys node에서 아예 제거시키거든요. 아예 CPU3가 안 돌게 되는거죠.diff --git a/kernel/cpu.c b/kernel/cpu.cindex 5b4440d..14cce91 100644--- a/kernel/cpu.c+++ b/kernel/cpu.c@@ -510,7 +510,7 @@ static int _cpu_up(unsigned int cpu, int tasks_frozen) cpu_hotplug_begin(); - if (cpu_online(cpu) || !cpu_presen
[Linux][Kernel] What is process?
By Guillermo Austin Kim | 2018년 12월 26일 |
It is difficult to understand process in Linux Kernel. Because processes are abstract concepts, it can be viewed from different perspectives. It seems that you have read and understood the process, but it is often difficult to apply what you have learned in practice to the process. Why? This is because we study the process in a way that understands theory. This process does not seem to be the goa
IRQ Stack(ARM64) - Overview
By Guillermo Austin Kim | 2017년 12월 26일 |
IRQ Stack을 소개할까 해요. ARM64 비트 아키텍처 기반 리눅스 커널 4.4 버전부터는 IRQ Stack을 지원하거든요. 이게 뭔 소리냐?IRQ가 Trigger되면IRQ Stack Bottom 주소로 점프해서 IRQ Stack을 써서 함수 호출 및 로컬 변수를 처리한다는 거에요. 간단히 설명을 하면 A -> B -> C -> IRQ Trigger ->D 이런 순서로 호출된다고 보면 되요..[스택주소]0x9880x990 D0x9980xA000 irq_el1 //<<-- IRQ Stack Bottom 주소 // .. 생략 ...0x700x780x80 C0x880x90 B0x980xa00 A 그럼 왜 IRQ 용 스택을 따로 쓸까요? 여러가
[라즈베리파이] 라즈베리 파이 사용 시 주의사항
By Guillermo Austin Kim | 2020년 1월 16일 |
이번에는 라즈베리 파이를 쓰면서 주의해야 할 사항 몇 가지를 정리합니다. 이 내용을 숙지하면 조금 더 오랫동안 라즈베리 파이를 쓸 수 있습니다. 1. 라즈베리 파이의 전원을 끌 때는 반드시 셧다운 메뉴를 선택합시다. 컴퓨터의 전원을 끌 때처럼 하면 됩니다. 바로 전원 케이블을 빼버리면 라즈베리 파이가 다시 부팅을 못할 수 있습니다. 마이크로 SD 카드가 제대로 마운트를 해제하지 않은 채로 전원이 끊기면 파일 시스템이 손상될 수 있기 때문입니다. 2. 라즈베리 파이는 주머니에 들어갈 만한 크기입니다. 그렇다고 정말 주머니에 그대로 넣고 다니면 안 됩니다. 라즈베리 파이를 가지고 다니다 떨어뜨리면 못 쓸 수 있습니다. 라즈베리 파이는 꼭 보호 케이스를 써서 충격으로부터 보호합시다. 3. 겨울철에 정전기가