diff --git a/cper-utils.c b/cper-utils.c
index f6adbdb..01c1f7e 100644
--- a/cper-utils.c
+++ b/cper-utils.c
@@ -491,3 +491,47 @@
 		json_object_new_string_len(platform_string,
 					   sizeof(platform_string) - 1));
 }
+
+void add_int(json_object *register_ir, const char *field_name, int value)
+{
+	json_object_object_add(register_ir, field_name,
+			       json_object_new_uint64(value));
+}
+
+void add_bool(json_object *register_ir, const char *field_name, UINT64 value)
+{
+	json_object_object_add(register_ir, field_name,
+			       json_object_new_boolean(value));
+}
+
+void add_bool_enum(json_object *register_ir, const char *field_name,
+		   const char *value_dict[2], UINT64 value_int)
+{
+	const char *value = value_dict[0];
+	if (value_int > 0) {
+		value = value_dict[1];
+	}
+	json_object_object_add(register_ir, field_name,
+			       json_object_new_string(value));
+}
+
+void add_dict(json_object *register_ir, const char *field_name, UINT64 value,
+	      const char *dict[], size_t dict_size)
+{
+	json_object *field_ir = json_object_new_object();
+	json_object_object_add(register_ir, field_name, field_ir);
+	json_object_object_add(field_ir, "raw", json_object_new_uint64(value));
+
+	if (dict != NULL) {
+		if (value < dict_size) {
+			const char *name = dict[value];
+			if (name != NULL) {
+				const char *value_name = name;
+
+				json_object_object_add(
+					field_ir, "value",
+					json_object_new_string(value_name));
+			}
+		}
+	}
+}
