Fix minor errors in spec, add JSON specification.
diff --git a/specification/json/sections/cper-vtd-dmar.json b/specification/json/sections/cper-vtd-dmar.json
new file mode 100644
index 0000000..aa6716d
--- /dev/null
+++ b/specification/json/sections/cper-vtd-dmar.json
@@ -0,0 +1,88 @@
+{
+    "$id": "cper-json-vtd-dmar-section",
+    "$schema": "https://json-schema.org/draft/2020-12/schema",
+    "type": "object",
+    "required": ["version", "revision", "oemID", "capabilityRegister", "extendedCapabilityRegister", "globalCommandRegister", "globalStatusRegister", "faultStatusRegister", "faultRecord", "rootEntry", "contextEntry", "pageTableEntry_Level6", "pageTableEntry_Level5", "pageTableEntry_Level4", "pageTableEntry_Level3", "pageTableEntry_Level2", "pageTableEntry_Level1"],
+    "additionalProperties": false,
+    "properties": {
+        "version": {
+            "type": "integer"
+        },
+        "revision": {
+            "type": "integer"
+        },
+        "oemID": {
+            "type": "integer"
+        },
+        "capabilityRegister": {
+            "type": "integer"
+        },
+        "extendedCapabilityRegister": {
+            "type": "integer"
+        },
+        "globalCommandRegister": {
+            "type": "integer"
+        },
+        "globalStatusRegister": {
+            "type": "integer"
+        },
+        "faultStatusRegister": {
+            "type": "object",
+            "required": ["faultInformation", "sourceIdentifier", "privelegeModeRequested", "executePermissionRequested", "pasidPresent", "faultReason", "pasidValue", "addressType", "type"],
+            "properties": {
+                "faultInformation": {
+                    "type": "integer"
+                },
+                "sourceIdentifier": {
+                    "type": "integer"
+                },
+                "privelegeModeRequested": {
+                    "type": "boolean"
+                },
+                "executePermissionRequested": {
+                    "type": "boolean"
+                },
+                "pasidPresent": {
+                    "type": "boolean"
+                },
+                "faultReason": {
+                    "type": "integer"
+                },
+                "pasidValue": {
+                    "type": "integer"
+                },
+                "addressType": {
+                    "type": "integer"
+                },
+                "type": {
+                    "type": "object",
+                    "$ref": "../common/cper-json-nvp.json"
+                }
+            }
+        },
+        "rootEntry": {
+            "type": "string"
+        },
+        "contextEntry": {
+            "type": "string"
+        },
+        "pageEntry_Level6": {
+            "type": "integer"
+        },
+        "pageEntry_Level5": {
+            "type": "integer"
+        },
+        "pageEntry_Level4": {
+            "type": "integer"
+        },
+        "pageEntry_Level3": {
+            "type": "integer"
+        },
+        "pageEntry_Level2": {
+            "type": "integer"
+        },
+        "pageEntry_Level1": {
+            "type": "integer"
+        }
+    }
+}
\ No newline at end of file