Improve Nvidia CPER decode

Add decoding of registers to the structure.  Note, this requires
COUNTED_BY support which is borrowed from LIBPLDM.

Also add unit-tests for NVIDIA section, and update schema to match
existing register decoding.

Change-Id: If1c9cae97de35ba6a5dad1f462d3989ec6ac6a90
Signed-off-by: Karthik Rajagopalan <krajagopalan@nvidia.com>
Signed-off-by: Ed Tanous <etanous@nvidia.com>
diff --git a/specification/json/sections/cper-nvidia.json b/specification/json/sections/cper-nvidia.json
index 0c5f061..9512fb3 100644
--- a/specification/json/sections/cper-nvidia.json
+++ b/specification/json/sections/cper-nvidia.json
@@ -23,7 +23,17 @@
             "type": "integer"
         },
         "severity": {
-            "type": "integer"
+            "type": "object",
+            "required": ["code", "name"],
+            "properties": {
+                "code": {
+                    "type": "integer",
+                    "minimum": 0
+                },
+                "name": {
+                    "type": "string"
+                }
+            }
         },
         "socket": {
             "type": "integer"
@@ -33,6 +43,21 @@
         },
         "instanceBase": {
             "type": "integer"
+        },
+        "registers": {
+            "type": "array",
+            "items": {
+                "type": "object",
+                "required": ["address", "value"],
+                "properties": {
+                    "address": {
+                        "type": "integer"
+                    },
+                    "value": {
+                        "type": "integer"
+                    }
+                }
+            }
         }
     }
 }