Remove validation bits

Discard invalid properties from json decode. JSON output should only
contain valid properties. This saves time in preventing post
processing of output for valid fields.

Ensure round trip validity with validation bits removed and required
properties populated.

Fix bugs in json decode.

Overhaul unit tests to use valijson. Add tests with static examples
to validate against schema. Use and nlohmann for better schema
validation over intrinsic libcper validation.

Example json output before:
{
  "ValidationBits": {
    "LevelValid": false,
    "CorrectedValid": true
  },
  "Level": 1,
  "Corrected": true
}

After:
{
  "Corrected": true
}

Change-Id: I188bdc2827a57d938c22a431238fadfcdc939ab8
Signed-off-by: Aushim Nagarkatti <anagarkatti@nvidia.com>
diff --git a/specification/json/cper-json-header.json b/specification/json/cper-json-header.json
index 8edb4e1..d031d2f 100644
--- a/specification/json/cper-json-header.json
+++ b/specification/json/cper-json-header.json
@@ -7,7 +7,6 @@
         "revision",
         "sectionCount",
         "severity",
-        "validationBits",
         "recordLength",
         "creatorID",
         "notificationType",
@@ -51,26 +50,6 @@
                 }
             }
         },
-        "validationBits": {
-            "type": "object",
-            "description": "This field indicates the validity of other header feilds.",
-            "required": [
-                "platformIDValid",
-                "timestampValid",
-                "partitionIDValid"
-            ],
-            "properties": {
-                "platformIDValid": {
-                    "type": "boolean"
-                },
-                "timestampValid": {
-                    "type": "boolean"
-                },
-                "partitionIDValid": {
-                    "type": "boolean"
-                }
-            }
-        },
         "recordLength": {
             "type": "integer",
             "description": "Indicates the size of the actual error record, including the size of the record header, all section descriptors, and section bodies.",
diff --git a/specification/json/cper-json-section-descriptor.json b/specification/json/cper-json-section-descriptor.json
index 5bb4dc8..d9c101c 100644
--- a/specification/json/cper-json-section-descriptor.json
+++ b/specification/json/cper-json-section-descriptor.json
@@ -7,7 +7,6 @@
         "sectionOffset",
         "sectionLength",
         "revision",
-        "validationBits",
         "flags",
         "sectionType",
         "severity"
@@ -37,19 +36,6 @@
                 }
             }
         },
-        "validationBits": {
-            "type": "object",
-            "description": "This field indicates the validity of other feilds in this descriptor.",
-            "required": ["fruIDValid", "fruStringValid"],
-            "properties": {
-                "fruIDValid": {
-                    "type": "boolean"
-                },
-                "fruStringValid": {
-                    "type": "boolean"
-                }
-            }
-        },
         "flags": {
             "type": "object",
             "required": [
diff --git a/specification/json/sections/cper-arm-processor.json b/specification/json/sections/cper-arm-processor.json
index bcfaee3..50895f9 100644
--- a/specification/json/sections/cper-arm-processor.json
+++ b/specification/json/sections/cper-arm-processor.json
@@ -2,45 +2,9 @@
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "type": "object",
     "description": "ARM Processor Error Section",
-    "required": [
-        "validationBits",
-        "errorInfoNum",
-        "contextInfoNum",
-        "sectionLength",
-        "errorAffinity",
-        "mpidrEl1",
-        "affinity3",
-        "midrEl1",
-        "running",
-        "errorInfo",
-        "contextInfo"
-    ],
+    "required": ["errorInfoNum", "contextInfoNum", "sectionLength", "midrEl1"],
     "additionalProperties": false,
     "properties": {
-        "validationBits": {
-            "type": "object",
-            "description": "Indiciates what fields in the section are valid",
-            "required": [
-                "mpidrValid",
-                "errorAffinityLevelValid",
-                "runningStateValid",
-                "vendorSpecificInfoValid"
-            ],
-            "properties": {
-                "mpidrValid": {
-                    "type": "boolean"
-                },
-                "errorAffinityLevelValid": {
-                    "type": "boolean"
-                },
-                "runningStateValid": {
-                    "type": "boolean"
-                },
-                "vendorSpecificInfoValid": {
-                    "type": "boolean"
-                }
-            }
-        },
         "errorInfoNum": {
             "type": "integer",
             "description": "The number of Processor Error Information Structures"
@@ -86,17 +50,7 @@
             "type": "array",
             "items": {
                 "type": "object",
-                "required": [
-                    "version",
-                    "length",
-                    "validationBits",
-                    "errorType",
-                    "multipleError",
-                    "flags",
-                    "errorInformation",
-                    "virtualFaultAddress",
-                    "physicalFaultAddress"
-                ],
+                "required": ["version", "length", "errorType"],
                 "additionalProperties": false,
                 "properties": {
                     "version": {
@@ -105,33 +59,6 @@
                     "length": {
                         "type": "integer"
                     },
-                    "validationBits": {
-                        "type": "object",
-                        "required": [
-                            "multipleErrorValid",
-                            "flagsValid",
-                            "errorInformationValid",
-                            "virtualFaultAddressValid",
-                            "physicalFaultAddressValid"
-                        ],
-                        "properties": {
-                            "multipleErrorValid": {
-                                "type": "boolean"
-                            },
-                            "flagsValid": {
-                                "type": "boolean"
-                            },
-                            "errorInformationValid": {
-                                "type": "boolean"
-                            },
-                            "virtualFaultAddressValid": {
-                                "type": "boolean"
-                            },
-                            "physicalFaultAddressValid": {
-                                "type": "boolean"
-                            }
-                        }
-                    },
                     "errorType": {
                         "type": "object",
                         "$ref": "./common/cper-json-nvp.json"
@@ -182,53 +109,9 @@
                                 "properties": {
                                     "cacheError": {
                                         "type": "object",
-                                        "required": [
-                                            "validationBits",
-                                            "transactionType",
-                                            "operation",
-                                            "level",
-                                            "processorContextCorrupt",
-                                            "corrected",
-                                            "precisePC",
-                                            "restartablePC"
-                                        ],
+                                        "required": [],
                                         "additionalProperties": false,
                                         "properties": {
-                                            "validationBits": {
-                                                "type": "object",
-                                                "required": [
-                                                    "transactionTypeValid",
-                                                    "operationValid",
-                                                    "levelValid",
-                                                    "processorContextCorruptValid",
-                                                    "correctedValid",
-                                                    "precisePCValid",
-                                                    "restartablePCValid"
-                                                ],
-                                                "properties": {
-                                                    "transactionTypeValid": {
-                                                        "type": "boolean"
-                                                    },
-                                                    "operationValid": {
-                                                        "type": "boolean"
-                                                    },
-                                                    "levelValid": {
-                                                        "type": "boolean"
-                                                    },
-                                                    "processorContextCorruptValid": {
-                                                        "type": "boolean"
-                                                    },
-                                                    "correctedValid": {
-                                                        "type": "boolean"
-                                                    },
-                                                    "precisePCValid": {
-                                                        "type": "boolean"
-                                                    },
-                                                    "restartablePCValid": {
-                                                        "type": "boolean"
-                                                    }
-                                                }
-                                            },
                                             "transactionType": {
                                                 "type": "object",
                                                 "$ref": "./common/cper-json-nvp.json"
@@ -263,15 +146,44 @@
                                 "properties": {
                                     "tlbError": {
                                         "type": "object",
+                                        "required": [],
+                                        "additionalProperties": false,
+                                        "properties": {
+                                            "transactionType": {
+                                                "type": "object",
+                                                "$ref": "./common/cper-json-nvp.json"
+                                            },
+                                            "operation": {
+                                                "type": "object",
+                                                "$ref": "./common/cper-json-nvp.json"
+                                            },
+                                            "level": {
+                                                "type": "integer"
+                                            },
+                                            "processorContextCorrupt": {
+                                                "type": "boolean"
+                                            },
+                                            "corrected": {
+                                                "type": "boolean"
+                                            },
+                                            "precisePC": {
+                                                "type": "boolean"
+                                            },
+                                            "restartablePC": {
+                                                "type": "boolean"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "$id": "cper-json-buserror-section",
+                                "type": "object",
+                                "required": ["busError"],
+                                "properties": {
+                                    "busError": {
+                                        "type": "object",
                                         "required": [
-                                            "validationBits",
-                                            "transactionType",
-                                            "operation",
-                                            "level",
-                                            "processorContextCorrupt",
-                                            "corrected",
-                                            "precisePC",
-                                            "restartablePC",
                                             "timedOut",
                                             "participationType",
                                             "addressSpace",
@@ -280,61 +192,6 @@
                                         ],
                                         "additionalProperties": false,
                                         "properties": {
-                                            "validationBits": {
-                                                "type": "object",
-                                                "required": [
-                                                    "transactionTypeValid",
-                                                    "operationValid",
-                                                    "levelValid",
-                                                    "processorContextCorruptValid",
-                                                    "correctedValid",
-                                                    "precisePCValid",
-                                                    "restartablePCValid",
-                                                    "participationTypeValid",
-                                                    "timedOutValid",
-                                                    "addressSpaceValid",
-                                                    "memoryAttributesValid",
-                                                    "accessModeValid"
-                                                ],
-                                                "properties": {
-                                                    "transactionTypeValid": {
-                                                        "type": "boolean"
-                                                    },
-                                                    "operationValid": {
-                                                        "type": "boolean"
-                                                    },
-                                                    "levelValid": {
-                                                        "type": "boolean"
-                                                    },
-                                                    "processorContextCorruptValid": {
-                                                        "type": "boolean"
-                                                    },
-                                                    "correctedValid": {
-                                                        "type": "boolean"
-                                                    },
-                                                    "precisePCValid": {
-                                                        "type": "boolean"
-                                                    },
-                                                    "restartablePCValid": {
-                                                        "type": "boolean"
-                                                    },
-                                                    "participationTypeValid": {
-                                                        "type": "boolean"
-                                                    },
-                                                    "timedOutValid": {
-                                                        "type": "boolean"
-                                                    },
-                                                    "addressSpaceValid": {
-                                                        "type": "boolean"
-                                                    },
-                                                    "memoryAttributesValid": {
-                                                        "type": "boolean"
-                                                    },
-                                                    "accessModeValid": {
-                                                        "type": "boolean"
-                                                    }
-                                                }
-                                            },
                                             "transactionType": {
                                                 "type": "object",
                                                 "$ref": "./common/cper-json-nvp.json"
diff --git a/specification/json/sections/cper-ccix-per.json b/specification/json/sections/cper-ccix-per.json
index 785ab65..f39678a 100644
--- a/specification/json/sections/cper-ccix-per.json
+++ b/specification/json/sections/cper-ccix-per.json
@@ -1,37 +1,12 @@
 {
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "type": "object",
-    "required": [
-        "length",
-        "validationBits",
-        "ccixSourceID",
-        "ccixPortID",
-        "ccixPERLog"
-    ],
+    "required": ["length", "ccixSourceID", "ccixPortID", "ccixPERLog"],
     "additionalProperties": false,
     "properties": {
         "length": {
             "type": "integer"
         },
-        "validationBits": {
-            "type": "object",
-            "required": [
-                "ccixSourceIDValid",
-                "ccixPortIDValid",
-                "ccixPERLogValid"
-            ],
-            "properties": {
-                "ccixSourceIDValid": {
-                    "type": "boolean"
-                },
-                "ccixPortIDValid": {
-                    "type": "boolean"
-                },
-                "ccixPERLogValid": {
-                    "type": "boolean"
-                }
-            }
-        },
         "ccixSourceID": {
             "type": "integer"
         },
diff --git a/specification/json/sections/cper-cxl-component.json b/specification/json/sections/cper-cxl-component.json
index f86252a..9d3e8d4 100644
--- a/specification/json/sections/cper-cxl-component.json
+++ b/specification/json/sections/cper-cxl-component.json
@@ -2,32 +2,12 @@
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "type": "object",
     "description": "CXL Component Events Section",
-    "required": ["length", "validationBits", "deviceID", "deviceSerial"],
+    "required": ["length", "deviceID", "deviceSerial"],
     "additionalProperties": false,
     "properties": {
         "length": {
             "type": "integer"
         },
-        "validationBits": {
-            "type": "object",
-            "description": "Indiciates what fields in the section are valid",
-            "required": [
-                "deviceIDValid",
-                "deviceSerialValid",
-                "cxlComponentEventLogValid"
-            ],
-            "properties": {
-                "deviceIDValid": {
-                    "type": "boolean"
-                },
-                "deviceSerialValid": {
-                    "type": "boolean"
-                },
-                "cxlComponentEventLogValid": {
-                    "type": "boolean"
-                }
-            }
-        },
         "deviceID": {
             "type": "object",
             "description": "Provides devices specific identifies.",
diff --git a/specification/json/sections/cper-cxl-protocol.json b/specification/json/sections/cper-cxl-protocol.json
index 8d70e83..a0cf8a0 100644
--- a/specification/json/sections/cper-cxl-protocol.json
+++ b/specification/json/sections/cper-cxl-protocol.json
@@ -3,7 +3,6 @@
     "type": "object",
     "description": "Compute Express Link (CXL) Protocol Error Section",
     "required": [
-        "validationBits",
         "agentType",
         "cxlAgentAddress",
         "deviceID",
@@ -14,42 +13,6 @@
     ],
     "additionalProperties": false,
     "properties": {
-        "validationBits": {
-            "type": "object",
-            "description": "Indiciates what fields in the section are valid",
-            "required": [
-                "cxlAgentTypeValid",
-                "cxlAgentAddressValid",
-                "deviceIDValid",
-                "deviceSerialValid",
-                "capabilityStructureValid",
-                "cxlDVSECValid",
-                "cxlErrorLogValid"
-            ],
-            "properties": {
-                "cxlAgentTypeValid": {
-                    "type": "boolean"
-                },
-                "cxlAgentAddressValid": {
-                    "type": "boolean"
-                },
-                "deviceIDValid": {
-                    "type": "boolean"
-                },
-                "deviceSerialValid": {
-                    "type": "boolean"
-                },
-                "capabilityStructureValid": {
-                    "type": "boolean"
-                },
-                "cxlDVSECValid": {
-                    "type": "boolean"
-                },
-                "cxlErrorLogValid": {
-                    "type": "boolean"
-                }
-            }
-        },
         "agentType": {
             "type": "object",
             "description": "CXL Agent Type",
diff --git a/specification/json/sections/cper-generic-processor.json b/specification/json/sections/cper-generic-processor.json
index 65bb997..6c6e0c2 100644
--- a/specification/json/sections/cper-generic-processor.json
+++ b/specification/json/sections/cper-generic-processor.json
@@ -3,7 +3,6 @@
     "type": "object",
     "description": "Generic Processor Error Section",
     "required": [
-        "validationBits",
         "processorType",
         "processorISA",
         "errorType",
@@ -20,66 +19,6 @@
     ],
     "additionalProperties": false,
     "properties": {
-        "validationBits": {
-            "type": "object",
-            "description": "Indiciates what fields in the section are valid",
-            "required": [
-                "processorTypeValid",
-                "processorISAValid",
-                "processorErrorTypeValid",
-                "operationValid",
-                "flagsValid",
-                "levelValid",
-                "cpuVersionValid",
-                "cpuBrandInfoValid",
-                "cpuIDValid",
-                "targetAddressValid",
-                "requestorIDValid",
-                "responderIDValid",
-                "instructionIPValid"
-            ],
-            "properties": {
-                "processorTypeValid": {
-                    "type": "boolean"
-                },
-                "processorISAValid": {
-                    "type": "boolean"
-                },
-                "processorErrorTypeValid": {
-                    "type": "boolean"
-                },
-                "operationValid": {
-                    "type": "boolean"
-                },
-                "flagsValid": {
-                    "type": "boolean"
-                },
-                "levelValid": {
-                    "type": "boolean"
-                },
-                "cpuVersionValid": {
-                    "type": "boolean"
-                },
-                "cpuBrandInfoValid": {
-                    "type": "boolean"
-                },
-                "cpuIDValid": {
-                    "type": "boolean"
-                },
-                "targetAddressValid": {
-                    "type": "boolean"
-                },
-                "requestorIDValid": {
-                    "type": "boolean"
-                },
-                "responderIDValid": {
-                    "type": "boolean"
-                },
-                "instructionIPValid": {
-                    "type": "boolean"
-                }
-            }
-        },
         "processorType": {
             "type": "object",
             "description": "Identifies the type of the processor architecture.",
diff --git a/specification/json/sections/cper-ia32x64-processor.json b/specification/json/sections/cper-ia32x64-processor.json
index 3f41564..ecf203e 100644
--- a/specification/json/sections/cper-ia32x64-processor.json
+++ b/specification/json/sections/cper-ia32x64-processor.json
@@ -1,40 +1,16 @@
 {
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "type": "object",
-    "required": [
-        "validationBits",
-        "localAPICID",
-        "cpuidInfo",
-        "processorErrorInfo",
-        "processorContextInfo"
-    ],
+    "required": ["processorErrorInfoNum", "processorContextInfoNum"],
     "additionalProperties": false,
     "properties": {
-        "validationBits": {
-            "type": "object",
-            "description": "Indicates which fields are valid in the section.",
-            "required": [
-                "localAPICIDValid",
-                "cpuIDInfoValid",
-                "processorErrorInfoNum",
-                "processorContextInfoNum"
-            ],
-            "properties": {
-                "localAPICIDValid": {
-                    "type": "boolean"
-                },
-                "cpuIDInfoValid": {
-                    "type": "boolean"
-                },
-                "processorErrorInfoNum": {
-                    "type": "integer",
-                    "minimum": 0
-                },
-                "processorContextInfoNum": {
-                    "type": "integer",
-                    "minimum": 0
-                }
-            }
+        "processorErrorInfoNum": {
+            "type": "integer",
+            "description": "This is the number of Error Information structures."
+        },
+        "processorContextInfoNum": {
+            "type": "integer",
+            "description": "This is the number of Context Information structures."
         },
         "localAPICID": {
             "type": "integer",
@@ -64,15 +40,7 @@
             "description": "Array of processor error information structure.",
             "items": {
                 "type": "object",
-                "required": [
-                    "type",
-                    "validationBits",
-                    "checkInfo",
-                    "targetAddressID",
-                    "requestorID",
-                    "responderID",
-                    "instructionPointer"
-                ],
+                "required": ["type"],
                 "additionalProperties": false,
                 "properties": {
                     "type": {
@@ -87,92 +55,15 @@
                             }
                         }
                     },
-                    "validationBits": {
-                        "type": "object",
-                        "required": [
-                            "checkInfoValid",
-                            "targetAddressIDValid",
-                            "requestorIDValid",
-                            "responderIDValid",
-                            "instructionPointerValid"
-                        ],
-                        "additionalProperties": false,
-                        "properties": {
-                            "checkInfoValid": {
-                                "type": "boolean"
-                            },
-                            "targetAddressIDValid": {
-                                "type": "boolean"
-                            },
-                            "requestorIDValid": {
-                                "type": "boolean"
-                            },
-                            "responderIDValid": {
-                                "type": "boolean"
-                            },
-                            "instructionPointerValid": {
-                                "type": "boolean"
-                            }
-                        }
-                    },
                     "checkInfo": {
                         "type": "object",
                         "oneOf": [
                             {
                                 "$id": "cper-json-checkinfo0",
                                 "type": "object",
-                                "required": [
-                                    "validationBits",
-                                    "transactionType",
-                                    "operation",
-                                    "level",
-                                    "processorContextCorrupt",
-                                    "uncorrected",
-                                    "preciseIP",
-                                    "restartableIP",
-                                    "overflow"
-                                ],
+                                "required": [],
                                 "additionalProperties": false,
                                 "properties": {
-                                    "validationBits": {
-                                        "type": "object",
-                                        "required": [
-                                            "transactionTypeValid",
-                                            "operationValid",
-                                            "levelValid",
-                                            "processorContextCorruptValid",
-                                            "uncorrectedValid",
-                                            "preciseIPValid",
-                                            "restartableIPValid",
-                                            "overflowValid"
-                                        ],
-                                        "properties": {
-                                            "transactionTypeValid": {
-                                                "type": "boolean"
-                                            },
-                                            "operationValid": {
-                                                "type": "boolean"
-                                            },
-                                            "levelValid": {
-                                                "type": "boolean"
-                                            },
-                                            "processorContextCorruptValid": {
-                                                "type": "boolean"
-                                            },
-                                            "uncorrectedValid": {
-                                                "type": "boolean"
-                                            },
-                                            "preciseIPValid": {
-                                                "type": "boolean"
-                                            },
-                                            "restartableIPValid": {
-                                                "type": "boolean"
-                                            },
-                                            "overflowValid": {
-                                                "type": "boolean"
-                                            }
-                                        }
-                                    },
                                     "transactionType": {
                                         "type": "object",
                                         "$ref": "./common/cper-json-nvp.json"
@@ -205,73 +96,9 @@
                             {
                                 "$id": "cper-json-checkinfo1",
                                 "type": "object",
-                                "required": [
-                                    "validationBits",
-                                    "transactionType",
-                                    "operation",
-                                    "level",
-                                    "processorContextCorrupt",
-                                    "uncorrected",
-                                    "preciseIP",
-                                    "restartableIP",
-                                    "overflow",
-                                    "participationType",
-                                    "timedOut",
-                                    "addressSpace"
-                                ],
+                                "required": [],
                                 "additionalProperties": false,
                                 "properties": {
-                                    "validationBits": {
-                                        "type": "object",
-                                        "required": [
-                                            "transactionTypeValid",
-                                            "operationValid",
-                                            "levelValid",
-                                            "processorContextCorruptValid",
-                                            "uncorrectedValid",
-                                            "preciseIPValid",
-                                            "restartableIPValid",
-                                            "overflowValid",
-                                            "participationTypeValid",
-                                            "timedOutValid",
-                                            "addressSpaceValid"
-                                        ],
-                                        "properties": {
-                                            "transactionTypeValid": {
-                                                "type": "boolean"
-                                            },
-                                            "operationValid": {
-                                                "type": "boolean"
-                                            },
-                                            "levelValid": {
-                                                "type": "boolean"
-                                            },
-                                            "processorContextCorruptValid": {
-                                                "type": "boolean"
-                                            },
-                                            "uncorrectedValid": {
-                                                "type": "boolean"
-                                            },
-                                            "preciseIPValid": {
-                                                "type": "boolean"
-                                            },
-                                            "restartableIPValid": {
-                                                "type": "boolean"
-                                            },
-                                            "overflowValid": {
-                                                "type": "boolean"
-                                            },
-                                            "participationTypeValid": {
-                                                "type": "boolean"
-                                            },
-                                            "timedOutValid": {
-                                                "type": "boolean"
-                                            },
-                                            "addressSpaceValid": {
-                                                "type": "boolean"
-                                            }
-                                        }
-                                    },
                                     "transactionType": {
                                         "type": "object",
                                         "$ref": "./common/cper-json-nvp.json"
@@ -318,37 +145,6 @@
                                 "required": [],
                                 "additionalProperties": false,
                                 "properties": {
-                                    "validationBits": {
-                                        "type": "object",
-                                        "required": [
-                                            "errorTypeValid",
-                                            "processorContextCorruptValid",
-                                            "uncorrectedValid",
-                                            "preciseIPValid",
-                                            "restartableIPValid",
-                                            "overflowValid"
-                                        ],
-                                        "properties": {
-                                            "errorTypeValid": {
-                                                "type": "boolean"
-                                            },
-                                            "processorContextCorruptValid": {
-                                                "type": "boolean"
-                                            },
-                                            "uncorrectedValid": {
-                                                "type": "boolean"
-                                            },
-                                            "preciseIPValid": {
-                                                "type": "boolean"
-                                            },
-                                            "restartableIPValid": {
-                                                "type": "boolean"
-                                            },
-                                            "overflowValid": {
-                                                "type": "boolean"
-                                            }
-                                        }
-                                    },
                                     "errorType": {
                                         "type": "object",
                                         "$ref": "./common/cper-json-nvp.json"
diff --git a/specification/json/sections/cper-memory.json b/specification/json/sections/cper-memory.json
index e2bd787..52e1fe9 100644
--- a/specification/json/sections/cper-memory.json
+++ b/specification/json/sections/cper-memory.json
@@ -2,7 +2,6 @@
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "type": "object",
     "required": [
-        "validationBits",
         "errorStatus",
         "bank",
         "memoryErrorType",
@@ -26,102 +25,6 @@
     ],
     "additionalProperties": false,
     "properties": {
-        "validationBits": {
-            "type": "object",
-            "description": "Indicates which fields in the section are valid.",
-            "required": [
-                "errorStatusValid",
-                "physicalAddressValid",
-                "physicalAddressMaskValid",
-                "nodeValid",
-                "cardValid",
-                "moduleValid",
-                "bankValid",
-                "deviceValid",
-                "rowValid",
-                "columnValid",
-                "bitPositionValid",
-                "platformRequestorIDValid",
-                "platformResponderIDValid",
-                "memoryPlatformTargetValid",
-                "memoryErrorTypeValid",
-                "rankNumberValid",
-                "cardHandleValid",
-                "moduleHandleValid",
-                "extendedRowBitsValid",
-                "bankGroupValid",
-                "bankAddressValid",
-                "chipIdentificationValid"
-            ],
-            "properties": {
-                "errorStatusValid": {
-                    "type": "boolean"
-                },
-                "physicalAddressValid": {
-                    "type": "boolean"
-                },
-                "physicalAddressMaskValid": {
-                    "type": "boolean"
-                },
-                "nodeValid": {
-                    "type": "boolean"
-                },
-                "cardValid": {
-                    "type": "boolean"
-                },
-                "moduleValid": {
-                    "type": "boolean"
-                },
-                "bankValid": {
-                    "type": "boolean"
-                },
-                "deviceValid": {
-                    "type": "boolean"
-                },
-                "rowValid": {
-                    "type": "boolean"
-                },
-                "columnValid": {
-                    "type": "boolean"
-                },
-                "bitPositionValid": {
-                    "type": "boolean"
-                },
-                "platformRequestorIDValid": {
-                    "type": "boolean"
-                },
-                "platformResponderIDValid": {
-                    "type": "boolean"
-                },
-                "memoryPlatformTargetValid": {
-                    "type": "boolean"
-                },
-                "memoryErrorTypeValid": {
-                    "type": "boolean"
-                },
-                "rankNumberValid": {
-                    "type": "boolean"
-                },
-                "cardHandleValid": {
-                    "type": "boolean"
-                },
-                "moduleHandleValid": {
-                    "type": "boolean"
-                },
-                "extendedRowBitsValid": {
-                    "type": "boolean"
-                },
-                "bankGroupValid": {
-                    "type": "boolean"
-                },
-                "bankAddressValid": {
-                    "type": "boolean"
-                },
-                "chipIdentificationValid": {
-                    "type": "boolean"
-                }
-            }
-        },
         "errorStatus": {
             "type": "object",
             "description": "Memory error status information.",
diff --git a/specification/json/sections/cper-memory2.json b/specification/json/sections/cper-memory2.json
index edc62ab..955a969 100644
--- a/specification/json/sections/cper-memory2.json
+++ b/specification/json/sections/cper-memory2.json
@@ -2,7 +2,6 @@
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "type": "object",
     "required": [
-        "validationBits",
         "errorStatus",
         "bank",
         "memoryErrorType",
@@ -27,102 +26,6 @@
     ],
     "additionalProperties": false,
     "properties": {
-        "validationBits": {
-            "type": "object",
-            "description": "Indicates which fields in this section are valid.",
-            "required": [
-                "errorStatusValid",
-                "physicalAddressValid",
-                "physicalAddressMaskValid",
-                "nodeValid",
-                "cardValid",
-                "moduleValid",
-                "bankValid",
-                "deviceValid",
-                "rowValid",
-                "columnValid",
-                "rankValid",
-                "bitPositionValid",
-                "chipIDValid",
-                "memoryErrorTypeValid",
-                "statusValid",
-                "requestorIDValid",
-                "responderIDValid",
-                "targetIDValid",
-                "cardHandleValid",
-                "moduleHandleValid",
-                "bankGroupValid",
-                "bankAddressValid"
-            ],
-            "properties": {
-                "errorStatusValid": {
-                    "type": "boolean"
-                },
-                "physicalAddressValid": {
-                    "type": "boolean"
-                },
-                "physicalAddressMaskValid": {
-                    "type": "boolean"
-                },
-                "nodeValid": {
-                    "type": "boolean"
-                },
-                "cardValid": {
-                    "type": "boolean"
-                },
-                "moduleValid": {
-                    "type": "boolean"
-                },
-                "bankValid": {
-                    "type": "boolean"
-                },
-                "deviceValid": {
-                    "type": "boolean"
-                },
-                "rowValid": {
-                    "type": "boolean"
-                },
-                "columnValid": {
-                    "type": "boolean"
-                },
-                "rankValid": {
-                    "type": "boolean"
-                },
-                "bitPositionValid": {
-                    "type": "boolean"
-                },
-                "chipIDValid": {
-                    "type": "boolean"
-                },
-                "memoryErrorTypeValid": {
-                    "type": "boolean"
-                },
-                "statusValid": {
-                    "type": "boolean"
-                },
-                "requestorIDValid": {
-                    "type": "boolean"
-                },
-                "responderIDValid": {
-                    "type": "boolean"
-                },
-                "targetIDValid": {
-                    "type": "boolean"
-                },
-                "cardHandleValid": {
-                    "type": "boolean"
-                },
-                "moduleHandleValid": {
-                    "type": "boolean"
-                },
-                "bankGroupValid": {
-                    "type": "boolean"
-                },
-                "bankAddressValid": {
-                    "type": "boolean"
-                }
-            }
-        },
         "errorStatus": {
             "type": "object",
             "description": "Memory error status information.",
diff --git a/specification/json/sections/cper-pci-bus.json b/specification/json/sections/cper-pci-bus.json
index ba23e72..bffc494 100644
--- a/specification/json/sections/cper-pci-bus.json
+++ b/specification/json/sections/cper-pci-bus.json
@@ -2,7 +2,6 @@
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "type": "object",
     "required": [
-        "validationBits",
         "errorStatus",
         "errorType",
         "busID",
@@ -17,50 +16,6 @@
     ],
     "additionalProperties": false,
     "properties": {
-        "validationBits": {
-            "type": "object",
-            "description": "Inidicates which fields are valid in the section.",
-            "required": [
-                "errorStatusValid",
-                "errorTypeValid",
-                "busIDValid",
-                "busAddressValid",
-                "busDataValid",
-                "commandValid",
-                "requestorIDValid",
-                "completerIDValid",
-                "targetIDValid"
-            ],
-            "properties": {
-                "errorStatusValid": {
-                    "type": "boolean"
-                },
-                "errorTypeValid": {
-                    "type": "boolean"
-                },
-                "busIDValid": {
-                    "type": "boolean"
-                },
-                "busAddressValid": {
-                    "type": "boolean"
-                },
-                "busDataValid": {
-                    "type": "boolean"
-                },
-                "commandValid": {
-                    "type": "boolean"
-                },
-                "requestorIDValid": {
-                    "type": "boolean"
-                },
-                "completerIDValid": {
-                    "type": "boolean"
-                },
-                "targetIDValid": {
-                    "type": "boolean"
-                }
-            }
-        },
         "errorStatus": {
             "type": "object",
             "description": "PCI Bus Error Status.",
diff --git a/specification/json/sections/cper-pci-component.json b/specification/json/sections/cper-pci-component.json
index ef1f3da..79abbb4 100644
--- a/specification/json/sections/cper-pci-component.json
+++ b/specification/json/sections/cper-pci-component.json
@@ -2,7 +2,6 @@
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "type": "object",
     "required": [
-        "validationBits",
         "errorStatus",
         "idInfo",
         "memoryNumber",
@@ -11,34 +10,6 @@
     ],
     "additionalProperties": false,
     "properties": {
-        "validationBits": {
-            "type": "object",
-            "description": "Indicates which other fields are valid in the section.",
-            "required": [
-                "errorStatusValid",
-                "idInfoValid",
-                "memoryNumberValid",
-                "ioNumberValid",
-                "registerDataPairsValid"
-            ],
-            "properties": {
-                "errorStatusValid": {
-                    "type": "boolean"
-                },
-                "idInfoValid": {
-                    "type": "boolean"
-                },
-                "memoryNumberValid": {
-                    "type": "boolean"
-                },
-                "ioNumberValid": {
-                    "type": "boolean"
-                },
-                "registerDataPairsValid": {
-                    "type": "boolean"
-                }
-            }
-        },
         "errorStatus": {
             "type": "object",
             "description": "PCI Component Error Status.",
diff --git a/specification/json/sections/cper-pcie.json b/specification/json/sections/cper-pcie.json
index c9970ef..0ae27f2 100644
--- a/specification/json/sections/cper-pcie.json
+++ b/specification/json/sections/cper-pcie.json
@@ -3,7 +3,6 @@
     "type": "object",
     "description": "PCI Express Error Section",
     "required": [
-        "validationBits",
         "portType",
         "version",
         "commandStatus",
@@ -15,46 +14,6 @@
     ],
     "additionalProperties": false,
     "properties": {
-        "validationBits": {
-            "type": "object",
-            "description": "Indicates validity of other fields in this section.",
-            "required": [
-                "portTypeValid",
-                "versionValid",
-                "commandStatusValid",
-                "deviceIDValid",
-                "deviceSerialNumberValid",
-                "bridgeControlStatusValid",
-                "capabilityStructureStatusValid",
-                "aerInfoValid"
-            ],
-            "properties": {
-                "portTypeValid": {
-                    "type": "boolean"
-                },
-                "versionValid": {
-                    "type": "boolean"
-                },
-                "commandStatusValid": {
-                    "type": "boolean"
-                },
-                "deviceIDValid": {
-                    "type": "boolean"
-                },
-                "deviceSerialNumberValid": {
-                    "type": "boolean"
-                },
-                "bridgeControlStatusValid": {
-                    "type": "boolean"
-                },
-                "capabilityStructureStatusValid": {
-                    "type": "boolean"
-                },
-                "aerInfoValid": {
-                    "type": "boolean"
-                }
-            }
-        },
         "portType": {
             "type": "object",
             "description": "PCIe Device/Port Type as defined in the PCI Express capabilities register.",