| 259 | } |
| 260 | |
| 261 | vm_offset_t |
| 262 | kmem_alloc_attr_domainset(struct domainset *ds, vm_size_t size, int flags, |
| 263 | vm_paddr_t low, vm_paddr_t high, vm_memattr_t memattr) |
| 264 | { |
| 265 | struct vm_domainset_iter di; |
| 266 | vm_offset_t addr; |
| 267 | int domain; |
| 268 | |
| 269 | vm_domainset_iter_policy_init(&di, ds, &domain, &flags); |
| 270 | do { |
| 271 | addr = kmem_alloc_attr_domain(domain, size, flags, low, high, |
| 272 | memattr); |
| 273 | if (addr != 0) |
| 274 | break; |
| 275 | } while (vm_domainset_iter_policy(&di, &domain) == 0); |
| 276 | |
| 277 | return (addr); |
| 278 | } |
| 279 | |
| 280 | /* |
| 281 | * Allocates a region from the kernel address map and physically |
no test coverage detected