Skip to content

Commit

Permalink
turbostat: add the recipe of turbostat to meta-oe
Browse files Browse the repository at this point in the history
It is an efficient and necessary tool to reflect the status of X86
processors. Turbostat reports processor topology, frequency, idle
power-state statistics, temperature and power on X86 processors.

Signed-off-by: Hongzhi.Song <[email protected]>
Signed-off-by: Hongzhi.Song <[email protected]>
Signed-off-by: Khem Raj <[email protected]>
  • Loading branch information
Hongzhi.Song authored and kraj committed May 29, 2018
1 parent 543bb9c commit 09c64e1
Showing 1 changed file with 58 additions and 0 deletions.
58 changes: 58 additions & 0 deletions meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#
# Copyright (C) 2013 Wind River Systems, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
SUMMARY = "Frequency and Idle power monitoring tools for Linux"

DESCRIPTION = "The turbostat tool allows you to determine the actual \
processor frequency and idle power saving state residency on supported \
processors."

LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"

COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
COMPATIBLE_HOST_libc-musl = "null"

DEPENDS = "virtual/kernel"

do_fetch[noexec] = "1"
do_unpack[noexec] = "1"
do_patch[noexec] = "1"

# This looks in S, so we better make sure there's
# something in the directory.
#
do_populate_lic[depends] = "${PN}:do_configure"


EXTRA_OEMAKE = '\
CC="${CC}" \
'CFLAGS=-Wall -I${STAGING_KERNEL_DIR}/arch/x86/include/uapi ${LDFLAGS}' \
'

# If we build under STAGING_KERNEL_DIR, source will not be put
# into the dbg rpm. STAGING_KERNEL_DIR will exist by the time
# do_configure() is invoked so we can safely copy from it.
#
do_configure_prepend() {
mkdir -p ${S}
cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/msr-index.h ${S}
cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/intel-family.h ${S}
cp -r ${STAGING_KERNEL_DIR}/tools/power/x86/turbostat/* ${S}
cp -r ${STAGING_KERNEL_DIR}/COPYING ${S}
}

do_compile() {
sed -i 's#MSRHEADER#"msr-index.h"#' turbostat.c
sed -i 's#INTEL_FAMILY_HEADER#"intel-family.h"#' turbostat.c
sed -i 's#\$(CC) \$(CFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#\$(CC) \$(CFLAGS) \$(LDFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#' Makefile
oe_runmake STAGING_KERNEL_DIR=${STAGING_KERNEL_DIR}
}

do_install() {
oe_runmake DESTDIR="${D}" install
}

0 comments on commit 09c64e1

Please sign in to comment.