130 ao_ms_mca_init, /* cms_mca_init */
131 ao_ms_poll_ownermask, /* cms_poll_ownermask */
132 NULL, /* cms_bank_logout */
133 ao_ms_error_action, /* cms_error_action */
134 ao_ms_disp_match, /* cms_disp_match */
135 ao_ms_ereport_class, /* cms_ereport_class */
136 NULL, /* cms_ereport_detector */
137 ao_ms_ereport_includestack, /* cms_ereport_includestack */
138 ao_ms_ereport_add_logout, /* cms_ereport_add_logout */
139 ao_ms_msrinject, /* cms_msrinject */
140 NULL, /* cms_fini */
141 };
142
143 static struct modlcpu modlcpu = {
144 &mod_cpuops,
145 "AMD Athlon64/Opteron Model-Specific Support"
146 };
147
148 static struct modlinkage modlinkage = {
149 MODREV_1,
150 (void *)&modlcpu,
151 NULL
152 };
153
154 int
155 _init(void)
156 {
157 return (mod_install(&modlinkage));
158 }
159
160 int
161 _info(struct modinfo *modinfop)
162 {
163 return (mod_info(&modlinkage, modinfop));
164 }
165
166 int
167 _fini(void)
168 {
169 return (mod_remove(&modlinkage));
170 }
|
130 ao_ms_mca_init, /* cms_mca_init */
131 ao_ms_poll_ownermask, /* cms_poll_ownermask */
132 NULL, /* cms_bank_logout */
133 ao_ms_error_action, /* cms_error_action */
134 ao_ms_disp_match, /* cms_disp_match */
135 ao_ms_ereport_class, /* cms_ereport_class */
136 NULL, /* cms_ereport_detector */
137 ao_ms_ereport_includestack, /* cms_ereport_includestack */
138 ao_ms_ereport_add_logout, /* cms_ereport_add_logout */
139 ao_ms_msrinject, /* cms_msrinject */
140 NULL, /* cms_fini */
141 };
142
143 static struct modlcpu modlcpu = {
144 &mod_cpuops,
145 "AMD Athlon64/Opteron Model-Specific Support"
146 };
147
148 static struct modlinkage modlinkage = {
149 MODREV_1,
150 { (void *)&modlcpu, NULL }
151 };
152
153 int
154 _init(void)
155 {
156 return (mod_install(&modlinkage));
157 }
158
159 int
160 _info(struct modinfo *modinfop)
161 {
162 return (mod_info(&modlinkage, modinfop));
163 }
164
165 int
166 _fini(void)
167 {
168 return (mod_remove(&modlinkage));
169 }
|