原创 [Linux]cpu_down代碼閱讀記錄

Base linux5.0 CPU-up CPU-down BP AP BP AP

原创 [記錄]AArch64異常

AArch64 異常 Synchronous Asynchronous - IRQ - FIQ - SError Synchronous exceptions include - Service call: SVCs, SMC

原创 [Linux] SMP Bootcpu代碼閱讀記錄

online 可以被調度的 active 可以被遷移的 present 內核已接管的 possible 系統存在的CPU,但沒有被內核接管 cpu_down \->_cpu_down(cpu, 0) \->take_cpu

原创 [Linux] Kmalloc代碼閱讀記錄

Kmalloc代碼閱讀記錄 Base Linux RC5.0 SLOB SLAB SLUB static __always_inline void *kmalloc(size_t size, gfp_t flags) { if

原创 [Linux] suspend代碼閱讀記錄

Base Linux RC5.0 echo mem > /sys/power/state Suspend Resume | |

原创 [記錄]中斷下半部區別

linux kernel已經把中斷處理分成了top half和bottom half,看起來已經不錯了,那爲何還要提供softirq、tasklet和workqueue這些bottom half機制 workqueue和softi

原创 [Linux] Thermal Power allocator governor 分析

Power allocator governor 分析 PID控制算法原理圖 k_d

原创 [ATF]ARMv8 psci cpu off api

本文軟件分析使用arm-trust-firmwire v1.3版本。基於公開的fvp platform分析流程 cpu off的api是提供給hotplug使用的,主要是將cpu core powerdown。 psci 接口cpu

原创 [ATF]ARMv8 psci bootup target cpu api

本文軟件分析使用arm-trust-firmwire v1.3版本。基於公開的fvp platform分析流程 cpu on的api是提供給cpu bootup使用的,主要其他core將目標cpu bootup的api(hotplug

原创 [Linux][kernel]CFS調度策略

CFS調度策略 概述 CFS(完全公平調度器)是從內核2.6.23版本開始採用的進程調度器。基本原理:設定一個調度週期(sched_latency_ns),目標是讓每個進程在這個週期內至少有機會運行一次。也就是每個進程等待cpu的時間最長

原创 [ATF]ARMv8 psci cpu suspend api

本文軟件分析使用arm-trust-firmwire v1.3版本。基於公開的fvp platform分析流程 。 PSCI smc的api主要有如下幾個。 switch (smc_fid) { case

原创 [ATF]ARMv8 cpu warm boot (hotplug on)

本文軟件分析使用arm-trust-firmwire v1.3版本。基於公開的fvp platform分析流程。 在v1.3中,warm boot的entry point是定義好的,根據ARMv8 TRM,配置cpu reset add

原创 [ATF]ARMv8 cpu cold boot

本文軟件分析使用arm-trust-firmwire v1.3版本。基於公開的fvp platform分析流程。 * Boot Loader stage 1 (BL1) _AP Trusted ROM_ * Boot Loader

原创 [ATF]ARMv8 arm trust firmware

ARM 全Trustzone解決方案,軟件架構有ARM TBBR規範,在構建運行TEE環境時,ATF與TrustOS構成基本TEE執行環境。 本文主要介紹arm trust firmware組件。 定義與縮略語: REE: Ric

原创 [ATF]ARMv8 cpu warm boot (cpu hotplug vs cpu resume)

本文軟件分析使用arm-trust-firmwire v1.3版本。基於公開的fvp platform分析流程 cpu hotplug vs cpu resume