函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:bzImage64_probe

函数原型:static int bzImage64_probe(const char *buf, unsigned long len)

返回类型:int

参数:

类型参数名称
const char *buf
unsigned longlen
274  ret等于负ENOEXEC
278  如果len小于2乘512则
279  打印错误信息("File is too short to be a bzImage\n")
280  返回:ret
283  header等于bufoffsetof(structboot_params, hdr)
284  如果内存比较不等于0则
285  打印错误信息("Not a bzImage\n")
286  返回:ret
289  如果启动标志不等于0xAA55则
290  打印错误信息("No x86 boot sector present\n")
291  返回:ret
294  如果程序版本小于0x020C则
295  打印错误信息("Must be at least protocol version 2.12\n")
296  返回:ret
299  如果非内核载入标志按位与loadflags 的值则
300  打印错误信息("zImage not a bzImage\n")
301  返回:ret
304  如果非xloadflags按位与xloadflags 的值则
305  打印错误信息("Not a bzImage64. XLF_KERNEL_64 is not set.\n")
306  返回:ret
309  如果非xloadflags按位与XLF_CAN_BE_LOADED_ABOVE_4G的值则
310  打印错误信息("XLF_CAN_BE_LOADED_ABOVE_4G is not set.\n")
311  返回:ret
318  如果测试是否启用且非测试是否启用
319  pr_debug("EFI is 32 bit. Can't load kernel above 4G.\n")
320  返回:ret
323  如果非xloadflags按位与XLF_5LEVEL的值且pgtable_l5_enabled()则
324  打印错误信息("bzImage cannot handle 5-level paging mode.\n")
325  返回:ret
329  pr_debug("It's a relocatable bzImage64\n")
330  ret等于0
332  返回:ret