Changeset d0485c6 in mainline for kernel/generic
- Timestamp:
- 2006-12-01T22:10:40Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 3d76996
- Parents:
- 7bf7ef7
- Location:
- kernel/generic
- Files:
-
- 2 edited
-
include/mm/page.h (modified) (1 diff)
-
src/mm/as.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/mm/page.h
r7bf7ef7 rd0485c6 67 67 #define PAGE_GLOBAL (1<<PAGE_GLOBAL_SHIFT) 68 68 69 70 /** 71 * Macro for computing page color. 72 */ 73 #define PAGE_COLOR(va) (((va) >> PAGE_WIDTH) & ((1 << PAGE_COLOR_BITS) - 1)) 74 69 75 /** Page fault access type. */ 70 76 enum pf_access { -
kernel/generic/src/mm/as.c
r7bf7ef7 rd0485c6 551 551 * @param dst_flags_mask Destination address space area flags mask. 552 552 * 553 * @return Zero on success or ENOENT if there is no such task or 554 * if there is no such address space area, 555 * EPERM if there was a problem in accepting the area or 556 * ENOMEM if there was a problem in allocating destination 557 * address space area. ENOTSUP is returned if an attempt 558 * to share non-anonymous address space area is detected. 553 * @return Zero on success or ENOENT if there is no such task or if there is no 554 * such address space area, EPERM if there was a problem in accepting the area 555 * or ENOMEM if there was a problem in allocating destination address space 556 * area. ENOTSUP is returned if the address space area backend does not support 557 * sharing. It can be also returned if the architecture uses virtually indexed 558 * caches and the source and destination areas start at pages with different 559 * page colors. 559 560 */ 560 561 int as_area_share(as_t *src_as, uintptr_t src_base, size_t acc_size, … … 581 582 } 582 583 584 #if 0 /* disable the check for now */ 585 #ifdef CONFIG_VIRT_IDX_CACHE 586 if (PAGE_COLOR(src_area->base) != PAGE_COLOR(dst_base)) { 587 /* 588 * Refuse to create illegal address alias. 589 */ 590 mutex_unlock(&src_area->lock); 591 mutex_unlock(&src_as->lock); 592 interrupts_restore(ipl); 593 return ENOTSUP; 594 } 595 #endif /* CONFIG_VIRT_IDX_CACHE */ 596 #endif 597 583 598 if (!src_area->backend || !src_area->backend->share) { 584 599 /*
Note:
See TracChangeset
for help on using the changeset viewer.
