Function report |
Source Code:arch\x86\kernel\setup.c |
Create Date:2022-07-28 07:40:10 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:setup_arch - architecture-specific boot-time initializations* Note: On x86_64, fixmaps are ready for use even before this is called.
Proto:void __init setup_arch(char **cmdline_p)
Type:void
Parameter:
| Type | Parameter | Name |
|---|---|---|
| char ** | cmdline_p |
| 865 | memblock_reserve(0, PAGE_SIZE) |
| 867 | early_reserve_initrd() |
| 876 | memcpy( & common cpu data for all cpus , & cpu data as detected by the assembly code in head_32.S , size of 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(root_dev) |
| 917 | screen_info = 0x000 |
| 923 | saved_video_mode = vid_mode |
| 925 | If Boot loader ID and version as integers, for the benefit of proc_dointvec >> 4 == 0xe Then |
| 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 | If Not root_flags Then root_mountflags &= ~Mount read-only |
| 963 | mpx_mm_init( & init_mm) |
| 988 | cmdline_p = command_line |
| 997 | x86_configure_nx() |
| 1001 | If efi_enabled(Were we booted from EFI? ) Then efi_memblock_x86_reserve_range() |
| 1027 | x86_report_nx() |
| 1032 | If acpi_mps_check() Then |
| 1036 | setup_clear_cpu_cap(Onboard APIC ) |
| 1039 | e820__reserve_setup_data() |
| 1040 | e820__finish_early_params() |
| 1042 | If efi_enabled(Were we booted from EFI? ) Then efi_init() |
| 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 | If ppro_with_ram_bug() Then |
| 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 | If mtrr_trim_uncached_memory(duplicated to the one in bootmem.h ) Then 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 | setup_log_buf(1) |
| 1196 | If efi_enabled(Were we booted from EFI? ) Then |
| 1198 | Case 0x1ec == efi_secureboot_mode_disabled |
| 1199 | pr_info("Secure boot disabled\n") |
| 1200 | Break |
| 1201 | Case 0x1ec == efi_secureboot_mode_enabled |
| 1202 | pr_info("Secure boot enabled\n") |
| 1203 | Break |
| 1204 | Default |
| 1205 | pr_info("Secure boot could not be determined\n") |
| 1206 | Break |
| 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 | If Not early_xdbc_setup_hardware() Then 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 | reserve_resources() |
| 1292 | e820__setup_pci_gap() |
| 1302 | banner() |
| 1304 | wallclock_init() |
| 1306 | mcheck_init() |
| 1315 | unwind_init() |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |