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