函数逻辑报告 | 
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 插件可实现:逻辑报告 代码生成和批量转换代码  |