Browse Source

Merge pull request #1273 from riscv-software-src/fix-targargs

Support passing in htif target-arguments through plusargs
pull/1275/head
Andrew Waterman 3 years ago
committed by GitHub
parent
commit
c97fb920b2
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 14
      fesvr/htif.cc
  2. 5
      fesvr/htif.h

14
fesvr/htif.cc

@ -327,7 +327,9 @@ void htif_t::parse_arguments(int argc, char ** argv)
break;
case HTIF_LONG_OPTIONS_OPTIND + 5:
line_size = atoi(optarg);
break;
case HTIF_LONG_OPTIONS_OPTIND + 6:
targs.push_back(optarg);
break;
case '?':
if (!opterr)
@ -363,10 +365,14 @@ void htif_t::parse_arguments(int argc, char ** argv)
c = HTIF_LONG_OPTIONS_OPTIND + 4;
optarg = optarg + 9;
}
else if(arg.find("+signature-granularity=")==0){
c = HTIF_LONG_OPTIONS_OPTIND + 5;
optarg = optarg + 23;
else if (arg.find("+signature-granularity=") == 0) {
c = HTIF_LONG_OPTIONS_OPTIND + 5;
optarg = optarg + 23;
}
else if (arg.find("+target-argument=") == 0) {
c = HTIF_LONG_OPTIONS_OPTIND + 6;
optarg = optarg + 17;
}
else if (arg.find("+permissive-off") == 0) {
if (opterr)
throw std::invalid_argument("Found +permissive-off when not parsing permissively");

5
fesvr/htif.h

@ -63,7 +63,7 @@ class htif_t : public chunked_memif_t
virtual void idle() {}
const std::vector<std::string>& host_args() { return hargs; }
std::vector<std::string>& target_args() { return targs; }
const std::vector<std::string>& target_args() { return targs; }
reg_t get_entry_point() { return entry; }
@ -144,7 +144,8 @@ TARGET (RISC-V BINARY) OPTIONS\n\
{"signature", required_argument, 0, HTIF_LONG_OPTIONS_OPTIND + 2 }, \
{"chroot", required_argument, 0, HTIF_LONG_OPTIONS_OPTIND + 3 }, \
{"payload", required_argument, 0, HTIF_LONG_OPTIONS_OPTIND + 4 }, \
{"signature-granularity", optional_argument, 0, HTIF_LONG_OPTIONS_OPTIND + 5 }, \
{"signature-granularity", required_argument, 0, HTIF_LONG_OPTIONS_OPTIND + 5 }, \
{"target-argument", required_argument, 0, HTIF_LONG_OPTIONS_OPTIND + 6 }, \
{0, 0, 0, 0}
#endif // __HTIF_H

Loading…
Cancel
Save