Lines Matching refs:hole

89 typedef struct hole hole_t;
91 struct hole {
123 hole_t mem_hole; /* Memory hole linked list. */
124 hole_t pf_mem_hole; /* PF Memory hole linked list. */
125 hole_t io_hole; /* IO hole linked list */
972 /* the following will free hole data. */
1330 /* the following will also free hole data. */
2303 pcicfg_unused_space(hole_t *hole, uint32_t *hole_count)
2309 len += hole->len;
2310 hole = hole->next;
2312 } while (hole);
2319 * This function frees data structures that hold the hole information
2326 hole_t *nhole, *hole = addr_hole->next;
2328 while (hole) {
2329 nhole = hole->next;
2330 kmem_free(hole, sizeof (hole_t));
2331 hole = nhole;
2339 hole_t *hole = addr_hole, *thole, *nhole;
2342 actual_hole_start = PCICFG_ROUND_UP(hole->start, length);
2343 if (((actual_hole_start - hole->start) + length) <= hole->len) {
2344 DEBUG3("hole found. start %llx, len %llx, req=0x%x\n",
2345 hole->start, hole->len, length);
2346 ostart = hole->start;
2347 olen = hole->len;
2348 /* current hole parameters adjust */
2349 if ((actual_hole_start - hole->start) == 0) {
2350 hole->start += length;
2351 hole->len -= length;
2352 if (hole->start > *alast)
2353 *alast = hole->start;
2355 hole->len = actual_hole_start - hole->start;
2361 thole = hole->next;
2362 hole->next = nhole;
2366 DEBUG2("put new hole to %llx, %llx\n",
2369 DEBUG2("adjust current hole to %llx, %llx\n",
2370 hole->start, hole->len);
2374 hole = hole->next;
2375 } while (hole);
2377 DEBUG1("return hole at %llx\n", actual_hole_start);
2386 /* See if there is a hole, that can hold this request. */
2389 if (new_mem) { /* if non-zero, found a hole. */
2405 * See if there is a hole, that can hold this request.
2410 if (new_io) { /* if non-zero, found a hole. */
2424 /* See if there is a hole, that can hold this request. */
2427 if (new_mem) { /* if non-zero, found a hole. */