首页 > 其他分享 >平台对象建立过程

平台对象建立过程

时间:2023-06-05 15:01:28浏览次数:40  
标签:early mdesc phys 对象 平台 prop machine dt 过程


函数setup_machine_fdt()对struct machine_desc对象初始化。函数参数dt_phys给出了设备树的物理地址。


const struct machine_desc * __init setup_machine_fdt(unsigned int dt_phys)
 {
     const struct machine_desc *mdesc, *mdesc_best = NULL;

 #ifdef CONFIG_ARCH_MULTIPLATFORM
     DT_MACHINE_START(GENERIC_DT, "Generic DT based system")
     MACHINE_END

     mdesc_best = &__mach_desc_GENERIC_DT;
 #endif

     if (!dt_phys || !early_init_dt_verify(phys_to_virt(dt_phys)))
         return NULL;

     mdesc = of_flat_dt_match_machine(mdesc_best, arch_get_next_mach);

     if (!mdesc) {
         const char *prop;
         int size;
         unsigned long dt_root;

         early_print("\nError: unrecognized/unsupported "
                 "device tree compatible list:\n[ ");

         dt_root = of_get_flat_dt_root();
         prop = of_get_flat_dt_prop(dt_root, "compatible", &size);
         while (size > 0) {
             early_print("'%s' ", prop);
             size -= strlen(prop) + 1;
             prop += strlen(prop) + 1;
         }
         early_print("]\n\n");

         dump_machine_table(); /* does not return */
     }

     /* We really don't want to do this, but sometimes firmware provides buggy data */
     if (mdesc->dt_fixup)
         mdesc->dt_fixup();

     early_init_dt_scan_nodes();

     /* Change machine number to match the mdesc we're using */
     __machine_arch_type = mdesc->nr;

     return mdesc;
 }

标签:early,mdesc,phys,对象,平台,prop,machine,dt,过程
From: https://blog.51cto.com/u_11860992/6416210

相关文章

  • 直播平台搭建,编辑距离控制和调节
    直播平台搭建,编辑距离控制和调节 /** *@param{string}word1 *@param{string}word2 *@return{number} */varminDistance=function(word1,word2){ letdp=Array.from(Array(word1.length+1),()=>  Array(word2.length+1).fill(0) ); /*base......
  • 可观测性革命 - 揭秘OpenObserve开源高性能云原生平台
    简介OpenObserve是一个开源的云原生可观测性平台,与Elasticsearch相比,存储成本降低了约140倍(实际结果可能因测试数据而有所不同),测试用例包括真实的日志数据,其显著降低运营成本,并提高了易用性。它可以扩展到PB级别的数据量,具有很高的性能,您晚上可以睡得更好。如果您正在寻找......
  • PMP - 启动过程组
    $制定项目章程,输入:商业文件(内部的,包含:商业论证+效益管理计划)或协议(与外部客户)工具和技术:专家判断会议数据收集人际关系输出:项目章程。项目章程内容:12项:成功的标准项目目标考点:项目结束以后的评价依据项目目标在哪记录项目与组织战略组织运营的管理之间建立管......
  • PMP - 规划过程组
    制定项目管理计划->规划xx管理制定项目章程:收集需求(用户语言描述)定义范围(可交付成功)制定WBS(分解)制定WBS-定义活动-1、排序活动顺序2、估算活动持续时间-制定进度计划(网路图+资源+时间)制定WBS-规划采购管理制定WBS-规划成本管理-1、规划人力资源管理(估......
  • PMP - 监控过程组
    比较项目绩效数据与项目管理计划=>工作绩效信息-监控项目工作-工作绩效报告监控项目工作:范围时间陈恩质量资源沟通风险采购相关方(反食诚挚认购风采整两箱)确认范围:验收-项目收尾、输出-变更请求-实施整体变更控制、规划采购管理-变更请求-实施整体......
  • PMP - 执行过程组
    制定管理计划管理项目知识<-变更请求指导与管理工作指导与管理项目工作-变更请求(获取资源(采购设施QA)-建设团队(管理沟通)-管理团队(管理干系人参与实施风险应对))-变更请求资源输出获取资源团队资源派工单实物资源分配单资源日历建设团队团队绩效评价(建......
  • 如何在企业中培养平台工程文化?
    平台工程是一种新兴的技术方法,可以加速应用程序的交付和产生商业价值的速度。平台工程通过提供具有自动化基础设施操作的自助服务能力,改善开发者的体验与生产力,同时降低操作的复杂性,并缓解了开发过程中的摩擦。 当然,平台工程不仅仅是关于工具与技术,还需要企业在文化和工作方式上......
  • 十六进制颜色与Color对象的互相转换[C#]
    十六进制颜色与Color对象的互相转换[C#] C#十六进制颜色与Color对象的互相转换 把十六进制颜色转化为color对象ColorTranslator.FromHtml("#FF0000")或ColorTranslator.FromHtml("Red");把color对象转化为十六进制颜色ColorTranslator.ToHtml(Color.FromArgb(255,255,255))......
  • 5. 操作符重载与临时对象
    operatoroverloading(操作符重载),非成员函数this让我们回到刚刚的话题,我们刚刚谈到操作符重载,操作符重载是一个C++的一个很大的特性,要讲的东西也很多,我们先回到前面的,有一张投影片啊,我们来看一个东西。这是最早的时候,我再说,一开始,其实我们一直都在进行的,就是在这个头文件,......
  • JS中创建对象的几种常见的方式
    创建对象方式//方式1varobj1={"name":"方式1"}//方式2varobj2={name:"方式2"}//方式3varobj3=newObject({"name":"方式3"});//方式4varobj4=newObject();obj4.name="方式4"//方式5:通过对象构造器创建对象fu......