758
759 /*ARGSUSED*/
760 static int
761 segkmem_capable(struct seg *seg, segcapability_t capability)
762 {
763 if (capability == S_CAPABILITY_NOMINFLT)
764 return (1);
765 return (0);
766 }
767
768 static struct seg_ops segkmem_ops = {
769 .fault = segkmem_fault,
770 .setprot = segkmem_setprot,
771 .checkprot = segkmem_checkprot,
772 .kluster = segkmem_kluster,
773 .dump = segkmem_dump,
774 .pagelock = segkmem_pagelock,
775 .getmemid = segkmem_getmemid,
776 .getpolicy = segkmem_getpolicy,
777 .capable = segkmem_capable,
778 .inherit = seg_inherit_notsup,
779 };
780
781 int
782 segkmem_zio_create(struct seg *seg)
783 {
784 ASSERT(seg->s_as == &kas && RW_WRITE_HELD(&kas.a_lock));
785 seg->s_ops = &segkmem_ops;
786 seg->s_data = &zvp;
787 kas.a_size += seg->s_size;
788 return (0);
789 }
790
791 int
792 segkmem_create(struct seg *seg)
793 {
794 ASSERT(seg->s_as == &kas && RW_WRITE_HELD(&kas.a_lock));
795 seg->s_ops = &segkmem_ops;
796 seg->s_data = &kvp;
797 kas.a_size += seg->s_size;
798 return (0);
|
758
759 /*ARGSUSED*/
760 static int
761 segkmem_capable(struct seg *seg, segcapability_t capability)
762 {
763 if (capability == S_CAPABILITY_NOMINFLT)
764 return (1);
765 return (0);
766 }
767
768 static struct seg_ops segkmem_ops = {
769 .fault = segkmem_fault,
770 .setprot = segkmem_setprot,
771 .checkprot = segkmem_checkprot,
772 .kluster = segkmem_kluster,
773 .dump = segkmem_dump,
774 .pagelock = segkmem_pagelock,
775 .getmemid = segkmem_getmemid,
776 .getpolicy = segkmem_getpolicy,
777 .capable = segkmem_capable,
778 };
779
780 int
781 segkmem_zio_create(struct seg *seg)
782 {
783 ASSERT(seg->s_as == &kas && RW_WRITE_HELD(&kas.a_lock));
784 seg->s_ops = &segkmem_ops;
785 seg->s_data = &zvp;
786 kas.a_size += seg->s_size;
787 return (0);
788 }
789
790 int
791 segkmem_create(struct seg *seg)
792 {
793 ASSERT(seg->s_as == &kas && RW_WRITE_HELD(&kas.a_lock));
794 seg->s_ops = &segkmem_ops;
795 seg->s_data = &kvp;
796 kas.a_size += seg->s_size;
797 return (0);
|