diff options
Diffstat (limited to 'sys/amd64')
-rw-r--r-- | sys/amd64/amd64/trap.c | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index 83c83b4..3f87909 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -369,14 +369,15 @@ restart: #ifdef POWERFAIL_NMI goto handle_powerfail; #else /* !POWERFAIL_NMI */ + /* machine/parity/power fail/"kitchen sink" faults */ + if (isa_nmi(code) == 0) { #ifdef DDB - /* NMI can be hooked up to a pushbutton for debugging */ - printf ("NMI ... going to debugger\n"); - if (kdb_trap (type, 0, &frame)) - return; + /* NMI can be hooked up to a pushbutton for debugging */ + printf ("NMI ... going to debugger\n"); + kdb_trap (type, 0, &frame); #endif /* DDB */ - /* machine/parity/power fail/"kitchen sink" faults */ - if (isa_nmi(code) == 0) return; + return; + } panic("NMI indicates hardware failure"); #endif /* POWERFAIL_NMI */ #endif /* NISA > 0 */ @@ -573,14 +574,15 @@ kernel_trap: return; } #else /* !POWERFAIL_NMI */ + /* machine/parity/power fail/"kitchen sink" faults */ + if (isa_nmi(code) == 0) { #ifdef DDB - /* NMI can be hooked up to a pushbutton for debugging */ - printf ("NMI ... going to debugger\n"); - if (kdb_trap (type, 0, &frame)) - return; + /* NMI can be hooked up to a pushbutton for debugging */ + printf ("NMI ... going to debugger\n"); + kdb_trap (type, 0, &frame); #endif /* DDB */ - /* machine/parity/power fail/"kitchen sink" faults */ - if (isa_nmi(code) == 0) return; + return; + } /* FALL THROUGH */ #endif /* POWERFAIL_NMI */ #endif /* NISA > 0 */ |