Skip to content

Commit 3f0ff2e

Browse files
YadongQiwenlingz
authored andcommitted
hv: search additional argument when parsing seed from ABL
Due to ABL design change, it will reword the "dev_sec_info.param_addr=" to "ABL.svnseed" in command line. Tracked-On: #2611 Signed-off-by: Qi Yadong <yadong.qi@intel.com> Acked-by: Zhu Bing <bing.zhu@intel.com>
1 parent f5504e8 commit 3f0ff2e

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

hypervisor/boot/sbl/abl_seed_parse.c

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,11 @@ struct dev_sec_info {
2222
struct abl_seed_info seed_list[ABL_SEED_LIST_MAX];
2323
};
2424

25-
static const char *dev_sec_info_arg = "dev_sec_info.param_addr=";
25+
static const char *abl_seed_arg[] = {
26+
"ABL.svnseed=",
27+
"dev_sec_info.param_addr=",
28+
NULL
29+
};
2630

2731
static void parse_seed_list_abl(void *param_addr)
2832
{
@@ -100,16 +104,21 @@ static void parse_seed_list_abl(void *param_addr)
100104
*/
101105
bool abl_seed_parse(struct acrn_vm *vm, char *cmdline, char *out_arg, uint32_t out_len)
102106
{
103-
char *arg, *arg_end;
107+
char *arg = NULL, *arg_end;
104108
char *param;
105109
void *param_addr;
106-
uint32_t len;
110+
uint32_t len = 0U, i;
107111
bool parse_success = false;
108112

109113
if (cmdline != NULL) {
110114

111-
len = strnlen_s(dev_sec_info_arg, MEM_1K);
112-
arg = strstr_s((const char *)cmdline, MEM_2K, dev_sec_info_arg, len);
115+
for (i = 0U; abl_seed_arg[i] != NULL; i++) {
116+
len = strnlen_s(abl_seed_arg[i], MEM_1K);
117+
arg = strstr_s((const char *)cmdline, MEM_2K, abl_seed_arg[i], len);
118+
if (arg != NULL) {
119+
break;
120+
}
121+
}
113122

114123
if (arg != NULL) {
115124
param = arg + len;
@@ -129,7 +138,7 @@ bool abl_seed_parse(struct acrn_vm *vm, char *cmdline, char *out_arg, uint32_t o
129138
/* Convert the param_addr to SOS GPA and copy to caller */
130139
if (out_arg != NULL) {
131140
snprintf(out_arg, out_len, "%s0x%X ",
132-
dev_sec_info_arg, hva2gpa(vm, param_addr));
141+
abl_seed_arg[i], hva2gpa(vm, param_addr));
133142
}
134143

135144
parse_success = true;

0 commit comments

Comments
 (0)