본문 바로가기
반응형

프로그램.../프로....Kernel13

[고급 스킬] from Linux Kernel = Linux kernel에 나오는 고급스런 프로그래밍 스킬들을 다룬다(Macro 위주) = int __ret_warn_on = !!(condition);. 0 or 1 로 할당하기 위한 방법(condition) ? 1 : 0 = likely() / unlikely(). CPU에게 거의 지정한 값일 것이라고 알려서 대부분(N번) 빠른 처리를 수행하도록 하는 방법. likely() => 대부분 ()안의 결과를 참으로 예측. unlikely() => 대부분 ()안의 결과를 거짓으로 예측 = Macro 다중 문장의 결과값 설정방법. 맨뒤에 원하는 값의 변수나 값을 써준다. #define WARN_ON(condition) \ ({ \실행문 .... \ RET_VALUE; \ }) 2014. 10. 29.
[Magic SysRq Key] Setting = 펌> http://pgclks.tistory.com/133 원본> http://blog.naver.com/pinocc/120037594446 o Magic SysRq Key란 무엇인가? - magic system request key 의 줄임말. - magical key combo를 말하는 것으로 해당 키를 누르게되면 커널이 무엇을 하고 있던간에 커널이 완전히 죽은 경우가 아니라면, 바로 응답을 준다. o 커널 컴파일옵션 make menuconfig -> Kernel Hacking -> Kernel Debugging 체크 -> Magic Sysrq Key 체크 * 일반적으로 배포되는 리눅스에는 위 옵션이 기본적으로 체크되어 있다. 따라서 설치된 커널은 이미 sysrq 를 지원하도록 준비가 되어있는 셈.. 2014. 10. 19.
[커널 패닉] 디버깅을 위한 사전 필요 지식 = Kernel Panic을 분석하기 위해서 필요한 것들http://www.iamroot.org/xe/index.php?mid=QnA&document_srl=179706&sort_index=regdate&order_type=descARM의 경우를 기준으로 말씀드리자면 (다른 칩도 비슷합니다.) 기본적으로 ARM register들에 대한 기본 지식이 있어야 합니다. 각 register는 특별한 목적을 가진 것도 있고 범용인 것도 있습니다. 이중 PC, LR, SP register는 필수적으로 아셔야 합니다. 추가로 pipeline에 대해서도 알고 계셔야 합니다. 그 다음 함수가 불릴때 저 register들이 어떻게 쓰이는지를 알아야 합니다. 가장 필수적인 사항중 하나가, 왜 LR register의 값을 s.. 2014. 10. 17.
[커널 패닉] 디버깅 == 커널 패닉 관련 블로그 들을 링크해본다.= 키워드. 커널 패닉 분석 = crash 사용법 : http://lapan.tistory.com/67= objdump를 이용한 커널 oops 메세지 분석과 디버깅 : http://forum.falinux.com/zbxe/index.php?document_srl=533239&mid=lecture_tip /opt/IPQ/ipq8066-ln-1-1_qca_oem_standard-standard/qsdk/staging_dir/toolchain-arm_v7-a_gcc-4.6-linaro_uClibc-0.9.33.2_eabi/bin/arm-openwrt-linux-objdump /ProjFp/trunk/IPQ4/ipq8066-ln-1-1_qca_oem_standard-.. 2014. 10. 17.
반응형