函数逻辑报告 |
Source Code:arch\x86\kernel\setup.c |
Create Date:2022-07-27 08:39:48 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:平台相关启动
函数原型:void __init setup_arch(char **cmdline_p)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
char ** | cmdline_p |
858 | 准备内存空间 |
865 | 准备内存空间 |
867 | early_reserve_initrd() |
876 | memcpy( & common cpu data for all cpus , & cpu data as detected by the assembly code in head_32.S , cpu data as detected by the assembly code in head_32.S 的长度) |
886 | load_cr3(swapper_pg_dir) |
896 | lush everything |
906 | olpc_ofw_detect() |
909 | early_cpu_init() |
910 | arch_init_ideal_nops() |
911 | jump_label_init() |
912 | early_ioremap_init() |
914 | setup_olpc_ofw_pgd() |
916 | ROOT_DEV等于old_decode_dev(根信息特征值) |
917 | screen_info = 显示信息 |
920 | bios等于APM BIOS信息 |
925 | 如果Boot loader ID and version as integers, for the benefit of proc_dointvec 右移4位恒等于0xe则 |
929 | Boot loader ID and version as integers, for the benefit of proc_dointvec 等于Boot loader ID and version as integers, for the benefit of proc_dointvec 按位与0xf |
948 | arch_setup() |
950 | end等于1ULL左移x86_phys_bits位的值减1 |
951 | e820__memory_setup() |
952 | parse_setup_data() |
954 | copy_edd() |
956 | 如果非启动信息设置标志则root_mountflags与等于Mount read-only 的反 |
963 | mpx_mm_init( & init_mm) |
987 | 长字符串复制 |
988 | cmdline_p等于command_line |
997 | x86_configure_nx() |
1001 | 如果测试是否启用则efi_memblock_x86_reserve_range() |
1027 | x86_report_nx() |
1032 | 如果acpi_mps_check()则 |
1036 | setup_clear_cpu_cap(Onboard APIC ) |
1039 | e820__reserve_setup_data() |
1040 | e820__finish_early_params() |
1045 | dmi_setup() |
1051 | init_hypervisor_platform() |
1053 | tsc_early_init() |
1054 | probe_roms() |
1057 | insert_resource( & iomem_resource, & code_resource) |
1058 | insert_resource( & iomem_resource, & Machine setup..) |
1059 | insert_resource( & iomem_resource, & data_resource) |
1060 | insert_resource( & iomem_resource, & bss_resource) |
1063 | trim_bios_range() |
1065 | 如果ppro_with_ram_bug()则 |
1066 | e820__range_update(0x70000000ULL, 0x40000ULL, E820_TYPE_RAM, E820_TYPE_RESERVED) |
1068 | e820__update_table(e820_table) |
1069 | printk(formational "fixed physical RAM map:\n") |
1070 | e820__print_table("bad_ppro") |
1083 | mtrr_bp_init() |
1084 | 如果mtrr_trim_uncached_memory(duplicated to the one in bootmem.h )则duplicated to the one in bootmem.h 等于e820__end_of_ram_pfn() |
1094 | init_cache_modes() |
1100 | kernel_randomize_memory() |
1104 | find_low_pfn_range() |
1121 | find_smp_config() |
1123 | reserve_ibft_region() |
1125 | early_alloc_pgt_buf() |
1132 | reserve_brk() |
1134 | cleanup_highmap() |
1137 | e820__memblock_setup() |
1139 | reserve_bios_regions() |
1141 | efi_fake_memmap() |
1142 | efi_find_mirror() |
1143 | efi_esrt_init() |
1149 | efi_reserve_boot_services() |
1159 | printk(debug-level messages "initial memory mapped: [mem 0x00000000-%#010lx]\n", (max_pfn_mapped << PAGE_SHIFT determines the page size ) - 1) |
1163 | reserve_real_mode() |
1166 | trim_low_memory_range() |
1168 | init_mem_mapping() |
1181 | mmu_cr4_features等于__read_cr4()按位与X86_CR4_PCIDE的反 |
1194 | 日志缓冲设置 |
1196 | 如果测试是否启用则 |
1210 | reserve_initrd() |
1212 | acpi_table_upgrade() |
1216 | io_delay_init() |
1218 | early_platform_quirks() |
1225 | early_acpi_boot_init() |
1227 | initmem_init() |
1234 | reserve_crashkernel() |
1236 | memblock_find_dma_reserve() |
1238 | 如果非early_xdbc_setup_hardware()则early_xdbc_register_console() |
1241 | pagetable_init() |
1243 | kasan_init() |
1251 | sync_initial_page_table() |
1253 | tboot_probe() |
1255 | map_vsyscall() |
1257 | generic_apic_probe() |
1259 | early_quirks() |
1264 | acpi_boot_init() |
1265 | sfi_init() |
1266 | x86_dtb_init() |
1271 | get_smp_config() |
1279 | prefill_possible_map() |
1281 | init_cpu_to_node() |
1283 | io_apic_init_mappings() |
1285 | guest_late_init() |
1287 | e820__reserve_resources() |
1290 | 标准资源检查() |
1292 | e820__setup_pci_gap() |
1302 | 打印平台特定信息() |
1304 | 初始化时钟装置() |
1306 | mcheck_init() |
1315 | unwind_init() |
名称 | 描述 |
---|---|
start_kernel | 启动内核 |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |