| /linux/kernel/bpf/ |
| H A D | arena.c | 23 * For user space all pointers within the arena are normal 8-byte addresses. 31 * BPF JITs generate the following code to access arena: 49 static void arena_free_pages(struct bpf_arena *arena, long uaddr, long page_cnt, bool sleepable); 76 u64 bpf_arena_get_kern_vm_start(struct bpf_arena *arena) in bpf_arena_get_kern_vm_start() argument 78 return arena ? (u64) (long) arena->kern_vm->addr + GUARD_SZ / 2 : 0; in bpf_arena_get_kern_vm_start() 81 u64 bpf_arena_get_user_vm_start(struct bpf_arena *arena) in bpf_arena_get_user_vm_start() argument 83 return arena ? arena->user_vm_start : 0; in bpf_arena_get_user_vm_start() 111 static long compute_pgoff(struct bpf_arena *arena, long uaddr) in compute_pgoff() argument 113 return (u32)(uaddr - (u32)arena->user_vm_start) >> PAGE_SHIFT; in compute_pgoff() 170 static int populate_pgtable_except_pte(struct bpf_arena *arena) in populate_pgtable_except_pte() argument [all …]
|
| /linux/arch/alpha/kernel/ |
| H A D | pci_iommu.c | 64 struct pci_iommu_arena *arena; in iommu_arena_new_node() local 69 not addition, so the required arena alignment is based on in iommu_arena_new_node() 71 particular systems can over-align the arena. */ in iommu_arena_new_node() 75 arena = memblock_alloc_or_panic(sizeof(*arena), SMP_CACHE_BYTES); in iommu_arena_new_node() 76 arena->ptes = memblock_alloc_or_panic(mem_size, align); in iommu_arena_new_node() 78 spin_lock_init(&arena->lock); in iommu_arena_new_node() 79 arena->hose = hose; in iommu_arena_new_node() 80 arena->dma_base = base; in iommu_arena_new_node() 81 arena->size = window_size; in iommu_arena_new_node() 82 arena->next_entry = 0; in iommu_arena_new_node() [all …]
|
| H A D | core_titan.c | 495 * Check the scatter-gather arena. in titan_ioremap() 584 struct pci_iommu_arena *arena; member 601 aper->arena = agp->hose->sg_pci; in titan_agp_setup() 603 aper->pg_start = iommu_reserve(aper->arena, aper->pg_count, in titan_agp_setup() 612 aper->arena->dma_base + aper->pg_start * PAGE_SIZE; in titan_agp_setup() 625 status = iommu_release(aper->arena, aper->pg_start, aper->pg_count); in titan_agp_cleanup() 629 iommu_unbind(aper->arena, aper->pg_start, aper->pg_count); in titan_agp_cleanup() 630 status = iommu_release(aper->arena, aper->pg_start, in titan_agp_cleanup() 686 return iommu_bind(aper->arena, aper->pg_start + pg_start, in titan_agp_bind_memory() 694 return iommu_unbind(aper->arena, aper->pg_start + pg_start, in titan_agp_unbind_memory() [all …]
|
| H A D | core_marvel.c | 721 * Check the scatter-gather arena. in marvel_ioremap() 851 struct pci_iommu_arena *arena; member 867 aper->arena = agp->hose->sg_pci; in marvel_agp_setup() 869 aper->pg_start = iommu_reserve(aper->arena, aper->pg_count, in marvel_agp_setup() 879 aper->arena->dma_base + aper->pg_start * PAGE_SIZE; in marvel_agp_setup() 892 status = iommu_release(aper->arena, aper->pg_start, aper->pg_count); in marvel_agp_cleanup() 896 iommu_unbind(aper->arena, aper->pg_start, aper->pg_count); in marvel_agp_cleanup() 897 status = iommu_release(aper->arena, aper->pg_start, in marvel_agp_cleanup() 975 return iommu_bind(aper->arena, aper->pg_start + pg_start, in marvel_agp_bind_memory() 983 return iommu_unbind(aper->arena, aper->pg_start + pg_start, in marvel_agp_unbind_memory() [all …]
|
| /linux/tools/testing/selftests/bpf/prog_tests/ |
| H A D | arena_atomics.c | 19 ASSERT_EQ(skel->arena->add64_value, 3, "add64_value"); in test_add() 20 ASSERT_EQ(skel->arena->add64_result, 1, "add64_result"); in test_add() 22 ASSERT_EQ(skel->arena->add32_value, 3, "add32_value"); in test_add() 23 ASSERT_EQ(skel->arena->add32_result, 1, "add32_result"); in test_add() 25 ASSERT_EQ(skel->arena->add_stack_value_copy, 3, "add_stack_value"); in test_add() 26 ASSERT_EQ(skel->arena->add_stack_result, 1, "add_stack_result"); in test_add() 28 ASSERT_EQ(skel->arena->add_noreturn_value, 3, "add_noreturn_value"); in test_add() 44 ASSERT_EQ(skel->arena->sub64_value, -1, "sub64_value"); in test_sub() 45 ASSERT_EQ(skel->arena->sub64_result, 1, "sub64_result"); in test_sub() 47 ASSERT_EQ(skel->arena in test_sub() [all...] |
| H A D | arena_list.c | 58 ASSERT_EQ(skel->arena->arena_sum, expected_sum, "__arena sum of elems"); in test_arena_list_add_del() 59 ASSERT_EQ(skel->arena->test_val, cnt + 1, "num of elems"); in test_arena_list_add_del() 66 ASSERT_EQ(skel->arena->arena_sum, expected_sum, "__arena sum of elems"); in test_arena_list()
|
| H A D | arena_htab.c | 46 area = bpf_map__initial_value(skel->maps.arena, &arena_sz); in test_arena_htab_llvm()
|
| /linux/tools/testing/selftests/bpf/progs/ |
| H A D | verifier_arena.c | 18 __uint(max_entries, 2); /* arena of two pages close to 32-bit boundary*/ 24 } arena SEC(".maps"); 33 page1 = bpf_arena_alloc_pages(&arena, NULL, 1, NUMA_NO_NODE, 0); in basic_alloc1() 37 page2 = bpf_arena_alloc_pages(&arena, NULL, 1, NUMA_NO_NODE, 0); in basic_alloc1() 41 no_page = bpf_arena_alloc_pages(&arena, NULL, 1, NUMA_NO_NODE, 0); in basic_alloc1() 48 bpf_arena_free_pages(&arena, (void __arena *)page2, 1); in basic_alloc1() 64 page1 = bpf_arena_alloc_pages(&arena, NULL, 1, NUMA_NO_NODE, 0); 68 page2 = bpf_arena_alloc_pages(&arena, NULL, 1, NUMA_NO_NODE, 0); in basic_alloc2() 72 no_page = bpf_arena_alloc_pages(&arena, NULL, 1, NUMA_NO_NODE, 0); in basic_alloc2() 79 bpf_arena_free_pages(&arena, (voi in basic_alloc2() [all...] |
| H A D | verifier_arena_large.c | 18 } arena SEC(".maps"); 28 base = (u64)arena_base(&arena); in big_alloc1() 30 page1 = bpf_arena_alloc_pages(&arena, NULL, 1, NUMA_NO_NODE, 0); in big_alloc1() 38 page2 = bpf_arena_alloc_pages(&arena, (void __arena *)(ARENA_SIZE - 2 * PAGE_SIZE), in big_alloc1() 44 /* Test for the guard region at the end of the arena. */ in big_alloc1() 45 no_page = bpf_arena_alloc_pages(&arena, (void __arena *)ARENA_SIZE - PAGE_SIZE, in big_alloc1() 50 no_page = bpf_arena_alloc_pages(&arena, (void __arena *)ARENA_SIZE, in big_alloc1() 58 bpf_arena_free_pages(&arena, (void __arena *)page1, 1); in big_alloc1() 63 page3 = bpf_arena_alloc_pages(&arena, NULL, 1, NUMA_NO_NODE, 0); in big_alloc1() 94 /* Get a separate region of the arena in access_reserved() [all...] |
| H A D | arena_atomics.c | 21 } arena SEC(".maps"); 228 page = bpf_arena_alloc_pages(&arena, NULL, 1, NUMA_NO_NODE, 0); in uaf() 229 bpf_arena_free_pages(&arena, page, 1); in uaf()
|
| H A D | arena_htab.c | 14 } arena SEC(".maps");
|
| H A D | arena_list.c | 19 } arena SEC(".maps");
|
| H A D | compute_live_registers.c | 20 } arena SEC(".maps"); 382 "r1 = %[arena] ll;" in addr_space_cast() 395 __imm_addr(arena) in addr_space_cast()
|
| /linux/drivers/nvdimm/ |
| H A D | btt.h | 81 * arena->log_index[(0, 1)] with the detected format. 132 * struct arena_info - handle for an arena 133 * @size: Size in bytes this arena occupies on the raw device. 134 * This includes arena metadata. 135 * @external_lba_start: The first external LBA in this arena. 136 * @internal_nlba: Number of internal blocks available in the arena 141 * @external_nlba: Number of blocks contributed by the arena to the number 149 * @nextoff: Offset in bytes to the start of the next arena. 150 * @infooff: Offset in bytes to the info block of this arena. 151 * @dataoff: Offset in bytes to the data area of this arena. [all …]
|
| H A D | btt_devs.c | 231 * @super: pointer to the arena's info block being tested 262 dev_info(&nd_btt->dev, "Found arena with an error flag\n"); in nd_btt_arena_is_valid()
|
| /linux/arch/powerpc/platforms/pseries/ |
| H A D | rtas-work-area.c | 26 * Don't let a single allocation claim the whole arena. 42 char *arena; member 90 * time. Requests that exceed the arena size will block in __rtas_work_area_alloc() 128 * reliably reserve an arena that satisfies RTAS addressing 132 * and adding the arena to a gen_pool. 137 const phys_addr_t pa_start = __pa(rwa_state.arena); in rtas_work_area_allocator_init() 144 if (!rwa_state.arena) in rtas_work_area_allocator_init() 157 err = gen_pool_add(pool, (unsigned long)rwa_state.arena, in rtas_work_area_allocator_init() 170 pr_debug("arena [%pa-%pa] (%uK), min/max alloc sizes %u/%u\n", in rtas_work_area_allocator_init() 204 * So set up the arena if we find that, with a fallback to in rtas_work_area_reserve_arena() [all …]
|
| /linux/Documentation/driver-api/nvdimm/ |
| H A D | btt.rst | 35 Each arena follows the same layout for its metadata, and all references in an 36 arena are internal to it (with the exception of one field that points to the 37 next arena). The following depicts the "On-disk" metadata layout:: 40 Backing Store +-------> Arena 42 | | | | Arena info block | 43 | Arena 0 +---+ | 4K | 48 | Arena 1 | | Data Blocks | 105 ABA Arena Block Address - Block offset/number within an arena 106 Premap ABA The block offset into an arena, which was decided upon by range 112 arena. [all …]
|
| /linux/tools/testing/selftests/bpf/ |
| H A D | bpf_arena_alloc.h | 33 page = bpf_arena_alloc_pages(&arena, NULL, 1, NUMA_NO_NODE, 0); in bpf_alloc() 62 bpf_arena_free_pages(&arena, addr, 1); in bpf_free()
|
| H A D | DENYLIST.asan | 1 *arena*
|
| H A D | bpf_arena_htab.h | 95 void __arena *buckets = bpf_arena_alloc_pages(&arena, NULL, 2, NUMA_NO_NODE, 0); in htab_init()
|
| H A D | bpf_arena_common.h | 60 __weak char arena[1]; variable
|
| /linux/tools/sched_ext/ |
| H A D | scx_sdt.c | 19 "A simple arena-based sched_ext scheduler.\n" 21 "Modified version of scx_simple that demonstrates arena-based data structures.\n"
|
| /linux/tools/sched_ext/include/scx/ |
| H A D | bpf_arena_common.bpf.h | 30 * __BPF_FEATURE_ADDR_SPACE_CAST that do not automatically cast between arena 34 * linked lists and hashtables backed by arena memory. In sched_ext, we use
|
| H A D | bpf_arena_common.h | 20 char __attribute__((weak)) arena[1]; variable
|
| /linux/drivers/media/pci/saa7146/ |
| H A D | mxb.c | 277 /* some init data for the saa7740, the so-called 'sound arena module'. 388 /* check if the saa7740 (aka 'sound arena module') is present in mxb_init_done() 399 /* the sound arena module is a pos, that's probably the reason in mxb_init_done() 413 DEB_D("failed to initialize 'sound arena module'\n"); in mxb_init_done() 417 pr_info("'sound arena module' detected\n"); in mxb_init_done()
|