1093 */
1094 panic("sysdc cannot be forked");
1095
1096 return (ENOSYS);
1097 }
1098
1099 /*ARGSUSED*/
1100 static void
1101 sysdc_forkret(kthread_t *t, kthread_t *ct)
1102 {
1103 /* SDC threads are part of system processes, which never fork. */
1104 panic("sysdc cannot be forked");
1105 }
1106
1107 static pri_t
1108 sysdc_globpri(kthread_t *t)
1109 {
1110 return (t->t_epri);
1111 }
1112
1113 /*ARGSUSED*/
1114 static pri_t
1115 sysdc_no_swap(kthread_t *t, int flags)
1116 {
1117 /* SDC threads cannot be swapped. */
1118 return (-1);
1119 }
1120
1121 /*
1122 * Get maximum and minimum priorities enjoyed by SDC threads.
1123 */
1124 static int
1125 sysdc_getclpri(pcpri_t *pcprip)
1126 {
1127 pcprip->pc_clpmax = sysdc_maxpri;
1128 pcprip->pc_clpmin = sysdc_minpri;
1129 return (0);
1130 }
1131
1132 /*ARGSUSED*/
1133 static int
1134 sysdc_getclinfo(void *arg)
1135 {
1136 return (0); /* no class-specific info */
1137 }
1138
1139 /*ARGSUSED*/
1140 static int
1185 sysdc_enosys, /* parmsout */
1186 sysdc_enosys, /* vaparmsin */
1187 sysdc_enosys, /* vaparmsout */
1188 sysdc_getclpri,
1189 sysdc_alloc,
1190 sysdc_free,
1191 },
1192 /* operations on threads */
1193 {
1194 sysdc_enterclass,
1195 sysdc_exitclass,
1196 sysdc_canexit,
1197 sysdc_fork,
1198 sysdc_forkret,
1199 sysdc_nullsys, /* parmsget */
1200 sysdc_enosys, /* parmsset */
1201 sysdc_nullsys, /* stop */
1202 sysdc_exit,
1203 sysdc_nullsys, /* active */
1204 sysdc_nullsys, /* inactive */
1205 sysdc_no_swap, /* swapin */
1206 sysdc_no_swap, /* swapout */
1207 sysdc_nullsys, /* trapret */
1208 sysdc_preempt,
1209 sysdc_setrun,
1210 sysdc_sleep,
1211 sysdc_tick,
1212 sysdc_wakeup,
1213 sysdc_einval, /* donice */
1214 sysdc_globpri,
1215 sysdc_nullsys, /* set_process_group */
1216 sysdc_nullsys, /* yield */
1217 sysdc_einval, /* doprio */
1218 }
1219 };
1220
1221 static int
1222 sysdc_enosys()
1223 {
1224 return (ENOSYS);
1225 }
1226
|
1093 */
1094 panic("sysdc cannot be forked");
1095
1096 return (ENOSYS);
1097 }
1098
1099 /*ARGSUSED*/
1100 static void
1101 sysdc_forkret(kthread_t *t, kthread_t *ct)
1102 {
1103 /* SDC threads are part of system processes, which never fork. */
1104 panic("sysdc cannot be forked");
1105 }
1106
1107 static pri_t
1108 sysdc_globpri(kthread_t *t)
1109 {
1110 return (t->t_epri);
1111 }
1112
1113 /*
1114 * Get maximum and minimum priorities enjoyed by SDC threads.
1115 */
1116 static int
1117 sysdc_getclpri(pcpri_t *pcprip)
1118 {
1119 pcprip->pc_clpmax = sysdc_maxpri;
1120 pcprip->pc_clpmin = sysdc_minpri;
1121 return (0);
1122 }
1123
1124 /*ARGSUSED*/
1125 static int
1126 sysdc_getclinfo(void *arg)
1127 {
1128 return (0); /* no class-specific info */
1129 }
1130
1131 /*ARGSUSED*/
1132 static int
1177 sysdc_enosys, /* parmsout */
1178 sysdc_enosys, /* vaparmsin */
1179 sysdc_enosys, /* vaparmsout */
1180 sysdc_getclpri,
1181 sysdc_alloc,
1182 sysdc_free,
1183 },
1184 /* operations on threads */
1185 {
1186 sysdc_enterclass,
1187 sysdc_exitclass,
1188 sysdc_canexit,
1189 sysdc_fork,
1190 sysdc_forkret,
1191 sysdc_nullsys, /* parmsget */
1192 sysdc_enosys, /* parmsset */
1193 sysdc_nullsys, /* stop */
1194 sysdc_exit,
1195 sysdc_nullsys, /* active */
1196 sysdc_nullsys, /* inactive */
1197 sysdc_nullsys, /* trapret */
1198 sysdc_preempt,
1199 sysdc_setrun,
1200 sysdc_sleep,
1201 sysdc_tick,
1202 sysdc_wakeup,
1203 sysdc_einval, /* donice */
1204 sysdc_globpri,
1205 sysdc_nullsys, /* set_process_group */
1206 sysdc_nullsys, /* yield */
1207 sysdc_einval, /* doprio */
1208 }
1209 };
1210
1211 static int
1212 sysdc_enosys()
1213 {
1214 return (ENOSYS);
1215 }
1216
|