Changeset 7a0359b in mainline for kernel/generic/src/mm/frame.c
- Timestamp:
- 2010-07-02T15:42:19Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- bbfdf62
- Parents:
- e3ee9b9
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/mm/frame.c
re3ee9b9 r7a0359b 75 75 /********************/ 76 76 77 static inline size_t frame_index(zone_t *zone, frame_t *frame)77 NO_TRACE static inline size_t frame_index(zone_t *zone, frame_t *frame) 78 78 { 79 79 return (size_t) (frame - zone->frames); 80 80 } 81 81 82 static inline size_t frame_index_abs(zone_t *zone, frame_t *frame)82 NO_TRACE static inline size_t frame_index_abs(zone_t *zone, frame_t *frame) 83 83 { 84 84 return (size_t) (frame - zone->frames) + zone->base; 85 85 } 86 86 87 static inline bool frame_index_valid(zone_t *zone, size_t index)87 NO_TRACE static inline bool frame_index_valid(zone_t *zone, size_t index) 88 88 { 89 89 return (index < zone->count); 90 90 } 91 91 92 static inline size_t make_frame_index(zone_t *zone, frame_t *frame)92 NO_TRACE static inline size_t make_frame_index(zone_t *zone, frame_t *frame) 93 93 { 94 94 return (frame - zone->frames); … … 100 100 * 101 101 */ 102 static void frame_initialize(frame_t *frame)102 NO_TRACE static void frame_initialize(frame_t *frame) 103 103 { 104 104 frame->refcount = 1; … … 121 121 * 122 122 */ 123 static size_t zones_insert_zone(pfn_t base, size_t count)123 NO_TRACE static size_t zones_insert_zone(pfn_t base, size_t count) 124 124 { 125 125 if (zones.count + 1 == ZONES_MAX) { … … 162 162 */ 163 163 #ifdef CONFIG_DEBUG 164 static size_t total_frames_free(void)164 NO_TRACE static size_t total_frames_free(void) 165 165 { 166 166 size_t total = 0; … … 206 206 207 207 /** @return True if zone can allocate specified order */ 208 static bool zone_can_alloc(zone_t *zone, uint8_t order)208 NO_TRACE static bool zone_can_alloc(zone_t *zone, uint8_t order) 209 209 { 210 210 return (zone_flags_available(zone->flags) … … 222 222 * 223 223 */ 224 static size_t find_free_zone(uint8_t order, zone_flags_t flags, size_t hint) 224 NO_TRACE static size_t find_free_zone(uint8_t order, zone_flags_t flags, 225 size_t hint) 225 226 { 226 227 if (hint >= zones.count) … … 262 263 * 263 264 */ 264 static link_t *zone_buddy_find_block(buddy_system_t *buddy, link_t *child,265 uint8_t order)265 NO_TRACE static link_t *zone_buddy_find_block(buddy_system_t *buddy, 266 link_t *child, uint8_t order) 266 267 { 267 268 frame_t *frame = list_get_instance(child, frame_t, buddy_link); … … 285 286 * 286 287 */ 287 static link_t *zone_buddy_find_buddy(buddy_system_t *buddy, link_t *block) 288 NO_TRACE static link_t *zone_buddy_find_buddy(buddy_system_t *buddy, 289 link_t *block) 288 290 { 289 291 frame_t *frame = list_get_instance(block, frame_t, buddy_link); … … 321 323 * 322 324 */ 323 static link_t *zone_buddy_bisect(buddy_system_t *buddy, link_t *block)325 NO_TRACE static link_t *zone_buddy_bisect(buddy_system_t *buddy, link_t *block) 324 326 { 325 327 frame_t *frame_l = list_get_instance(block, frame_t, buddy_link); … … 339 341 * 340 342 */ 341 static link_t *zone_buddy_coalesce(buddy_system_t *buddy, link_t *block_1,342 link_t *block_ 2)343 NO_TRACE static link_t *zone_buddy_coalesce(buddy_system_t *buddy, 344 link_t *block_1, link_t *block_2) 343 345 { 344 346 frame_t *frame1 = list_get_instance(block_1, frame_t, buddy_link); … … 355 357 * 356 358 */ 357 static void zone_buddy_set_order(buddy_system_t *buddy, link_t *block,359 NO_TRACE static void zone_buddy_set_order(buddy_system_t *buddy, link_t *block, 358 360 uint8_t order) 359 361 { … … 369 371 * 370 372 */ 371 static uint8_t zone_buddy_get_order(buddy_system_t *buddy, link_t *block) 373 NO_TRACE static uint8_t zone_buddy_get_order(buddy_system_t *buddy, 374 link_t *block) 372 375 { 373 376 return list_get_instance(block, frame_t, buddy_link)->buddy_order; … … 380 383 * 381 384 */ 382 static void zone_buddy_mark_busy(buddy_system_t *buddy, link_t *block)385 NO_TRACE static void zone_buddy_mark_busy(buddy_system_t *buddy, link_t *block) 383 386 { 384 387 list_get_instance(block, frame_t, buddy_link)->refcount = 1; … … 389 392 * @param buddy Buddy system. 390 393 * @param block Buddy system block. 391 */ 392 static void zone_buddy_mark_available(buddy_system_t *buddy, link_t *block) 394 * 395 */ 396 NO_TRACE static void zone_buddy_mark_available(buddy_system_t *buddy, 397 link_t *block) 393 398 { 394 399 list_get_instance(block, frame_t, buddy_link)->refcount = 0; … … 421 426 * 422 427 */ 423 static pfn_t zone_frame_alloc(zone_t *zone, uint8_t order)428 NO_TRACE static pfn_t zone_frame_alloc(zone_t *zone, uint8_t order) 424 429 { 425 430 ASSERT(zone_flags_available(zone->flags)); … … 449 454 * 450 455 */ 451 static void zone_frame_free(zone_t *zone, size_t frame_idx)456 NO_TRACE static void zone_frame_free(zone_t *zone, size_t frame_idx) 452 457 { 453 458 ASSERT(zone_flags_available(zone->flags)); … … 470 475 471 476 /** Return frame from zone. */ 472 static frame_t *zone_get_frame(zone_t *zone, size_t frame_idx)477 NO_TRACE static frame_t *zone_get_frame(zone_t *zone, size_t frame_idx) 473 478 { 474 479 ASSERT(frame_idx < zone->count); … … 477 482 478 483 /** Mark frame in zone unavailable to allocation. */ 479 static void zone_mark_unavailable(zone_t *zone, size_t frame_idx)484 NO_TRACE static void zone_mark_unavailable(zone_t *zone, size_t frame_idx) 480 485 { 481 486 ASSERT(zone_flags_available(zone->flags)); … … 506 511 * 507 512 */ 508 static void zone_merge_internal(size_t z1, size_t z2, zone_t *old_z1, buddy_system_t *buddy) 513 NO_TRACE static void zone_merge_internal(size_t z1, size_t z2, zone_t *old_z1, 514 buddy_system_t *buddy) 509 515 { 510 516 ASSERT(zone_flags_available(zones.info[z1].flags)); … … 602 608 * 603 609 */ 604 static void return_config_frames(size_t znum, pfn_t pfn, size_t count)610 NO_TRACE static void return_config_frames(size_t znum, pfn_t pfn, size_t count) 605 611 { 606 612 ASSERT(zone_flags_available(zones.info[znum].flags)); … … 637 643 * 638 644 */ 639 static void zone_reduce_region(size_t znum, pfn_t frame_idx, size_t count) 645 NO_TRACE static void zone_reduce_region(size_t znum, pfn_t frame_idx, 646 size_t count) 640 647 { 641 648 ASSERT(zone_flags_available(zones.info[znum].flags)); … … 777 784 * 778 785 */ 779 static void zone_construct(zone_t *zone, buddy_system_t *buddy, pfn_t start,780 size_t count, zone_flags_t flags)786 NO_TRACE static void zone_construct(zone_t *zone, buddy_system_t *buddy, 787 pfn_t start, size_t count, zone_flags_t flags) 781 788 { 782 789 zone->base = start;
Note:
See TracChangeset
for help on using the changeset viewer.