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