Changeset 42744880 in mainline for generic/src/mm/frame.c
- Timestamp:
- 2006-02-08T22:29:20Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 85dc2e7
- Parents:
- 89298e3
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
generic/src/mm/frame.c
r89298e3 r42744880 62 62 SPINLOCK_DECLARE(lock); /**< this lock protects everything below */ 63 63 pfn_t base; /**< frame_no of the first frame in the frames array */ 64 pfn_t count; /**< Size of zone */64 count_t count; /**< Size of zone */ 65 65 66 66 frame_t *frames; /**< array of frame_t structures in this zone */ … … 100 100 101 101 /** Compute pfn_t from frame_t pointer & zone pointer */ 102 static pfn_t make_frame_index(zone_t *zone, frame_t *frame)102 static index_t make_frame_index(zone_t *zone, frame_t *frame) 103 103 { 104 104 return frame - zone->frames; … … 424 424 * Assume zone is locked 425 425 */ 426 static void zone_frame_free(zone_t *zone, pfn_t frame_idx)426 static void zone_frame_free(zone_t *zone, index_t frame_idx) 427 427 { 428 428 frame_t *frame; … … 446 446 447 447 /** Return frame from zone */ 448 static frame_t * zone_get_frame(zone_t *zone, pfn_t frame_idx)448 static frame_t * zone_get_frame(zone_t *zone, index_t frame_idx) 449 449 { 450 450 ASSERT(frame_idx < zone->count); … … 453 453 454 454 /** Mark frame in zone unavailable to allocation */ 455 static void zone_mark_unavailable(zone_t *zone, pfn_t frame_idx)455 static void zone_mark_unavailable(zone_t *zone, index_t frame_idx) 456 456 { 457 457 frame_t *frame; … … 476 476 * @return Initialized zone. 477 477 */ 478 static zone_t * zone_construct(pfn_t start, pfn_t count,478 static zone_t * zone_construct(pfn_t start, count_t count, 479 479 zone_t *z, int flags) 480 480 { … … 517 517 518 518 /** Compute configuration data size for zone */ 519 __address zone_conf_size(pfn_t start, pfn_t count)519 __address zone_conf_size(pfn_t start, count_t count) 520 520 { 521 521 int size = sizeof(zone_t) + count*sizeof(frame_t); … … 531 531 * 532 532 * @param confframe Where configuration frame is supposed to be. 533 * Always check, that we will not disturb kernel pages 534 * the kernel and possibly init. 533 * Always check, that we will not disturb the kernel and possibly init. 535 534 * If confframe is given _outside_ this zone, it is expected, 536 535 * that the area is already marked BUSY and big enough 537 536 * to contain zone_conf_size() amount of data 538 537 */ 539 void zone_create(pfn_t start, pfn_t count, pfn_t confframe, int flags)538 void zone_create(pfn_t start, count_t count, pfn_t confframe, int flags) 540 539 { 541 540 zone_t *z; 542 541 __address addr,endaddr; 543 pfn_t confcount;542 count_t confcount; 544 543 int i; 545 544 … … 552 551 * it does not span kernel & init 553 552 */ 554 confcount = SIZE2 PFN(zone_conf_size(start,count));553 confcount = SIZE2FRAMES(zone_conf_size(start,count)); 555 554 if (confframe >= start && confframe < start+count) { 556 555 for (;confframe < start+count;confframe++) { … … 700 699 701 700 /** Mark given range unavailable in frame zones */ 702 void frame_mark_unavailable(pfn_t start, pfn_t count)701 void frame_mark_unavailable(pfn_t start, count_t count) 703 702 { 704 703 int i; … … 730 729 if (config.cpu_active == 1) { 731 730 frame_mark_unavailable(ADDR2PFN(KA2PA(config.base)), 732 SIZE2 PFN(config.kernel_size));731 SIZE2FRAMES(config.kernel_size)); 733 732 if (config.init_size > 0) 734 733 frame_mark_unavailable(ADDR2PFN(KA2PA(config.init_addr)), 735 SIZE2 PFN(config.init_size));734 SIZE2FRAMES(config.init_size)); 736 735 } 737 736 }
Note:
See TracChangeset
for help on using the changeset viewer.