00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef STDWORKAROUNDS_H_
00020 #define STDWORKAROUNDS_H_
00021
00022
00023
00024
00025
00026
00027
00028 namespace smbios
00029 {
00030 const WorkaroundSmbiosItem InvalidCheckTypeSymptoms[] =
00031 {
00032
00033 { 0xD4, 0x08, TYPE_U8 , { {0x03, 0} } },
00034
00035
00036
00037
00038 { 0xD4, 0x02, TYPE_U16, { {0x02, 0xd4, 0} } },
00039
00040
00041
00042
00043
00044
00045
00046 { 0, 0, 0, { {0} } },
00047
00048
00049
00050
00051
00052
00053 };
00054
00055 const WorkaroundSmbiosItem InvalidCheckTypeFixup[] =
00056 {
00057
00058 { 0xD4, 0x08, TYPE_U8, {{0x00}} },
00059 { 0, 0, 0, {{0}} },
00060 };
00061
00062
00063 const WorkaroundSmbiosItem PE1300_InvalidCheckTypeFixup[] =
00064 {
00065
00066 { 0xD4, 0x08, TYPE_U8, {{0x01}} },
00067 { 0, 0, 0, {{0}} },
00068 };
00069
00070 const Workaround InvalidCheckType =
00071 { "Invalid Checksum Type", InvalidCheckTypeSymptoms, InvalidCheckTypeFixup };
00072
00073 const Workaround PE1300_InvalidCheckType =
00074 { "PE1300 Invalid Checksum Type", InvalidCheckTypeSymptoms, PE1300_InvalidCheckTypeFixup };
00075
00076
00077
00078 const SystemAffected PE0600 = { 0x0134, "A00", "A05" };
00079 const SystemAffected PE0650 = { 0x0141, "A00", "A00" };
00080 const SystemAffected PE1300 = { 0x8E, "A00", "A--" };
00081 const SystemAffected PE1600 = { 0x0135, "A00", "A00" };
00082 const SystemAffected PE1650 = { 0x011B, "A00", "A09" };
00083 const SystemAffected IDS4235 = { 0x8012, "A--", "A--" };
00084 const SystemAffected PE1655 = { 0x0124, "A00", "A00" };
00085 const SystemAffected PE1750 = { 0x014a, "A00", "A00" };
00086 const SystemAffected PE2600 = { 0x0123, "A00", "A03" };
00087 const SystemAffected PE2650 = { 0x0121, "A00", "A10" };
00088 const SystemAffected PE4600 = { 0x0106, "A00", "A08" };
00089 const SystemAffected PE6600 = { 0x0109, "A00", "A08" };
00090
00091
00092 const Workaround *PE0600_Workarounds[] = { &InvalidCheckType, 0 };
00093 const Workaround *PE0650_Workarounds[] = { &InvalidCheckType, 0 };
00094 const Workaround *PE1300_Workarounds[] = { &PE1300_InvalidCheckType, 0 };
00095 const Workaround *PE1600_Workarounds[] = { &InvalidCheckType, 0 };
00096 const Workaround *PE1650_Workarounds[] = { &InvalidCheckType, 0 };
00097 const Workaround *IDS4235_Workarounds[] = { &InvalidCheckType, 0 };
00098 const Workaround *PE1655_Workarounds[] = { &InvalidCheckType, 0 };
00099 const Workaround *PE1750_Workarounds[] = { &InvalidCheckType, 0 };
00100 const Workaround *PE2600_Workarounds[] = { &InvalidCheckType, 0 };
00101 const Workaround *PE2650_Workarounds[] = { &InvalidCheckType, 0 };
00102 const Workaround *PE4600_Workarounds[] = { &InvalidCheckType, 0 };
00103 const Workaround *PE6600_Workarounds[] = { &InvalidCheckType, 0 };
00104
00105
00106
00107 const SystemWorkaround workaroundMasterList[] =
00108 {
00109 { &PE0600, PE0600_Workarounds },
00110 { &PE0650, PE0650_Workarounds },
00111 { &PE1300, PE1300_Workarounds },
00112 { &PE1600, PE1600_Workarounds },
00113 { &PE1650, PE1650_Workarounds },
00114 { &IDS4235, IDS4235_Workarounds },
00115 { &PE1655, PE1655_Workarounds },
00116 { &PE1750, PE1750_Workarounds },
00117 { &PE2600, PE2600_Workarounds },
00118 { &PE2650, PE2650_Workarounds },
00119 { &PE4600, PE4600_Workarounds },
00120 { &PE6600, PE6600_Workarounds },
00121 };
00122
00123
00124 const int numSystemWorkarounds = (sizeof(workaroundMasterList) / sizeof(workaroundMasterList[0]));
00125
00126 }
00127
00128 #endif