102 */
103 faultcode_t segkpm_fault(struct hat *hat, struct seg *seg, caddr_t addr,
104 size_t len, enum fault_type type, enum seg_rw rw);
105 static void segkpm_dump(struct seg *);
106 static void segkpm_badop(void);
107 static int segkpm_notsup(void);
108 static int segkpm_capable(struct seg *, segcapability_t);
109
110 #define SEGKPM_BADOP(t) (t(*)())segkpm_badop
111 #define SEGKPM_NOTSUP (int(*)())segkpm_notsup
112
113 static struct seg_ops segkpm_ops = {
114 SEGKPM_BADOP(int), /* dup */
115 SEGKPM_BADOP(int), /* unmap */
116 SEGKPM_BADOP(void), /* free */
117 segkpm_fault,
118 SEGKPM_BADOP(int), /* faulta */
119 SEGKPM_BADOP(int), /* setprot */
120 SEGKPM_BADOP(int), /* checkprot */
121 SEGKPM_BADOP(int), /* kluster */
122 SEGKPM_BADOP(size_t), /* swapout */
123 SEGKPM_BADOP(int), /* sync */
124 SEGKPM_BADOP(size_t), /* incore */
125 SEGKPM_BADOP(int), /* lockop */
126 SEGKPM_BADOP(int), /* getprot */
127 SEGKPM_BADOP(u_offset_t), /* getoffset */
128 SEGKPM_BADOP(int), /* gettype */
129 SEGKPM_BADOP(int), /* getvp */
130 SEGKPM_BADOP(int), /* advise */
131 segkpm_dump, /* dump */
132 SEGKPM_NOTSUP, /* pagelock */
133 SEGKPM_BADOP(int), /* setpgsz */
134 SEGKPM_BADOP(int), /* getmemid */
135 SEGKPM_BADOP(lgrp_mem_policy_info_t *), /* getpolicy */
136 segkpm_capable, /* capable */
137 seg_inherit_notsup /* inherit */
138 };
139
140 /*
141 * kpm_pgsz and kpm_pgshft are set by platform layer.
142 */
|
102 */
103 faultcode_t segkpm_fault(struct hat *hat, struct seg *seg, caddr_t addr,
104 size_t len, enum fault_type type, enum seg_rw rw);
105 static void segkpm_dump(struct seg *);
106 static void segkpm_badop(void);
107 static int segkpm_notsup(void);
108 static int segkpm_capable(struct seg *, segcapability_t);
109
110 #define SEGKPM_BADOP(t) (t(*)())segkpm_badop
111 #define SEGKPM_NOTSUP (int(*)())segkpm_notsup
112
113 static struct seg_ops segkpm_ops = {
114 SEGKPM_BADOP(int), /* dup */
115 SEGKPM_BADOP(int), /* unmap */
116 SEGKPM_BADOP(void), /* free */
117 segkpm_fault,
118 SEGKPM_BADOP(int), /* faulta */
119 SEGKPM_BADOP(int), /* setprot */
120 SEGKPM_BADOP(int), /* checkprot */
121 SEGKPM_BADOP(int), /* kluster */
122 SEGKPM_BADOP(int), /* sync */
123 SEGKPM_BADOP(size_t), /* incore */
124 SEGKPM_BADOP(int), /* lockop */
125 SEGKPM_BADOP(int), /* getprot */
126 SEGKPM_BADOP(u_offset_t), /* getoffset */
127 SEGKPM_BADOP(int), /* gettype */
128 SEGKPM_BADOP(int), /* getvp */
129 SEGKPM_BADOP(int), /* advise */
130 segkpm_dump, /* dump */
131 SEGKPM_NOTSUP, /* pagelock */
132 SEGKPM_BADOP(int), /* setpgsz */
133 SEGKPM_BADOP(int), /* getmemid */
134 SEGKPM_BADOP(lgrp_mem_policy_info_t *), /* getpolicy */
135 segkpm_capable, /* capable */
136 seg_inherit_notsup /* inherit */
137 };
138
139 /*
140 * kpm_pgsz and kpm_pgshft are set by platform layer.
141 */
|