Rev 1702 | Rev 1757 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1702 | Rev 1708 | ||
|---|---|---|---|
| Line 993... | Line 993... | ||
| 993 | * |
993 | * |
| 994 | * Find respective frame structure for supplied PFN. |
994 | * Find respective frame structure for supplied PFN. |
| 995 | * Decrement frame reference count. |
995 | * Decrement frame reference count. |
| 996 | * If it drops to zero, move the frame structure to free list. |
996 | * If it drops to zero, move the frame structure to free list. |
| 997 | * |
997 | * |
| 998 | * @param frame Frame number to be freed. |
998 | * @param pfn Frame number of the frame to be freed. |
| 999 | */ |
999 | */ |
| 1000 | void frame_free(pfn_t pfn) |
1000 | void frame_free(pfn_t pfn) |
| 1001 | { |
1001 | { |
| 1002 | ipl_t ipl; |
1002 | ipl_t ipl; |
| 1003 | zone_t *zone; |
1003 | zone_t *zone; |
| Line 1019... | Line 1019... | ||
| 1019 | /** Add reference to frame. |
1019 | /** Add reference to frame. |
| 1020 | * |
1020 | * |
| 1021 | * Find respective frame structure for supplied PFN and |
1021 | * Find respective frame structure for supplied PFN and |
| 1022 | * increment frame reference count. |
1022 | * increment frame reference count. |
| 1023 | * |
1023 | * |
| 1024 | * @param frame Frame no to be freed. |
1024 | * @param pfn Frame number of the frame to be freed. |
| 1025 | */ |
1025 | */ |
| 1026 | void frame_reference_add(pfn_t pfn) |
1026 | void frame_reference_add(pfn_t pfn) |
| 1027 | { |
1027 | { |
| 1028 | ipl_t ipl; |
1028 | ipl_t ipl; |
| 1029 | zone_t *zone; |
1029 | zone_t *zone; |
| Line 1110... | Line 1110... | ||
| 1110 | } |
1110 | } |
| 1111 | spinlock_unlock(&zones.lock); |
1111 | spinlock_unlock(&zones.lock); |
| 1112 | interrupts_restore(ipl); |
1112 | interrupts_restore(ipl); |
| 1113 | } |
1113 | } |
| 1114 | 1114 | ||
| 1115 | /** Prints zone details |
1115 | /** Prints zone details. |
| 1116 | * |
1116 | * |
| 1117 | * @param base Zone base address OR zone number |
1117 | * @param num Zone base address or zone number. |
| 1118 | */ |
1118 | */ |
| 1119 | void zone_print_one(int num) { |
1119 | void zone_print_one(int num) { |
| 1120 | zone_t *zone = NULL; |
1120 | zone_t *zone = NULL; |
| 1121 | ipl_t ipl; |
1121 | ipl_t ipl; |
| 1122 | int i; |
1122 | int i; |