函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:vesa_probe

函数原型:static int vesa_probe(void)

返回类型:int

参数:

37  nmodes等于0
39  modes等于GET_HEAP(structmode_info, 0)
41  初始化寄存器
42  ax等于0x4f00
43  di = (size_t) & 显示通用信息
44  读写端口数据
46  如果ax不等于0x004f或0 Magic number = "VESA" 不等于VESA_MAGICversion小于0x0102则返回:0
51  设置寄存器值(fs)
52  mode_ptr等于off
54 mode等于从地址读双字节不等于0xffff循环
55  mode_ptr加等于2
57  如果非堆有指定大小的自由空间退出
60  如果mode按位与0x1ff的反则继续下一循环
63  内存设置( & 显示模式信息, 0, 显示模式信息的长度)
65  ax等于0x4f01
66  cx等于mode
67  di = (size_t) & 显示模式信息
68  读写端口数据
70  如果ax不等于0x004f则继续下一循环
73  如果mode_attr按位与0x15的值恒等于0x05则
76  mi等于GET_HEAP(structmode_info, 1)
79  x等于 18
80  Width, height 等于 20
81  nmodes自加
82  否则如果mode_attr按位与0x99的值恒等于0x99且 27 恒等于4或 27 恒等于6的值且 24 恒等于1则
101  返回:nmodes