Skip to content

Commit 786ccde

Browse files
SciresMWinterMute
authored andcommitted
ndpmtool/elftool: support force_debug_prod
1 parent 22471a1 commit 786ccde

2 files changed

Lines changed: 12 additions & 2 deletions

File tree

src/elf2kip.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -554,6 +554,7 @@ int ParseKipConfiguration(const char *json, KipHeader *kip_hdr) {
554554
}
555555
int allow_debug = 0;
556556
int force_debug = 0;
557+
int force_debug_prod = 0;
557558
if (!cJSON_GetBoolean(value, "allow_debug", &allow_debug)) {
558559
status = 0;
559560
goto PARSE_CAPS_END;
@@ -562,7 +563,11 @@ int ParseKipConfiguration(const char *json, KipHeader *kip_hdr) {
562563
status = 0;
563564
goto PARSE_CAPS_END;
564565
}
565-
desc = (allow_debug & 1) | ((force_debug & 1) << 1);
566+
if (!cJSON_GetBoolean(value, "force_debug_prod", &force_debug_prod)) {
567+
status = 0;
568+
goto PARSE_CAPS_END;
569+
}
570+
desc = (allow_debug & 1) | ((force_debug_prod & 1) << 1) | ((force_debug & 1) << 2);
566571
kip_hdr->Capabilities[cur_cap++] = (u32)((desc << 17) | (0xFFFF));
567572
} else {
568573
fprintf(stderr, "Error: unknown capability %s\n", type_str);

src/npdmtool.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -819,6 +819,7 @@ int CreateNpdm(const char *json, void **dst, u32 *dst_size) {
819819
}
820820
int allow_debug = 0;
821821
int force_debug = 0;
822+
int force_debug_prod = 0;
822823
if (!cJSON_GetBoolean(value, "allow_debug", &allow_debug)) {
823824
status = 0;
824825
goto NPDM_BUILD_END;
@@ -827,7 +828,11 @@ int CreateNpdm(const char *json, void **dst, u32 *dst_size) {
827828
status = 0;
828829
goto NPDM_BUILD_END;
829830
}
830-
desc = (allow_debug & 1) | ((force_debug & 1) << 1);
831+
if (!cJSON_GetBoolean(value, "force_debug_prod", &force_debug_prod)) {
832+
status = 0;
833+
goto NPDM_BUILD_END;
834+
}
835+
desc = (allow_debug & 1) | ((force_debug_prod & 1) << 1) | ((force_debug & 1) << 2);
831836
caps[cur_cap++] = (u32)((desc << 17) | (0xFFFF));
832837
}
833838
}

0 commit comments

Comments
 (0)