Home
last modified time | relevance | path

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

12345678910>>...42

/linux/tools/testing/memblock/tests/
H A Dbasic_api.c1 // SPDX-License-Identifier: GPL-2.0-or-later
17 ASSERT_NE(memblock.memory.regions, NULL); in memblock_initialization_check()
18 ASSERT_EQ(memblock.memory.cnt, 0); in memblock_initialization_check()
19 ASSERT_EQ(memblock.memory.max, EXPECTED_MEMBLOCK_REGIONS); in memblock_initialization_check()
20 ASSERT_EQ(strcmp(memblock.memory.name, "memory"), 0); in memblock_initialization_check()
24 ASSERT_EQ(memblock.memory.max, EXPECTED_MEMBLOCK_REGIONS); in memblock_initialization_check()
36 * A simple test that adds a memory block of a specified base address
37 * and size to the collection of available memory regions (memblock.memory).
38 * Expect to create a new entry. The region counter and total memory get
45 rgn = &memblock.memory.regions[0]; in memblock_add_simple_check()
[all …]
H A Dalloc_api.c1 // SPDX-License-Identifier: GPL-2.0-or-later
21 * A simple test that tries to allocate a small memory region.
22 * Expect to allocate an aligned region near the end of the available memory.
34 expected_start = memblock_end_of_DRAM() - SMP_CACHE_BYTES; in alloc_top_down_simple_check()
41 ASSERT_EQ(rgn->size, size); in alloc_top_down_simple_check()
42 ASSERT_EQ(rgn->base, expected_start); in alloc_top_down_simple_check()
53 * A test that tries to allocate memory next to a reserved region that starts at
58 * | +--------+ +--------|
60 * +------------+--------+---------+--------+
65 * The allocation direction is top-down and region arrays are sorted from lower
[all …]
H A Dalloc_nid_api.c1 // SPDX-License-Identifier: GPL-2.0-or-later
51 * A simple test that tries to allocate a memory region within min_addr and
55 * | + +-----------+ |
57 * +----+-------+-----------+------+
62 * Expect to allocate a region that ends at max_addr.
82 rgn_end = rgn->base + rgn->size; in alloc_nid_top_down_simple_check()
87 ASSERT_EQ(rgn->size, size); in alloc_nid_top_down_simple_check()
88 ASSERT_EQ(rgn->base, max_addr - size); in alloc_nid_top_down_simple_check()
100 * A simple test that tries to allocate a memory region within min_addr and
104 * | + +---------+ + |
[all …]
H A Dalloc_exact_nid_api.c1 // SPDX-License-Identifier: GPL-2.0-or-later
23 * A test that tries to allocate a memory region in a specific NUMA node that
24 * has enough memory to allocate a region of the requested size.
25 * Expect to allocate an aligned region at the end of the requested node.
31 struct memblock_region *req_node = &memblock.memory.regions[nid_req]; in alloc_exact_nid_top_down_numa_simple_check()
40 ASSERT_LE(SZ_4, req_node->size); in alloc_exact_nid_top_down_numa_simple_check()
41 size = req_node->size / SZ_4; in alloc_exact_nid_top_down_numa_simple_check()
52 ASSERT_EQ(new_rgn->size, size); in alloc_exact_nid_top_down_numa_simple_check()
53 ASSERT_EQ(new_rgn->base, region_end(req_node) - size); in alloc_exact_nid_top_down_numa_simple_check()
54 ASSERT_LE(req_node->base, new_rgn->base); in alloc_exact_nid_top_down_numa_simple_check()
[all …]
H A Dalloc_helpers_api.c1 // SPDX-License-Identifier: GPL-2.0-or-later
5 * A simple test that tries to allocate a memory region above a specified,
9 * | +-----------+ |
11 * +----------+-----------+---------+
16 * Expect to allocate a cleared region at the minimal memory address.
28 min_addr = memblock_end_of_DRAM() - SMP_CACHE_BYTES; in alloc_from_simple_generic_check()
35 ASSERT_EQ(rgn->size, size); in alloc_from_simple_generic_check()
36 ASSERT_EQ(rgn->base, min_addr); in alloc_from_simple_generic_check()
47 * A test that tries to allocate a memory region above a certain address.
51 * | + +---------+ |
[all …]
/linux/mm/
H A Dmemblock.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Procedures for maintaining information about logical memory blocks.
45 * Memblock is a method of managing memory regions during the early
46 * boot period when the usual kernel memory allocators are not up and
49 * Memblock views the system memory as collections of contiguous
52 * * ``memory`` - describes the physical memory available to the
53 * kernel; this may differ from the actual physical memory installed
54 * in the system, for instance when the memory is restricted with
56 * * ``reserved`` - describes the regions that were allocated
57 * * ``physmem`` - describes the actual physical memory available during
[all …]
H A Dnommu.c1 // SPDX-License-Identifier: GPL-2.0-only
6 * have any form of memory management unit (thus no virtual memory).
8 * See Documentation/admin-guide/mm/nommu-mmap.rst
10 * Copyright (c) 2004-2008 David Howells <dhowells@redhat.com>
11 * Copyright (c) 2000-2003 David McCullough <davidm@snapgear.com>
12 * Copyright (c) 2000-2001 D Jeff Dionne <jeff@uClinux.org>
14 * Copyright (c) 2007-2010 Paul Mundt <lethal@linux-sh.org>
29 #include <linux/backing-dev.h>
60 * Return the total memory allocated for this pointer, not
87 * region. This test is intentionally done in reverse order, in kobjsize()
[all …]
/linux/drivers/of/
H A Dof_reserved_mem.c1 // SPDX-License-Identifier: GPL-2.0+
3 * Device tree based initialization code for reserved memory.
47 return -ENOMEM; in early_init_dt_alloc_reserved_memory_arch()
63 * alloc_reserved_mem_array() - allocate memory for the reserved_mem
66 * This function is used to allocate memory for the reserved_mem
67 * array according to the total number of reserved memory regions
80 pr_err("Failed to allocate memory for reserved_mem array with err: %d", -EOVERFLOW); in alloc_reserved_mem_array()
86 pr_err("Failed to allocate memory for reserved_mem array with err: %d", -ENOMEM); in alloc_reserved_mem_array()
94 pr_err("Failed to allocate memory for reserved_mem array with err: %d", -EOVERFLOW); in alloc_reserved_mem_array()
98 memset_size = alloc_size - copy_size; in alloc_reserved_mem_array()
[all …]
/linux/include/uapi/linux/
H A Dnitro_enclaves.h1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
3 * Copyright 2020-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
16 * NE_CREATE_VM - The command is used to create a slot that is associated with
20 * setting any resources, such as memory and vCPUs, for an
21 * enclave. Memory and vCPUs are set for the slot mapped to an enclave.
25 * Its format is the detailed in the cpu-lists section:
26 * https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
34 * * Enclave file descriptor - Enclave file descriptor used with
35 * ioctl calls to set vCPUs and memory
37 * * -1 - There was a failure in the ioctl logic.
[all …]
/linux/include/linux/
H A Dmemblock.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
6 * Logical memory blocks.
28 * enum memblock_flags - definition of memory region attributes
30 * @MEMBLOCK_HOTPLUG: memory region indicated in the firmware-provided memory
31 * map during early boot as hot(un)pluggable system RAM (e.g., memory range
33 * commandline, try keeping this memory region hotunpluggable. Does not apply
35 * @MEMBLOCK_MIRROR: mirrored region
37 * reserved in the memory map; refer to memblock_mark_nomap() description
39 * @MEMBLOCK_DRIVER_MANAGED: memory region that is always detected and added
40 * via a driver, and never indicated in the firmware-provided memory map as
[all …]
H A Dpruss_driver.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * PRU-ICSS sub-system specific definitions
5 * Copyright (C) 2014-2020 Texas Instruments Incorporated - http://www.ti.com/
6 * Suman Anna <s-anna@ti.com>
18 * enum pruss_gp_mux_sel - PRUSS GPI/O Mux modes for the
23 * values are interchanged. Also, this bit-field does not exist on
36 * enum pruss_gpi_mode - PRUSS GPI configuration modes, used
48 * enum pru_type - PRU core type identifier
50 * @PRU_TYPE_PRU: Programmable Real-time Unit
51 * @PRU_TYPE_RTU: Auxiliary Programmable Real-Time Unit
[all …]
/linux/arch/x86/boot/compressed/
H A Dkaslr.c1 // SPDX-License-Identifier: GPL-2.0
8 * handles walking the physical memory maps (and tracking memory regions
9 * to avoid) in order to select a physical memory location that can
37 /* Simplified build-specific string for starting entropy. */
49 hash = (hash << ((sizeof(hash) * 8) - 7)) | (hash >> 7); in rotate_xor()
78 * Store memory limit: MAXMEM on 64-bit and KERNEL_IMAGE_SIZE on 32-bit.
83 /* Number of immovable memory regions */
92 MEM_AVOID_MEMMAP_END = MEM_AVOID_MEMMAP_BEGIN + MAX_MEMMAP_REGIONS - 1,
101 if (one->start + one->size <= two->start) in mem_overlaps()
104 if (one->start >= two->start + two->size) in mem_overlaps()
[all …]
/linux/drivers/acpi/
H A Dnvs.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * nvs.c - Routines for saving and restoring ACPI NVS memory region
5 * Copyright (C) 2008-2011 Rafael J. Wysocki <rjw@sisk.pl>, Novell Inc.
40 struct nvs_region *region; in acpi_nvs_register() local
42 region = kmalloc(sizeof(*region), GFP_KERNEL); in acpi_nvs_register()
43 if (!region) in acpi_nvs_register()
44 return -ENOMEM; in acpi_nvs_register()
45 region->phys_start = start; in acpi_nvs_register()
46 region->size = size; in acpi_nvs_register()
47 list_add_tail(&region->node, &nvs_region_list); in acpi_nvs_register()
[all …]
/linux/tools/testing/selftests/kvm/lib/
H A Dkvm_util.c1 // SPDX-License-Identifier: GPL-2.0-only
44 * flags - The flags to pass when opening KVM_DEV_PATH.
86 * 16 bytes to hold a 64-bit value (1 byte per char), 1 byte for the in get_module_param_integer()
96 TEST_ASSERT(value[r - 1] == '\n', in get_module_param_integer()
97 "Expected trailing newline, got char '%c'", value[r - 1]); in get_module_param_integer()
101 * trailing non-NUL characters in the string. in get_module_param_integer()
103 value[r - 1] = '\0'; in get_module_param_integer()
157 * cap - Capability
189 vm->dirty_ring_size = ring_size; in vm_enable_dirty_ring()
194 vm->kvm_fd = _open_kvm_dev_path_or_exit(O_RDWR); in vm_open()
[all …]
/linux/drivers/net/ipa/
H A Dipa_mem.h1 /* SPDX-License-Identifier: GPL-2.0 */
3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2019-2024 Linaro Ltd.
17 * DOC: IPA Local Memory
19 * The IPA has a block of shared memory, divided into regions used for
23 * the "ipa-shared" memory range) and size found in the IPA_SHARED_MEM_SIZE
26 * Each region is optionally preceded by one or more 32-bit "canary" values.
27 * These are meant to detect out-of-range writes (if they become corrupted).
28 * A given region (such as a filter or routing table) has the same number
32 * The set of memory regions is defined in configuration data. They are
[all …]
/linux/Documentation/PCI/endpoint/
H A Dpci-ntb-function.rst1 .. SPDX-License-Identifier: GPL-2.0
9 PCI Non-Transparent Bridges (NTB) allow two host systems to communicate
12 machine, expose memory ranges as BARs, and perform DMA. They also support
13 scratchpads, which are areas of memory within the NTB that are accessible
26 .. code-block:: text
28 +-------------+ +-------------+
32 +------^------+ +------^------+
35 +---------|-------------------------------------------------|---------+
36 | +------v------+ +------v------+ |
40 | | <-----------------------------------> | |
[all …]
/linux/Documentation/core-api/kho/
H A Dconcepts.rst1 .. SPDX-License-Identifier: GPL-2.0-or-later
2 .. _kho-concepts:
8 Kexec HandOver (KHO) is a mechanism that allows Linux to preserve memory
17 that describes preserved memory regions. These regions contain either
18 serialized subsystem states, or in-memory data that shall not be touched
20 memory regions from KHO FDT.
25 ``ranges`` do not exist, hence there are no ``#...-cells`` properties.
33 To boot into kexec, we need to have a physically contiguous memory range that
34 contains no handed over memory. Kexec then places the target kernel and initrd
35 into that region. The new kernel exclusively uses this region for memory
[all …]
/linux/drivers/gpu/drm/i915/
H A Dintel_region_ttm.c1 // SPDX-License-Identifier: MIT
19 * The code in this file deals with setting up memory managers for TTM
22 * i915 GEM regions to TTM memory types and resource managers.
26 * intel_region_ttm_device_init - Initialize a TTM device
33 struct drm_device *drm = &dev_priv->drm; in intel_region_ttm_device_init()
35 return ttm_device_init(&dev_priv->bdev, i915_ttm_driver(), in intel_region_ttm_device_init()
36 drm->dev, drm->anon_inode->i_mapping, in intel_region_ttm_device_init()
37 drm->vma_offset_manager, false, false); in intel_region_ttm_device_init()
41 * intel_region_ttm_device_fini - Finalize a TTM device
46 ttm_device_fini(&dev_priv->bdev); in intel_region_ttm_device_fini()
[all …]
/linux/Documentation/devicetree/bindings/remoteproc/
H A Dti,k3-dsp-rproc.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/remoteproc/ti,k3-dsp-rproc.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Suman Anna <s-anna@ti.com>
13 The TI K3 family of SoCs usually have one or more TI DSP Core sub-systems
14 that are used to offload some of the processor-intensive tasks or algorithms,
17 These processor sub-systems usually contain additional sub-modules like
18 L1 and/or L2 caches/SRAMs, an Interrupt Controller, an external memory
23 Each DSP Core sub-system is represented as a single DT node. Each node has a
[all …]
/linux/Documentation/devicetree/bindings/arm/mediatek/
H A Dmediatek,mt7622-wed.yaml1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/arm/mediatek/mediatek,mt7622-wed.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Lorenzo Bianconi <lorenzo@kernel.org>
11 - Felix Fietkau <nbd@nbd.name>
21 - enum:
22 - mediatek,mt7622-wed
23 - mediatek,mt7981-wed
24 - mediatek,mt7986-wed
[all …]
/linux/drivers/virt/acrn/
H A Dmm.c1 // SPDX-License-Identifier: GPL-2.0
3 * ACRN: Memory mapping management
19 static int modify_region(struct acrn_vm *vm, struct vm_memory_region_op *region) in modify_region() argument
26 return -ENOMEM; in modify_region()
28 regions->vmid = vm->vmid; in modify_region()
29 regions->regions_num = 1; in modify_region()
30 regions->regions_gpa = virt_to_phys(region); in modify_region()
35 "Failed to set memory region for VM[%u]!\n", vm->vmid); in modify_region()
42 * acrn_mm_region_add() - Set up the EPT mapping of a memory region.
46 * @size: Size of the region.
[all …]
/linux/Documentation/mm/damon/
H A Ddesign.rst1 .. SPDX-License-Identifier: GPL-2.0
13 The monitoring-related information including the monitoring request
14 specification and DAMON-based operation schemes are stored in a data structure
19 To know how user-space can do the configurations and start/stop DAMON, refer to
28 - :ref:`Operations Set <damon_operations_set>`: Implements fundamental
30 address-space and available set of software/hardware primitives,
31 - :ref:`Core <damon_core_logic>`: Implements core logics including monitoring
32 overhead/accuracy control and access-aware system operations on top of the
34 - :ref:`Modules <damon_modules>`: Implements kernel modules for various
49 monitoring are address-space dependent.
[all …]
/linux/Documentation/ABI/testing/
H A Dsysfs-edac-scrub1 What: /sys/bus/edac/devices/<dev-name>/scrubX
4 Contact: linux-edac@vger.kernel.org
6 The sysfs EDAC bus devices /<dev-name>/scrubX subdirectory
7 belongs to an instance of memory scrub control feature,
8 where <dev-name> directory corresponds to a device/memory
9 region registered with the EDAC device driver for the
17 What: /sys/bus/edac/devices/<dev-name>/scrubX/addr
20 Contact: linux-edac@vger.kernel.org
22 (RW) The base address of the memory region to be scrubbed
23 for on-demand scrubbing. Setting address starts scrubbing.
[all …]
/linux/samples/nitro_enclaves/
H A Dne_ioctl_sample.c1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright 2020-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
11 * -----
19 * https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html#cpu-lists
26 * echo <cpu-list> > /sys/module/nitro_enclaves/parameters/ne_cpus
43 * Setup hugetlbfs huge pages. The memory needs to be from the same NUMA node as
46 * https://www.kernel.org/doc/html/latest/admin-guide/mm/hugetlbpage.html
52 * /sys/devices/system/node/node<X>/hugepages/hugepages-2048kB/nr_hugepages
53 * /sys/devices/system/node/node<X>/hugepages/hugepages-1048576kB/nr_hugepages
58 * /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
[all …]
/linux/Documentation/devicetree/bindings/memory-controllers/
H A Dst,stm32mp25-omm.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/memory-controllers/st,stm32mp25-omm.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: STM32 Octo Memory Manager (OMM)
10 - Patrice Chotard <patrice.chotard@foss.st.com>
13 The STM32 Octo Memory Manager is a low-level interface that enables an
17 - Two single/dual/quad/octal SPI interfaces
18 - Two ports for pin assignment
22 const: st,stm32mp25-omm
[all …]

12345678910>>...42