Message ID | 20201111073415.814-1-judge.packham@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | [1/2] package/coremark: new package | expand |
Chris, On Wed, Nov 11, 2020 at 1:35 AM Chris Packham <judge.packham@gmail.com> wrote: > > CoreMark is a simple, yet sophisticated benchmark that is designed > specifically to test the functionality of a processor core. Running > CoreMark produces a single-number score allowing users to make quick > comparisons between processors. > > https://www.eembc.org/coremark/ > > Signed-off-by: Chris Packham <judge.packham@gmail.com> ./utils/test-pkg -k -d foo_coremark -p coremark br-arm-full [1/6]: OK br-arm-cortex-a9-glibc [2/6]: OK br-arm-cortex-m4-full [3/6]: OK br-x86-64-musl [4/6]: OK br-arm-full-static [5/6]: OK sourcery-arm [6/6]: OK ***Runtime test with QEMU*** BR2_aarch64=y BR2_TOOLCHAIN_EXTERNAL=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_COREMARK=y BR2_PACKAGE_COREMARK_PRO=y BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set # coremark 2K performance run parameters for coremark. CoreMark Size : 666 Total ticks : 13102 Total time (secs): 13.102000 Iterations/Sec : 1526.484506 Iterations : 20000 Compiler version : GCC9.2.1 20191025 Compiler flags : -O2 -lrt Memory location : Please put data memory location here (e.g. code in flash, data on heap etc) seedcrc : 0xe9f5 [0]crclist : 0xe714 [0]crcmatrix : 0x1fd7 [0]crcstate : 0x8e3a [0]crcfinal : 0x382f Correct operation validated. See readme.txt for run and reporting rules. CoreMark 1.0 : 1526.484506 / GCC9.2.1 20191025 -O2 -lrt / Heap Tested-by: Matt Weber <matthew.weber@rockwellcollins.com>
diff --git a/DEVELOPERS b/DEVELOPERS index 43cc1b55ae..ff823a2e3d 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -490,6 +490,7 @@ F: configs/olimex_a13_olinuxino_defconfig F: configs/orangepi_plus_defconfig N: Chris Packham <judge.packham@gmail.com> +F: package/coremark/ F: package/gstreamer1/gst1-shark/ F: package/micropython/ F: package/micropython-lib/ diff --git a/package/Config.in b/package/Config.in index 016a99ed1a..16fd95fe38 100644 --- a/package/Config.in +++ b/package/Config.in @@ -87,6 +87,7 @@ menu "Debugging, profiling and benchmark" source "package/bonnie/Config.in" source "package/cache-calibrator/Config.in" source "package/clinfo/Config.in" + source "package/coremark/Config.in" source "package/dacapo/Config.in" source "package/dhrystone/Config.in" source "package/dieharder/Config.in" diff --git a/package/coremark/Config.in b/package/coremark/Config.in new file mode 100644 index 0000000000..f0e13eda63 --- /dev/null +++ b/package/coremark/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_COREMARK + bool "coremark" + help + CoreMark is a benchmark that measures the performance of + microcontrollers (MCUs) and central processing units (CPUs) + used in embedded systems + + https://www.eembc.org/coremark/ diff --git a/package/coremark/coremark.hash b/package/coremark/coremark.hash new file mode 100644 index 0000000000..57da3e998c --- /dev/null +++ b/package/coremark/coremark.hash @@ -0,0 +1,3 @@ +#locally computed +sha256 99c5a6d63af85a281b4e4d6ccb522c446653c435dfec9455ad73ef9e71f28bde coremark-1.01.tar.gz +sha256 d72094a3cb629dc7712ae09b7b777416903c6670930928b5530f2ddfb2296888 LICENSE.md diff --git a/package/coremark/coremark.mk b/package/coremark/coremark.mk new file mode 100644 index 0000000000..418fd5c8d3 --- /dev/null +++ b/package/coremark/coremark.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# CoreMark +# +################################################################################ + +COREMARK_VERSION = 1.01 +COREMARK_SITE = $(call github,eembc,coremark,v$(COREMARK_VERSION)) +COREMARK_LICENSE = Apache-2.0 +COREMARK_LICENSE_FILES = LICENSE.md + +define COREMARK_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" -C $(@D) \ + PORT_DIR=linux$(if $(BR2_ARCH_IS_64),64) EXE= link +endef + +define COREMARK_INSTALL_TARGET_CMDS + $(INSTALL) -D $(@D)/coremark $(TARGET_DIR)/usr/bin/coremark +endef + +$(eval $(generic-package))
CoreMark is a simple, yet sophisticated benchmark that is designed specifically to test the functionality of a processor core. Running CoreMark produces a single-number score allowing users to make quick comparisons between processors. https://www.eembc.org/coremark/ Signed-off-by: Chris Packham <judge.packham@gmail.com> --- DEVELOPERS | 1 + package/Config.in | 1 + package/coremark/Config.in | 8 ++++++++ package/coremark/coremark.hash | 3 +++ package/coremark/coremark.mk | 21 +++++++++++++++++++++ 5 files changed, 34 insertions(+) create mode 100644 package/coremark/Config.in create mode 100644 package/coremark/coremark.hash create mode 100644 package/coremark/coremark.mk