函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\cpu\amd.c Create Date:2022-07-27 08:58:54
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:cpu_detect_tlb_amd

函数原型:static void cpu_detect_tlb_amd(struct cpuinfo_x86 *c)

返回类型:void

参数:

类型参数名称
struct cpuinfo_x86 *c
1013  mask等于0xfff
1015  如果CPU family 小于0xf则返回
1018  如果Max extended CPUID function supported: 小于0x80000006则返回
1021  cpuid(0x80000006, & eax, & ebx, & ecx, & edx)
1023  tlb_lld_4k[ENTRIES]等于ebx右移16位按位与mask
1024  tlb_lli_4k[ENTRIES]等于ebx按位与mask
1030  如果CPU family 恒等于0xf则
1031  cpuid(0x80000005, & eax, & ebx, & ecx, & edx)
1032  mask等于0xff
1036  如果非eax右移16位按位与mask的值则tlb_lld_2m[ENTRIES]等于CPUID functions returning a single datum右移16位按位与0xff
1038  否则tlb_lld_2m[ENTRIES]等于eax右移16位按位与mask
1042  tlb_lld_4m[ENTRIES]等于tlb_lld_2m[ENTRIES]右移1位
1045  如果非eax按位与mask的值则
1047  如果CPU family 恒等于0x15且x86_model小于等于0x1f则
1048  tlb_lli_2m[ENTRIES]等于1024
1049  否则
1050  cpuid(0x80000005, & eax, & ebx, & ecx, & edx)
1051  tlb_lli_2m[ENTRIES]等于eax按位与0xff
1053  否则tlb_lli_2m[ENTRIES]等于eax按位与mask
1056  tlb_lli_4m[ENTRIES]等于tlb_lli_2m[ENTRIES]右移1位