函数逻辑报告 |
Source Code:arch\x86\kernel\mpparse.c |
Create Date:2022-07-27 09:25:43 |
Last Modify:2020-03-16 21:44:10 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:update_mp_table
函数原型:static int __init update_mp_table(void)
返回类型:int
参数:无
862 | 如果非enable_update_mptable则返回:0 |
865 | 如果非mpf_found则返回:0 |
868 | mpf等于early_memremap(mpf_base, mpf的长度) |
869 | 如果非mpf则 |
870 | 打印错误信息("MPTABLE: mpf early_memremap() failed\n") |
871 | 返回:0 |
877 | 如果Standard or configuration ? 则转到:do_unmap_mpf |
880 | 如果非Configuration table address 则转到:do_unmap_mpf |
885 | 如果非mpc则 |
886 | 打印错误信息("MPTABLE: mpc early_memremap() failed\n") |
887 | 转到:do_unmap_mpf |
890 | 如果非Read/parse the MPC则转到:do_unmap_mpc |
894 | 打印信息("physptr: %x\n", Configuration table address ) |
896 | 如果mpc_new_phys且 Size of table 大于mpc_new_length则 |
897 | mpc_new_phys等于0 |
898 | 打印信息("mpc_new_length is %ld, please use alloc_mptable=8k\n", mpc_new_length) |
902 | 如果非mpc_new_phys则 |
905 | checksum等于0 |
907 | checksum等于0xff |
910 | 打印信息("mpc is readonly, please try alloc_mptable instead\n") |
911 | 转到:do_unmap_mpc |
913 | 打印信息("use in-position replacing\n") |
914 | 否则 |
916 | 如果非mpc_new则 |
917 | 打印错误信息("MPTABLE: new mpc early_memremap() failed\n") |
918 | 转到:do_unmap_mpc |
921 | memcpy(mpc_new, mpc, Size of table ) |
922 | early_memunmap(mpc, size) |
924 | size等于mpc_new_length |
929 | mpf_new等于early_memremap(0x400 - 16, mpf_new的长度) |
930 | 如果非mpf_new则 |
931 | 打印错误信息("MPTABLE: new mpf early_memremap() failed\n") |
932 | 转到:do_unmap_mpc |
934 | 打印信息("mpf new: %x\n", 0x400 - 16) |
936 | early_memunmap(mpf, mpf的长度) |
940 | Checksum (makes sum 0) 等于0 |
942 | 打印信息("physptr new: %x\n", Configuration table address ) |
953 | do_unmap_mpc : |
954 | early_memunmap(mpc, size) |
956 | do_unmap_mpf : |
957 | early_memunmap(mpf, mpf的长度) |
959 | 返回:0 |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |