Re: [meta-arago][scarthgap][PATCH v5] coremark: add Coremark CPU benchmark
Ryan Eatmon <[email protected]>
| Newsgroups | org.yoctoproject.lists.meta-arago |
|---|---|
| Message-ID | <[email protected]> |
On 11/19/2025 11:27 AM, Ryan Eatmon via lists.yoctoproject.org wrote: > > > On 11/19/2025 6:41 AM, sadik wrote: >> Add CoreMark benchmark recipe to measure CPU >> performance on TI platforms,Integrate CoreMark >> into ti-test package group alongside arm-benchmarks. >> >> CoreMark is an industry-standard CPU benchmark from >> EEMBC(Embedded Microprocessor Benchmark Consortium) >> that provides a standardized method to test the >> performance of processors. >> >> Signed-off-by: sadik <[email protected]> >> --- >> >> Changes in v5: >> - change subject line to include recipe name >> - append _git to recipe name for tracking of version >> >> Link to v4:https://lists.yoctoproject.org/g/meta-arago/message/16784 >> >> Changes in v4: >> - change logs moved after the "---" line >> - change the summary of the coremark in recipe >> >> Link to v3:https://lists.yoctoproject.org/g/meta-arago/message/16776 >> >> Changes in v3: >> - sent patch via UTF-8 encoding >> >> Changes in v2: >> - Include Coremark licese file in licenses >> - Use oe_runmake with proper compiler flags for cross-compilation >> - Removed unnecessary TARGET_CC_ARCH, COMPATIBLE_HOST, and SRC_URI >> checksum >> - Move coremark in alphabetical order in TI_TEST_TI_TOOLS >> >> Link to v1:https://lists.yoctoproject.org/g/meta-arago/message/16707 >> >> --- >> meta-arago-test/licenses/Coremark | 91 +++++++++++++++++++ >> .../coremark/coremark_git.bb | 18 ++++ >> .../recipes-core/packagegroups/ti-test.bb | 1 + >> 3 files changed, 110 insertions(+) >> create mode 100644 meta-arago-test/licenses/Coremark >> create mode 100644 >> meta-arago-test/recipes-benchmark/coremark/coremark_git.bb >> >> diff --git a/meta-arago-test/licenses/Coremark >> b/meta-arago-test/licenses/Coremark >> new file mode 100644 >> index 00000000..c6e062f8 >> --- /dev/null >> +++ b/meta-arago-test/licenses/Coremark >> @@ -0,0 +1,91 @@ >> +COREMARK® ACCEPTABLE USE AGREEMENT >> +This ACCEPTABLE USE AGREEMENT (this “Agreement”) is offered by >> Embedded Microprocessor Benchmark Consortium, a California nonprofit >> corporation (“Licensor”), to users of its CoreMark® software >> (“Licensee”) exclusively on the following terms. >> + >> +Licensor offers benchmarking software (“Software”) pursuant to an >> open source license, but carefully controls use of its benchmarks and >> their associated goodwill. Licensor has registered its trademark in >> one of the benchmarks available through the Software, COREMARK, Ser. >> No. 85/487,290; Reg. No. 4,179,307 (the “Trademark”), and promotes the >> use of a standard metric as a benchmark for assessing the performance >> of embedded systems. Solely on the terms described herein, Licensee >> may use and display the Trademark in connection with the generation of >> data regarding measurement and analysis of computer and embedded >> system benchmarking via the Software (the “Licensed Use”). >> + >> +Article 1 – License Grant. >> +1.1. License. Subject to the terms and conditions of this Agreement, >> Licensor hereby grants to Licensee, and Licensee hereby accepts from >> Licensor, a personal, non-exclusive, royalty-free, revocable right and >> license to use and display the Trademark during the term of this >> Agreement (the “Term”), solely and exclusively in connection with the >> Licensed Use. During the Term, Licensee (i) shall not modify or >> otherwise create derivative works of the Trademark, and (ii) may use >> the Trademark only to the extent permitted under this License. Neither >> Licensee nor any affiliate or agent thereof shall otherwise use the >> Trademark without the prior express written consent of Licensor, which >> may be withheld in its sole and absolute discretion. All rights not >> expressly granted to Licensee hereunder shall remain the exclusive >> property of Licensor. >> + >> +1.2. Modifications to the Software. Licensee shall not use the >> Trademark in connection with any use of a modified, derivative, or >> otherwise altered copy of the Software. >> + >> +1.3. Licensor’s Use. Nothing in this Agreement shall preclude >> Licensor or any of its successors or assigns from using or permitting >> other entities to use the Trademark, whether or not such entity >> directly or indirectly competes or conflicts with Licensee’s Licensed >> Use in any manner. >> + >> +1.4. Term and Termination. This Agreement is perpetual unless >> terminated by either of the parties. Licensee may terminate this >> Agreement for convenience, without cause or liability, for any reason >> or for no reason whatsoever, upon ten (10) business days written >> notice. Licensor may terminate this Agreement effective immediately >> upon notice of breach. Upon termination, Licensee shall immediately >> remove all implementations of the Trademark from the Licensed Use, and >> delete all digitals files and records of all materials related to the >> Trademark. >> + >> +Article 2 – Ownership. >> +2.1. Ownership. Licensee acknowledges and agrees that Licensor is the >> owner of all right, title, and interest in and to the Trademark, and >> all such right, title, and interest shall remain with Licensor. >> Licensee shall not contest, dispute, challenge, oppose, or seek to >> cancel Licensor’s right, title, and interest in and to the Trademark. >> Licensee shall not prosecute any application for registration of the >> Trademark. Licensee shall display appropriate notices regarding >> ownership of the Trademark in connection with the Licensed Use. >> + >> +2.2. Goodwill. Licensee acknowledges that Licensee shall not acquire >> any right, title, or interest in the Trademark by virtue of this >> Agreement other than the license granted hereunder, and disclaims any >> such right, title, interest, or ownership. All goodwill and reputation >> generated by Licensee’s use of the Trademark shall inure to the >> exclusive benefit of Licensor. Licensee shall not by any act or >> omission use the Trademark in any manner that disparages or reflects >> adversely on Licensor or its Licensed Use or reputation. Licensee >> shall not take any action that would interfere with or prejudice >> Licensor’s ownership or registration of the Trademark, the validity of >> the Trademark or the validity of the license granted by this >> Agreement. If Licensor determines and notifies Licensee that any act >> taken in connection with the Licensed Use (i) is inaccurate, unlawful >> or offensive to good taste; (ii) fails to provide for proper trademark >> notices, or (iii) otherwise violates Licensee’s obligations under this >> Agreement, the license granted under this Agreement shall terminate. >> + >> +Article 3 – Indemnification. >> +3.1. Indemnification Generally. Licensee agrees to indemnify, defend, >> and hold harmless (collectively “indemnify” or “indemnification”) >> Licensor, including Licensor’s members, managers, officers, and >> employees (collectively “Related Persons”), from and against, and pay >> or reimburse Licensor and such Related Persons for, any and all >> third-party actions, claims, demands, proceedings, investigations, >> inquiries (collectively, “Claims”), and any and all liabilities, >> obligations, fines, deficiencies, costs, expenses, royalties, losses, >> and damages (including reasonable outside counsel fees and expenses) >> associated with such Claims, to the extent that such Claim arises out >> of (i) Licensee’s material breach of this Agreement, or (ii) any >> allegation(s) that Licensee’s actions infringe or violate any >> third-party intellectual property right, including without limitation, >> any U.S. copyright, patent, or trademark, or are otherwise found to be >> tortious or criminal (whether or not such indemnified person is a >> named party in a legal proceeding). >> + >> +3.2. Notice and Defense of Claims. Licensor shall promptly notify >> Licensee of any Claim for which indemnification is sought, following >> actual knowledge of such Claim, provided however that the failure to >> give such notice shall not relieve Licensee of its obligations >> hereunder except to the extent that Licensee is materially prejudiced >> by such failure. In the event that any third-party Claim is brought, >> Licensee shall have the right and option to undertake and control the >> defense of such action with counsel of its choice, provided however >> that (i) Licensor at its own expense may participate and appear on an >> equal footing with Licensee in the defense of any such Claim, (ii) >> Licensor may undertake and control such defense in the event of the >> material failure of Licensee to undertake and control the same; and >> (iii) the defense of any Claim relating to the intellectual property >> rights of Licensor or its licensors and any related counterclaims >> shall be solely controlled by Licensor with counsel of its choice. >> Licensee shall not consent to judgment or concede or settle or >> compromise any Claim without the prior written approval of Licensor >> (whose approval shall not be unreasonably withheld), unless such >> concession or settlement or compromise includes a full and >> unconditional release of Licensor and any applicable Related Persons >> from all liabilities in respect of such Claim. >> + >> +Article 4 – Miscellaneous. >> +4.1. Relationship of the Parties. This Agreement does not create a >> partnership, franchise, joint venture, agency, fiduciary, or >> employment relationship between the parties. >> + >> +4.2. No Third-Party Beneficiaries. Except for the rights of Related >> Persons under Article 3 (Indemnification), there are no third-party >> beneficiaries to this Agreement. >> + >> +4.3. Assignment. Licensee’s rights hereunder are non-assignable, and >> may not be sublicensed. >> + >> +4.4. Equitable Relief. Licensee acknowledges that the remedies >> available at law for any breach of this Agreement will, by their >> nature, be inadequate. Accordingly, Licensor may obtain injunctive >> relief or other equitable relief to restrain a breach or threatened >> breach of this Agreement or to specifically enforce this Agreement, >> without proving that any monetary damages have been sustained, and >> without the requirement of posting of a bond prior to obtaining such >> equitable relief. >> + >> +4.5. Governing Law. This Agreement will be interpreted, construed, >> and enforced in all respects in accordance with the laws of the State >> of California, without reference to its conflict of law principles. >> + >> +4.6. Attorneys’ Fees. If any legal action, arbitration or other >> proceeding is brought for the enforcement of this Agreement, or >> because of an alleged dispute, breach, default, or misrepresentation >> in connection with any of the provisions of this Agreement, the >> successful or prevailing party shall be entitled to recover its >> reasonable attorneys’ fees and other reasonable costs incurred in that >> action or proceeding, in addition to any other relief to which it may >> be entitled. >> + >> +4.7. Amendment; Waiver. This Agreement may not be amended, nor may >> any rights under it be waived, except in writing by Licensor. >> + >> +4.8. Severability. If any provision of this Agreement is held by a >> court of competent jurisdiction to be contrary to law, the provision >> shall be modified by the court and interpreted so as best to >> accomplish the objectives of the original provision to the fullest >> extent permitted by law, and the remaining provisions of this >> Agreement shall remain in effect. >> + >> +4.9. Entire Agreement. This Agreement constitutes the entire >> agreement between the parties and supersedes all prior and >> contemporaneous agreements, proposals or representations, written or >> oral, concerning its subject matter. >> + >> +Apache License >> +Version 2.0, January 2004 >> + >> +http://www.apache.org/licenses/ >> + >> +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION >> +Definitions. >> +"License" shall mean the terms and conditions for use, reproduction, >> and distribution as defined by Sections 1 through 9 of this document. >> + >> +"Licensor" shall mean the copyright owner or entity authorized by the >> copyright owner that is granting the License. >> + >> +"Legal Entity" shall mean the union of the acting entity and all >> other entities that control, are controlled by, or are under common >> control with that entity. For the purposes of this definition, >> "control" means (i) the power, direct or indirect, to cause the >> direction or management of such entity, whether by contract or >> otherwise, or (ii) ownership of fifty percent (50%) or more of the >> outstanding shares, or (iii) beneficial ownership of such entity. >> + >> +"You" (or "Your") shall mean an individual or Legal Entity exercising >> permissions granted by this License. >> + >> +"Source" form shall mean the preferred form for making modifications, >> including but not limited to software source code, documentation >> source, and configuration files. >> + >> +"Object" form shall mean any form resulting from mechanical >> transformation or translation of a Source form, including but not >> limited to compiled object code, generated documentation, and >> conversions to other media types. >> + >> +"Work" shall mean the work of authorship, whether in Source or Object >> form, made available under the License, as indicated by a copyright >> notice that is included in or attached to the work (an example is >> provided in the Appendix below). >> + >> +"Derivative Works" shall mean any work, whether in Source or Object >> form, that is based on (or derived from) the Work and for which the >> editorial revisions, annotations, elaborations, or other modifications >> represent, as a whole, an original work of authorship. For the >> purposes of this License, Derivative Works shall not include works >> that remain separable from, or merely link (or bind by name) to the >> interfaces of, the Work and Derivative Works thereof. >> + >> +"Contribution" shall mean any work of authorship, including the >> original version of the Work and any modifications or additions to >> that Work or Derivative Works thereof, that is intentionally submitted >> to Licensor for inclusion in the Work by the copyright owner or by an >> individual or Legal Entity authorized to submit on behalf of the >> copyright owner. For the purposes of this definition, "submitted" >> means any form of electronic, verbal, or written communication sent to >> the Licensor or its representatives, including but not limited to >> communication on electronic mailing lists, source code control >> systems, and issue tracking systems that are managed by, or on behalf >> of, the Licensor for the purpose of discussing and improving the Work, >> but excluding communication that is conspicuously marked or otherwise >> designated in writing by the copyright owner as "Not a Contribution." >> + >> +"Contributor" shall mean Licensor and any individual or Legal Entity >> on behalf of whom a Contribution has been received by Licensor and >> subsequently incorporated within the Work. >> + >> +Grant of Copyright License. Subject to the terms and conditions of >> this License, each Contributor hereby grants to You a perpetual, >> worldwide, non-exclusive, no-charge, royalty-free, irrevocable >> copyright license to reproduce, prepare Derivative Works of, publicly >> display, publicly perform, sublicense, and distribute the Work and >> such Derivative Works in Source or Object form. >> + >> +Grant of Patent License. Subject to the terms and conditions of this >> License, each Contributor hereby grants to You a perpetual, worldwide, >> non-exclusive, no-charge, royalty-free, irrevocable (except as stated >> in this section) patent license to make, have made, use, offer to >> sell, sell, import, and otherwise transfer the Work, where such >> license applies only to those patent claims licensable by such >> Contributor that are necessarily infringed by their Contribution(s) >> alone or by combination of their Contribution(s) with the Work to >> which such Contribution(s) was submitted. If You institute patent >> litigation against any entity (including a cross-claim or counterclaim >> in a lawsuit) alleging that the Work or a Contribution incorporated >> within the Work constitutes direct or contributory patent >> infringement, then any patent licenses granted to You under this >> License for that Work shall terminate as of the date such litigation >> is filed. >> + >> +Redistribution. You may reproduce and distribute copies of the Work >> or Derivative Works thereof in any medium, with or without >> modifications, and in Source or Object form, provided that You meet >> the following conditions: >> + >> +You must give any other recipients of the Work or Derivative Works a >> copy of this License; and You must cause any modified files to carry >> prominent notices stating that You changed the files; and You must >> retain, in the Source form of any Derivative Works that You >> distribute, all copyright, patent, trademark, and attribution notices >> from the Source form of the Work, excluding those notices that do not >> pertain to any part of the Derivative Works; and If the Work includes >> a "NOTICE" text file as part of its distribution, then any Derivative >> Works that You distribute must include a readable copy of the >> attribution notices contained within such NOTICE file, excluding those >> notices that do not pertain to any part of the Derivative Works, in at >> least one of the following places: within a NOTICE text file >> distributed as part of the Derivative Works; within the Source form or >> documentation, if provided along with the Derivative Works; or, within >> a display generated by the Derivative Works, if and wherever such >> third-party notices normally appear. The contents of the NOTICE file >> are for informational purposes only and do not modify the License. You >> may add Your own attribution notices within Derivative Works that You >> distribute, alongside or as an addendum to the NOTICE text from the >> Work, provided that such additional attribution notices cannot be >> construed as modifying the License. >> + >> +You may add Your own copyright statement to Your modifications and >> may provide additional or different license terms and conditions for >> use, reproduction, or distribution of Your modifications, or for any >> such Derivative Works as a whole, provided Your use, reproduction, and >> distribution of the Work otherwise complies with the conditions stated >> in this License. >> + >> +Submission of Contributions. Unless You explicitly state otherwise, >> any Contribution intentionally submitted for inclusion in the Work by >> You to the Licensor shall be under the terms and conditions of this >> License, without any additional terms or conditions. Notwithstanding >> the above, nothing herein shall supersede or modify the terms of any >> separate license agreement you may have executed with Licensor >> regarding such Contributions. >> + >> +Trademarks. This License does not grant permission to use the trade >> names, trademarks, service marks, or product names of the Licensor, >> except as required for reasonable and customary use in describing the >> origin of the Work and reproducing the content of the NOTICE file. >> + >> +Disclaimer of Warranty. Unless required by applicable law or agreed >> to in writing, Licensor provides the Work (and each Contributor >> provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR >> CONDITIONS OF ANY KIND, either express or implied, including, without >> limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, >> MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely >> responsible for determining the appropriateness of using or >> redistributing the Work and assume any risks associated with Your >> exercise of permissions under this License. >> + >> +Limitation of Liability. In no event and under no legal theory, >> whether in tort (including negligence), contract, or otherwise, unless >> required by applicable law (such as deliberate and grossly negligent >> acts) or agreed to in writing, shall any Contributor be liable to You >> for damages, including any direct, indirect, special, incidental, or >> consequential damages of any character arising as a result of this >> License or out of the use or inability to use the Work (including but >> not limited to damages for loss of goodwill, work stoppage, computer >> failure or malfunction, or any and all other commercial damages or >> losses), even if such Contributor has been advised of the possibility >> of such damages. >> + >> +Accepting Warranty or Additional Liability. While redistributing the >> Work or Derivative Works thereof, You may choose to offer, and charge >> a fee for, acceptance of support, warranty, indemnity, or other >> liability obligations and/or rights consistent with this License. >> However, in accepting such obligations, You may act only on Your own >> behalf and on Your sole responsibility, not on behalf of any other >> Contributor, and only if You agree to indemnify, defend, and hold each >> Contributor harmless for any liability incurred by, or claims asserted >> against, such Contributor by reason of your accepting any such >> warranty or additional liability. >> + >> +END OF TERMS AND CONDITIONS >> diff --git >> a/meta-arago-test/recipes-benchmark/coremark/coremark_git.bb >> b/meta-arago-test/recipes-benchmark/coremark/coremark_git.bb >> new file mode 100644 >> index 00000000..7655a445 >> --- /dev/null >> +++ b/meta-arago-test/recipes-benchmark/coremark/coremark_git.bb >> @@ -0,0 +1,18 @@ >> +SUMMARY = "Industry-standard benchmark that measures CPU performance" >> + >> +LICENSE = "Coremark" >> +LIC_FILES_CHKSUM = >> "file://LICENSE.md;md5=0a18b17ae63deaa8a595035f668aebe1" >> + >> +SRC_URI = >> "git://github.com/eembc/coremark.git;branch=main;protocol=https" >> +SRCREV = "1f483d5b8316753a742cbf5590caf5bd0a4e4777" >> + >> +S = "${WORKDIR}/git" > > This patch looks better, and I'll start testing it today. But I also > need a master version of this patch since this recipe will not work in > master as is. > > The only change that I think is needed is to remove the line: > > S = "${WORKDIR}/git" > > >> + >> +do_compile() { >> + oe_runmake PORT_DIR=linux CC="${CC}" XCFLAGS="${CFLAGS}" >> LFLAGS_END="${LDFLAGS}" compile >> +} >> + >> +do_install() { >> + install -d ${D}${bindir} >> + install -m 0755 ${S}/coremark.exe ${D}${bindir}/coremark >> +} >> diff --git a/meta-arago-test/recipes-core/packagegroups/ti-test.bb >> b/meta-arago-test/recipes-core/packagegroups/ti-test.bb >> index c1166bc2..e05add8b 100644 >> --- a/meta-arago-test/recipes-core/packagegroups/ti-test.bb >> +++ b/meta-arago-test/recipes-core/packagegroups/ti-test.bb >> @@ -89,6 +89,7 @@ TI_TEST_BASE:append:armv7ve = " \ >> TI_TEST_TI_TOOLS = " \ >> arm-benchmarks \ >> arm-ddr-bandwidth \ >> + coremark \ >> cpuloadgen \ And cpuloadgen was removed in master, so this files also changes... >> input-utils \ >> ltp-ddt \ > -- Ryan Eatmon [email protected] ----------------------------------------- Texas Instruments, Inc. - LCPD - MGTS