Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\cpu\mtrr\generic.c Create Date:2022-07-28 08:06:18
Last Modify:2022-05-18 17:45:43 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Since we are disabling the cache don't allow any interrupts,* they would run extremely slow and would only increase the pain.* The caller must ensure that local interrupts are disabled and* are reenabled after post_set() has been called.

Proto:static void prepare_set(void)__acquires(set_atomicity_lock)

Type:void

Parameter:Nothing

741  raw_spin_lock( & set_atomicity_lock)
744  cr0 = read_cr0() | X86_CR0_CD
745  write_cr0(cr0)
753  If Not static_cpu_has("ss" CPU self snoop ) Then wbinvd()
757  If boot_cpu_has(Page Global Enable ) Then
758  cr4 = __read_cr4()
759  __write_cr4(cr4 & ~X86_CR4_PGE)
763  count_vm_tlb_event(NR_TLB_LOCAL_FLUSH_ALL)
764  __flush_tlb()
767  Access to machine-specific registers (available on 586 and better only)* Note: the rd* operations modify the parameters directly (without using* pointer indirection), this allows gcc to optimize better(MSR_MTRRdefType, deftype_lo, deftype_hi)
770  Doesn't attempt to pass an error out to MTRR users* because it's quite complicated in some cases and probably not* worth it because the best error handling is to ignore it.
773  If Not static_cpu_has("ss" CPU self snoop ) Then wbinvd()
Caller
NameDescribe
mtrr_bp_pat_initPAT setup for BP. We need to go through sync steps here
generic_set_all
generic_set_mtrrgeneric_set_mtrr - set variable MTRR register on the local CPU.*@reg: The register to set.*@base: The base address of the region.*@size: The size of the region. If this is 0 the region is disabled.*@type: The type of the region.* Returns nothing.