586 NULL, /* cms_mca_init */
587 NULL, /* cms_poll_ownermask */
588 NULL, /* cms_bank_logout */
589 gintel_error_action, /* cms_error_action */
590 gintel_disp_match, /* cms_disp_match */
591 gintel_ereport_class, /* cms_ereport_class */
592 gintel_ereport_detector, /* cms_ereport_detector */
593 NULL, /* cms_ereport_includestack */
594 gintel_ereport_add_logout, /* cms_ereport_add_logout */
595 NULL, /* cms_msrinject */
596 NULL, /* cms_fini */
597 };
598
599 static struct modlcpu modlcpu = {
600 &mod_cpuops,
601 "Generic Intel model-specific MCA"
602 };
603
604 static struct modlinkage modlinkage = {
605 MODREV_1,
606 (void *)&modlcpu,
607 NULL
608 };
609
610 int
611 _init(void)
612 {
613 return (mod_install(&modlinkage));
614 }
615
616 int
617 _info(struct modinfo *modinfop)
618 {
619 return (mod_info(&modlinkage, modinfop));
620 }
621
622 int
623 _fini(void)
624 {
625 return (mod_remove(&modlinkage));
626 }
|
586 NULL, /* cms_mca_init */
587 NULL, /* cms_poll_ownermask */
588 NULL, /* cms_bank_logout */
589 gintel_error_action, /* cms_error_action */
590 gintel_disp_match, /* cms_disp_match */
591 gintel_ereport_class, /* cms_ereport_class */
592 gintel_ereport_detector, /* cms_ereport_detector */
593 NULL, /* cms_ereport_includestack */
594 gintel_ereport_add_logout, /* cms_ereport_add_logout */
595 NULL, /* cms_msrinject */
596 NULL, /* cms_fini */
597 };
598
599 static struct modlcpu modlcpu = {
600 &mod_cpuops,
601 "Generic Intel model-specific MCA"
602 };
603
604 static struct modlinkage modlinkage = {
605 MODREV_1,
606 { (void *)&modlcpu, NULL }
607 };
608
609 int
610 _init(void)
611 {
612 return (mod_install(&modlinkage));
613 }
614
615 int
616 _info(struct modinfo *modinfop)
617 {
618 return (mod_info(&modlinkage, modinfop));
619 }
620
621 int
622 _fini(void)
623 {
624 return (mod_remove(&modlinkage));
625 }
|