函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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
注解内核,赢得工具下载SCCTEnglish

函数名称: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

参数:

693  HACK ALERT!* These should be called implicitly, but we can't yet until all the initcall* stuff is done...
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则
711  如果CPU vendor 恒等于X86_VENDOR_INTELCPU 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_CENTAURCPU family 恒等于6则
727  size_and_mask等于0
728  phys_addr等于32
730  否则
739  退出
746  退出
753  退出
754  默认
755  退出
759  如果mtrr_if
760  __mtrr_enabled = true
761  This function returns the number of variable MTRRs
762  init_table()
763  如果use_intel()则
767  如果mtrr_enabled()则mtrr_bp_pat_init()
770  如果mtrr_cleanup(phys_addr)则
772  set_all()
777  如果非mtrr_enabled()则
778  打印信息("Disabled\n")
785  pat_disable("MTRRs disabled, skipping PAT initialization too.")