Lines Matching defs:arena
184 struct pci_resource_arena *arena;
204 * Create an arena if we haven't already.
206 if ((arena = arenas[type]) == NULL) {
207 arena = arenas[type] = kmem_zalloc(sizeof(*arenas[type]),
209 arena->vmem = vmem_create(pci_resource_typename(type),
211 SIMPLEQ_INIT(&arena->list);
218 error = vmem_add(arena->vmem, start, end - start + 1, VM_SLEEP);
237 SIMPLEQ_FOREACH(range, &arena->list, entry) {
244 SIMPLEQ_INSERT_AFTER(&arena->list, prev, new, entry);
246 SIMPLEQ_INSERT_HEAD(&arena->list, new, entry);
683 * Claim a resource from a vmem arena. This is called to inform the
687 pci_resource_claim(struct pci_resource_arena *arena,
692 return vmem_xalloc(arena->vmem, end - start + 1, 0, 0, 0, start, end,
699 * Allocate a resource from a vmem arena. This is called when configuring
703 pci_resource_alloc(struct pci_resource_arena *arena, vmem_size_t size,
712 error = vmem_xalloc(arena->vmem, size, align, 0, 0, VMEM_ADDR_MIN,
890 * create a new vmem arena for the secondary bus.
990 struct pci_resource_arena *arena;
1016 arena = pd->pd_bus->pb_res[PCI_RANGE_IO];
1020 arena = NULL;
1023 arena = pd->pd_bus->pb_res[PCI_RANGE_PMEM];
1025 if (arena == NULL) {
1026 arena = pd->pd_bus->pb_res[PCI_RANGE_MEM];
1029 if (arena == NULL) {
1031 " allocate %#" PRIx64 " bytes (no arena)\n",
1036 error = pci_resource_alloc(arena, pi->pi_size, align, &addr);