1135 authamd_mca_init, /* cms_mca_init */
1136 authamd_poll_ownermask, /* cms_poll_ownermask */
1137 authamd_bank_logout, /* cms_bank_logout */
1138 authamd_error_action, /* cms_error_action */
1139 authamd_disp_match, /* cms_disp_match */
1140 authamd_ereport_class, /* cms_ereport_class */
1141 NULL, /* cms_ereport_detector */
1142 NULL, /* cms_ereport_includestack */
1143 authamd_ereport_add_logout, /* cms_ereport_add_logout */
1144 authamd_msrinject, /* cms_msrinject */
1145 NULL, /* cms_fini */
1146 };
1147
1148 static struct modlcpu modlcpu = {
1149 &mod_cpuops,
1150 "Generic AMD model-specific MCA"
1151 };
1152
1153 static struct modlinkage modlinkage = {
1154 MODREV_1,
1155 (void *)&modlcpu,
1156 NULL
1157 };
1158
1159 int
1160 _init(void)
1161 {
1162 return (mod_install(&modlinkage));
1163 }
1164
1165 int
1166 _info(struct modinfo *modinfop)
1167 {
1168 return (mod_info(&modlinkage, modinfop));
1169 }
1170
1171 int
1172 _fini(void)
1173 {
1174 return (mod_remove(&modlinkage));
1175 }
|
1135 authamd_mca_init, /* cms_mca_init */
1136 authamd_poll_ownermask, /* cms_poll_ownermask */
1137 authamd_bank_logout, /* cms_bank_logout */
1138 authamd_error_action, /* cms_error_action */
1139 authamd_disp_match, /* cms_disp_match */
1140 authamd_ereport_class, /* cms_ereport_class */
1141 NULL, /* cms_ereport_detector */
1142 NULL, /* cms_ereport_includestack */
1143 authamd_ereport_add_logout, /* cms_ereport_add_logout */
1144 authamd_msrinject, /* cms_msrinject */
1145 NULL, /* cms_fini */
1146 };
1147
1148 static struct modlcpu modlcpu = {
1149 &mod_cpuops,
1150 "Generic AMD model-specific MCA"
1151 };
1152
1153 static struct modlinkage modlinkage = {
1154 MODREV_1,
1155 { (void *)&modlcpu, NULL }
1156 };
1157
1158 int
1159 _init(void)
1160 {
1161 return (mod_install(&modlinkage));
1162 }
1163
1164 int
1165 _info(struct modinfo *modinfop)
1166 {
1167 return (mod_info(&modlinkage, modinfop));
1168 }
1169
1170 int
1171 _fini(void)
1172 {
1173 return (mod_remove(&modlinkage));
1174 }
|