| 975 | |
| 976 | #ifdef DEV_APIC |
| 977 | static void |
| 978 | cmci_setup(void) |
| 979 | { |
| 980 | int i; |
| 981 | |
| 982 | cmc_state = malloc((mp_maxid + 1) * sizeof(struct cmc_state *), M_MCA, |
| 983 | M_WAITOK); |
| 984 | for (i = 0; i <= mp_maxid; i++) |
| 985 | cmc_state[i] = malloc(sizeof(struct cmc_state) * mca_banks, |
| 986 | M_MCA, M_WAITOK | M_ZERO); |
| 987 | SYSCTL_ADD_PROC(NULL, SYSCTL_STATIC_CHILDREN(_hw_mca), OID_AUTO, |
| 988 | "cmc_throttle", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, |
| 989 | &cmc_throttle, 0, sysctl_positive_int, "I", |
| 990 | "Interval in seconds to throttle corrected MC interrupts"); |
| 991 | } |
| 992 | |
| 993 | static void |
| 994 | amd_thresholding_setup(void) |