aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen J. Kiernan <stevek@FreeBSD.org>2024-09-18 14:44:37 +0000
committerStephen J. Kiernan <stevek@FreeBSD.org>2024-09-18 14:44:37 +0000
commit77d7da1dc85a8037ac385824bafcd06abcdcbcfa (patch)
tree25793814b2bbbf941ea747ca492ff0a84c962694
parent996a832d2e01fceb5a3bbfd33df585bd778e6288 (diff)
downloadsrc-77d7da1dc85a8037ac385824bafcd06abcdcbcfa.tar.gz
src-77d7da1dc85a8037ac385824bafcd06abcdcbcfa.zip
Revert "mca: Allow for passing ECC error record to memory controller driver"
This reverts commit 996a832d2e01fceb5a3bbfd33df585bd778e6288.
-rw-r--r--sys/x86/include/mca.h5
-rw-r--r--sys/x86/x86/mca.c48
2 files changed, 0 insertions, 53 deletions
diff --git a/sys/x86/include/mca.h b/sys/x86/include/mca.h
index d8b8da86523d..183480625f6d 100644
--- a/sys/x86/include/mca.h
+++ b/sys/x86/include/mca.h
@@ -46,11 +46,6 @@ struct mca_record {
#ifdef _KERNEL
-typedef void (*mca_decode_func)(void *, const struct mca_record *);
-
-int mca_register_decode_func(mca_decode_func func, void *aux);
-int mca_deregister_decode_func(mca_decode_func func);
-
void cmc_intr(void);
void mca_init(void);
void mca_intr(void);
diff --git a/sys/x86/x86/mca.c b/sys/x86/x86/mca.c
index 89ab59639882..b293fcedbd84 100644
--- a/sys/x86/x86/mca.c
+++ b/sys/x86/x86/mca.c
@@ -99,8 +99,6 @@ static MALLOC_DEFINE(M_MCA, "MCA", "Machine Check Architecture");
static volatile int mca_count; /* Number of records stored. */
static int mca_banks; /* Number of per-CPU register banks. */
static int mca_maxcount = -1; /* Limit on records stored. (-1 = unlimited) */
-static mca_decode_func mca_func;
-static void *mca_decode_arg;
static SYSCTL_NODE(_hw, OID_AUTO, mca, CTLFLAG_RD | CTLFLAG_MPSAFE, NULL,
"Machine Check Architecture");
@@ -423,50 +421,6 @@ mca_mute(const struct mca_record *rec)
return (0);
}
-/*
- * Pass mca_record to a memory controller driver so that it can decode
- * the address and possibly do some more work.
- */
-static void
-mca_decode_record(const struct mca_record *rec)
-{
-
- if (mca_func != NULL)
- mca_func(mca_decode_arg, rec);
-}
-
-int
-mca_register_decode_func(mca_decode_func func, void *aux)
-{
- int error;
-
- if (func == NULL)
- return (EINVAL);
-
- error = 0;
- mtx_lock_spin(&mca_lock);
- if (mca_func != NULL)
- error = EEXIST;
-
- if (error == 0) {
- mca_func = func;
- mca_decode_arg = aux;
- }
-
- mtx_unlock_spin(&mca_lock);
- return (error);
-}
-
-int
-mca_deregister_decode_func(mca_decode_func func)
-{
- if (func == NULL || func != mca_func)
- return (EINVAL);
-
- mca_func = NULL;
- return (0);
-}
-
/* Dump details about a single machine check. */
static void
mca_log(const struct mca_record *rec)
@@ -659,8 +613,6 @@ mca_log(const struct mca_record *rec)
}
if (rec->mr_status & MC_STATUS_MISCV)
printf("MCA: Misc 0x%llx\n", (long long)rec->mr_misc);
-
- mca_decode_record(rec);
}
static bool