printk_spew("\nSMI# #%d\n", node);
switch (smm_revision) {
+ case 0x00030002:
case 0x00030007:
state_save.type = LEGACY;
state_save.legacy_state_save = (legacy_smm_state_save_area_t *)
/* Call chipset specific SMI handlers. This would be the place to
* add a CPU or northbridge specific SMI handler, too
*/
-
- southbridge_smi_handler(node, &state_save);
+ if (cpu_smi_handler)
+ cpu_smi_handler(node, &state_save);
+ if (northbridge_smi_handler)
+ northbridge_smi_handler(node, &state_save);
+ if (southbridge_smi_handler)
+ southbridge_smi_handler(node, &state_save);
smi_release_lock();
int southbridge_io_trap_handler(int smif);
int mainboard_io_trap_handler(int smif);
-void southbridge_smi_handler(unsigned int node, smm_state_save_area_t *state_save);
+void __attribute__((weak)) cpu_smi_handler(unsigned int node, smm_state_save_area_t *state_save);
+void __attribute__((weak)) northbridge_smi_handler(unsigned int node, smm_state_save_area_t *state_save);
+void __attribute__((weak)) southbridge_smi_handler(unsigned int node, smm_state_save_area_t *state_save);