函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:setup_boot_parameters

函数原型:static int setup_boot_parameters(struct kimage *image, struct boot_params *params, unsigned long params_load_addr, unsigned int efi_map_offset, unsigned int efi_map_sz, unsigned int efi_setup_data_offset)

返回类型:int

参数:

类型参数名称
struct kimage *image
struct boot_params *params
unsigned longparams_load_addr
unsigned intefi_map_offset
unsigned intefi_map_sz
unsigned intefi_setup_data_offset
207  ret等于0
210  硬件架构值等于硬件架构值
213  memcpy( & 显示信息, & 显示信息, Setup options的长度)
217  延伸记忆体等于0
218  可变内存大小等于0
221  0x070 等于0x070
224  memset( & APM BIOS信息, 0, APM BIOS信息的长度)
227  memset( & 硬盘0信息, 0, 硬盘0信息的长度)
228  memset( & 硬盘1信息, 0, 硬盘1信息的长度)
230  如果 Flags to indicate special processing 恒等于KEXEC_TYPE_CRASH
231  ret等于Prepare memory map for crash dump kernel
232  如果ret则返回:ret
234  否则setup_e820_entries(params)
237  nr_e820_entries等于E820数目
239 i小于nr_e820_entries循环
240  如果type不等于E820_TYPE_RAM则继续下一循环
242  start等于addr
243  end等于addrsize减1
245  如果start小于等于0x100000且end大于0x100000则
246  mem_k等于end右移10位的值减0x100000右移10位的值
247  延伸记忆体等于mem_k
249  如果mem_k大于0xfc00则延伸记忆体等于0xfc00
251  如果mem_k大于0xffffffff则可变内存大小等于0xffffffff
262  memcpy(磁盘信息, 磁盘信息, umber of edd_info structs starting at EDDBUF * sizeof(structedd_info))
264  磁盘缓冲数等于磁盘缓冲数
266  memcpy(磁盘信号缓冲区, 磁盘信号缓冲区, max number of signatures to store * sizeof(unsignedint))
269  返回:ret
调用者
名称描述
bzImage64_load