函数逻辑报告 |
Source Code:arch\x86\kernel\cpu\mtrr\mtrr.c |
Create Date:2022-07-27 09:05:31 |
Last Modify:2022-05-18 17:35:08 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:mtrr_bp_init - initialize mtrrs on the boot CPU* This needs to be called early; before any of the other CPUs are* initialized (i.e. before smp_init()).
函数原型:void __init mtrr_bp_init(void)
返回类型:void
参数:无
695 | phys_addr等于32 |
697 | 如果boot_cpu_has(Memory Type Range Registers )则 |
698 | mtrr_if等于generic_mtrr_ops |
699 | size_or_mask等于SIZE_OR_MASK_BITS(36) |
700 | size_and_mask等于0x00f00000 |
701 | phys_addr等于36 |
708 | 如果CPUID functions returning a single datum大于等于0x80000008则 |
709 | phys_addr等于CPUID functions returning a single datum按位与0xff |
711 | 如果CPU vendor 恒等于X86_VENDOR_INTEL且CPU family 恒等于0xF且x86_model恒等于0x3且x86_stepping恒等于0x3或x86_stepping恒等于0x4的值则phys_addr等于36 |
719 | size_and_mask等于size_or_mask的反按位与0xfffff00000ULL |
720 | 否则如果CPU vendor 恒等于X86_VENDOR_CENTAUR且CPU family 恒等于6则 |
730 | 否则 |
732 | 当:CPU vendor 恒等于X86_VENDOR_AMD |
739 | 退出 |
740 | 当:CPU vendor 恒等于X86_VENDOR_CENTAUR |
747 | 当:CPU vendor 恒等于X86_VENDOR_CYRIX |
749 | mtrr_if等于mtrr_ops[X86_VENDOR_CYRIX] |
750 | size_or_mask等于SIZE_OR_MASK_BITS(32) |
751 | size_and_mask等于0 |
753 | 退出 |
754 | 默认 |
755 | 退出 |
759 | 如果mtrr_if则 |
760 | __mtrr_enabled = true |
762 | init_table() |
763 | 如果use_intel()则 |
765 | __mtrr_enabled等于get_mtrr_state() |
767 | 如果mtrr_enabled()则mtrr_bp_pat_init() |
770 | 如果mtrr_cleanup(phys_addr)则 |
771 | changed_by_mtrr_cleanup等于1 |
772 | set_all() |
777 | 如果非mtrr_enabled()则 |
778 | 打印信息("Disabled\n") |
785 | pat_disable("MTRRs disabled, skipping PAT initialization too.") |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |