ARM Linux Development environments Cross-Compile Environment Setting for ARM.Install Build tools[root@ubuntu-vm]$ apt-get install build-essential git u-boot-tools qemu-user-static libncurses5-devInstall Cross-Compiler[root@ubuntu-vm]$ apt-get install gcc-arm-linux-gnueabihf R&D/OS 2014.02.26
Dynamic DMA mapping DMA에서 가장 중요한 사안은- DMA Address가 Physical Address 임- If Guest VM, Guest Physical Address struct scatterlist file: include/asm-generic/scatterlist.h#ifndef __ASM_GENERIC_SCATTERLIST_H#define __ASM_GENERIC_SCATTERLIST_H #include struct scatterlist {#ifdef CONFIG_DEBUG_SG unsigned long sg_magic;#endif unsigned long page_link; unsigned int offset; unsigned int length; dma_addr_t dma_address;#ifdef CON.. R&D/OS 2014.02.12
특정 모듈만 컴파일 하기 ㅇ Linux에서 특정 모듈만 컴파일 하고 싶을 때 make modules SUBDIRS=net/mac80211 ㅇ Ubuntu에서 커널 소스를 다운로드 받고 싶을 때apt-get source linux-image-$(uname -r) ㅇ KVM module 만 컴파일 하고 싶을 때make modules SUBDIRS=arch/x86/kvm R&D/OS 2014.01.10
Kernel debugging Name String Meaning alias function KERN_EMERG "" Emergency messages, system is about to crash or is unstable pr_emerg KERN_ALERT "" Something bad happened and action must be taken immediately pr_alert KERN_CRIT "" A critical condition occurred like a serious hardware/software failure pr_crit KERN_ERR .. R&D/OS 2014.01.02
ACPI Introduction o Reference- ACPI: Advnaced Configuration and Power Interface - ACPI: Desgin Principle and Concerns - Implementing ACPI 5 Features (Device Enumeration and Power Management) R&D/OS 2014.01.02
Kernel boot options isolcpus=1-7,9-15clocksource=tsctsc=perfecthighres=off (Guest)acpi=offisolcpus=1-3clocksource=tsctsc=perfecthighres=off Performance BenchmarkSYSMark, MobileMark R&D/OS 2013.12.13
[IA-32] Segment Registers 메모리에 대한 이해를 보다 보면, Segment Register에 대한 이야기가 자주 나온다. 오늘은 Segment Register에 대해서 이해해 보도록 하자. Segment Register는 Segment Selector라는 16bit 레지스터를 가지고 있다. Segment Selector는 메모리의 특정 영역(Segment)를 가르키는 포인터라고 이해하면 된다. 따라서 Segment 기반의 메모리 접근방식을 사용할 때는 Segment와 Offset을 이용해서 메모리 공간에 접근할 수 있다. Segment register의 종류- CS (Code Segment)- DS (Data Segment)- SS (Stack Segment)- ES (Extra Segment) : Extra data에 대한 po.. R&D/OS 2013.12.09
[Gate] Task Gate, Trap Gate, Interrupt Gate, Call Gate OS에 대해서 심도있게 내려가다 보면, Ring, Privilege Level, Gate라는 단어를 만나게 된다. ㅇ Gate 란?- 현재의 낮은 특권(Privileges Level, ex Ring 3) 에서 높은 특권(Ring 0)로 전환할 수 있는 통로 ㅇ Gate의 종류- Task Gate- Trap Gate- Interrupt Gate- Call Gate ㅇ 특징* Gate를 통과하기 않고, 낮은 특권에서 높은 특권으로 전환시, General-Protection Exception(#GP)가 발생한다.* 모든 gate descriptor는 2bit 의 DPL(Descriptor Privilege Level) field를 가지고 있으며, gate를 통한 전환시 DPL을 통해서 access right를.. R&D/OS 2013.12.05
BIOS ---[2.1.1 - Hardware Back in the 80's the BIOS firmware was contained in ROM or PROM chips, which could not be altered in any way, but nowadays, this firmware is stored in an EEPROM (Electrically Erasable Programmable Read-Only Memory). This kind of memory allows the user to reflash it, allowing the vendor to offer firmware updates in order to fix bugs, support new hardware and to add new functi.. R&D/OS 2013.12.01