Lines Matching +full:gfx +full:- +full:mem
1 // SPDX-License-Identifier: GPL-2.0-only
5 * This file contains the setup_arch() code, which handles the architecture-dependent
12 #include <linux/dma-map-ops.h>
24 #include <linux/usb/xhci-dbgp.h>
52 #include <asm/pci-direct.h>
243 * copy_edd() - Copy the BIOS EDD information
263 size_t mask = align - 1; in extend_brk()
290 _brk_end - _brk_start); in reserve_brk()
330 /* We need to move the initrd down into directly mapped mem */ in relocate_initrd()
339 printk(KERN_INFO "Allocated new RAMDISK: [mem %#010llx-%#010llx]\n", in relocate_initrd()
340 relocated_ramdisk, relocated_ramdisk + ramdisk_size - 1); in relocate_initrd()
346 printk(KERN_INFO "Move RAMDISK from [mem %#010llx-%#010llx] to" in relocate_initrd()
347 " [mem %#010llx-%#010llx]\n", in relocate_initrd()
348 ramdisk_image, ramdisk_image + ramdisk_size - 1, in relocate_initrd()
349 relocated_ramdisk, relocated_ramdisk + ramdisk_size - 1); in relocate_initrd()
363 memblock_reserve(ramdisk_image, ramdisk_end - ramdisk_image); in early_reserve_initrd()
379 printk(KERN_INFO "RAMDISK: [mem %#010llx-%#010llx]\n", ramdisk_image, in reserve_initrd()
380 ramdisk_end - 1); in reserve_initrd()
392 memblock_phys_free(ramdisk_image, ramdisk_end - ramdisk_image); in reserve_initrd()
415 if (data->size) { in add_early_ima_buffer()
416 memblock_reserve(data->addr, data->size); in add_early_ima_buffer()
417 ima_kexec_buffer_phys = data->addr; in add_early_ima_buffer()
418 ima_kexec_buffer_size = data->size; in add_early_ima_buffer()
431 return -ENOENT; in ima_free_kexec_buffer()
445 return -ENOENT; in ima_get_kexec_buffer()
464 data_len = data->len + sizeof(struct setup_data); in parse_setup_data()
465 data_type = data->type; in parse_setup_data()
466 pa_next = data->next; in parse_setup_data()
484 add_bootloader_randomness(data->data, data->len); in parse_setup_data()
486 memzero_explicit(data->data, data->len); in parse_setup_data()
488 memzero_explicit(&data->len, sizeof(data->len)); in parse_setup_data()
554 pa_next = data->next; in memblock_x86_reserve_range_setup_data()
556 memblock_reserve(pa_data, sizeof(*data) + data->len); in memblock_x86_reserve_range_setup_data()
558 if (data->type == SETUP_INDIRECT) { in memblock_x86_reserve_range_setup_data()
559 len += data->len; in memblock_x86_reserve_range_setup_data()
567 indirect = (struct setup_indirect *)data->data; in memblock_x86_reserve_range_setup_data()
569 if (indirect->type != SETUP_INDIRECT) in memblock_x86_reserve_range_setup_data()
570 memblock_reserve(indirect->addr, indirect->len); in memblock_x86_reserve_range_setup_data()
637 code_resource.end = __pa_symbol(_etext)-1; in setup_kernel_resources()
639 rodata_resource.end = __pa_symbol(__end_rodata)-1; in setup_kernel_resources()
641 data_resource.end = __pa_symbol(_edata)-1; in setup_kernel_resources()
643 bss_resource.end = __pa_symbol(__bss_stop)-1; in setup_kernel_resources()
701 printk(KERN_DEBUG "reserving inaccessible SNB gfx pages\n"); in trim_snb_memory()
708 * To avoid these pages being ever accessed by SNB gfx devices reserve in trim_snb_memory()
736 * area (640Kb -> 1Mb) as RAM even though it is not. in trim_bios_range()
739 e820__range_remove(BIOS_BEGIN, BIOS_END - BIOS_BEGIN, E820_TYPE_RAM, 1); in trim_bios_range()
748 u64 size = __pa_symbol(_end) - start; in e820_add_kernel_range()
754 * exclude kernel range. If we really are running on top non-RAM, in e820_add_kernel_range()
774 (unsigned long)__end_of_kernel_reserve - (unsigned long)_text); in early_reserve_memory()
804 pr_emerg("Kernel Offset: 0x%lx from 0x%lx (relocation range: 0x%lx-0x%lx)\n", in dump_kernel_offset()
808 MODULES_VADDR-1); in dump_kernel_offset()
833 /* 32bit non-PAE kernel, NX cannot be used */ in x86_report_nx()
835 "cannot be enabled: non-PAE kernel!\n"); in x86_report_nx()
848 * setup_arch - architecture-specific boot-time initializations
931 iomem_resource.end = (1ULL << boot_cpu_data.x86_phys_bits) - 1; in setup_arch()
973 * For some guest types (Xen PV, SEV-SNP, TDX) it is required to be in setup_arch()
1002 * partially used pages are not usable - thus in setup_arch()
1026 /* How many end-of-memory variables you have, grandma! */ in setup_arch()
1028 if (max_pfn > (1UL<<(32 - PAGE_SHIFT))) in setup_arch()
1075 printk(KERN_DEBUG "initial memory mapped: [mem 0x00000000-%#010lx]\n", in setup_arch()
1076 (max_pfn_mapped<<PAGE_SHIFT) - 1); in setup_arch()
1081 * there is not enough free memory under 1M, on EFI-enabled systems in setup_arch()
1102 * for 64-bit in the IDT. in setup_arch()
1109 * auditing all the early-boot CR4 manipulation would be needed to in setup_arch()
1120 * NOTE: On x86-32, only from this point on, fixmaps are ready for use. in setup_arch()
1166 hugetlb_cma_reserve(PUD_SHIFT - PAGE_SHIFT); in setup_arch()
1238 * This needs to run before setup_local_APIC() which soft-disables the in setup_arch()