
primary cpu 는 커널에 진입할때 모든 exception 이 마스크된 채로 들어옵니다. DAIF = 1111디버깅과(D) SError(A) 를 마스킹 해제 해야 합니다.IF 는 irqchip (gic) 초기화 후 열수 있기 때문에 마스킹 합니다.#define DAIF_PROCCTX_NOIRQ (PSR_I_BIT | PSR_F_BIT)void __init __no_sanitize_address setup_arch(char **cmdline_p){ /* * The primary CPU enters the kernel with all DAIF exceptions masked. * * We must unmask Debug and SError before preemption..
https://clucle.tistory.com/entry/procS-primaryswitchedhttps://clucle.tistory.com/entry/jumplabel 이전 포스팅에서 다뤘던 scs, jump label 을 사용하여 shadow call stack 을 초기화 합니다.void __init __no_sanitize_address setup_arch(char **cmdline_p){ // scs 초기화 dynamic_scs_init();scs 는 stack pointer 를 레지스터 뿐 아니라, task 구조체에 저장하고 불러옵니다.#ifdef CONFIG_DYNAMIC_SCSDEFINE_STATIC_KEY_FALSE(dynamic_scs_enabled);#endif#ifdef..
void __init __no_sanitize_address setup_arch(char **cmdline_p){ parse_early_param();early param 이란 어떤것이고, 어떻게 사용하는지 알아보자.early param.init.setup 섹션에 미리 등록한 parameter 가 early param 으로 사용 가능합니다.__setup_start 에 들어갈 수 있도록 매크로로 정의합니다.extern const struct obs_kernel_param __setup_start[], __setup_end[];/* * Only for really core code. See moduleparam.h for the normal way. * * Force the alignment so t..
setup_arch jump_label_init 분석// arch/arm64/kernel/setup.cvoid __init __no_sanitize_address setup_arch(char **cmdline_p){ jump_label_init();}jump_label_init구조체 정의// arch/arm/include/asm/jump_label.htypedef u32 jump_label_t;struct jump_entry { jump_label_t code; jump_label_t target; jump_label_t key; };struct static_key { atomic_t enabled;#ifdef CONFIG_JUMP_LABEL/* * Note: * To ma..
- Total
- Today
- Yesterday
- set value
- red underline
- 클래스 맴버 변수 출력하기
- mysql
- vrpit
- it's called a vrpit
- print shared_ptr class member variable
- SuffixArray
- Obstacle Avoidance
- 봄날에 스케치
- boost
- 면접
- Visual Studio
- 카카오
- cockroach db
- Golang
- C++
- vr핏
- 우리는 vr핏이라고 부릅니다
- chrome-extension
- ad skip
- 영상 픽셀화 하기
- 잘못된 빨간줄
- 에러 위치 찾기
- 코어 남기기
- Reciprocal n-body Collision Avoidance
- shared_from_this
- RVO
- Quest2
- hole-punching
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |