Lines Matching refs:hole

132 typedef struct hole hole_t;
134 struct hole {
157 hole_t mem_hole; /* Memory hole linked list. */
158 hole_t io_hole; /* IO hole linked list */
1106 /* the following will free hole data. */
1432 /* the following will also free hole data. */
2472 pcicfg_unused_space(hole_t *hole, uint32_t *hole_count)
2478 len += hole->len;
2479 hole = hole->next;
2481 } while (hole);
2488 * This function frees data structures that hold the hole information
2495 hole_t *nhole, *hole = addr_hole->next;
2497 while (hole) {
2498 nhole = hole->next;
2499 kmem_free(hole, sizeof (hole_t));
2500 hole = nhole;
2508 hole_t *hole = addr_hole, *thole, *nhole;
2511 actual_hole_start = PCICFG_ROUND_UP(hole->start, length);
2512 if (((actual_hole_start - hole->start) + length) <= hole->len) {
2513 DEBUG3("hole found. start %llx, len %llx, req=%x\n",
2514 hole->start, hole->len, length);
2515 ostart = hole->start;
2516 olen = hole->len;
2517 /* current hole parameters adjust */
2518 if ((actual_hole_start - hole->start) == 0) {
2519 hole->start += length;
2520 hole->len -= length;
2521 if (hole->start > *alast)
2522 *alast = hole->start;
2524 hole->len = actual_hole_start - hole->start;
2530 thole = hole->next;
2531 hole->next = nhole;
2535 DEBUG2("put new hole to %llx, %llx\n",
2538 DEBUG2("adjust current hole to %llx, %llx\n",
2539 hole->start, hole->len);
2543 hole = hole->next;
2544 } while (hole);
2546 DEBUG1("return hole at %llx\n", actual_hole_start);
2556 /* See if there is a hole, that can hold this request. */
2559 if (new_mem) { /* if non-zero, found a hole. */
2575 * See if there is a hole, that can hold this request.
2580 if (new_io) { /* if non-zero, found a hole. */