Home
last modified time | relevance | path

Searched +full:memory +full:- +full:map (Results 1 – 25 of 1028) sorted by relevance

12345678910>>...42

/linux/drivers/firmware/efi/
H A Dmemmap.c1 // SPDX-License-Identifier: GPL-2.0
3 * Common EFI memory map functions.
19 * __efi_memmap_init - Common code for mapping the EFI memory map
20 * @data: EFI memory map data
23 * map the EFI memory map in efi.memmap based on how far into the boot
26 * During bootup EFI_MEMMAP_LATE in data->flags should be clear since we
35 struct efi_memory_map map; in __efi_memmap_init() local
38 phys_map = data->phys_map; in __efi_memmap_init()
40 if (data->flags & EFI_MEMMAP_LATE) in __efi_memmap_init()
41 map.map = memremap(phys_map, data->size, MEMREMAP_WB); in __efi_memmap_init()
[all …]
/linux/include/linux/
H A Diosys-map.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Pointer abstraction for IO/system memory
16 * When accessing a memory region, depending on its location, users may have to
17 * access it with I/O operations or memory load/store operations. For example,
18 * copying to system memory could be done with memcpy(), copying to I/O memory
21 * .. code-block:: c
23 * void *vaddr = ...; // pointer to system memory
26 * void *vaddr_iomem = ...; // pointer to I/O memory
31 * buffer, regardless if it's located in system or IO memory. The type
36 * Open-coding access to :c:type:`struct iosys_map <iosys_map>` is considered
[all …]
/linux/Documentation/ABI/testing/
H A Dsysfs-firmware-memmap5 On all platforms, the firmware provides a memory map which the
6 kernel reads. The resources from that memory map are registered
10 However, on most architectures that firmware-provided memory
11 map is modified afterwards by the kernel itself, either because
12 the kernel merges that memory map with other information or
13 just because the user overwrites that memory map via command
16 kexec needs the raw firmware-provided memory map to setup the
18 kexec. Also, the raw memory map is useful for debugging. For
20 the raw memory map to userspace.
31 The maximum depends on the number of memory map entries provided
[all …]
H A Dsysfs-firmware-efi-runtime-map1 What: /sys/firmware/efi/runtime-map/
5 that all efi memory ranges which have the runtime attribute
14 /sys/firmware/efi/runtime-map/ is the directory the kernel
17 subdirectories are named with the number of the memory range::
19 /sys/firmware/efi/runtime-map/0
20 /sys/firmware/efi/runtime-map/1
21 /sys/firmware/efi/runtime-map/2
22 /sys/firmware/efi/runtime-map/3
28 attribute The attributes of the memory range.
29 num_pages The size of the memory range in pages.
[all …]
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/
H A Dvmmgf100.c33 u32 ptei, u32 ptes, struct nvkm_vmm_map *map, u64 addr) in gf100_vmm_pgt_pte() argument
35 u64 base = (addr >> 8) | map->type; in gf100_vmm_pgt_pte()
38 if (map->ctag && !(map->next & (1ULL << 44))) { in gf100_vmm_pgt_pte()
39 while (ptes--) { in gf100_vmm_pgt_pte()
40 data = base | ((map->ctag >> 1) << 44); in gf100_vmm_pgt_pte()
41 if (!(map->ctag++ & 1)) in gf100_vmm_pgt_pte()
45 base += map->next; in gf100_vmm_pgt_pte()
48 map->type += ptes * map->ctag; in gf100_vmm_pgt_pte()
50 while (ptes--) { in gf100_vmm_pgt_pte()
52 data += map->next; in gf100_vmm_pgt_pte()
[all …]
H A Dvmmnv50.c33 u32 ptei, u32 ptes, struct nvkm_vmm_map *map, u64 addr) in nv50_vmm_pgt_pte() argument
35 u64 next = addr + map->type, data; in nv50_vmm_pgt_pte()
39 map->type += ptes * map->ctag; in nv50_vmm_pgt_pte()
42 for (log2blk = 7; log2blk >= 0; log2blk--) { in nv50_vmm_pgt_pte()
49 next += pten * map->next; in nv50_vmm_pgt_pte()
50 ptes -= pten; in nv50_vmm_pgt_pte()
52 while (pten--) in nv50_vmm_pgt_pte()
59 u32 ptei, u32 ptes, struct nvkm_vmm_map *map) in nv50_vmm_pgt_sgl() argument
61 VMM_MAP_ITER_SGL(vmm, pt, ptei, ptes, map, nv50_vmm_pgt_pte); in nv50_vmm_pgt_sgl()
66 u32 ptei, u32 ptes, struct nvkm_vmm_map *map) in nv50_vmm_pgt_dma() argument
[all …]
H A Dumem.c26 #include <core/memory.h>
37 struct nvkm_client *master = client->object.client; in nvkm_umem_search()
38 struct nvkm_memory *memory = NULL; in nvkm_umem_search() local
45 spin_lock(&master->lock); in nvkm_umem_search()
46 list_for_each_entry(umem, &master->umem, head) { in nvkm_umem_search()
47 if (umem->object.object == handle) { in nvkm_umem_search()
48 memory = nvkm_memory_ref(umem->memory); in nvkm_umem_search()
52 spin_unlock(&master->lock); in nvkm_umem_search()
56 memory = nvkm_memory_ref(umem->memory); in nvkm_umem_search()
59 return memory ? memory : ERR_PTR(-ENOENT); in nvkm_umem_search()
[all …]
/linux/drivers/gpu/drm/nouveau/nvkm/core/
H A Dgpuobj.c31 /* fast-path, where backend is able to provide direct pointer to memory */
35 return ioread32_native(gpuobj->map + offset); in nvkm_gpuobj_rd32_fast()
41 iowrite32_native(data, gpuobj->map + offset); in nvkm_gpuobj_wr32_fast()
50 return nvkm_memory_map(gpuobj->memory, offset, vmm, vma, argv, argc); in nvkm_gpuobj_heap_map()
56 return nvkm_ro32(gpuobj->memory, offset); in nvkm_gpuobj_heap_rd32()
62 nvkm_wo32(gpuobj->memory, offset, data); in nvkm_gpuobj_heap_wr32()
69 gpuobj->func = &nvkm_gpuobj_heap; in nvkm_gpuobj_heap_release()
70 nvkm_done(gpuobj->memory); in nvkm_gpuobj_heap_release()
78 .map = nvkm_gpuobj_heap_map,
86 .map = nvkm_gpuobj_heap_map,
[all …]
/linux/drivers/firmware/efi/libstub/
H A Drelocate.c1 // SPDX-License-Identifier: GPL-2.0
9 * efi_low_alloc_above() - allocate pages at or above given address
10 * @size: size of the memory area to allocate
11 * @align: minimum alignment of the allocated memory area. It should
13 * @addr: on exit the address of the allocated memory
14 * @min: minimum address to used for the memory allocation
26 struct efi_boot_memmap *map __free(efi_pool) = NULL; in efi_low_alloc_above()
31 status = efi_get_memory_map(&map, false); in efi_low_alloc_above()
37 * requesting a specific address. We are doing page-based (or in efi_low_alloc_above()
46 for (i = 0; i < map->map_size / map->desc_size; i++) { in efi_low_alloc_above()
[all …]
H A Dfdt.c1 // SPDX-License-Identifier: GPL-2.0
24 /* Set the #address-cells and #size-cells values for an empty tree */ in fdt_update_cell_size()
26 fdt_setprop_u32(fdt, offset, "#address-cells", EFI_DT_ADDR_CELLS_DEFAULT); in fdt_update_cell_size()
27 fdt_setprop_u32(fdt, offset, "#size-cells", EFI_DT_SIZE_CELLS_DEFAULT); in fdt_update_cell_size()
61 * non-critical: in update_fdt()
71 * Delete all memory reserve map entries. When booting via UEFI, in update_fdt()
72 * kernel will use the UEFI memory map to find reserved regions. in update_fdt()
75 while (num_rsv-- > 0) in update_fdt()
99 status = fdt_setprop_var(fdt, node, "linux,uefi-system-table", fdt_val64); in update_fdt()
105 status = fdt_setprop_var(fdt, node, "linux,uefi-mmap-start", fdt_val64); in update_fdt()
[all …]
/linux/Documentation/mm/
H A Dmemory-model.rst1 .. SPDX-License-Identifier: GPL-2.0
4 Physical Memory Model
7 Physical memory in a system may be addressed in different ways. The
8 simplest case is when the physical memory starts at address 0 and
13 different memory banks are attached to different CPUs.
15 Linux abstracts this diversity using one of the two memory models:
17 memory models it supports, what the default memory model is and
20 All the memory models track the status of physical page frames using
23 Regardless of the selected memory model, there exists one-to-one
27 Each memory model defines :c:func:`pfn_to_page` and :c:func:`page_to_pfn`
[all …]
/linux/lib/
H A Dgenalloc.c1 // SPDX-License-Identifier: GPL-2.0-only
4 * memory, for example, memory that is not managed by the regular
5 * kmalloc/kfree interface. Uses for this includes on-device special
6 * memory, uncached memory etc.
15 * The lockless operation only works if there is enough memory
16 * available. If new memory is added to the pool a lock has to be
18 * that sufficient memory is preallocated.
21 * On architectures that don't have NMI-safe cmpxchg implementation,
26 * Copyright 2005 (C) Jes Sorensen <jes@trained-monkey.org>
42 return chunk->end_addr - chunk->start_addr + 1; in chunk_size()
[all …]
H A Ddevres.c1 // SPDX-License-Identifier: GPL-2.0
65 * devm_ioremap - Managed ioremap()
67 * @offset: Resource address to map
68 * @size: Size of map
70 * Managed ioremap(). Map is automatically unmapped on driver detach.
80 * devm_ioremap_uc - Managed ioremap_uc()
82 * @offset: Resource address to map
83 * @size: Size of map
85 * Managed ioremap_uc(). Map is automatically unmapped on driver detach.
95 * devm_ioremap_wc - Managed ioremap_wc()
[all …]
/linux/drivers/mtd/maps/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
7 bool "Support non-linear mappings of flash chips"
13 tristate "Flash device in physical memory map"
18 physically into the CPU's memory. You will need to configure
21 with config options or at run-time.
42 This is the physical memory location at which the flash chips
44 memory map which should hopefully be in the documentation for
54 physical memory map between the chips, this could be larger
55 than the total amount of flash present. Refer to the memory
56 map which should hopefully be in the documentation for your
[all …]
H A Dpcmciamtd.c2 * pcmciamtd.c - MTD driver for PCMCIA flash memory cards
21 #include <linux/mtd/map.h>
26 #define DRIVER_DESC "PCMCIA Flash memory card driver"
45 /* 2 = do 16-bit transfers, 1 = do 8-bit transfers */
48 /* Speed of memory accesses, in ns */
69 MODULE_PARM_DESC(mem_speed, "Set memory access speed in ns");
71 MODULE_PARM_DESC(force_size, "Force size of card in MiB (1-64)");
77 MODULE_PARM_DESC(mem_type, "Set Memory type (0=Flash, 1=RAM, 2=ROM, default=0)");
83 static void __iomem *remap_window(struct map_info *map, unsigned long to) in remap_window() argument
85 struct pcmciamtd_dev *dev = (struct pcmciamtd_dev *)map->map_priv_1; in remap_window()
[all …]
/linux/arch/arm64/boot/dts/xilinx/
H A Dversal-net-vn-x-b2197-01-revA.dts1 // SPDX-License-Identifier: GPL-2.0
6 * (C) Copyright 2022 - 2025, Advanced Micro Devices, Inc.
11 /dts-v1/;
13 #include "versal-net.dtsi"
14 #include "versal-net-clk.dtsi"
15 #include <dt-bindings/gpio/gpio.h>
18 compatible = "xlnx,versal-net-vnx-revA", "xlnx,versal-net-vnx", "xlnx,versal-net";
20 dma-coherent;
22 memory: memory@0 { label
24 device_type = "memory";
[all …]
/linux/include/xen/interface/hvm/
H A Dstart_info.h1 /* SPDX-License-Identifier: MIT */
15 * 0 +----------------+
18 * 4 +----------------+
20 * | | versions are guaranteed to be backwards-compatible.
21 * 8 +----------------+
23 * 12 +----------------+
25 * 16 +----------------+
28 * 24 +----------------+
30 * | | a zero-terminated ASCII string.
31 * 32 +----------------+
[all …]
/linux/arch/arm/mm/
H A Dmmu.c1 // SPDX-License-Identifier: GPL-2.0-only
5 * Copyright (C) 1995-2005 Russell King
35 #include <asm/mach/map.h>
46 * zero-initialized data and COW.
52 * The pmd table for the upper-most set of pages.
143 int i, selected = -1; in early_cachepolicy()
154 if (selected == -1) in early_cachepolicy()
159 * unpredictable to have memory mapped using two different sets of in early_cachepolicy()
160 * memory attributes (shared, type, and cache attribs). We can not in early_cachepolicy()
240 [MT_DEVICE_NONSHARED] = { /* ARMv6 non-shared device */
[all …]
/linux/arch/mips/mti-malta/
H A Dmalta-dtshim.c1 // SPDX-License-Identifier: GPL-2.0-or-later
15 #include <asm/mips-boards/generic.h>
16 #include <asm/mips-boards/malta.h>
17 #include <asm/mips-cps.h>
27 /* determined physical memory size, not overridden by command line args */
71 enum mem_map map) in gen_fdt_mem_array() argument
82 * physical address map, which gives it a contiguous region of in gen_fdt_mem_array()
91 size -= size_preio; in gen_fdt_mem_array()
95 if (map == MEM_MAP_V2) { in gen_fdt_mem_array()
97 * We have a flat 32 bit physical memory map with DDR filling in gen_fdt_mem_array()
[all …]
/linux/arch/x86/kernel/
H A De820.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Low level x86 E820 memory map handling functions.
6 * physical memory layout description available about x86 systems.
8 * The kernel takes the E820 memory layout and optionally modifies it with
9 * quirks and other tweaks, and feeds that into the generic Linux memory
16 #include <linux/firmware-map.h>
26 * - 'e820_table_firmware': the original firmware version passed to us by the
27 * bootloader - not modified by the kernel. It is composed of two parts:
28 * the first 128 E820 memory entries in boot_params.e820_table and the remaining
31 * - the hibernation code uses it to generate a kernel-independent CRC32
[all …]
/linux/tools/testing/selftests/mm/
H A Dprocess_madv.c1 // SPDX-License-Identifier: GPL-2.0-or-later
30 self->page_size = (unsigned long)sysconf(_SC_PAGESIZE); in FIXTURE_SETUP()
31 self->pidfd = PIDFD_SELF; in FIXTURE_SETUP()
32 self->remote_pidfd = -1; in FIXTURE_SETUP()
33 self->child_pid = -1; in FIXTURE_SETUP()
39 if (self->child_pid > 0) { in FIXTURE_TEARDOWN_PARENT()
40 kill(self->child_pid, SIGKILL); in FIXTURE_TEARDOWN_PARENT()
41 waitpid(self->child_pid, NULL, 0); in FIXTURE_TEARDOWN_PARENT()
44 if (self->remote_pidfd >= 0) in FIXTURE_TEARDOWN_PARENT()
45 close(self->remote_pidfd); in FIXTURE_TEARDOWN_PARENT()
[all …]
/linux/tools/perf/arch/x86/tests/
H A Ddwarf-unwind.c1 // SPDX-License-Identifier: GPL-2.0
5 #include "map.h"
16 struct stack_dump *stack = &sample->user_stack; in sample_ustack()
17 struct map *map; in sample_ustack() local
24 return -1; in sample_ustack()
29 map = maps__find(thread__maps(thread), (u64)sp); in sample_ustack()
30 if (!map) { in sample_ustack()
[all...]
/linux/Documentation/devicetree/bindings/soc/qcom/
H A Dqcom,smem.yaml1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm Shared Memory Manager
10 - Andy Gross <agross@kernel.org>
11 - Bjorn Andersson <bjorn.andersson@linaro.org>
14 This binding describes the Qualcomm Shared Memory Manager, a region of
15 reserved-memory used to share data between various subsystems and OSes in
25 memory-region:
27 description: handle to memory reservation for main SMEM memory region.
[all …]
/linux/arch/x86/xen/
H A Dsetup.c1 // SPDX-License-Identifier: GPL-2.0
32 #include <xen/interface/memory.h>
35 #include <xen/hvc-console.h>
36 #include "xen-ops.h"
40 /* Memory map would allow PCI passthrough. */
43 /* E820 map used during setting up memory. */
46 /* Number of initially usable memory pages. */
54 #define REMAP_SIZE (P2M_PER_PAGE - 3)
70 arg = strstr(xen_start_info->cmd_line, "xen_512gb_limit"); in xen_parse_512gb()
74 arg = strstr(xen_start_info->cmd_line, "xen_512gb_limit="); in xen_parse_512gb()
[all …]
/linux/arch/arm64/boot/dts/qcom/
H A Dsdm845-lg-common.dtsi1 // SPDX-License-Identifier: GPL-2.0
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
10 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
16 /delete-node/ &adsp_mem;
17 /delete-node/ &cdsp_mem;
18 /delete-node/ &gpu_mem;
19 /delete-node/ &ipa_fw_mem;
20 /delete-node/ &mba_region;
21 /delete-node/ &mpss_region;
[all …]

12345678910>>...42