ndpmtool/elftool: support force_debug_prod

This commit is contained in:
Michael Scire 2024-10-10 20:47:52 -07:00 committed by Dave Murphy
parent 22471a1f5a
commit 786ccde466
2 changed files with 12 additions and 2 deletions

View File

@ -554,6 +554,7 @@ int ParseKipConfiguration(const char *json, KipHeader *kip_hdr) {
} }
int allow_debug = 0; int allow_debug = 0;
int force_debug = 0; int force_debug = 0;
int force_debug_prod = 0;
if (!cJSON_GetBoolean(value, "allow_debug", &allow_debug)) { if (!cJSON_GetBoolean(value, "allow_debug", &allow_debug)) {
status = 0; status = 0;
goto PARSE_CAPS_END; goto PARSE_CAPS_END;
@ -562,7 +563,11 @@ int ParseKipConfiguration(const char *json, KipHeader *kip_hdr) {
status = 0; status = 0;
goto PARSE_CAPS_END; goto PARSE_CAPS_END;
} }
desc = (allow_debug & 1) | ((force_debug & 1) << 1); if (!cJSON_GetBoolean(value, "force_debug_prod", &force_debug_prod)) {
status = 0;
goto PARSE_CAPS_END;
}
desc = (allow_debug & 1) | ((force_debug_prod & 1) << 1) | ((force_debug & 1) << 2);
kip_hdr->Capabilities[cur_cap++] = (u32)((desc << 17) | (0xFFFF)); kip_hdr->Capabilities[cur_cap++] = (u32)((desc << 17) | (0xFFFF));
} else { } else {
fprintf(stderr, "Error: unknown capability %s\n", type_str); fprintf(stderr, "Error: unknown capability %s\n", type_str);

View File

@ -819,6 +819,7 @@ int CreateNpdm(const char *json, void **dst, u32 *dst_size) {
} }
int allow_debug = 0; int allow_debug = 0;
int force_debug = 0; int force_debug = 0;
int force_debug_prod = 0;
if (!cJSON_GetBoolean(value, "allow_debug", &allow_debug)) { if (!cJSON_GetBoolean(value, "allow_debug", &allow_debug)) {
status = 0; status = 0;
goto NPDM_BUILD_END; goto NPDM_BUILD_END;
@ -827,7 +828,11 @@ int CreateNpdm(const char *json, void **dst, u32 *dst_size) {
status = 0; status = 0;
goto NPDM_BUILD_END; goto NPDM_BUILD_END;
} }
desc = (allow_debug & 1) | ((force_debug & 1) << 1); if (!cJSON_GetBoolean(value, "force_debug_prod", &force_debug_prod)) {
status = 0;
goto NPDM_BUILD_END;
}
desc = (allow_debug & 1) | ((force_debug_prod & 1) << 1) | ((force_debug & 1) << 2);
caps[cur_cap++] = (u32)((desc << 17) | (0xFFFF)); caps[cur_cap++] = (u32)((desc << 17) | (0xFFFF));
} }
} }