From de9cfdd736596722178c9ace35c1e4eed5c1c5c1 Mon Sep 17 00:00:00 2001 From: "Matthew N. Dodd" Date: Thu, 13 Jan 2000 09:09:02 +0000 Subject: [PATCH] Allow SMP systems with an MCA bus to work properly. Reviewed by: peter --- sys/amd64/amd64/mp_machdep.c | 10 ++++++---- sys/amd64/amd64/mptable.c | 10 ++++++---- sys/amd64/include/mptable.h | 10 ++++++---- sys/i386/i386/mp_machdep.c | 10 ++++++---- sys/i386/i386/mptable.c | 10 ++++++---- sys/i386/include/mpapic.h | 1 + sys/i386/include/mptable.h | 10 ++++++---- sys/kern/subr_smp.c | 10 ++++++---- 8 files changed, 43 insertions(+), 28 deletions(-) diff --git a/sys/amd64/amd64/mp_machdep.c b/sys/amd64/amd64/mp_machdep.c index ca8cfd2714b0..8e349a9800e4 100644 --- a/sys/amd64/amd64/mp_machdep.c +++ b/sys/amd64/amd64/mp_machdep.c @@ -688,10 +688,10 @@ static bus_type_name bus_type_table[] = {CBUS, "CBUS"}, {CBUSII, "CBUSII"}, {EISA, "EISA"}, - {UNKNOWN_BUSTYPE, "---"}, + {MCA, "MCA"}, {UNKNOWN_BUSTYPE, "---"}, {ISA, "ISA"}, - {UNKNOWN_BUSTYPE, "---"}, + {MCA, "MCA"}, {UNKNOWN_BUSTYPE, "---"}, {UNKNOWN_BUSTYPE, "---"}, {UNKNOWN_BUSTYPE, "---"}, @@ -712,10 +712,10 @@ static int default_data[7][5] = {1, 0, ISA, 255, 255}, {1, 0, EISA, 255, 255}, {1, 0, EISA, 255, 255}, - {0, 255, 255, 255, 255},/* MCA not supported */ + {1, 0, MCA, 255, 255}, {2, 0, ISA, 1, PCI}, {2, 0, EISA, 1, PCI}, - {0, 255, 255, 255, 255} /* MCA not supported */ + {2, 0, MCA, 1, PCI} }; @@ -1679,8 +1679,10 @@ default_mp_table(int type) case 1: case 2: case 3: + case 4: case 5: case 6: + case 7: bus_data[0].bus_id = default_data[type - 1][1]; bus_data[0].bus_type = default_data[type - 1][2]; bus_data[1].bus_id = default_data[type - 1][3]; diff --git a/sys/amd64/amd64/mptable.c b/sys/amd64/amd64/mptable.c index ca8cfd2714b0..8e349a9800e4 100644 --- a/sys/amd64/amd64/mptable.c +++ b/sys/amd64/amd64/mptable.c @@ -688,10 +688,10 @@ static bus_type_name bus_type_table[] = {CBUS, "CBUS"}, {CBUSII, "CBUSII"}, {EISA, "EISA"}, - {UNKNOWN_BUSTYPE, "---"}, + {MCA, "MCA"}, {UNKNOWN_BUSTYPE, "---"}, {ISA, "ISA"}, - {UNKNOWN_BUSTYPE, "---"}, + {MCA, "MCA"}, {UNKNOWN_BUSTYPE, "---"}, {UNKNOWN_BUSTYPE, "---"}, {UNKNOWN_BUSTYPE, "---"}, @@ -712,10 +712,10 @@ static int default_data[7][5] = {1, 0, ISA, 255, 255}, {1, 0, EISA, 255, 255}, {1, 0, EISA, 255, 255}, - {0, 255, 255, 255, 255},/* MCA not supported */ + {1, 0, MCA, 255, 255}, {2, 0, ISA, 1, PCI}, {2, 0, EISA, 1, PCI}, - {0, 255, 255, 255, 255} /* MCA not supported */ + {2, 0, MCA, 1, PCI} }; @@ -1679,8 +1679,10 @@ default_mp_table(int type) case 1: case 2: case 3: + case 4: case 5: case 6: + case 7: bus_data[0].bus_id = default_data[type - 1][1]; bus_data[0].bus_type = default_data[type - 1][2]; bus_data[1].bus_id = default_data[type - 1][3]; diff --git a/sys/amd64/include/mptable.h b/sys/amd64/include/mptable.h index ca8cfd2714b0..8e349a9800e4 100644 --- a/sys/amd64/include/mptable.h +++ b/sys/amd64/include/mptable.h @@ -688,10 +688,10 @@ static bus_type_name bus_type_table[] = {CBUS, "CBUS"}, {CBUSII, "CBUSII"}, {EISA, "EISA"}, - {UNKNOWN_BUSTYPE, "---"}, + {MCA, "MCA"}, {UNKNOWN_BUSTYPE, "---"}, {ISA, "ISA"}, - {UNKNOWN_BUSTYPE, "---"}, + {MCA, "MCA"}, {UNKNOWN_BUSTYPE, "---"}, {UNKNOWN_BUSTYPE, "---"}, {UNKNOWN_BUSTYPE, "---"}, @@ -712,10 +712,10 @@ static int default_data[7][5] = {1, 0, ISA, 255, 255}, {1, 0, EISA, 255, 255}, {1, 0, EISA, 255, 255}, - {0, 255, 255, 255, 255},/* MCA not supported */ + {1, 0, MCA, 255, 255}, {2, 0, ISA, 1, PCI}, {2, 0, EISA, 1, PCI}, - {0, 255, 255, 255, 255} /* MCA not supported */ + {2, 0, MCA, 1, PCI} }; @@ -1679,8 +1679,10 @@ default_mp_table(int type) case 1: case 2: case 3: + case 4: case 5: case 6: + case 7: bus_data[0].bus_id = default_data[type - 1][1]; bus_data[0].bus_type = default_data[type - 1][2]; bus_data[1].bus_id = default_data[type - 1][3]; diff --git a/sys/i386/i386/mp_machdep.c b/sys/i386/i386/mp_machdep.c index ca8cfd2714b0..8e349a9800e4 100644 --- a/sys/i386/i386/mp_machdep.c +++ b/sys/i386/i386/mp_machdep.c @@ -688,10 +688,10 @@ static bus_type_name bus_type_table[] = {CBUS, "CBUS"}, {CBUSII, "CBUSII"}, {EISA, "EISA"}, - {UNKNOWN_BUSTYPE, "---"}, + {MCA, "MCA"}, {UNKNOWN_BUSTYPE, "---"}, {ISA, "ISA"}, - {UNKNOWN_BUSTYPE, "---"}, + {MCA, "MCA"}, {UNKNOWN_BUSTYPE, "---"}, {UNKNOWN_BUSTYPE, "---"}, {UNKNOWN_BUSTYPE, "---"}, @@ -712,10 +712,10 @@ static int default_data[7][5] = {1, 0, ISA, 255, 255}, {1, 0, EISA, 255, 255}, {1, 0, EISA, 255, 255}, - {0, 255, 255, 255, 255},/* MCA not supported */ + {1, 0, MCA, 255, 255}, {2, 0, ISA, 1, PCI}, {2, 0, EISA, 1, PCI}, - {0, 255, 255, 255, 255} /* MCA not supported */ + {2, 0, MCA, 1, PCI} }; @@ -1679,8 +1679,10 @@ default_mp_table(int type) case 1: case 2: case 3: + case 4: case 5: case 6: + case 7: bus_data[0].bus_id = default_data[type - 1][1]; bus_data[0].bus_type = default_data[type - 1][2]; bus_data[1].bus_id = default_data[type - 1][3]; diff --git a/sys/i386/i386/mptable.c b/sys/i386/i386/mptable.c index ca8cfd2714b0..8e349a9800e4 100644 --- a/sys/i386/i386/mptable.c +++ b/sys/i386/i386/mptable.c @@ -688,10 +688,10 @@ static bus_type_name bus_type_table[] = {CBUS, "CBUS"}, {CBUSII, "CBUSII"}, {EISA, "EISA"}, - {UNKNOWN_BUSTYPE, "---"}, + {MCA, "MCA"}, {UNKNOWN_BUSTYPE, "---"}, {ISA, "ISA"}, - {UNKNOWN_BUSTYPE, "---"}, + {MCA, "MCA"}, {UNKNOWN_BUSTYPE, "---"}, {UNKNOWN_BUSTYPE, "---"}, {UNKNOWN_BUSTYPE, "---"}, @@ -712,10 +712,10 @@ static int default_data[7][5] = {1, 0, ISA, 255, 255}, {1, 0, EISA, 255, 255}, {1, 0, EISA, 255, 255}, - {0, 255, 255, 255, 255},/* MCA not supported */ + {1, 0, MCA, 255, 255}, {2, 0, ISA, 1, PCI}, {2, 0, EISA, 1, PCI}, - {0, 255, 255, 255, 255} /* MCA not supported */ + {2, 0, MCA, 1, PCI} }; @@ -1679,8 +1679,10 @@ default_mp_table(int type) case 1: case 2: case 3: + case 4: case 5: case 6: + case 7: bus_data[0].bus_id = default_data[type - 1][1]; bus_data[0].bus_type = default_data[type - 1][2]; bus_data[1].bus_id = default_data[type - 1][3]; diff --git a/sys/i386/include/mpapic.h b/sys/i386/include/mpapic.h index 4a387199381e..dba4054f9b7d 100644 --- a/sys/i386/include/mpapic.h +++ b/sys/i386/include/mpapic.h @@ -54,6 +54,7 @@ enum busTypes { CBUS = 1, CBUSII = 2, EISA = 3, + MCA = 4, ISA = 6, PCI = 13, XPRESS = 18, diff --git a/sys/i386/include/mptable.h b/sys/i386/include/mptable.h index ca8cfd2714b0..8e349a9800e4 100644 --- a/sys/i386/include/mptable.h +++ b/sys/i386/include/mptable.h @@ -688,10 +688,10 @@ static bus_type_name bus_type_table[] = {CBUS, "CBUS"}, {CBUSII, "CBUSII"}, {EISA, "EISA"}, - {UNKNOWN_BUSTYPE, "---"}, + {MCA, "MCA"}, {UNKNOWN_BUSTYPE, "---"}, {ISA, "ISA"}, - {UNKNOWN_BUSTYPE, "---"}, + {MCA, "MCA"}, {UNKNOWN_BUSTYPE, "---"}, {UNKNOWN_BUSTYPE, "---"}, {UNKNOWN_BUSTYPE, "---"}, @@ -712,10 +712,10 @@ static int default_data[7][5] = {1, 0, ISA, 255, 255}, {1, 0, EISA, 255, 255}, {1, 0, EISA, 255, 255}, - {0, 255, 255, 255, 255},/* MCA not supported */ + {1, 0, MCA, 255, 255}, {2, 0, ISA, 1, PCI}, {2, 0, EISA, 1, PCI}, - {0, 255, 255, 255, 255} /* MCA not supported */ + {2, 0, MCA, 1, PCI} }; @@ -1679,8 +1679,10 @@ default_mp_table(int type) case 1: case 2: case 3: + case 4: case 5: case 6: + case 7: bus_data[0].bus_id = default_data[type - 1][1]; bus_data[0].bus_type = default_data[type - 1][2]; bus_data[1].bus_id = default_data[type - 1][3]; diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c index ca8cfd2714b0..8e349a9800e4 100644 --- a/sys/kern/subr_smp.c +++ b/sys/kern/subr_smp.c @@ -688,10 +688,10 @@ static bus_type_name bus_type_table[] = {CBUS, "CBUS"}, {CBUSII, "CBUSII"}, {EISA, "EISA"}, - {UNKNOWN_BUSTYPE, "---"}, + {MCA, "MCA"}, {UNKNOWN_BUSTYPE, "---"}, {ISA, "ISA"}, - {UNKNOWN_BUSTYPE, "---"}, + {MCA, "MCA"}, {UNKNOWN_BUSTYPE, "---"}, {UNKNOWN_BUSTYPE, "---"}, {UNKNOWN_BUSTYPE, "---"}, @@ -712,10 +712,10 @@ static int default_data[7][5] = {1, 0, ISA, 255, 255}, {1, 0, EISA, 255, 255}, {1, 0, EISA, 255, 255}, - {0, 255, 255, 255, 255},/* MCA not supported */ + {1, 0, MCA, 255, 255}, {2, 0, ISA, 1, PCI}, {2, 0, EISA, 1, PCI}, - {0, 255, 255, 255, 255} /* MCA not supported */ + {2, 0, MCA, 1, PCI} }; @@ -1679,8 +1679,10 @@ default_mp_table(int type) case 1: case 2: case 3: + case 4: case 5: case 6: + case 7: bus_data[0].bus_id = default_data[type - 1][1]; bus_data[0].bus_type = default_data[type - 1][2]; bus_data[1].bus_id = default_data[type - 1][3];