본문 바로가기 메뉴 바로가기

두찡의 일상

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

두찡의 일상

검색하기 폼
  • 분류 전체보기 (129)
    • 개발 (119)
      • 알고리즘 (6)
      • 일상 (50)
      • 병렬프로그래밍 (8)
      • 도트도전기 (12)
      • 코드로 알아보는 ARM 리눅스 커널 TIL (33)
      • arm64 linux 6 분석 (10)
    • 게임근황 (6)
    • 개발 외 일상 (2)
  • 방명록

분류 전체보기 (129)
20240907 4.2.2 메모리 맵 (p249) & 4.3 존 (p.254)

vmap 은 주로 비연속적(non-contiguous)인 물리 페이지들을 연속적인 가상 주소 공간으로 매핑. 그러나 각 물리 페이지에 tlb 는 하나씩 mem_map 으로는 원래 두번 테이블을 타야했는데, vmemmap 으로 64비트에서는 조금더 빠르게 하는 것 같다 https://elixir.bootlin.com/linux/v4.9/source/include/asm-generic/memory_model.h#L53 sparse.c:sparse_init -> sparse_early_mem_map_alloc (each_section) -> sparse_init_one_sectionsparse_early_mem_map_alloc -> sparse_mem_map_populate -> if (vmemmap_pop..

개발/코드로 알아보는 ARM 리눅스 커널 TIL 2024. 11. 16. 15:27
20240831 - sparse init (p269)

sparse init  P.269 pageblock_order가 큰 경우, 같은 타입의 페이지를 더 큰 블록 단위로 한꺼번에 할당하고, 이들을 물리 메모리에서 연속적인 공간에 몰아두려는 의도입니다. 이렇게 함으로써 여러 가지 이점이 있습니다.  // 각 SECTION 수마다 만드네.size = sizeof(unsigned long *) * NR_MEM_SECTIONS;usemap_map = memblock_virt_alloc(size, 0);// section->section_mem_map 은 속성을 플래그로 가지고 있다.#define SECTION_MARKED_PRESENT (1ULsection_mem_map & SECTION_MARKED_PRESENTsection->section_mem_map & S..

개발/코드로 알아보는 ARM 리눅스 커널 TIL 2024. 11. 16. 15:09
20240817 페이징과 매핑 (p200) & memblock(p221)

3.4 I/O 메모리 매핑 paging init 이 되기전에 io mapping 이 되야 하는 경우? ACPI 테이블, EFI 테이블, 일부 디바이스 에 접근해서 설정 정보를 가져와야 하는 경우 early ioremap : early IO 매핑하기 IO mapping 전 먼저 처리 위해 fixmap 영역을 사용하는 early io mapping -> FIX_PAGE_IO early memremap: early 메모리 매핑하기 IO 가 아닌 normal 메모리인데, fixmap 영역을 사용 -> FIX_PAGE_NORMAL 4.1 early 메모리 할당자: memblock 커널의 메모리 할당 - memblock: 메인 메모리 할당자가 초기화 되기 전 사용 - 페이지 할당자 : 페이지 단위 할당 - 메모리 ..

개발/코드로 알아보는 ARM 리눅스 커널 TIL 2024. 11. 16. 15:03
20240627 - ARMv8아키텍처 (p34)

tcr : translation control registert0sz : tfanslation table 0 size1:1 매핑 위해서 가상 메모리에서 쓰는 비트수 조정 ttbr 의 asid 와 페이지- https://developer.arm.com/documentation/ddi0406/cb/System-Level-Architecture/System-Control-Registers-in-a-VMSA-implementation/VMSA-System-control-registers-descriptions--in-register-order/TTBR0--Translation-Table-Base-Register-0--VMSA?lang=en extern pgd_t swapper_pg_dir[PTRS_PER_PGD..

개발/코드로 알아보는 ARM 리눅스 커널 TIL 2024. 11. 9. 16:59
20240622 - AArch64 익셉션 핸들링

하이퍼바이저하드웨어에서 시스템의 운영 체제와 리소스를 분리해 VM에 할당하여 가상 머신을 생성하고 구동하는 소프트웨어EL2, EL3 는 하드웨어에서 지원하며 각 Cpu 를 사용하는 곳에서 옵션으로 키고 끌수있음프로세서 상태 레지스터, 범용 레지스터, 특수목적 레지스터, ABI 레지스터가 따로 존재SCR_EL3 (Secure configuration register) 어떤 익셉션이 레벨 3으로 갈지 정의 (16p)adr & adrl assemblyadr -> pc 기준으로 +- 1MB 범위 내, adrl 더 넓게 (4kb 단위로 +-4gb adrp + 4kb offset).align는 정렬할 바이트 단위를 나타냅니다. 예를 들어, .align 12는 2^12 바이트(즉, 4096 바이트)의 배수로 정렬합니..

개발/코드로 알아보는 ARM 리눅스 커널 TIL 2024. 11. 9. 15:48
코드로 알아보는 ARM 리눅스 커널 TIL 카테고리 추가

리눅스 스터디를 하면서 그날 그날 배운 내용들을 정리해보기 위한 카테고리를 추가했습니다.

개발/코드로 알아보는 ARM 리눅스 커널 TIL 2024. 11. 9. 15:28
크로스코드 도전과제 공략 - 우리는 VR핏이라고 부릅니다

고슴도치 멈추는 버그https://www.youtube.com/watch?v=HBhc8C-zmoE

게임근황 2024. 7. 7. 02:47
구글 스터디잼 2024 완료

머신러닝 & LLM 에 대한 기본 지식과, Vertex AI 를 사용한 prompt engineering 을 시도해볼 수 있는 좋은 경험이었습니다.

카테고리 없음 2024. 4. 21. 17:45
ts-proto 에 오픈소스 기여

https://github.com/stephenh/ts-proto/pull/1034 docs: add OneofValue type helper by clucle · Pull Request #1034 · stephenh/ts-proto ref: #1023 In previous helper, it is not possible to construct a message with the oneof field passed as a function argument. This helper allows for strict type checking and construct message using ... github.com proto 파일을 typescript 로 변환해주는 ts-proto 프로젝트에 기여했습니다. pro..

개발/일상 2024. 4. 20. 16:33
windows10 wsl nu shell 적용하기

최근 윈도우 개발 환경을 처음부터 만들던 중, ls 가 너무 아름답게 나와 zsh 에서 nu 로 갈아타보기로 했다. 이번 글에서는 wsl 과 nu 설치 그리고 $PATH 등록까지 알아보자. 모든걸 마치면 요렇게 사용 가능하다. 1. wsl 설치 wsl 은 Windows Subsystem for Linux 의 줄임말입니다. 윈도우 os 에서 리눅스 환경을 돌릴 수 있게 해줍니다. 윈도우 + R 키를 눌러 cmd 를 실행합니다. cmd 창에 아래와 같이 입력합니다. wsl --install 이후 재부팅합니다. 재부팅 후 사용할 Id, Password 를 이용하면 wsl 설치를 완료합니다. 2. nu shell 설치 2-1. brew 설치 nu shell 은 쉘의 종류 중 하나로, 개인적으로 생각하기엔 gui..

개발/일상 2023. 7. 31. 16:34
이전 1 2 3 4 5 6 7 8 ··· 13 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • 링크드인
  • 깃허브
TAG
  • mysql
  • 클래스 맴버 변수 출력하기
  • shared_from_this
  • 카카오
  • 영상 픽셀화 하기
  • Golang
  • RVO
  • print shared_ptr class member variable
  • vrpit
  • chrome-extension
  • Quest2
  • 면접
  • Reciprocal n-body Collision Avoidance
  • C++
  • 코어 남기기
  • 봄날에 스케치
  • ad skip
  • 잘못된 빨간줄
  • 우리는 vr핏이라고 부릅니다
  • SuffixArray
  • Visual Studio
  • Obstacle Avoidance
  • cockroach db
  • red underline
  • vr핏
  • set value
  • it's called a vrpit
  • boost
  • hole-punching
  • 에러 위치 찾기
more
«   2025/06   »
일 월 화 수 목 금 토
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
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.