178 gcpu_post_startup, /* cmi_post_startup */
179 gcpu_post_mpstartup, /* cmi_post_mpstartup */
180 gcpu_faulted_enter, /* cmi_faulted_enter */
181 gcpu_faulted_exit, /* cmi_faulted_exit */
182 gcpu_mca_init, /* cmi_mca_init */
183 GCPU_OP(gcpu_mca_trap, NULL), /* cmi_mca_trap */
184 GCPU_OP(gcpu_cmci_trap, NULL), /* cmi_cmci_trap */
185 gcpu_msrinject, /* cmi_msrinject */
186 GCPU_OP(gcpu_hdl_poke, NULL), /* cmi_hdl_poke */
187 gcpu_fini, /* cmi_fini */
188 GCPU_OP(NULL, gcpu_xpv_panic_callback), /* cmi_panic_callback */
189 };
190
191 static struct modlcpu modlcpu = {
192 &mod_cpuops,
193 "Generic x86 CPU Module"
194 };
195
196 static struct modlinkage modlinkage = {
197 MODREV_1,
198 (void *)&modlcpu,
199 NULL
200 };
201
202 int
203 _init(void)
204 {
205 return (mod_install(&modlinkage));
206 }
207
208 int
209 _info(struct modinfo *modinfop)
210 {
211 return (mod_info(&modlinkage, modinfop));
212 }
213
214 int
215 _fini(void)
216 {
217 return (mod_remove(&modlinkage));
218 }
|
178 gcpu_post_startup, /* cmi_post_startup */
179 gcpu_post_mpstartup, /* cmi_post_mpstartup */
180 gcpu_faulted_enter, /* cmi_faulted_enter */
181 gcpu_faulted_exit, /* cmi_faulted_exit */
182 gcpu_mca_init, /* cmi_mca_init */
183 GCPU_OP(gcpu_mca_trap, NULL), /* cmi_mca_trap */
184 GCPU_OP(gcpu_cmci_trap, NULL), /* cmi_cmci_trap */
185 gcpu_msrinject, /* cmi_msrinject */
186 GCPU_OP(gcpu_hdl_poke, NULL), /* cmi_hdl_poke */
187 gcpu_fini, /* cmi_fini */
188 GCPU_OP(NULL, gcpu_xpv_panic_callback), /* cmi_panic_callback */
189 };
190
191 static struct modlcpu modlcpu = {
192 &mod_cpuops,
193 "Generic x86 CPU Module"
194 };
195
196 static struct modlinkage modlinkage = {
197 MODREV_1,
198 { (void *)&modlcpu, NULL }
199 };
200
201 int
202 _init(void)
203 {
204 return (mod_install(&modlinkage));
205 }
206
207 int
208 _info(struct modinfo *modinfop)
209 {
210 return (mod_info(&modlinkage, modinfop));
211 }
212
213 int
214 _fini(void)
215 {
216 return (mod_remove(&modlinkage));
217 }
|