Lines Matching defs:seg
106 struct seg kvseg; /* primary kernel heap segment */
107 struct seg kvseg_core; /* "core" kernel heap segment */
108 struct seg kzioseg; /* Segment for zio mappings */
115 struct seg kvseg32; /* 32-bit kernel heap segment */
442 segkmem_fault(struct hat *hat, struct seg *seg, caddr_t addr, size_t size,
448 struct vnode *vp = seg->s_data;
450 ASSERT(RW_READ_HELD(&seg->s_as->a_lock));
452 if (seg->s_as != &kas || size > seg->s_size ||
453 addr < seg->s_base || addr + size > seg->s_base + seg->s_size)
459 if (segkp_bitmap && seg == &kvseg &&
460 BT_TEST(segkp_bitmap, btop((uintptr_t)(addr - seg->s_base))))
493 hat_reserve(seg->s_as, addr, size);
510 segkmem_setprot(struct seg *seg, caddr_t addr, size_t size, uint_t prot)
512 ASSERT(RW_LOCK_HELD(&seg->s_as->a_lock));
514 if (seg->s_as != &kas || size > seg->s_size ||
515 addr < seg->s_base || addr + size > seg->s_base + seg->s_size)
521 if (segkp_bitmap && seg == &kvseg &&
522 BT_TEST(segkp_bitmap, btop((uintptr_t)(addr - seg->s_base))))
538 segkmem_checkprot(struct seg *seg, caddr_t addr, size_t size, uint_t prot)
540 ASSERT(RW_LOCK_HELD(&seg->s_as->a_lock));
542 if (seg->s_as != &kas)
548 if (segkp_bitmap && seg == &kvseg &&
549 BT_TEST(segkp_bitmap, btop((uintptr_t)(addr - seg->s_base))))
562 segkmem_kluster(struct seg *seg, caddr_t addr, ssize_t delta)
564 ASSERT(RW_LOCK_HELD(&seg->s_as->a_lock));
566 if (seg->s_as != &kas)
572 if (segkp_bitmap && seg == &kvseg &&
573 BT_TEST(segkp_bitmap, btop((uintptr_t)(addr - seg->s_base))))
618 segkmem_dump(struct seg *seg)
643 if (seg == &kvseg) {
645 segkmem_dump_range, seg->s_as);
648 segkmem_dump_range, seg->s_as);
650 } else if (seg == &kvseg_core) {
652 segkmem_dump_range, seg->s_as);
653 } else if (seg == &kvseg32) {
655 segkmem_dump_range, seg->s_as);
657 segkmem_dump_range, seg->s_as);
658 } else if (seg == &kzioseg) {
666 segkmem_dump_range(seg->s_as, seg->s_base, seg->s_size);
679 segkmem_pagelock(struct seg *seg, caddr_t addr, size_t len,
686 struct vnode *vp = seg->s_data;
693 if (segkp_bitmap && seg == &kvseg &&
694 BT_TEST(segkp_bitmap, btop((uintptr_t)(addr - seg->s_base))))
743 segkmem_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp)
745 ASSERT(RW_LOCK_HELD(&seg->s_as->a_lock));
747 if (seg->s_as != &kas)
753 if (segkp_bitmap && seg == &kvseg &&
754 BT_TEST(segkp_bitmap, btop((uintptr_t)(addr - seg->s_base))))
763 segkmem_getpolicy(struct seg *seg, caddr_t addr)
770 segkmem_capable(struct seg *seg, segcapability_t capability)
805 segkmem_zio_create(struct seg *seg)
807 ASSERT(seg->s_as == &kas && RW_WRITE_HELD(&kas.a_lock));
808 seg->s_ops = &segkmem_ops;
809 seg->s_data = &zvp;
810 kas.a_size += seg->s_size;
815 segkmem_create(struct seg *seg)
817 ASSERT(seg->s_as == &kas && RW_WRITE_HELD(&kas.a_lock));
818 seg->s_ops = &segkmem_ops;
819 seg->s_data = &kvp;
820 kas.a_size += seg->s_size;
828 struct seg kseg;
1073 segkmem_mapin(struct seg *seg, void *addr, size_t size, uint_t vprot,
1076 hat_unload(seg->s_as->a_hat, addr, size, HAT_UNLOAD_UNLOCK);
1077 hat_devload(seg->s_as->a_hat, addr, size, pfn, vprot,
1082 segkmem_mapout(struct seg *seg, void *addr, size_t size)
1084 hat_unload(seg->s_as->a_hat, addr, size, HAT_UNLOAD_UNLOCK);