V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Thiece
V2EX  ›  Linux

请教一个 scaling_available_frequencies 文件的问题

  •  
  •   Thiece · 2016-07-14 01:20:08 +08:00 · 1886 次点击
    这是一个创建于 3059 天前的主题,其中的信息可能已经有所发展或是发生改变。

    系统是如何知道 CPU 支持哪些频率并写入到 scaling available frequencies 配置文件中的呢? 如果我直接修改了 scaling available frequencies 文件是否会引起什么后果?

    4 条回复    2016-07-14 14:45:06 +08:00
    redsonic
        1
    redsonic  
       2016-07-14 07:24:58 +08:00
    scaling available frequencies 是只读的吧。 cpu 可用频率存在于 bios acpi 的一个表中。 bios 上电以后会侦测 cpu 的类型,选择对应的可用频率表。所以很多老主板要支持新 cpu 一般都是需要刷 bios 的。内核在变频时把 cpu stats 作为索引选择表中的具体项。
    Thiece
        2
    Thiece  
    OP
       2016-07-14 10:59:32 +08:00
    @redsonic 那移动端的 SOC 是怎么处理的呢?
    redsonic
        3
    redsonic  
       2016-07-14 11:37:46 +08:00   ❤️ 1
    没做过移动设备的底层开发,但之前了解一点, ARM 有一个 device tree ,写在 firmware 或 uboot 上面,描述板子上的硬件配置,和 x86 的 acpi 差不多但简单很多,可以看内核 arch/arm/boot/dts 里面有一些直接支持的 cpu 的 device tree :

    /*
    * Device Tree Source for OMAP34xx/OMAP35xx SoC
    *
    * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
    *
    * This file is licensed under the terms of the GNU General Public License
    * version 2. This program is licensed "as is" without any warranty of any
    * kind, whether express or implied.
    */

    #include "omap3.dtsi"

    / {
    cpus {
    cpu@0 {
    /* OMAP343x/OMAP35xx variants OPP1-5 */
    operating-points = <
    /* kHz uV */
    125000 975000
    250000 1075000
    500000 1200000
    550000 1270000
    600000 1350000
    >;
    clock-latency = <300000>; /* From legacy driver */
    };
    };
    .........................

    好像编译内核的时候会将这个文本描述编译成二进制文件,然后烧进去。具体可能要问问搞 BSP 的人
    最后内核通过一套 OPP 接口来访问它。
    Thiece
        4
    Thiece  
    OP
       2016-07-14 14:45:06 +08:00
    @redsonic 还需要慢慢的来研究研究_(:з」∠)_
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3766 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 04:20 · PVG 12:20 · LAX 20:20 · JFK 23:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.