]>
Commit | Line | Data |
---|---|---|
d1389403 SG |
1 | /* |
2 | * (C) Copyright 2015 Google, Inc | |
3 | * | |
4 | * SPDX-License-Identifier: GPL-2.0+ | |
5 | */ | |
6 | ||
7 | #include <common.h> | |
8 | #include <command.h> | |
f215287b | 9 | #include <div64.h> |
d1389403 SG |
10 | #include "dhry.h" |
11 | ||
12 | static int do_dhry(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) | |
13 | { | |
f215287b SG |
14 | ulong start, duration, vax_mips; |
15 | u64 dhry_per_sec; | |
d1389403 SG |
16 | int iterations = 1000000; |
17 | ||
18 | if (argc > 1) | |
19 | iterations = simple_strtoul(argv[1], NULL, 10); | |
20 | ||
21 | start = get_timer(0); | |
22 | dhry(iterations); | |
23 | duration = get_timer(start); | |
f215287b | 24 | dhry_per_sec = lldiv(iterations * 1000ULL, duration); |
f23baa57 | 25 | vax_mips = lldiv(dhry_per_sec, 1757); |
d1389403 | 26 | printf("%d iterations in %lu ms: %lu/s, %lu DMIPS\n", iterations, |
f215287b | 27 | duration, (ulong)dhry_per_sec, vax_mips); |
d1389403 SG |
28 | |
29 | return 0; | |
30 | } | |
31 | ||
32 | U_BOOT_CMD( | |
33 | dhry, 2, 1, do_dhry, | |
34 | "[iterations] - run dhrystone benchmark", | |
35 | "\n - run the Dhrystone 2.1 benchmark, a rough measure of CPU speed\n" | |
36 | ); |