diff options
author | Tony Luck <tony.luck@intel.com> | 2022-06-27 13:29:31 -0700 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2022-06-27 13:29:31 -0700 |
commit | b936d417a8cc27e17ef018b645c931ecc4e94c6f (patch) | |
tree | 03f70619f5504fe942116ca710ae7644d33968f0 | |
parent | 3ce2baf651389b55e93be986bc0da549a2496053 (diff) | |
download | ras-tools-b936d417a8cc27e17ef018b645c931ecc4e94c6f.tar.gz |
ras-tools: Add count argument to rep_ce_page
Optional argument to rep_ce_page for how many times to inject
a corrected error to the target page.
Signed-off-by: Tony Luck <tony.luck@intel.com>
-rw-r--r-- | rep_ce_page.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/rep_ce_page.c b/rep_ce_page.c index 4eacd60..e073f6e 100644 --- a/rep_ce_page.c +++ b/rep_ce_page.c @@ -50,8 +50,12 @@ int main(int argc, char **argv) { char *addr = mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, -1, 0); unsigned long long paddr; + int tries = MAX_TRIES; int i; + if (argc == 2) + tries = atoi(argv[1]); + if (addr == MAP_FAILED) { perror("mmap"); return 1; @@ -64,7 +68,7 @@ int main(int argc, char **argv) *addr = '*'; paddr = vtop((unsigned long long)addr); - for (i = 0; i < MAX_TRIES; i++) { + for (i = 0; i < tries; i++) { printf("%d: Inject to vaddr=%p paddr=0x%llx\n", i, addr, paddr); wfile(EINJ_ADDR, paddr); wfile(EINJ_DOIT, 1); @@ -75,7 +79,7 @@ int main(int argc, char **argv) break; } - if (i == MAX_TRIES) { + if (i == tries) { fprintf(stderr, "FAIL: Page was not offline after %d errors\n", i); return 1; } |