summaryrefslogtreecommitdiff
path: root/ANDROID_3.4.5/tools/power/cpupower
diff options
context:
space:
mode:
authorSrikant Patnaik2015-01-11 12:28:04 +0530
committerSrikant Patnaik2015-01-11 12:28:04 +0530
commit871480933a1c28f8a9fed4c4d34d06c439a7a422 (patch)
tree8718f573808810c2a1e8cb8fb6ac469093ca2784 /ANDROID_3.4.5/tools/power/cpupower
parent9d40ac5867b9aefe0722bc1f110b965ff294d30d (diff)
downloadFOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.tar.gz
FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.tar.bz2
FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.zip
Moved, renamed, and deleted files
The original directory structure was scattered and unorganized. Changes are basically to make it look like kernel structure.
Diffstat (limited to 'ANDROID_3.4.5/tools/power/cpupower')
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/Makefile301
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/README49
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/ToDo11
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/bench/Makefile36
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/bench/README-BENCH124
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/bench/benchmark.c194
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/bench/benchmark.h29
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/bench/config.h36
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/bench/cpufreq-bench_plot.sh104
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/bench/cpufreq-bench_script.sh101
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/bench/example.cfg11
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/bench/main.c202
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/bench/parse.c225
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/bench/parse.h53
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/bench/system.c191
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/bench/system.h29
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/debug/i386/Makefile38
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/debug/i386/centrino-decode.c113
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/debug/i386/dump_psb.c196
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/debug/i386/intel_gsic.c78
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/debug/i386/powernow-k8-decode.c96
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/debug/kernel/Makefile23
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/debug/kernel/cpufreq-test_tsc.c113
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/debug/x86_64/Makefile30
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/lib/cpufreq.c208
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/lib/cpufreq.h223
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/lib/sysfs.c672
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/lib/sysfs.h31
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/man/cpupower-frequency-info.174
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/man/cpupower-frequency-set.152
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/man/cpupower-idle-info.190
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/man/cpupower-info.119
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/man/cpupower-monitor.1179
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/man/cpupower-set.1103
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/man/cpupower.172
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/po/cs.po944
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/po/de.po961
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/po/fr.po947
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/po/it.po961
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/po/pt.po957
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/builtin.h11
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/cpufreq-info.c668
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/cpufreq-set.c331
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/cpuidle-info.c214
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/cpupower-info.c135
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/cpupower-set.c134
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/cpupower.c214
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/helpers/amd.c135
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/helpers/bitmask.c292
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/helpers/bitmask.h33
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/helpers/cpuid.c176
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/helpers/helpers.h193
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/helpers/misc.c27
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/helpers/msr.c115
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/helpers/pci.c55
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/helpers/sysfs.c408
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/helpers/sysfs.h30
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/helpers/topology.c111
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/amd_fam14h_idle.c335
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/cpuidle_sysfs.c196
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/cpupower-monitor.c440
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/cpupower-monitor.h68
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/idle_monitors.def7
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/idle_monitors.h18
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/mperf_monitor.c338
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/nhm_idle.c216
-rw-r--r--ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/snb_idle.c190
-rwxr-xr-xANDROID_3.4.5/tools/power/cpupower/utils/version-gen.sh35
68 files changed, 0 insertions, 14001 deletions
diff --git a/ANDROID_3.4.5/tools/power/cpupower/Makefile b/ANDROID_3.4.5/tools/power/cpupower/Makefile
deleted file mode 100644
index a93e06cf..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/Makefile
+++ /dev/null
@@ -1,301 +0,0 @@
-# Makefile for cpupower
-#
-# Copyright (C) 2005,2006 Dominik Brodowski <linux@dominikbrodowski.net>
-#
-# Based largely on the Makefile for udev by:
-#
-# Copyright (C) 2003,2004 Greg Kroah-Hartman <greg@kroah.com>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-OUTPUT=./
-ifeq ("$(origin O)", "command line")
- OUTPUT := $(O)/
-endif
-
-ifneq ($(OUTPUT),)
-# check that the output directory actually exists
-OUTDIR := $(shell cd $(OUTPUT) && /bin/pwd)
-$(if $(OUTDIR),, $(error output directory "$(OUTPUT)" does not exist))
-endif
-
-# --- CONFIGURATION BEGIN ---
-
-# Set the following to `true' to make a unstripped, unoptimized
-# binary. Leave this set to `false' for production use.
-DEBUG ?= true
-
-# make the build silent. Set this to something else to make it noisy again.
-V ?= false
-
-# Internationalization support (output in different languages).
-# Requires gettext.
-NLS ?= true
-
-# Set the following to 'true' to build/install the
-# cpufreq-bench benchmarking tool
-CPUFREQ_BENCH ?= true
-
-# Prefix to the directories we're installing to
-DESTDIR ?=
-
-# --- CONFIGURATION END ---
-
-
-
-# Package-related definitions. Distributions can modify the version
-# and _should_ modify the PACKAGE_BUGREPORT definition
-
-VERSION= $(shell ./utils/version-gen.sh)
-LIB_MAJ= 0.0.0
-LIB_MIN= 0
-
-PACKAGE = cpupower
-PACKAGE_BUGREPORT = cpufreq@vger.kernel.org
-LANGUAGES = de fr it cs pt
-
-
-# Directory definitions. These are default and most probably
-# do not need to be changed. Please note that DESTDIR is
-# added in front of any of them
-
-bindir ?= /usr/bin
-sbindir ?= /usr/sbin
-mandir ?= /usr/man
-includedir ?= /usr/include
-libdir ?= /usr/lib
-localedir ?= /usr/share/locale
-docdir ?= /usr/share/doc/packages/cpupower
-confdir ?= /etc/
-
-# Toolchain: what tools do we use, and what options do they need:
-
-CP = cp -fpR
-INSTALL = /usr/bin/install -c
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_SCRIPT = ${INSTALL_PROGRAM}
-
-# If you are running a cross compiler, you may want to set this
-# to something more interesting, like "arm-linux-". If you want
-# to compile vs uClibc, that can be done here as well.
-CROSS = #/usr/i386-linux-uclibc/usr/bin/i386-uclibc-
-CC = $(CROSS)gcc
-LD = $(CROSS)gcc
-AR = $(CROSS)ar
-STRIP = $(CROSS)strip
-RANLIB = $(CROSS)ranlib
-HOSTCC = gcc
-MKDIR = mkdir
-
-
-# Now we set up the build system
-#
-
-# set up PWD so that older versions of make will work with our build.
-PWD = $(shell pwd)
-
-GMO_FILES = ${shell for HLANG in ${LANGUAGES}; do echo $(OUTPUT)po/$$HLANG.gmo; done;}
-
-export CROSS CC AR STRIP RANLIB CFLAGS LDFLAGS LIB_OBJS
-
-# check if compiler option is supported
-cc-supports = ${shell if $(CC) ${1} -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; fi;}
-
-# use '-Os' optimization if available, else use -O2
-OPTIMIZATION := $(call cc-supports,-Os,-O2)
-
-WARNINGS := -Wall -Wchar-subscripts -Wpointer-arith -Wsign-compare
-WARNINGS += $(call cc-supports,-Wno-pointer-sign)
-WARNINGS += $(call cc-supports,-Wdeclaration-after-statement)
-WARNINGS += -Wshadow
-
-CFLAGS += -DVERSION=\"$(VERSION)\" -DPACKAGE=\"$(PACKAGE)\" \
- -DPACKAGE_BUGREPORT=\"$(PACKAGE_BUGREPORT)\" -D_GNU_SOURCE
-
-UTIL_OBJS = utils/helpers/amd.o utils/helpers/topology.o utils/helpers/msr.o \
- utils/helpers/sysfs.o utils/helpers/misc.o utils/helpers/cpuid.o \
- utils/helpers/pci.o utils/helpers/bitmask.o \
- utils/idle_monitor/nhm_idle.o utils/idle_monitor/snb_idle.o \
- utils/idle_monitor/amd_fam14h_idle.o utils/idle_monitor/cpuidle_sysfs.o \
- utils/idle_monitor/mperf_monitor.o utils/idle_monitor/cpupower-monitor.o \
- utils/cpupower.o utils/cpufreq-info.o utils/cpufreq-set.o \
- utils/cpupower-set.o utils/cpupower-info.o utils/cpuidle-info.o
-
-UTIL_SRC := $(UTIL_OBJS:.o=.c)
-
-UTIL_OBJS := $(addprefix $(OUTPUT),$(UTIL_OBJS))
-
-UTIL_HEADERS = utils/helpers/helpers.h utils/idle_monitor/cpupower-monitor.h \
- utils/helpers/bitmask.h \
- utils/idle_monitor/idle_monitors.h utils/idle_monitor/idle_monitors.def
-
-LIB_HEADERS = lib/cpufreq.h lib/sysfs.h
-LIB_SRC = lib/cpufreq.c lib/sysfs.c
-LIB_OBJS = lib/cpufreq.o lib/sysfs.o
-LIB_OBJS := $(addprefix $(OUTPUT),$(LIB_OBJS))
-
-CFLAGS += -pipe
-
-ifeq ($(strip $(NLS)),true)
- INSTALL_NLS += install-gmo
- COMPILE_NLS += create-gmo
- CFLAGS += -DNLS
-endif
-
-ifeq ($(strip $(CPUFREQ_BENCH)),true)
- INSTALL_BENCH += install-bench
- COMPILE_BENCH += compile-bench
-endif
-
-CFLAGS += $(WARNINGS)
-
-ifeq ($(strip $(V)),false)
- QUIET=@
- ECHO=@echo
-else
- QUIET=
- ECHO=@\#
-endif
-export QUIET ECHO
-
-# if DEBUG is enabled, then we do not strip or optimize
-ifeq ($(strip $(DEBUG)),true)
- CFLAGS += -O1 -g -DDEBUG
- STRIPCMD = /bin/true -Since_we_are_debugging
-else
- CFLAGS += $(OPTIMIZATION) -fomit-frame-pointer
- STRIPCMD = $(STRIP) -s --remove-section=.note --remove-section=.comment
-endif
-
-
-# the actual make rules
-
-all: libcpupower $(OUTPUT)cpupower $(COMPILE_NLS) $(COMPILE_BENCH)
-
-$(OUTPUT)lib/%.o: $(LIB_SRC) $(LIB_HEADERS)
- $(ECHO) " CC " $@
- $(QUIET) $(CC) $(CFLAGS) -fPIC -o $@ -c lib/$*.c
-
-$(OUTPUT)libcpupower.so.$(LIB_MAJ): $(LIB_OBJS)
- $(ECHO) " LD " $@
- $(QUIET) $(CC) -shared $(CFLAGS) $(LDFLAGS) -o $@ \
- -Wl,-soname,libcpupower.so.$(LIB_MIN) $(LIB_OBJS)
- @ln -sf $(@F) $(OUTPUT)libcpupower.so
- @ln -sf $(@F) $(OUTPUT)libcpupower.so.$(LIB_MIN)
-
-libcpupower: $(OUTPUT)libcpupower.so.$(LIB_MAJ)
-
-# Let all .o files depend on its .c file and all headers
-# Might be worth to put this into utils/Makefile at some point of time
-$(UTIL_OBJS): $(UTIL_HEADERS)
-
-$(OUTPUT)%.o: %.c
- $(ECHO) " CC " $@
- $(QUIET) $(CC) $(CFLAGS) -I./lib -I ./utils -o $@ -c $*.c
-
-$(OUTPUT)cpupower: $(UTIL_OBJS) $(OUTPUT)libcpupower.so.$(LIB_MAJ)
- $(ECHO) " CC " $@
- $(QUIET) $(CC) $(CFLAGS) $(LDFLAGS) $(UTIL_OBJS) -lcpupower -lrt -lpci -L$(OUTPUT) -o $@
- $(QUIET) $(STRIPCMD) $@
-
-$(OUTPUT)po/$(PACKAGE).pot: $(UTIL_SRC)
- $(ECHO) " GETTEXT " $@
- $(QUIET) xgettext --default-domain=$(PACKAGE) --add-comments \
- --keyword=_ --keyword=N_ $(UTIL_SRC) -p $(@D) -o $(@F)
-
-$(OUTPUT)po/%.gmo: po/%.po
- $(ECHO) " MSGFMT " $@
- $(QUIET) msgfmt -o $@ po/$*.po
-
-create-gmo: ${GMO_FILES}
-
-update-po: $(OUTPUT)po/$(PACKAGE).pot
- $(ECHO) " MSGMRG " $@
- $(QUIET) @for HLANG in $(LANGUAGES); do \
- echo -n "Updating $$HLANG "; \
- if msgmerge po/$$HLANG.po $< -o \
- $(OUTPUT)po/$$HLANG.new.po; then \
- mv -f $(OUTPUT)po/$$HLANG.new.po $(OUTPUT)po/$$HLANG.po; \
- else \
- echo "msgmerge for $$HLANG failed!"; \
- rm -f $(OUTPUT)po/$$HLANG.new.po; \
- fi; \
- done;
-
-compile-bench: $(OUTPUT)libcpupower.so.$(LIB_MAJ)
- @V=$(V) confdir=$(confdir) $(MAKE) -C bench O=$(OUTPUT)
-
-# we compile into subdirectories. if the target directory is not the
-# source directory, they might not exists. So we depend the various
-# files onto their directories.
-DIRECTORY_DEPS = $(LIB_OBJS) $(UTIL_OBJS) $(GMO_FILES)
-$(DIRECTORY_DEPS): | $(sort $(dir $(DIRECTORY_DEPS)))
-
-# In the second step, we make a rule to actually create these directories
-$(sort $(dir $(DIRECTORY_DEPS))):
- $(ECHO) " MKDIR " $@
- $(QUIET) $(MKDIR) -p $@ 2>/dev/null
-
-clean:
- -find $(OUTPUT) \( -not -type d \) -and \( -name '*~' -o -name '*.[oas]' \) -type f -print \
- | xargs rm -f
- -rm -f $(OUTPUT)cpupower
- -rm -f $(OUTPUT)libcpupower.so*
- -rm -rf $(OUTPUT)po/*.{gmo,pot}
- $(MAKE) -C bench O=$(OUTPUT) clean
-
-
-install-lib:
- $(INSTALL) -d $(DESTDIR)${libdir}
- $(CP) $(OUTPUT)libcpupower.so* $(DESTDIR)${libdir}/
- $(INSTALL) -d $(DESTDIR)${includedir}
- $(INSTALL_DATA) lib/cpufreq.h $(DESTDIR)${includedir}/cpufreq.h
-
-install-tools:
- $(INSTALL) -d $(DESTDIR)${bindir}
- $(INSTALL_PROGRAM) $(OUTPUT)cpupower $(DESTDIR)${bindir}
-
-install-man:
- $(INSTALL_DATA) -D man/cpupower.1 $(DESTDIR)${mandir}/man1/cpupower.1
- $(INSTALL_DATA) -D man/cpupower-frequency-set.1 $(DESTDIR)${mandir}/man1/cpupower-frequency-set.1
- $(INSTALL_DATA) -D man/cpupower-frequency-info.1 $(DESTDIR)${mandir}/man1/cpupower-frequency-info.1
- $(INSTALL_DATA) -D man/cpupower-set.1 $(DESTDIR)${mandir}/man1/cpupower-set.1
- $(INSTALL_DATA) -D man/cpupower-info.1 $(DESTDIR)${mandir}/man1/cpupower-info.1
- $(INSTALL_DATA) -D man/cpupower-monitor.1 $(DESTDIR)${mandir}/man1/cpupower-monitor.1
-
-install-gmo:
- $(INSTALL) -d $(DESTDIR)${localedir}
- for HLANG in $(LANGUAGES); do \
- echo '$(INSTALL_DATA) -D $(OUTPUT)po/$$HLANG.gmo $(DESTDIR)${localedir}/$$HLANG/LC_MESSAGES/cpupower.mo'; \
- $(INSTALL_DATA) -D $(OUTPUT)po/$$HLANG.gmo $(DESTDIR)${localedir}/$$HLANG/LC_MESSAGES/cpupower.mo; \
- done;
-
-install-bench:
- @#DESTDIR must be set from outside to survive
- @sbindir=$(sbindir) bindir=$(bindir) docdir=$(docdir) confdir=$(confdir) $(MAKE) -C bench O=$(OUTPUT) install
-
-install: all install-lib install-tools install-man $(INSTALL_NLS) $(INSTALL_BENCH)
-
-uninstall:
- - rm -f $(DESTDIR)${libdir}/libcpupower.*
- - rm -f $(DESTDIR)${includedir}/cpufreq.h
- - rm -f $(DESTDIR)${bindir}/utils/cpupower
- - rm -f $(DESTDIR)${mandir}/man1/cpufreq-set.1
- - rm -f $(DESTDIR)${mandir}/man1/cpufreq-info.1
- - for HLANG in $(LANGUAGES); do \
- rm -f $(DESTDIR)${localedir}/$$HLANG/LC_MESSAGES/cpupower.mo; \
- done;
-
-.PHONY: all utils libcpupower update-po create-gmo install-lib install-tools install-man install-gmo install uninstall clean
diff --git a/ANDROID_3.4.5/tools/power/cpupower/README b/ANDROID_3.4.5/tools/power/cpupower/README
deleted file mode 100644
index fd9d4c0d..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/README
+++ /dev/null
@@ -1,49 +0,0 @@
-The cpufrequtils package (homepage:
-http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils.html )
-consists of the following elements:
-
-requirements
-------------
-
-On x86 pciutils is needed at runtime (-lpci).
-For compilation pciutils-devel (pci/pci.h) and a gcc version
-providing cpuid.h is needed.
-For both it's not explicitly checked for (yet).
-
-
-libcpufreq
-----------
-
-"libcpufreq" is a library which offers a unified access method for userspace
-tools and programs to the cpufreq core and drivers in the Linux kernel. This
-allows for code reduction in userspace tools, a clean implementation of
-the interaction to the cpufreq core, and support for both the sysfs and proc
-interfaces [depending on configuration, see below].
-
-
-compilation and installation
-----------------------------
-
-make
-su
-make install
-
-should suffice on most systems. It builds default libcpufreq,
-cpufreq-set and cpufreq-info files and installs them in /usr/lib and
-/usr/bin, respectively. If you want to set up the paths differently and/or
-want to configure the package to your specific needs, you need to open
-"Makefile" with an editor of your choice and edit the block marked
-CONFIGURATION.
-
-
-THANKS
-------
-Many thanks to Mattia Dongili who wrote the autotoolization and
-libtoolization, the manpages and the italian language file for cpufrequtils;
-to Dave Jones for his feedback and his dump_psb tool; to Bruno Ducrot for his
-powernow-k8-decode and intel_gsic tools as well as the french language file;
-and to various others commenting on the previous (pre-)releases of
-cpufrequtils.
-
-
- Dominik Brodowski
diff --git a/ANDROID_3.4.5/tools/power/cpupower/ToDo b/ANDROID_3.4.5/tools/power/cpupower/ToDo
deleted file mode 100644
index 874b78b5..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/ToDo
+++ /dev/null
@@ -1,11 +0,0 @@
-ToDos sorted by priority:
-
-- Use bitmask functions to parse CPU topology more robust
- (current implementation has issues on AMD)
-- Try to read out boost states and frequencies on Intel
-- Adjust README
-- Somewhere saw the ability to read power consumption of
- RAM from HW on Intel SandyBridge -> another monitor?
-- Add another c1e debug idle monitor
- -> Is by design racy with BIOS, but could be added
- with a --force option and some "be careful" messages
diff --git a/ANDROID_3.4.5/tools/power/cpupower/bench/Makefile b/ANDROID_3.4.5/tools/power/cpupower/bench/Makefile
deleted file mode 100644
index 7ec7021a..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/bench/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-OUTPUT := ./
-ifeq ("$(origin O)", "command line")
-ifneq ($(O),)
- OUTPUT := $(O)/
-endif
-endif
-
-LIBS = -L../ -L$(OUTPUT) -lm -lcpupower
-
-OBJS = $(OUTPUT)main.o $(OUTPUT)parse.o $(OUTPUT)system.o $(OUTPUT)benchmark.o
-CFLAGS += -D_GNU_SOURCE -I../lib -DDEFAULT_CONFIG_FILE=\"$(confdir)/cpufreq-bench.conf\"
-
-$(OUTPUT)%.o : %.c
- $(ECHO) " CC " $@
- $(QUIET) $(CC) -c $(CFLAGS) $< -o $@
-
-$(OUTPUT)cpufreq-bench: $(OBJS)
- $(ECHO) " CC " $@
- $(QUIET) $(CC) -o $@ $(CFLAGS) $(OBJS) $(LIBS)
-
-all: $(OUTPUT)cpufreq-bench
-
-install:
- mkdir -p $(DESTDIR)/$(sbindir)
- mkdir -p $(DESTDIR)/$(bindir)
- mkdir -p $(DESTDIR)/$(docdir)
- mkdir -p $(DESTDIR)/$(confdir)
- install -m 755 $(OUTPUT)cpufreq-bench $(DESTDIR)/$(sbindir)/cpufreq-bench
- install -m 755 cpufreq-bench_plot.sh $(DESTDIR)/$(bindir)/cpufreq-bench_plot.sh
- install -m 644 README-BENCH $(DESTDIR)/$(docdir)/README-BENCH
- install -m 755 cpufreq-bench_script.sh $(DESTDIR)/$(docdir)/cpufreq-bench_script.sh
- install -m 644 example.cfg $(DESTDIR)/$(confdir)/cpufreq-bench.conf
-
-clean:
- rm -f $(OUTPUT)*.o
- rm -f $(OUTPUT)cpufreq-bench
diff --git a/ANDROID_3.4.5/tools/power/cpupower/bench/README-BENCH b/ANDROID_3.4.5/tools/power/cpupower/bench/README-BENCH
deleted file mode 100644
index 8093ec73..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/bench/README-BENCH
+++ /dev/null
@@ -1,124 +0,0 @@
-This is cpufreq-bench, a microbenchmark for the cpufreq framework.
-
-Purpose
-=======
-
-What is this benchmark for:
- - Identify worst case performance loss when doing dynamic frequency
- scaling using Linux kernel governors
- - Identify average reaction time of a governor to CPU load changes
- - (Stress) Testing whether a cpufreq low level driver or governor works
- as expected
- - Identify cpufreq related performance regressions between kernels
- - Possibly Real time priority testing? -> what happens if there are
- processes with a higher prio than the governor's kernel thread
- - ...
-
-What this benchmark does *not* cover:
- - Power saving related regressions (In fact as better the performance
- throughput is, the worse the power savings will be, but the first should
- mostly count more...)
- - Real world (workloads)
-
-
-Description
-===========
-
-cpufreq-bench helps to test the condition of a given cpufreq governor.
-For that purpose, it compares the performance governor to a configured
-powersave module.
-
-
-How it works
-============
-You can specify load (100% CPU load) and sleep (0% CPU load) times in us which
-will be run X time in a row (cycles):
-
- sleep=25000
- load=25000
- cycles=20
-
-This part of the configuration file will create 25ms load/sleep turns,
-repeated 20 times.
-
-Adding this:
- sleep_step=25000
- load_step=25000
- rounds=5
-Will increase load and sleep time by 25ms 5 times.
-Together you get following test:
-25ms load/sleep time repeated 20 times (cycles).
-50ms load/sleep time repeated 20 times (cycles).
-..
-100ms load/sleep time repeated 20 times (cycles).
-
-First it is calibrated how long a specific CPU intensive calculation
-takes on this machine and needs to be run in a loop using the performance
-governor.
-Then the above test runs are processed using the performance governor
-and the governor to test. The time the calculation really needed
-with the dynamic freq scaling governor is compared with the time needed
-on full performance and you get the overall performance loss.
-
-
-Example of expected results with ondemand governor:
-
-This shows expected results of the first two test run rounds from
-above config, you there have:
-
-100% CPU load (load) | 0 % CPU load (sleep) | round
- 25 ms | 25 ms | 1
- 50 ms | 50 ms | 2
-
-For example if ondemand governor is configured to have a 50ms
-sampling rate you get:
-
-In round 1, ondemand should have rather static 50% load and probably
-won't ever switch up (as long as up_threshold is above).
-
-In round 2, if the ondemand sampling times exactly match the load/sleep
-trigger of the cpufreq-bench, you will see no performance loss (compare with
-below possible ondemand sample kick ins (1)):
-
-But if ondemand always kicks in in the middle of the load sleep cycles, it
-will always see 50% loads and you get worst performance impact never
-switching up (compare with below possible ondemand sample kick ins (2))::
-
- 50 50 50 50ms ->time
-load -----| |-----| |-----| |-----|
- | | | | | | |
-sleep |-----| |-----| |-----| |----
- |-----|-----|-----|-----|-----|-----|-----|---- ondemand sampling (1)
- 100 0 100 0 100 0 100 load seen by ondemand(%)
- |-----|-----|-----|-----|-----|-----|-----|-- ondemand sampling (2)
- 50 50 50 50 50 50 50 load seen by ondemand(%)
-
-You can easily test all kind of load/sleep times and check whether your
-governor in average behaves as expected.
-
-
-ToDo
-====
-
-Provide a gnuplot utility script for easy generation of plots to present
-the outcome nicely.
-
-
-cpufreq-bench Command Usage
-===========================
--l, --load=<long int> initial load time in us
--s, --sleep=<long int> initial sleep time in us
--x, --load-step=<long int> time to be added to load time, in us
--y, --sleep-step=<long int> time to be added to sleep time, in us
--c, --cpu=<unsigned int> CPU Number to use, starting at 0
--p, --prio=<priority> scheduler priority, HIGH, LOW or DEFAULT
--g, --governor=<governor> cpufreq governor to test
--n, --cycles=<int> load/sleep cycles to get an avarage value to compare
--r, --rounds<int> load/sleep rounds
--f, --file=<configfile> config file to use
--o, --output=<dir> output dir, must exist
--v, --verbose verbose output on/off
-
-Due to the high priority, the application may not be responsible for some time.
-After the benchmark, the logfile is saved in OUTPUTDIR/benchmark_TIMESTAMP.log
-
diff --git a/ANDROID_3.4.5/tools/power/cpupower/bench/benchmark.c b/ANDROID_3.4.5/tools/power/cpupower/bench/benchmark.c
deleted file mode 100644
index 81b1c486..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/bench/benchmark.c
+++ /dev/null
@@ -1,194 +0,0 @@
-/* cpufreq-bench CPUFreq microbenchmark
- *
- * Copyright (C) 2008 Christian Kornacker <ckornacker@suse.de>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#include <stdio.h>
-#include <unistd.h>
-#include <math.h>
-
-#include "config.h"
-#include "system.h"
-#include "benchmark.h"
-
-/* Print out progress if we log into a file */
-#define show_progress(total_time, progress_time) \
-if (config->output != stdout) { \
- fprintf(stdout, "Progress: %02lu %%\r", \
- (progress_time * 100) / total_time); \
- fflush(stdout); \
-}
-
-/**
- * compute how many rounds of calculation we should do
- * to get the given load time
- *
- * @param load aimed load time in µs
- *
- * @retval rounds of calculation
- **/
-
-unsigned int calculate_timespace(long load, struct config *config)
-{
- int i;
- long long now, then;
- unsigned int estimated = GAUGECOUNT;
- unsigned int rounds = 0;
- unsigned int timed = 0;
-
- if (config->verbose)
- printf("calibrating load of %lius, please wait...\n", load);
-
- /* get the initial calculation time for a specific number of rounds */
- now = get_time();
- ROUNDS(estimated);
- then = get_time();
-
- timed = (unsigned int)(then - now);
-
- /* approximation of the wanted load time by comparing with the
- * initial calculation time */
- for (i = 0; i < 4; i++) {
- rounds = (unsigned int)(load * estimated / timed);
- dprintf("calibrating with %u rounds\n", rounds);
- now = get_time();
- ROUNDS(rounds);
- then = get_time();
-
- timed = (unsigned int)(then - now);
- estimated = rounds;
- }
- if (config->verbose)
- printf("calibration done\n");
-
- return estimated;
-}
-
-/**
- * benchmark
- * generates a specific sleep an load time with the performance
- * governor and compares the used time for same calculations done
- * with the configured powersave governor
- *
- * @param config config values for the benchmark
- *
- **/
-
-void start_benchmark(struct config *config)
-{
- unsigned int _round, cycle;
- long long now, then;
- long sleep_time = 0, load_time = 0;
- long performance_time = 0, powersave_time = 0;
- unsigned int calculations;
- unsigned long total_time = 0, progress_time = 0;
-
- sleep_time = config->sleep;
- load_time = config->load;
-
- /* For the progress bar */
- for (_round = 1; _round <= config->rounds; _round++)
- total_time += _round * (config->sleep + config->load);
- total_time *= 2; /* powersave and performance cycles */
-
- for (_round = 0; _round < config->rounds; _round++) {
- performance_time = 0LL;
- powersave_time = 0LL;
-
- show_progress(total_time, progress_time);
-
- /* set the cpufreq governor to "performance" which disables
- * P-State switching. */
- if (set_cpufreq_governor("performance", config->cpu) != 0)
- return;
-
- /* calibrate the calculation time. the resulting calculation
- * _rounds should produce a load which matches the configured
- * load time */
- calculations = calculate_timespace(load_time, config);
-
- if (config->verbose)
- printf("_round %i: doing %u cycles with %u calculations"
- " for %lius\n", _round + 1, config->cycles,
- calculations, load_time);
-
- fprintf(config->output, "%u %li %li ",
- _round, load_time, sleep_time);
-
- if (config->verbose)
- printf("avarage: %lius, rps:%li\n",
- load_time / calculations,
- 1000000 * calculations / load_time);
-
- /* do some sleep/load cycles with the performance governor */
- for (cycle = 0; cycle < config->cycles; cycle++) {
- now = get_time();
- usleep(sleep_time);
- ROUNDS(calculations);
- then = get_time();
- performance_time += then - now - sleep_time;
- if (config->verbose)
- printf("performance cycle took %lius, "
- "sleep: %lius, "
- "load: %lius, rounds: %u\n",
- (long)(then - now), sleep_time,
- load_time, calculations);
- }
- fprintf(config->output, "%li ",
- performance_time / config->cycles);
-
- progress_time += sleep_time + load_time;
- show_progress(total_time, progress_time);
-
- /* set the powersave governor which activates P-State switching
- * again */
- if (set_cpufreq_governor(config->governor, config->cpu) != 0)
- return;
-
- /* again, do some sleep/load cycles with the
- * powersave governor */
- for (cycle = 0; cycle < config->cycles; cycle++) {
- now = get_time();
- usleep(sleep_time);
- ROUNDS(calculations);
- then = get_time();
- powersave_time += then - now - sleep_time;
- if (config->verbose)
- printf("powersave cycle took %lius, "
- "sleep: %lius, "
- "load: %lius, rounds: %u\n",
- (long)(then - now), sleep_time,
- load_time, calculations);
- }
-
- progress_time += sleep_time + load_time;
-
- /* compare the avarage sleep/load cycles */
- fprintf(config->output, "%li ",
- powersave_time / config->cycles);
- fprintf(config->output, "%.3f\n",
- performance_time * 100.0 / powersave_time);
- fflush(config->output);
-
- if (config->verbose)
- printf("performance is at %.2f%%\n",
- performance_time * 100.0 / powersave_time);
-
- sleep_time += config->sleep_step;
- load_time += config->load_step;
- }
-}
diff --git a/ANDROID_3.4.5/tools/power/cpupower/bench/benchmark.h b/ANDROID_3.4.5/tools/power/cpupower/bench/benchmark.h
deleted file mode 100644
index 51d7f50a..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/bench/benchmark.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* cpufreq-bench CPUFreq microbenchmark
- *
- * Copyright (C) 2008 Christian Kornacker <ckornacker@suse.de>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-/* load loop, this schould take about 1 to 2ms to complete */
-#define ROUNDS(x) {unsigned int rcnt; \
- for (rcnt = 0; rcnt < x*1000; rcnt++) { \
- (void)(((int)(pow(rcnt, rcnt) * \
- sqrt(rcnt*7230970)) ^ 7230716) ^ \
- (int)atan2(rcnt, rcnt)); \
- } } \
-
-
-void start_benchmark(struct config *config);
diff --git a/ANDROID_3.4.5/tools/power/cpupower/bench/config.h b/ANDROID_3.4.5/tools/power/cpupower/bench/config.h
deleted file mode 100644
index ee6f258e..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/bench/config.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* cpufreq-bench CPUFreq microbenchmark
- *
- * Copyright (C) 2008 Christian Kornacker <ckornacker@suse.de>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-/* initial loop count for the load calibration */
-#define GAUGECOUNT 1500
-
-/* default scheduling policy SCHED_OTHER */
-#define SCHEDULER SCHED_OTHER
-
-#define PRIORITY_DEFAULT 0
-#define PRIORITY_HIGH sched_get_priority_max(SCHEDULER)
-#define PRIORITY_LOW sched_get_priority_min(SCHEDULER)
-
-/* enable further debug messages */
-#ifdef DEBUG
-#define dprintf printf
-#else
-#define dprintf(...) do { } while (0)
-#endif
-
diff --git a/ANDROID_3.4.5/tools/power/cpupower/bench/cpufreq-bench_plot.sh b/ANDROID_3.4.5/tools/power/cpupower/bench/cpufreq-bench_plot.sh
deleted file mode 100644
index 410021a1..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/bench/cpufreq-bench_plot.sh
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/bin/bash
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
-
-# Author/Copyright(c): 2009, Thomas Renninger <trenn@suse.de>, Novell Inc.
-
-# Helper script to easily create nice plots of your cpufreq-bench results
-
-dir=`mktemp -d`
-output_file="cpufreq-bench.png"
-global_title="cpufreq-bench plot"
-picture_type="jpeg"
-file[0]=""
-
-function usage()
-{
- echo "cpufreq-bench_plot.sh [OPTIONS] logfile [measure_title] [logfile [measure_title]] ...]"
- echo
- echo "Options"
- echo " -o output_file"
- echo " -t global_title"
- echo " -p picture_type [jpeg|gif|png|postscript|...]"
- exit 1
-}
-
-if [ $# -eq 0 ];then
- echo "No benchmark results file provided"
- echo
- usage
-fi
-
-while getopts o:t:p: name ; do
- case $name in
- o)
- output_file="$OPTARG".$picture_type
- ;;
- t)
- global_title="$OPTARG"
- ;;
- p)
- picture_type="$OPTARG"
- ;;
- ?)
- usage
- ;;
- esac
-done
-shift $(($OPTIND -1))
-
-plots=0
-while [ "$1" ];do
- if [ ! -f "$1" ];then
- echo "File $1 does not exist"
- usage
- fi
- file[$plots]="$1"
- title[$plots]="$2"
- # echo "File: ${file[$plots]} - ${title[plots]}"
- shift;shift
- plots=$((plots + 1))
-done
-
-echo "set terminal $picture_type" >> $dir/plot_script.gpl
-echo "set output \"$output_file\"" >> $dir/plot_script.gpl
-echo "set title \"$global_title\"" >> $dir/plot_script.gpl
-echo "set xlabel \"sleep/load time\"" >> $dir/plot_script.gpl
-echo "set ylabel \"Performance (%)\"" >> $dir/plot_script.gpl
-
-for((plot=0;plot<$plots;plot++));do
-
- # Sanity check
- ###### I am to dump to get this redirected to stderr/stdout in one awk call... #####
- cat ${file[$plot]} |grep -v "^#" |awk '{if ($2 != $3) printf("Error in measure %d:Load time %s does not equal sleep time %s, plot will not be correct\n", $1, $2, $3); ERR=1}'
- ###### I am to dump to get this redirected in one awk call... #####
-
- # Parse out load time (which must be equal to sleep time for a plot), divide it by 1000
- # to get ms and parse out the performance in percentage and write it to a temp file for plotting
- cat ${file[$plot]} |grep -v "^#" |awk '{printf "%lu %.1f\n",$2/1000, $6}' >$dir/data_$plot
-
- if [ $plot -eq 0 ];then
- echo -n "plot " >> $dir/plot_script.gpl
- fi
- echo -n "\"$dir/data_$plot\" title \"${title[$plot]}\" with lines" >> $dir/plot_script.gpl
- if [ $(($plot + 1)) -ne $plots ];then
- echo -n ", " >> $dir/plot_script.gpl
- fi
-done
-echo >> $dir/plot_script.gpl
-
-gnuplot $dir/plot_script.gpl
-rm -r $dir \ No newline at end of file
diff --git a/ANDROID_3.4.5/tools/power/cpupower/bench/cpufreq-bench_script.sh b/ANDROID_3.4.5/tools/power/cpupower/bench/cpufreq-bench_script.sh
deleted file mode 100644
index de20d2a0..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/bench/cpufreq-bench_script.sh
+++ /dev/null
@@ -1,101 +0,0 @@
-#!/bin/bash
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
-
-# Author/Copyright(c): 2009, Thomas Renninger <trenn@suse.de>, Novell Inc.
-
-# Ondemand up_threshold and sampling rate test script for cpufreq-bench
-# mircobenchmark.
-# Modify the general variables at the top or extend or copy out parts
-# if you want to test other things
-#
-
-# Default with latest kernels is 95, before micro account patches
-# it was 80, cmp. with git commit 808009131046b62ac434dbc796
-UP_THRESHOLD="60 80 95"
-# Depending on the kernel and the HW sampling rate could be restricted
-# and cannot be set that low...
-# E.g. before git commit cef9615a853ebc4972084f7 one could only set
-# min sampling rate of 80000 if CONFIG_HZ=250
-SAMPLING_RATE="20000 80000"
-
-function measure()
-{
- local -i up_threshold_set
- local -i sampling_rate_set
-
- for up_threshold in $UP_THRESHOLD;do
- for sampling_rate in $SAMPLING_RATE;do
- # Set values in sysfs
- echo $up_threshold >/sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold
- echo $sampling_rate >/sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate
- up_threshold_set=$(cat /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold)
- sampling_rate_set=$(cat /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate)
-
- # Verify set values in sysfs
- if [ ${up_threshold_set} -eq ${up_threshold} ];then
- echo "up_threshold: $up_threshold, set in sysfs: ${up_threshold_set}"
- else
- echo "WARNING: Tried to set up_threshold: $up_threshold, set in sysfs: ${up_threshold_set}"
- fi
- if [ ${sampling_rate_set} -eq ${sampling_rate} ];then
- echo "sampling_rate: $sampling_rate, set in sysfs: ${sampling_rate_set}"
- else
- echo "WARNING: Tried to set sampling_rate: $sampling_rate, set in sysfs: ${sampling_rate_set}"
- fi
-
- # Benchmark
- cpufreq-bench -o /var/log/cpufreq-bench/up_threshold_${up_threshold}_sampling_rate_${sampling_rate}
- done
- done
-}
-
-function create_plots()
-{
- local command
-
- for up_threshold in $UP_THRESHOLD;do
- command="cpufreq-bench_plot.sh -o \"sampling_rate_${SAMPLING_RATE}_up_threshold_${up_threshold}\" -t \"Ondemand sampling_rate: ${SAMPLING_RATE} comparison - Up_threshold: $up_threshold %\""
- for sampling_rate in $SAMPLING_RATE;do
- command="${command} /var/log/cpufreq-bench/up_threshold_${up_threshold}_sampling_rate_${sampling_rate}/* \"sampling_rate = $sampling_rate\""
- done
- echo $command
- eval "$command"
- echo
- done
-
- for sampling_rate in $SAMPLING_RATE;do
- command="cpufreq-bench_plot.sh -o \"up_threshold_${UP_THRESHOLD}_sampling_rate_${sampling_rate}\" -t \"Ondemand up_threshold: ${UP_THRESHOLD} % comparison - sampling_rate: $sampling_rate\""
- for up_threshold in $UP_THRESHOLD;do
- command="${command} /var/log/cpufreq-bench/up_threshold_${up_threshold}_sampling_rate_${sampling_rate}/* \"up_threshold = $up_threshold\""
- done
- echo $command
- eval "$command"
- echo
- done
-
- command="cpufreq-bench_plot.sh -o \"up_threshold_${UP_THRESHOLD}_sampling_rate_${SAMPLING_RATE}\" -t \"Ondemand up_threshold: ${UP_THRESHOLD} and sampling_rate ${SAMPLING_RATE} comparison\""
- for sampling_rate in $SAMPLING_RATE;do
- for up_threshold in $UP_THRESHOLD;do
- command="${command} /var/log/cpufreq-bench/up_threshold_${up_threshold}_sampling_rate_${sampling_rate}/* \"up_threshold = $up_threshold - sampling_rate = $sampling_rate\""
- done
- done
- echo "$command"
- eval "$command"
-}
-
-measure
-create_plots \ No newline at end of file
diff --git a/ANDROID_3.4.5/tools/power/cpupower/bench/example.cfg b/ANDROID_3.4.5/tools/power/cpupower/bench/example.cfg
deleted file mode 100644
index f91f6436..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/bench/example.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-sleep = 50000
-load = 50000
-cpu = 0
-priority = LOW
-output = /var/log/cpufreq-bench
-sleep_step = 50000
-load_step = 50000
-cycles = 20
-rounds = 40
-verbose = 0
-governor = ondemand
diff --git a/ANDROID_3.4.5/tools/power/cpupower/bench/main.c b/ANDROID_3.4.5/tools/power/cpupower/bench/main.c
deleted file mode 100644
index 24910313..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/bench/main.c
+++ /dev/null
@@ -1,202 +0,0 @@
-/* cpufreq-bench CPUFreq microbenchmark
- *
- * Copyright (C) 2008 Christian Kornacker <ckornacker@suse.de>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <getopt.h>
-#include <errno.h>
-
-#include "config.h"
-#include "system.h"
-#include "benchmark.h"
-
-static struct option long_options[] = {
- {"output", 1, 0, 'o'},
- {"sleep", 1, 0, 's'},
- {"load", 1, 0, 'l'},
- {"verbose", 0, 0, 'v'},
- {"cpu", 1, 0, 'c'},
- {"governor", 1, 0, 'g'},
- {"prio", 1, 0, 'p'},
- {"file", 1, 0, 'f'},
- {"cycles", 1, 0, 'n'},
- {"rounds", 1, 0, 'r'},
- {"load-step", 1, 0, 'x'},
- {"sleep-step", 1, 0, 'y'},
- {"help", 0, 0, 'h'},
- {0, 0, 0, 0}
-};
-
-/*******************************************************************
- usage
-*******************************************************************/
-
-void usage()
-{
- printf("usage: ./bench\n");
- printf("Options:\n");
- printf(" -l, --load=<long int>\t\tinitial load time in us\n");
- printf(" -s, --sleep=<long int>\t\tinitial sleep time in us\n");
- printf(" -x, --load-step=<long int>\ttime to be added to load time, in us\n");
- printf(" -y, --sleep-step=<long int>\ttime to be added to sleep time, in us\n");
- printf(" -c, --cpu=<cpu #>\t\t\tCPU Nr. to use, starting at 0\n");
- printf(" -p, --prio=<priority>\t\t\tscheduler priority, HIGH, LOW or DEFAULT\n");
- printf(" -g, --governor=<governor>\t\tcpufreq governor to test\n");
- printf(" -n, --cycles=<int>\t\t\tload/sleep cycles\n");
- printf(" -r, --rounds<int>\t\t\tload/sleep rounds\n");
- printf(" -f, --file=<configfile>\t\tconfig file to use\n");
- printf(" -o, --output=<dir>\t\t\toutput path. Filename will be OUTPUTPATH/benchmark_TIMESTAMP.log\n");
- printf(" -v, --verbose\t\t\t\tverbose output on/off\n");
- printf(" -h, --help\t\t\t\tPrint this help screen\n");
- exit(1);
-}
-
-/*******************************************************************
- main
-*******************************************************************/
-
-int main(int argc, char **argv)
-{
- int c;
- int option_index = 0;
- struct config *config = NULL;
-
- config = prepare_default_config();
-
- if (config == NULL)
- return EXIT_FAILURE;
-
- while (1) {
- c = getopt_long (argc, argv, "hg:o:s:l:vc:p:f:n:r:x:y:",
- long_options, &option_index);
- if (c == -1)
- break;
-
- switch (c) {
- case 'o':
- if (config->output != NULL)
- fclose(config->output);
-
- config->output = prepare_output(optarg);
-
- if (config->output == NULL)
- return EXIT_FAILURE;
-
- dprintf("user output path -> %s\n", optarg);
- break;
- case 's':
- sscanf(optarg, "%li", &config->sleep);
- dprintf("user sleep time -> %s\n", optarg);
- break;
- case 'l':
- sscanf(optarg, "%li", &config->load);
- dprintf("user load time -> %s\n", optarg);
- break;
- case 'c':
- sscanf(optarg, "%u", &config->cpu);
- dprintf("user cpu -> %s\n", optarg);
- break;
- case 'g':
- strncpy(config->governor, optarg, 14);
- dprintf("user governor -> %s\n", optarg);
- break;
- case 'p':
- if (string_to_prio(optarg) != SCHED_ERR) {
- config->prio = string_to_prio(optarg);
- dprintf("user prio -> %s\n", optarg);
- } else {
- if (config != NULL) {
- if (config->output != NULL)
- fclose(config->output);
- free(config);
- }
- usage();
- }
- break;
- case 'n':
- sscanf(optarg, "%u", &config->cycles);
- dprintf("user cycles -> %s\n", optarg);
- break;
- case 'r':
- sscanf(optarg, "%u", &config->rounds);
- dprintf("user rounds -> %s\n", optarg);
- break;
- case 'x':
- sscanf(optarg, "%li", &config->load_step);
- dprintf("user load_step -> %s\n", optarg);
- break;
- case 'y':
- sscanf(optarg, "%li", &config->sleep_step);
- dprintf("user sleep_step -> %s\n", optarg);
- break;
- case 'f':
- if (prepare_config(optarg, config))
- return EXIT_FAILURE;
- break;
- case 'v':
- config->verbose = 1;
- dprintf("verbose output enabled\n");
- break;
- case 'h':
- case '?':
- default:
- if (config != NULL) {
- if (config->output != NULL)
- fclose(config->output);
- free(config);
- }
- usage();
- }
- }
-
- if (config->verbose) {
- printf("starting benchmark with parameters:\n");
- printf("config:\n\t"
- "sleep=%li\n\t"
- "load=%li\n\t"
- "sleep_step=%li\n\t"
- "load_step=%li\n\t"
- "cpu=%u\n\t"
- "cycles=%u\n\t"
- "rounds=%u\n\t"
- "governor=%s\n\n",
- config->sleep,
- config->load,
- config->sleep_step,
- config->load_step,
- config->cpu,
- config->cycles,
- config->rounds,
- config->governor);
- }
-
- prepare_user(config);
- prepare_system(config);
- start_benchmark(config);
-
- if (config->output != stdout)
- fclose(config->output);
-
- free(config);
-
- return EXIT_SUCCESS;
-}
-
diff --git a/ANDROID_3.4.5/tools/power/cpupower/bench/parse.c b/ANDROID_3.4.5/tools/power/cpupower/bench/parse.c
deleted file mode 100644
index 543bba14..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/bench/parse.c
+++ /dev/null
@@ -1,225 +0,0 @@
-/* cpufreq-bench CPUFreq microbenchmark
- *
- * Copyright (C) 2008 Christian Kornacker <ckornacker@suse.de>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <time.h>
-#include <dirent.h>
-
-#include <sys/utsname.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#include "parse.h"
-#include "config.h"
-
-/**
- * converts priority string to priority
- *
- * @param str string that represents a scheduler priority
- *
- * @retval priority
- * @retval SCHED_ERR when the priority doesn't exit
- **/
-
-enum sched_prio string_to_prio(const char *str)
-{
- if (strncasecmp("high", str, strlen(str)) == 0)
- return SCHED_HIGH;
- else if (strncasecmp("default", str, strlen(str)) == 0)
- return SCHED_DEFAULT;
- else if (strncasecmp("low", str, strlen(str)) == 0)
- return SCHED_LOW;
- else
- return SCHED_ERR;
-}
-
-/**
- * create and open logfile
- *
- * @param dir directory in which the logfile should be created
- *
- * @retval logfile on success
- * @retval NULL when the file can't be created
- **/
-
-FILE *prepare_output(const char *dirname)
-{
- FILE *output = NULL;
- int len;
- char *filename;
- struct utsname sysdata;
- DIR *dir;
-
- dir = opendir(dirname);
- if (dir == NULL) {
- if (mkdir(dirname, 0755)) {
- perror("mkdir");
- fprintf(stderr, "error: Cannot create dir %s\n",
- dirname);
- return NULL;
- }
- }
-
- len = strlen(dirname) + 30;
- filename = malloc(sizeof(char) * len);
-
- if (uname(&sysdata) == 0) {
- len += strlen(sysdata.nodename) + strlen(sysdata.release);
- filename = realloc(filename, sizeof(char) * len);
-
- if (filename == NULL) {
- perror("realloc");
- return NULL;
- }
-
- snprintf(filename, len - 1, "%s/benchmark_%s_%s_%li.log",
- dirname, sysdata.nodename, sysdata.release, time(NULL));
- } else {
- snprintf(filename, len - 1, "%s/benchmark_%li.log",
- dirname, time(NULL));
- }
-
- dprintf("logilename: %s\n", filename);
-
- output = fopen(filename, "w+");
- if (output == NULL) {
- perror("fopen");
- fprintf(stderr, "error: unable to open logfile\n");
- }
-
- fprintf(stdout, "Logfile: %s\n", filename);
-
- free(filename);
- fprintf(output, "#round load sleep performance powersave percentage\n");
- return output;
-}
-
-/**
- * returns the default config
- *
- * @retval default config on success
- * @retval NULL when the output file can't be created
- **/
-
-struct config *prepare_default_config()
-{
- struct config *config = malloc(sizeof(struct config));
-
- dprintf("loading defaults\n");
-
- config->sleep = 500000;
- config->load = 500000;
- config->sleep_step = 500000;
- config->load_step = 500000;
- config->cycles = 5;
- config->rounds = 50;
- config->cpu = 0;
- config->prio = SCHED_HIGH;
- config->verbose = 0;
- strncpy(config->governor, "ondemand", 8);
-
- config->output = stdout;
-
-#ifdef DEFAULT_CONFIG_FILE
- if (prepare_config(DEFAULT_CONFIG_FILE, config))
- return NULL;
-#endif
- return config;
-}
-
-/**
- * parses config file and returns the config to the caller
- *
- * @param path config file name
- *
- * @retval 1 on error
- * @retval 0 on success
- **/
-
-int prepare_config(const char *path, struct config *config)
-{
- size_t len = 0;
- char *opt, *val, *line = NULL;
- FILE *configfile = fopen(path, "r");
-
- if (config == NULL) {
- fprintf(stderr, "error: config is NULL\n");
- return 1;
- }
-
- if (configfile == NULL) {
- perror("fopen");
- fprintf(stderr, "error: unable to read configfile\n");
- free(config);
- return 1;
- }
-
- while (getline(&line, &len, configfile) != -1) {
- if (line[0] == '#' || line[0] == ' ')
- continue;
-
- sscanf(line, "%as = %as", &opt, &val);
-
- dprintf("parsing: %s -> %s\n", opt, val);
-
- if (strncmp("sleep", opt, strlen(opt)) == 0)
- sscanf(val, "%li", &config->sleep);
-
- else if (strncmp("load", opt, strlen(opt)) == 0)
- sscanf(val, "%li", &config->load);
-
- else if (strncmp("load_step", opt, strlen(opt)) == 0)
- sscanf(val, "%li", &config->load_step);
-
- else if (strncmp("sleep_step", opt, strlen(opt)) == 0)
- sscanf(val, "%li", &config->sleep_step);
-
- else if (strncmp("cycles", opt, strlen(opt)) == 0)
- sscanf(val, "%u", &config->cycles);
-
- else if (strncmp("rounds", opt, strlen(opt)) == 0)
- sscanf(val, "%u", &config->rounds);
-
- else if (strncmp("verbose", opt, strlen(opt)) == 0)
- sscanf(val, "%u", &config->verbose);
-
- else if (strncmp("output", opt, strlen(opt)) == 0)
- config->output = prepare_output(val);
-
- else if (strncmp("cpu", opt, strlen(opt)) == 0)
- sscanf(val, "%u", &config->cpu);
-
- else if (strncmp("governor", opt, 14) == 0)
- strncpy(config->governor, val, 14);
-
- else if (strncmp("priority", opt, strlen(opt)) == 0) {
- if (string_to_prio(val) != SCHED_ERR)
- config->prio = string_to_prio(val);
- }
- }
-
- free(line);
- free(opt);
- free(val);
-
- return 0;
-}
diff --git a/ANDROID_3.4.5/tools/power/cpupower/bench/parse.h b/ANDROID_3.4.5/tools/power/cpupower/bench/parse.h
deleted file mode 100644
index a8dc632d..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/bench/parse.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* cpufreq-bench CPUFreq microbenchmark
- *
- * Copyright (C) 2008 Christian Kornacker <ckornacker@suse.de>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-/* struct that holds the required config parameters */
-struct config
-{
- long sleep; /* sleep time in µs */
- long load; /* load time in µs */
- long sleep_step; /* time value which changes the
- * sleep time after every round in µs */
- long load_step; /* time value which changes the
- * load time after every round in µs */
- unsigned int cycles; /* calculation cycles with the same sleep/load time */
- unsigned int rounds; /* calculation rounds with iterated sleep/load time */
- unsigned int cpu; /* cpu for which the affinity is set */
- char governor[15]; /* cpufreq governor */
- enum sched_prio /* possible scheduler priorities */
- {
- SCHED_ERR = -1,
- SCHED_HIGH,
- SCHED_DEFAULT,
- SCHED_LOW
- } prio;
-
- unsigned int verbose; /* verbose output */
- FILE *output; /* logfile */
- char *output_filename; /* logfile name, must be freed at the end
- if output != NULL and output != stdout*/
-};
-
-enum sched_prio string_to_prio(const char *str);
-
-FILE *prepare_output(const char *dir);
-
-int prepare_config(const char *path, struct config *config);
-struct config *prepare_default_config();
-
diff --git a/ANDROID_3.4.5/tools/power/cpupower/bench/system.c b/ANDROID_3.4.5/tools/power/cpupower/bench/system.c
deleted file mode 100644
index f01e3f4b..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/bench/system.c
+++ /dev/null
@@ -1,191 +0,0 @@
-/* cpufreq-bench CPUFreq microbenchmark
- *
- * Copyright (C) 2008 Christian Kornacker <ckornacker@suse.de>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#include <stdio.h>
-#include <time.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-#include <sched.h>
-
-#include <cpufreq.h>
-
-#include "config.h"
-#include "system.h"
-
-/**
- * returns time since epoch in µs
- *
- * @retval time
- **/
-
-long long int get_time()
-{
- struct timeval now;
-
- gettimeofday(&now, NULL);
-
- return (long long int)(now.tv_sec * 1000000LL + now.tv_usec);
-}
-
-/**
- * sets the cpufreq governor
- *
- * @param governor cpufreq governor name
- * @param cpu cpu for which the governor should be set
- *
- * @retval 0 on success
- * @retval -1 when failed
- **/
-
-int set_cpufreq_governor(char *governor, unsigned int cpu)
-{
-
- dprintf("set %s as cpufreq governor\n", governor);
-
- if (cpufreq_cpu_exists(cpu) != 0) {
- perror("cpufreq_cpu_exists");
- fprintf(stderr, "error: cpu %u does not exist\n", cpu);
- return -1;
- }
-
- if (cpufreq_modify_policy_governor(cpu, governor) != 0) {
- perror("cpufreq_modify_policy_governor");
- fprintf(stderr, "error: unable to set %s governor\n", governor);
- return -1;
- }
-
- return 0;
-}
-
-/**
- * sets cpu affinity for the process
- *
- * @param cpu cpu# to which the affinity should be set
- *
- * @retval 0 on success
- * @retval -1 when setting the affinity failed
- **/
-
-int set_cpu_affinity(unsigned int cpu)
-{
- cpu_set_t cpuset;
-
- CPU_ZERO(&cpuset);
- CPU_SET(cpu, &cpuset);
-
- dprintf("set affinity to cpu #%u\n", cpu);
-
- if (sched_setaffinity(getpid(), sizeof(cpu_set_t), &cpuset) < 0) {
- perror("sched_setaffinity");
- fprintf(stderr, "warning: unable to set cpu affinity\n");
- return -1;
- }
-
- return 0;
-}
-
-/**
- * sets the process priority parameter
- *
- * @param priority priority value
- *
- * @retval 0 on success
- * @retval -1 when setting the priority failed
- **/
-
-int set_process_priority(int priority)
-{
- struct sched_param param;
-
- dprintf("set scheduler priority to %i\n", priority);
-
- param.sched_priority = priority;
-
- if (sched_setscheduler(0, SCHEDULER, &param) < 0) {
- perror("sched_setscheduler");
- fprintf(stderr, "warning: unable to set scheduler priority\n");
- return -1;
- }
-
- return 0;
-}
-
-/**
- * notifies the user that the benchmark may run some time
- *
- * @param config benchmark config values
- *
- **/
-
-void prepare_user(const struct config *config)
-{
- unsigned long sleep_time = 0;
- unsigned long load_time = 0;
- unsigned int round;
-
- for (round = 0; round < config->rounds; round++) {
- sleep_time += 2 * config->cycles *
- (config->sleep + config->sleep_step * round);
- load_time += 2 * config->cycles *
- (config->load + config->load_step * round) +
- (config->load + config->load_step * round * 4);
- }
-
- if (config->verbose || config->output != stdout)
- printf("approx. test duration: %im\n",
- (int)((sleep_time + load_time) / 60000000));
-}
-
-/**
- * sets up the cpu affinity and scheduler priority
- *
- * @param config benchmark config values
- *
- **/
-
-void prepare_system(const struct config *config)
-{
- if (config->verbose)
- printf("set cpu affinity to cpu #%u\n", config->cpu);
-
- set_cpu_affinity(config->cpu);
-
- switch (config->prio) {
- case SCHED_HIGH:
- if (config->verbose)
- printf("high priority condition requested\n");
-
- set_process_priority(PRIORITY_HIGH);
- break;
- case SCHED_LOW:
- if (config->verbose)
- printf("low priority condition requested\n");
-
- set_process_priority(PRIORITY_LOW);
- break;
- default:
- if (config->verbose)
- printf("default priority condition requested\n");
-
- set_process_priority(PRIORITY_DEFAULT);
- }
-}
-
diff --git a/ANDROID_3.4.5/tools/power/cpupower/bench/system.h b/ANDROID_3.4.5/tools/power/cpupower/bench/system.h
deleted file mode 100644
index 3a8c858b..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/bench/system.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* cpufreq-bench CPUFreq microbenchmark
- *
- * Copyright (C) 2008 Christian Kornacker <ckornacker@suse.de>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#include "parse.h"
-
-long long get_time();
-
-int set_cpufreq_governor(char *governor, unsigned int cpu);
-int set_cpu_affinity(unsigned int cpu);
-int set_process_priority(int priority);
-
-void prepare_user(const struct config *config);
-void prepare_system(const struct config *config);
diff --git a/ANDROID_3.4.5/tools/power/cpupower/debug/i386/Makefile b/ANDROID_3.4.5/tools/power/cpupower/debug/i386/Makefile
deleted file mode 100644
index 3ba158f0..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/debug/i386/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-OUTPUT=./
-ifeq ("$(origin O)", "command line")
- OUTPUT := $(O)/
-endif
-
-DESTDIR =
-bindir = /usr/bin
-
-INSTALL = /usr/bin/install
-
-
-default: all
-
-$(OUTPUT)centrino-decode: centrino-decode.c
- $(CC) $(CFLAGS) -o $@ centrino-decode.c
-
-$(OUTPUT)dump_psb: dump_psb.c
- $(CC) $(CFLAGS) -o $@ dump_psb.c
-
-$(OUTPUT)intel_gsic: intel_gsic.c
- $(CC) $(CFLAGS) -o $@ -llrmi intel_gsic.c
-
-$(OUTPUT)powernow-k8-decode: powernow-k8-decode.c
- $(CC) $(CFLAGS) -o $@ powernow-k8-decode.c
-
-all: $(OUTPUT)centrino-decode $(OUTPUT)dump_psb $(OUTPUT)intel_gsic $(OUTPUT)powernow-k8-decode
-
-clean:
- rm -rf $(OUTPUT){centrino-decode,dump_psb,intel_gsic,powernow-k8-decode}
-
-install:
- $(INSTALL) -d $(DESTDIR)${bindir}
- $(INSTALL) $(OUTPUT)centrino-decode $(DESTDIR)${bindir}
- $(INSTALL) $(OUTPUT)powernow-k8-decode $(DESTDIR)${bindir}
- $(INSTALL) $(OUTPUT)dump_psb $(DESTDIR)${bindir}
- $(INSTALL) $(OUTPUT)intel_gsic $(DESTDIR)${bindir}
-
-.PHONY: all default clean install
diff --git a/ANDROID_3.4.5/tools/power/cpupower/debug/i386/centrino-decode.c b/ANDROID_3.4.5/tools/power/cpupower/debug/i386/centrino-decode.c
deleted file mode 100644
index 7ef24cce..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/debug/i386/centrino-decode.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * (C) 2003 - 2004 Dominik Brodowski <linux@dominikbrodowski.de>
- *
- * Licensed under the terms of the GNU GPL License version 2.
- *
- * Based on code found in
- * linux/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c
- * and originally developed by Jeremy Fitzhardinge.
- *
- * USAGE: simply run it to decode the current settings on CPU 0,
- * or pass the CPU number as argument, or pass the MSR content
- * as argument.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <unistd.h>
-#include <errno.h>
-#include <fcntl.h>
-
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#define MCPU 32
-
-#define MSR_IA32_PERF_STATUS 0x198
-
-static int rdmsr(unsigned int cpu, unsigned int msr,
- unsigned int *lo, unsigned int *hi)
-{
- int fd;
- char file[20];
- unsigned long long val;
- int retval = -1;
-
- *lo = *hi = 0;
-
- if (cpu > MCPU)
- goto err1;
-
- sprintf(file, "/dev/cpu/%d/msr", cpu);
- fd = open(file, O_RDONLY);
-
- if (fd < 0)
- goto err1;
-
- if (lseek(fd, msr, SEEK_CUR) == -1)
- goto err2;
-
- if (read(fd, &val, 8) != 8)
- goto err2;
-
- *lo = (uint32_t )(val & 0xffffffffull);
- *hi = (uint32_t )(val>>32 & 0xffffffffull);
-
- retval = 0;
-err2:
- close(fd);
-err1:
- return retval;
-}
-
-static void decode (unsigned int msr)
-{
- unsigned int multiplier;
- unsigned int mv;
-
- multiplier = ((msr >> 8) & 0xFF);
-
- mv = (((msr & 0xFF) * 16) + 700);
-
- printf("0x%x means multiplier %d @ %d mV\n", msr, multiplier, mv);
-}
-
-static int decode_live(unsigned int cpu)
-{
- unsigned int lo, hi;
- int err;
-
- err = rdmsr(cpu, MSR_IA32_PERF_STATUS, &lo, &hi);
-
- if (err) {
- printf("can't get MSR_IA32_PERF_STATUS for cpu %d\n", cpu);
- printf("Possible trouble: you don't run an Enhanced SpeedStep capable cpu\n");
- printf("or you are not root, or the msr driver is not present\n");
- return 1;
- }
-
- decode(lo);
-
- return 0;
-}
-
-int main (int argc, char **argv)
-{
- unsigned int cpu, mode = 0;
-
- if (argc < 2)
- cpu = 0;
- else {
- cpu = strtoul(argv[1], NULL, 0);
- if (cpu >= MCPU)
- mode = 1;
- }
-
- if (mode)
- decode(cpu);
- else
- decode_live(cpu);
-
- return 0;
-}
diff --git a/ANDROID_3.4.5/tools/power/cpupower/debug/i386/dump_psb.c b/ANDROID_3.4.5/tools/power/cpupower/debug/i386/dump_psb.c
deleted file mode 100644
index 8d6a4751..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/debug/i386/dump_psb.c
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * dump_psb. (c) 2004, Dave Jones, Red Hat Inc.
- * Licensed under the GPL v2.
- */
-
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#define _GNU_SOURCE
-#include <getopt.h>
-
-#include <sys/mman.h>
-
-#define LEN (0x100000 - 0xc0000)
-#define OFFSET (0xc0000)
-
-#ifndef __packed
-#define __packed __attribute((packed))
-#endif
-
-static long relevant;
-
-static const int fid_to_mult[32] = {
- 110, 115, 120, 125, 50, 55, 60, 65,
- 70, 75, 80, 85, 90, 95, 100, 105,
- 30, 190, 40, 200, 130, 135, 140, 210,
- 150, 225, 160, 165, 170, 180, -1, -1,
-};
-
-static const int vid_to_voltage[32] = {
- 2000, 1950, 1900, 1850, 1800, 1750, 1700, 1650,
- 1600, 1550, 1500, 1450, 1400, 1350, 1300, 0,
- 1275, 1250, 1225, 1200, 1175, 1150, 1125, 1100,
- 1075, 1050, 1024, 1000, 975, 950, 925, 0,
-};
-
-struct psb_header {
- char signature[10];
- u_char version;
- u_char flags;
- u_short settlingtime;
- u_char res1;
- u_char numpst;
-} __packed;
-
-struct pst_header {
- u_int32_t cpuid;
- u_char fsb;
- u_char maxfid;
- u_char startvid;
- u_char numpstates;
-} __packed;
-
-static u_int fsb;
-static u_int sgtc;
-
-static int
-decode_pst(char *p, int npstates)
-{
- int i;
- int freq, fid, vid;
-
- for (i = 0; i < npstates; ++i) {
- fid = *p++;
- vid = *p++;
- freq = 100 * fid_to_mult[fid] * fsb;
-
- printf(" %2d %8dkHz FID %02x (%2d.%01d) VID %02x (%4dmV)\n",
- i,
- freq,
- fid, fid_to_mult[fid]/10, fid_to_mult[fid]%10,
- vid, vid_to_voltage[vid]);
- }
-
- return 0;
-}
-
-static
-void decode_psb(char *p, int numpst)
-{
- int i;
- struct psb_header *psb;
- struct pst_header *pst;
-
- psb = (struct psb_header*) p;
-
- if (psb->version != 0x12)
- return;
-
- printf("PSB version: %hhx flags: %hhx settling time %hhuus res1 %hhx num pst %hhu\n",
- psb->version,
- psb->flags,
- psb->settlingtime,
- psb->res1,
- psb->numpst);
- sgtc = psb->settlingtime * 100;
-
- if (sgtc < 10000)
- sgtc = 10000;
-
- p = ((char *) psb) + sizeof(struct psb_header);
-
- if (numpst < 0)
- numpst = psb->numpst;
- else
- printf("Overriding number of pst :%d\n", numpst);
-
- for (i = 0; i < numpst; i++) {
- pst = (struct pst_header*) p;
-
- if (relevant != 0) {
- if (relevant!= pst->cpuid)
- goto next_one;
- }
-
- printf(" PST %d cpuid %.3x fsb %hhu mfid %hhx svid %hhx numberstates %hhu\n",
- i+1,
- pst->cpuid,
- pst->fsb,
- pst->maxfid,
- pst->startvid,
- pst->numpstates);
-
- fsb = pst->fsb;
- decode_pst(p + sizeof(struct pst_header), pst->numpstates);
-
-next_one:
- p += sizeof(struct pst_header) + 2*pst->numpstates;
- }
-
-}
-
-static struct option info_opts[] = {
- {.name = "numpst", .has_arg=no_argument, .flag=NULL, .val='n'},
-};
-
-void print_help(void)
-{
- printf ("Usage: dump_psb [options]\n");
- printf ("Options:\n");
- printf (" -n, --numpst Set number of PST tables to scan\n");
- printf (" -r, --relevant Only display PSTs relevant to cpuid N\n");
-}
-
-int
-main(int argc, char *argv[])
-{
- int fd;
- int numpst=-1;
- int ret=0, cont=1;
- char *mem = NULL;
- char *p;
-
- do {
- ret = getopt_long(argc, argv, "hr:n:", info_opts, NULL);
- switch (ret){
- case '?':
- case 'h':
- print_help();
- cont = 0;
- break;
- case 'r':
- relevant = strtol(optarg, NULL, 16);
- break;
- case 'n':
- numpst = strtol(optarg, NULL, 10);
- break;
- case -1:
- cont = 0;
- break;
- }
-
- } while(cont);
-
- fd = open("/dev/mem", O_RDONLY);
- if (fd < 0) {
- printf ("Couldn't open /dev/mem. Are you root?\n");
- exit(1);
- }
-
- mem = mmap(mem, 0x100000 - 0xc0000, PROT_READ, MAP_SHARED, fd, 0xc0000);
- close(fd);
-
- for (p = mem; p - mem < LEN; p+=16) {
- if (memcmp(p, "AMDK7PNOW!", 10) == 0) {
- decode_psb(p, numpst);
- break;
- }
- }
-
- munmap(mem, LEN);
- return 0;
-}
diff --git a/ANDROID_3.4.5/tools/power/cpupower/debug/i386/intel_gsic.c b/ANDROID_3.4.5/tools/power/cpupower/debug/i386/intel_gsic.c
deleted file mode 100644
index 53f5293c..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/debug/i386/intel_gsic.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * (C) 2003 Bruno Ducrot
- * (C) 2004 Dominik Brodowski <linux@dominikbrodowski.de>
- *
- * Licensed under the terms of the GNU GPL License version 2.
- *
- * Based on code found in
- * linux/include/asm-i386/ist.h and linux/arch/i386/kernel/setup.c
- * and originally developed by Andy Grover <andrew.grover@intel.com>
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <lrmi.h>
-
-int main (void)
-{
- struct LRMI_regs r;
- int retval;
-
- if (!LRMI_init())
- return 0;
-
- memset(&r, 0, sizeof(r));
-
- r.eax = 0x0000E980;
- r.edx = 0x47534943;
-
- retval = LRMI_int(0x15, &r);
-
- if (!retval) {
- printf("Failed!\n");
- return 0;
- }
- if (r.eax == 0x47534943) {
- printf("BIOS supports GSIC call:\n");
- printf("\tsignature: %c%c%c%c\n",
- (r.eax >> 24) & 0xff,
- (r.eax >> 16) & 0xff,
- (r.eax >> 8) & 0xff,
- (r.eax) & 0xff);
- printf("\tcommand port = 0x%.4x\n",
- r.ebx & 0xffff);
- printf("\tcommand = 0x%.4x\n",
- (r.ebx >> 16) & 0xffff);
- printf("\tevent port = 0x%.8x\n", r.ecx);
- printf("\tflags = 0x%.8x\n", r.edx);
- if (((r.ebx >> 16) & 0xffff) != 0x82) {
- printf("non-default command value. If speedstep-smi "
- "doesn't work out of the box,\nyou may want to "
- "try out the default value by passing "
- "smi_cmd=0x82 to the module\n ON YOUR OWN "
- "RISK.\n");
- }
- if ((r.ebx & 0xffff) != 0xb2) {
- printf("non-default command port. If speedstep-smi "
- "doesn't work out of the box,\nyou may want to "
- "try out the default value by passing "
- "smi_port=0x82 to the module\n ON YOUR OWN "
- "RISK.\n");
- }
- } else {
- printf("BIOS DOES NOT support GSIC call. Dumping registers anyway:\n");
- printf("eax = 0x%.8x\n", r.eax);
- printf("ebx = 0x%.8x\n", r.ebx);
- printf("ecx = 0x%.8x\n", r.ecx);
- printf("edx = 0x%.8x\n", r.edx);
- printf("Note also that some BIOS do not support the initial "
- "GSIC call, but the newer\nspeeedstep-smi driver may "
- "work.\nFor this, you need to pass some arguments to "
- "the speedstep-smi driver:\n");
- printf("\tsmi_cmd=0x?? smi_port=0x?? smi_sig=1\n");
- printf("\nUnfortunately, you have to know what exactly are "
- "smi_cmd and smi_port, and this\nis system "
- "dependant.\n");
- }
- return 1;
-}
diff --git a/ANDROID_3.4.5/tools/power/cpupower/debug/i386/powernow-k8-decode.c b/ANDROID_3.4.5/tools/power/cpupower/debug/i386/powernow-k8-decode.c
deleted file mode 100644
index 638a6b3b..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/debug/i386/powernow-k8-decode.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * (C) 2004 Bruno Ducrot <ducrot@poupinou.org>
- *
- * Licensed under the terms of the GNU GPL License version 2.
- *
- * Based on code found in
- * linux/arch/i386/kernel/cpu/cpufreq/powernow-k8.c
- * and originally developed by Paul Devriendt
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <unistd.h>
-#include <errno.h>
-#include <fcntl.h>
-
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#define MCPU 32
-
-#define MSR_FIDVID_STATUS 0xc0010042
-
-#define MSR_S_HI_CURRENT_VID 0x0000001f
-#define MSR_S_LO_CURRENT_FID 0x0000003f
-
-static int get_fidvid(uint32_t cpu, uint32_t *fid, uint32_t *vid)
-{
- int err = 1;
- uint64_t msr = 0;
- int fd;
- char file[20];
-
- if (cpu > MCPU)
- goto out;
-
- sprintf(file, "/dev/cpu/%d/msr", cpu);
-
- fd = open(file, O_RDONLY);
- if (fd < 0)
- goto out;
- lseek(fd, MSR_FIDVID_STATUS, SEEK_CUR);
- if (read(fd, &msr, 8) != 8)
- goto err1;
-
- *fid = ((uint32_t )(msr & 0xffffffffull)) & MSR_S_LO_CURRENT_FID;
- *vid = ((uint32_t )(msr>>32 & 0xffffffffull)) & MSR_S_HI_CURRENT_VID;
- err = 0;
-err1:
- close(fd);
-out:
- return err;
-}
-
-
-/* Return a frequency in MHz, given an input fid */
-static uint32_t find_freq_from_fid(uint32_t fid)
-{
- return 800 + (fid * 100);
-}
-
-/* Return a voltage in miliVolts, given an input vid */
-static uint32_t find_millivolts_from_vid(uint32_t vid)
-{
- return 1550-vid*25;
-}
-
-int main (int argc, char *argv[])
-{
- int err;
- int cpu;
- uint32_t fid, vid;
-
- if (argc < 2)
- cpu = 0;
- else
- cpu = strtoul(argv[1], NULL, 0);
-
- err = get_fidvid(cpu, &fid, &vid);
-
- if (err) {
- printf("can't get fid, vid from MSR\n");
- printf("Possible trouble: you don't run a powernow-k8 capable cpu\n");
- printf("or you are not root, or the msr driver is not present\n");
- exit(1);
- }
-
-
- printf("cpu %d currently at %d MHz and %d mV\n",
- cpu,
- find_freq_from_fid(fid),
- find_millivolts_from_vid(vid));
-
- return 0;
-}
diff --git a/ANDROID_3.4.5/tools/power/cpupower/debug/kernel/Makefile b/ANDROID_3.4.5/tools/power/cpupower/debug/kernel/Makefile
deleted file mode 100644
index 96b146fe..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/debug/kernel/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-obj-m :=
-
-KDIR := /lib/modules/$(shell uname -r)/build
-PWD := $(shell pwd)
-KMISC := /lib/modules/$(shell uname -r)/cpufrequtils/
-
-ifeq ("$(CONFIG_X86_TSC)", "y")
- obj-m += cpufreq-test_tsc.o
-endif
-
-default:
- $(MAKE) -C $(KDIR) M=$(PWD)
-
-clean:
- - rm -rf *.o *.ko .tmp-versions .*.cmd .*.mod.* *.mod.c
- - rm -rf .tmp_versions* Module.symvers modules.order
-
-install: default
- install -d $(KMISC)
- install -m 644 -c *.ko $(KMISC)
- /sbin/depmod -a
-
-all: default
diff --git a/ANDROID_3.4.5/tools/power/cpupower/debug/kernel/cpufreq-test_tsc.c b/ANDROID_3.4.5/tools/power/cpupower/debug/kernel/cpufreq-test_tsc.c
deleted file mode 100644
index 66cace60..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/debug/kernel/cpufreq-test_tsc.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * test module to check whether the TSC-based delay routine continues
- * to work properly after cpufreq transitions. Needs ACPI to work
- * properly.
- *
- * Based partly on the Power Management Timer (PMTMR) code to be found
- * in arch/i386/kernel/timers/timer_pm.c on recent 2.6. kernels, especially
- * code written by John Stultz. The read_pmtmr function was copied verbatim
- * from that file.
- *
- * (C) 2004 Dominik Brodowski
- *
- * To use:
- * 1.) pass clock=tsc to the kernel on your bootloader
- * 2.) modprobe this module (it'll fail)
- * 3.) change CPU frequency
- * 4.) modprobe this module again
- * 5.) if the third value, "diff_pmtmr", changes between 2. and 4., the
- * TSC-based delay routine on the Linux kernel does not correctly
- * handle the cpufreq transition. Please report this to
- * cpufreq@vger.kernel.org
- */
-
-#include <linux/kernel.h>
-#include <linux/module.h>
-#include <linux/init.h>
-#include <linux/delay.h>
-
-#include <asm/io.h>
-
-#include <acpi/acpi_bus.h>
-#include <acpi/acpi_drivers.h>
-
-static int pm_tmr_ioport = 0;
-
-/*helper function to safely read acpi pm timesource*/
-static u32 read_pmtmr(void)
-{
- u32 v1=0,v2=0,v3=0;
- /* It has been reported that because of various broken
- * chipsets (ICH4, PIIX4 and PIIX4E) where the ACPI PM time
- * source is not latched, so you must read it multiple
- * times to insure a safe value is read.
- */
- do {
- v1 = inl(pm_tmr_ioport);
- v2 = inl(pm_tmr_ioport);
- v3 = inl(pm_tmr_ioport);
- } while ((v1 > v2 && v1 < v3) || (v2 > v3 && v2 < v1)
- || (v3 > v1 && v3 < v2));
-
- /* mask the output to 24 bits */
- return (v2 & 0xFFFFFF);
-}
-
-static int __init cpufreq_test_tsc(void)
-{
- u32 now, then, diff;
- u64 now_tsc, then_tsc, diff_tsc;
- int i;
-
- /* the following code snipped is copied from arch/x86/kernel/acpi/boot.c
- of Linux v2.6.25. */
-
- /* detect the location of the ACPI PM Timer */
- if (acpi_gbl_FADT.header.revision >= FADT2_REVISION_ID) {
- /* FADT rev. 2 */
- if (acpi_gbl_FADT.xpm_timer_block.space_id !=
- ACPI_ADR_SPACE_SYSTEM_IO)
- return 0;
-
- pm_tmr_ioport = acpi_gbl_FADT.xpm_timer_block.address;
- /*
- * "X" fields are optional extensions to the original V1.0
- * fields, so we must selectively expand V1.0 fields if the
- * corresponding X field is zero.
- */
- if (!pm_tmr_ioport)
- pm_tmr_ioport = acpi_gbl_FADT.pm_timer_block;
- } else {
- /* FADT rev. 1 */
- pm_tmr_ioport = acpi_gbl_FADT.pm_timer_block;
- }
-
- printk(KERN_DEBUG "start--> \n");
- then = read_pmtmr();
- rdtscll(then_tsc);
- for (i=0;i<20;i++) {
- mdelay(100);
- now = read_pmtmr();
- rdtscll(now_tsc);
- diff = (now - then) & 0xFFFFFF;
- diff_tsc = now_tsc - then_tsc;
- printk(KERN_DEBUG "t1: %08u t2: %08u diff_pmtmr: %08u diff_tsc: %016llu\n", then, now, diff, diff_tsc);
- then = now;
- then_tsc = now_tsc;
- }
- printk(KERN_DEBUG "<-- end \n");
- return -ENODEV;
-}
-
-static void __exit cpufreq_none(void)
-{
- return;
-}
-
-module_init(cpufreq_test_tsc)
-module_exit(cpufreq_none)
-
-
-MODULE_AUTHOR("Dominik Brodowski");
-MODULE_DESCRIPTION("Verify the TSC cpufreq notifier working correctly -- needs ACPI-enabled system");
-MODULE_LICENSE ("GPL");
diff --git a/ANDROID_3.4.5/tools/power/cpupower/debug/x86_64/Makefile b/ANDROID_3.4.5/tools/power/cpupower/debug/x86_64/Makefile
deleted file mode 100644
index 1c521452..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/debug/x86_64/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-OUTPUT=./
-ifeq ("$(origin O)", "command line")
- OUTPUT := $(O)/
-endif
-
-DESTDIR =
-bindir = /usr/bin
-
-INSTALL = /usr/bin/install
-
-
-default: all
-
-$(OUTPUT)centrino-decode: ../i386/centrino-decode.c
- $(CC) $(CFLAGS) -o $@ $<
-
-$(OUTPUT)powernow-k8-decode: ../i386/powernow-k8-decode.c
- $(CC) $(CFLAGS) -o $@ $<
-
-all: $(OUTPUT)centrino-decode $(OUTPUT)powernow-k8-decode
-
-clean:
- rm -rf $(OUTPUT)centrino-decode $(OUTPUT)powernow-k8-decode
-
-install:
- $(INSTALL) -d $(DESTDIR)${bindir}
- $(INSTALL) $(OUTPUT)centrino-decode $(DESTDIR)${bindir}
- $(INSTALL) $(OUTPUT)powernow-k8-decode $(DESTDIR)${bindir}
-
-.PHONY: all default clean install
diff --git a/ANDROID_3.4.5/tools/power/cpupower/lib/cpufreq.c b/ANDROID_3.4.5/tools/power/cpupower/lib/cpufreq.c
deleted file mode 100644
index d961101d..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/lib/cpufreq.c
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * (C) 2004-2009 Dominik Brodowski <linux@dominikbrodowski.de>
- *
- * Licensed under the terms of the GNU GPL License version 2.
- */
-
-
-#include <stdio.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "cpufreq.h"
-#include "sysfs.h"
-
-int cpufreq_cpu_exists(unsigned int cpu)
-{
- return sysfs_cpu_exists(cpu);
-}
-
-unsigned long cpufreq_get_freq_kernel(unsigned int cpu)
-{
- return sysfs_get_freq_kernel(cpu);
-}
-
-unsigned long cpufreq_get_freq_hardware(unsigned int cpu)
-{
- return sysfs_get_freq_hardware(cpu);
-}
-
-unsigned long cpufreq_get_transition_latency(unsigned int cpu)
-{
- return sysfs_get_freq_transition_latency(cpu);
-}
-
-int cpufreq_get_hardware_limits(unsigned int cpu,
- unsigned long *min,
- unsigned long *max)
-{
- if ((!min) || (!max))
- return -EINVAL;
- return sysfs_get_freq_hardware_limits(cpu, min, max);
-}
-
-char *cpufreq_get_driver(unsigned int cpu)
-{
- return sysfs_get_freq_driver(cpu);
-}
-
-void cpufreq_put_driver(char *ptr)
-{
- if (!ptr)
- return;
- free(ptr);
-}
-
-struct cpufreq_policy *cpufreq_get_policy(unsigned int cpu)
-{
- return sysfs_get_freq_policy(cpu);
-}
-
-void cpufreq_put_policy(struct cpufreq_policy *policy)
-{
- if ((!policy) || (!policy->governor))
- return;
-
- free(policy->governor);
- policy->governor = NULL;
- free(policy);
-}
-
-struct cpufreq_available_governors *cpufreq_get_available_governors(unsigned
- int cpu)
-{
- return sysfs_get_freq_available_governors(cpu);
-}
-
-void cpufreq_put_available_governors(struct cpufreq_available_governors *any)
-{
- struct cpufreq_available_governors *tmp, *next;
-
- if (!any)
- return;
-
- tmp = any->first;
- while (tmp) {
- next = tmp->next;
- if (tmp->governor)
- free(tmp->governor);
- free(tmp);
- tmp = next;
- }
-}
-
-
-struct cpufreq_available_frequencies
-*cpufreq_get_available_frequencies(unsigned int cpu)
-{
- return sysfs_get_available_frequencies(cpu);
-}
-
-void cpufreq_put_available_frequencies(struct cpufreq_available_frequencies
- *any) {
- struct cpufreq_available_frequencies *tmp, *next;
-
- if (!any)
- return;
-
- tmp = any->first;
- while (tmp) {
- next = tmp->next;
- free(tmp);
- tmp = next;
- }
-}
-
-
-struct cpufreq_affected_cpus *cpufreq_get_affected_cpus(unsigned int cpu)
-{
- return sysfs_get_freq_affected_cpus(cpu);
-}
-
-void cpufreq_put_affected_cpus(struct cpufreq_affected_cpus *any)
-{
- struct cpufreq_affected_cpus *tmp, *next;
-
- if (!any)
- return;
-
- tmp = any->first;
- while (tmp) {
- next = tmp->next;
- free(tmp);
- tmp = next;
- }
-}
-
-
-struct cpufreq_affected_cpus *cpufreq_get_related_cpus(unsigned int cpu)
-{
- return sysfs_get_freq_related_cpus(cpu);
-}
-
-void cpufreq_put_related_cpus(struct cpufreq_affected_cpus *any)
-{
- cpufreq_put_affected_cpus(any);
-}
-
-
-int cpufreq_set_policy(unsigned int cpu, struct cpufreq_policy *policy)
-{
- if (!policy || !(policy->governor))
- return -EINVAL;
-
- return sysfs_set_freq_policy(cpu, policy);
-}
-
-
-int cpufreq_modify_policy_min(unsigned int cpu, unsigned long min_freq)
-{
- return sysfs_modify_freq_policy_min(cpu, min_freq);
-}
-
-
-int cpufreq_modify_policy_max(unsigned int cpu, unsigned long max_freq)
-{
- return sysfs_modify_freq_policy_max(cpu, max_freq);
-}
-
-
-int cpufreq_modify_policy_governor(unsigned int cpu, char *governor)
-{
- if ((!governor) || (strlen(governor) > 19))
- return -EINVAL;
-
- return sysfs_modify_freq_policy_governor(cpu, governor);
-}
-
-int cpufreq_set_frequency(unsigned int cpu, unsigned long target_frequency)
-{
- return sysfs_set_frequency(cpu, target_frequency);
-}
-
-struct cpufreq_stats *cpufreq_get_stats(unsigned int cpu,
- unsigned long long *total_time)
-{
- return sysfs_get_freq_stats(cpu, total_time);
-}
-
-void cpufreq_put_stats(struct cpufreq_stats *any)
-{
- struct cpufreq_stats *tmp, *next;
-
- if (!any)
- return;
-
- tmp = any->first;
- while (tmp) {
- next = tmp->next;
- free(tmp);
- tmp = next;
- }
-}
-
-unsigned long cpufreq_get_transitions(unsigned int cpu)
-{
- return sysfs_get_freq_transitions(cpu);
-}
diff --git a/ANDROID_3.4.5/tools/power/cpupower/lib/cpufreq.h b/ANDROID_3.4.5/tools/power/cpupower/lib/cpufreq.h
deleted file mode 100644
index 3aae8e7a..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/lib/cpufreq.h
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * cpufreq.h - definitions for libcpufreq
- *
- * Copyright (C) 2004-2009 Dominik Brodowski <linux@dominikbrodowski.de>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#ifndef _CPUFREQ_H
-#define _CPUFREQ_H 1
-
-struct cpufreq_policy {
- unsigned long min;
- unsigned long max;
- char *governor;
-};
-
-struct cpufreq_available_governors {
- char *governor;
- struct cpufreq_available_governors *next;
- struct cpufreq_available_governors *first;
-};
-
-struct cpufreq_available_frequencies {
- unsigned long frequency;
- struct cpufreq_available_frequencies *next;
- struct cpufreq_available_frequencies *first;
-};
-
-
-struct cpufreq_affected_cpus {
- unsigned int cpu;
- struct cpufreq_affected_cpus *next;
- struct cpufreq_affected_cpus *first;
-};
-
-struct cpufreq_stats {
- unsigned long frequency;
- unsigned long long time_in_state;
- struct cpufreq_stats *next;
- struct cpufreq_stats *first;
-};
-
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * returns 0 if the specified CPU is present (it doesn't say
- * whether it is online!), and an error value if not.
- */
-
-extern int cpufreq_cpu_exists(unsigned int cpu);
-
-/* determine current CPU frequency
- * - _kernel variant means kernel's opinion of CPU frequency
- * - _hardware variant means actual hardware CPU frequency,
- * which is only available to root.
- *
- * returns 0 on failure, else frequency in kHz.
- */
-
-extern unsigned long cpufreq_get_freq_kernel(unsigned int cpu);
-
-extern unsigned long cpufreq_get_freq_hardware(unsigned int cpu);
-
-#define cpufreq_get(cpu) cpufreq_get_freq_kernel(cpu);
-
-
-/* determine CPU transition latency
- *
- * returns 0 on failure, else transition latency in 10^(-9) s = nanoseconds
- */
-extern unsigned long cpufreq_get_transition_latency(unsigned int cpu);
-
-
-/* determine hardware CPU frequency limits
- *
- * These may be limited further by thermal, energy or other
- * considerations by cpufreq policy notifiers in the kernel.
- */
-
-extern int cpufreq_get_hardware_limits(unsigned int cpu,
- unsigned long *min,
- unsigned long *max);
-
-
-/* determine CPUfreq driver used
- *
- * Remember to call cpufreq_put_driver when no longer needed
- * to avoid memory leakage, please.
- */
-
-extern char *cpufreq_get_driver(unsigned int cpu);
-
-extern void cpufreq_put_driver(char *ptr);
-
-
-/* determine CPUfreq policy currently used
- *
- * Remember to call cpufreq_put_policy when no longer needed
- * to avoid memory leakage, please.
- */
-
-
-extern struct cpufreq_policy *cpufreq_get_policy(unsigned int cpu);
-
-extern void cpufreq_put_policy(struct cpufreq_policy *policy);
-
-
-/* determine CPUfreq governors currently available
- *
- * may be modified by modprobe'ing or rmmod'ing other governors. Please
- * free allocated memory by calling cpufreq_put_available_governors
- * after use.
- */
-
-
-extern struct cpufreq_available_governors
-*cpufreq_get_available_governors(unsigned int cpu);
-
-extern void cpufreq_put_available_governors(
- struct cpufreq_available_governors *first);
-
-
-/* determine CPU frequency states available
- *
- * Only present on _some_ ->target() cpufreq drivers. For information purposes
- * only. Please free allocated memory by calling
- * cpufreq_put_available_frequencies after use.
- */
-
-extern struct cpufreq_available_frequencies
-*cpufreq_get_available_frequencies(unsigned int cpu);
-
-extern void cpufreq_put_available_frequencies(
- struct cpufreq_available_frequencies *first);
-
-
-/* determine affected CPUs
- *
- * Remember to call cpufreq_put_affected_cpus when no longer needed
- * to avoid memory leakage, please.
- */
-
-extern struct cpufreq_affected_cpus *cpufreq_get_affected_cpus(unsigned
- int cpu);
-
-extern void cpufreq_put_affected_cpus(struct cpufreq_affected_cpus *first);
-
-
-/* determine related CPUs
- *
- * Remember to call cpufreq_put_related_cpus when no longer needed
- * to avoid memory leakage, please.
- */
-
-extern struct cpufreq_affected_cpus *cpufreq_get_related_cpus(unsigned
- int cpu);
-
-extern void cpufreq_put_related_cpus(struct cpufreq_affected_cpus *first);
-
-
-/* determine stats for cpufreq subsystem
- *
- * This is not available in all kernel versions or configurations.
- */
-
-extern struct cpufreq_stats *cpufreq_get_stats(unsigned int cpu,
- unsigned long long *total_time);
-
-extern void cpufreq_put_stats(struct cpufreq_stats *stats);
-
-extern unsigned long cpufreq_get_transitions(unsigned int cpu);
-
-
-/* set new cpufreq policy
- *
- * Tries to set the passed policy as new policy as close as possible,
- * but results may differ depending e.g. on governors being available.
- */
-
-extern int cpufreq_set_policy(unsigned int cpu, struct cpufreq_policy *policy);
-
-
-/* modify a policy by only changing min/max freq or governor
- *
- * Does not check whether result is what was intended.
- */
-
-extern int cpufreq_modify_policy_min(unsigned int cpu, unsigned long min_freq);
-extern int cpufreq_modify_policy_max(unsigned int cpu, unsigned long max_freq);
-extern int cpufreq_modify_policy_governor(unsigned int cpu, char *governor);
-
-
-/* set a specific frequency
- *
- * Does only work if userspace governor can be used and no external
- * interference (other calls to this function or to set/modify_policy)
- * occurs. Also does not work on ->range() cpufreq drivers.
- */
-
-extern int cpufreq_set_frequency(unsigned int cpu,
- unsigned long target_frequency);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _CPUFREQ_H */
diff --git a/ANDROID_3.4.5/tools/power/cpupower/lib/sysfs.c b/ANDROID_3.4.5/tools/power/cpupower/lib/sysfs.c
deleted file mode 100644
index 870713a7..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/lib/sysfs.c
+++ /dev/null
@@ -1,672 +0,0 @@
-/*
- * (C) 2004-2009 Dominik Brodowski <linux@dominikbrodowski.de>
- *
- * Licensed under the terms of the GNU GPL License version 2.
- */
-
-#include <stdio.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-#include <limits.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-#include "cpufreq.h"
-
-#define PATH_TO_CPU "/sys/devices/system/cpu/"
-#define MAX_LINE_LEN 4096
-#define SYSFS_PATH_MAX 255
-
-
-static unsigned int sysfs_read_file(const char *path, char *buf, size_t buflen)
-{
- int fd;
- ssize_t numread;
-
- fd = open(path, O_RDONLY);
- if (fd == -1)
- return 0;
-
- numread = read(fd, buf, buflen - 1);
- if (numread < 1) {
- close(fd);
- return 0;
- }
-
- buf[numread] = '\0';
- close(fd);
-
- return (unsigned int) numread;
-}
-
-
-/* CPUFREQ sysfs access **************************************************/
-
-/* helper function to read file from /sys into given buffer */
-/* fname is a relative path under "cpuX/cpufreq" dir */
-static unsigned int sysfs_cpufreq_read_file(unsigned int cpu, const char *fname,
- char *buf, size_t buflen)
-{
- char path[SYSFS_PATH_MAX];
-
- snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/cpufreq/%s",
- cpu, fname);
- return sysfs_read_file(path, buf, buflen);
-}
-
-/* helper function to write a new value to a /sys file */
-/* fname is a relative path under "cpuX/cpufreq" dir */
-static unsigned int sysfs_cpufreq_write_file(unsigned int cpu,
- const char *fname,
- const char *value, size_t len)
-{
- char path[SYSFS_PATH_MAX];
- int fd;
- ssize_t numwrite;
-
- snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/cpufreq/%s",
- cpu, fname);
-
- fd = open(path, O_WRONLY);
- if (fd == -1)
- return 0;
-
- numwrite = write(fd, value, len);
- if (numwrite < 1) {
- close(fd);
- return 0;
- }
-
- close(fd);
-
- return (unsigned int) numwrite;
-}
-
-/* read access to files which contain one numeric value */
-
-enum cpufreq_value {
- CPUINFO_CUR_FREQ,
- CPUINFO_MIN_FREQ,
- CPUINFO_MAX_FREQ,
- CPUINFO_LATENCY,
- SCALING_CUR_FREQ,
- SCALING_MIN_FREQ,
- SCALING_MAX_FREQ,
- STATS_NUM_TRANSITIONS,
- MAX_CPUFREQ_VALUE_READ_FILES
-};
-
-static const char *cpufreq_value_files[MAX_CPUFREQ_VALUE_READ_FILES] = {
- [CPUINFO_CUR_FREQ] = "cpuinfo_cur_freq",
- [CPUINFO_MIN_FREQ] = "cpuinfo_min_freq",
- [CPUINFO_MAX_FREQ] = "cpuinfo_max_freq",
- [CPUINFO_LATENCY] = "cpuinfo_transition_latency",
- [SCALING_CUR_FREQ] = "scaling_cur_freq",
- [SCALING_MIN_FREQ] = "scaling_min_freq",
- [SCALING_MAX_FREQ] = "scaling_max_freq",
- [STATS_NUM_TRANSITIONS] = "stats/total_trans"
-};
-
-
-static unsigned long sysfs_cpufreq_get_one_value(unsigned int cpu,
- enum cpufreq_value which)
-{
- unsigned long value;
- unsigned int len;
- char linebuf[MAX_LINE_LEN];
- char *endp;
-
- if (which >= MAX_CPUFREQ_VALUE_READ_FILES)
- return 0;
-
- len = sysfs_cpufreq_read_file(cpu, cpufreq_value_files[which],
- linebuf, sizeof(linebuf));
-
- if (len == 0)
- return 0;
-
- value = strtoul(linebuf, &endp, 0);
-
- if (endp == linebuf || errno == ERANGE)
- return 0;
-
- return value;
-}
-
-/* read access to files which contain one string */
-
-enum cpufreq_string {
- SCALING_DRIVER,
- SCALING_GOVERNOR,
- MAX_CPUFREQ_STRING_FILES
-};
-
-static const char *cpufreq_string_files[MAX_CPUFREQ_STRING_FILES] = {
- [SCALING_DRIVER] = "scaling_driver",
- [SCALING_GOVERNOR] = "scaling_governor",
-};
-
-
-static char *sysfs_cpufreq_get_one_string(unsigned int cpu,
- enum cpufreq_string which)
-{
- char linebuf[MAX_LINE_LEN];
- char *result;
- unsigned int len;
-
- if (which >= MAX_CPUFREQ_STRING_FILES)
- return NULL;
-
- len = sysfs_cpufreq_read_file(cpu, cpufreq_string_files[which],
- linebuf, sizeof(linebuf));
- if (len == 0)
- return NULL;
-
- result = strdup(linebuf);
- if (result == NULL)
- return NULL;
-
- if (result[strlen(result) - 1] == '\n')
- result[strlen(result) - 1] = '\0';
-
- return result;
-}
-
-/* write access */
-
-enum cpufreq_write {
- WRITE_SCALING_MIN_FREQ,
- WRITE_SCALING_MAX_FREQ,
- WRITE_SCALING_GOVERNOR,
- WRITE_SCALING_SET_SPEED,
- MAX_CPUFREQ_WRITE_FILES
-};
-
-static const char *cpufreq_write_files[MAX_CPUFREQ_WRITE_FILES] = {
- [WRITE_SCALING_MIN_FREQ] = "scaling_min_freq",
- [WRITE_SCALING_MAX_FREQ] = "scaling_max_freq",
- [WRITE_SCALING_GOVERNOR] = "scaling_governor",
- [WRITE_SCALING_SET_SPEED] = "scaling_setspeed",
-};
-
-static int sysfs_cpufreq_write_one_value(unsigned int cpu,
- enum cpufreq_write which,
- const char *new_value, size_t len)
-{
- if (which >= MAX_CPUFREQ_WRITE_FILES)
- return 0;
-
- if (sysfs_cpufreq_write_file(cpu, cpufreq_write_files[which],
- new_value, len) != len)
- return -ENODEV;
-
- return 0;
-};
-
-unsigned long sysfs_get_freq_kernel(unsigned int cpu)
-{
- return sysfs_cpufreq_get_one_value(cpu, SCALING_CUR_FREQ);
-}
-
-unsigned long sysfs_get_freq_hardware(unsigned int cpu)
-{
- return sysfs_cpufreq_get_one_value(cpu, CPUINFO_CUR_FREQ);
-}
-
-unsigned long sysfs_get_freq_transition_latency(unsigned int cpu)
-{
- return sysfs_cpufreq_get_one_value(cpu, CPUINFO_LATENCY);
-}
-
-int sysfs_get_freq_hardware_limits(unsigned int cpu,
- unsigned long *min,
- unsigned long *max)
-{
- if ((!min) || (!max))
- return -EINVAL;
-
- *min = sysfs_cpufreq_get_one_value(cpu, CPUINFO_MIN_FREQ);
- if (!*min)
- return -ENODEV;
-
- *max = sysfs_cpufreq_get_one_value(cpu, CPUINFO_MAX_FREQ);
- if (!*max)
- return -ENODEV;
-
- return 0;
-}
-
-char *sysfs_get_freq_driver(unsigned int cpu)
-{
- return sysfs_cpufreq_get_one_string(cpu, SCALING_DRIVER);
-}
-
-struct cpufreq_policy *sysfs_get_freq_policy(unsigned int cpu)
-{
- struct cpufreq_policy *policy;
-
- policy = malloc(sizeof(struct cpufreq_policy));
- if (!policy)
- return NULL;
-
- policy->governor = sysfs_cpufreq_get_one_string(cpu, SCALING_GOVERNOR);
- if (!policy->governor) {
- free(policy);
- return NULL;
- }
- policy->min = sysfs_cpufreq_get_one_value(cpu, SCALING_MIN_FREQ);
- policy->max = sysfs_cpufreq_get_one_value(cpu, SCALING_MAX_FREQ);
- if ((!policy->min) || (!policy->max)) {
- free(policy->governor);
- free(policy);
- return NULL;
- }
-
- return policy;
-}
-
-struct cpufreq_available_governors *
-sysfs_get_freq_available_governors(unsigned int cpu) {
- struct cpufreq_available_governors *first = NULL;
- struct cpufreq_available_governors *current = NULL;
- char linebuf[MAX_LINE_LEN];
- unsigned int pos, i;
- unsigned int len;
-
- len = sysfs_cpufreq_read_file(cpu, "scaling_available_governors",
- linebuf, sizeof(linebuf));
- if (len == 0)
- return NULL;
-
- pos = 0;
- for (i = 0; i < len; i++) {
- if (linebuf[i] == ' ' || linebuf[i] == '\n') {
- if (i - pos < 2)
- continue;
- if (current) {
- current->next = malloc(sizeof(*current));
- if (!current->next)
- goto error_out;
- current = current->next;
- } else {
- first = malloc(sizeof(*first));
- if (!first)
- goto error_out;
- current = first;
- }
- current->first = first;
- current->next = NULL;
-
- current->governor = malloc(i - pos + 1);
- if (!current->governor)
- goto error_out;
-
- memcpy(current->governor, linebuf + pos, i - pos);
- current->governor[i - pos] = '\0';
- pos = i + 1;
- }
- }
-
- return first;
-
- error_out:
- while (first) {
- current = first->next;
- if (first->governor)
- free(first->governor);
- free(first);
- first = current;
- }
- return NULL;
-}
-
-
-struct cpufreq_available_frequencies *
-sysfs_get_available_frequencies(unsigned int cpu) {
- struct cpufreq_available_frequencies *first = NULL;
- struct cpufreq_available_frequencies *current = NULL;
- char one_value[SYSFS_PATH_MAX];
- char linebuf[MAX_LINE_LEN];
- unsigned int pos, i;
- unsigned int len;
-
- len = sysfs_cpufreq_read_file(cpu, "scaling_available_frequencies",
- linebuf, sizeof(linebuf));
- if (len == 0)
- return NULL;
-
- pos = 0;
- for (i = 0; i < len; i++) {
- if (linebuf[i] == ' ' || linebuf[i] == '\n') {
- if (i - pos < 2)
- continue;
- if (i - pos >= SYSFS_PATH_MAX)
- goto error_out;
- if (current) {
- current->next = malloc(sizeof(*current));
- if (!current->next)
- goto error_out;
- current = current->next;
- } else {
- first = malloc(sizeof(*first));
- if (!first)
- goto error_out;
- current = first;
- }
- current->first = first;
- current->next = NULL;
-
- memcpy(one_value, linebuf + pos, i - pos);
- one_value[i - pos] = '\0';
- if (sscanf(one_value, "%lu", &current->frequency) != 1)
- goto error_out;
-
- pos = i + 1;
- }
- }
-
- return first;
-
- error_out:
- while (first) {
- current = first->next;
- free(first);
- first = current;
- }
- return NULL;
-}
-
-static struct cpufreq_affected_cpus *sysfs_get_cpu_list(unsigned int cpu,
- const char *file)
-{
- struct cpufreq_affected_cpus *first = NULL;
- struct cpufreq_affected_cpus *current = NULL;
- char one_value[SYSFS_PATH_MAX];
- char linebuf[MAX_LINE_LEN];
- unsigned int pos, i;
- unsigned int len;
-
- len = sysfs_cpufreq_read_file(cpu, file, linebuf, sizeof(linebuf));
- if (len == 0)
- return NULL;
-
- pos = 0;
- for (i = 0; i < len; i++) {
- if (i == len || linebuf[i] == ' ' || linebuf[i] == '\n') {
- if (i - pos < 1)
- continue;
- if (i - pos >= SYSFS_PATH_MAX)
- goto error_out;
- if (current) {
- current->next = malloc(sizeof(*current));
- if (!current->next)
- goto error_out;
- current = current->next;
- } else {
- first = malloc(sizeof(*first));
- if (!first)
- goto error_out;
- current = first;
- }
- current->first = first;
- current->next = NULL;
-
- memcpy(one_value, linebuf + pos, i - pos);
- one_value[i - pos] = '\0';
-
- if (sscanf(one_value, "%u", &current->cpu) != 1)
- goto error_out;
-
- pos = i + 1;
- }
- }
-
- return first;
-
- error_out:
- while (first) {
- current = first->next;
- free(first);
- first = current;
- }
- return NULL;
-}
-
-struct cpufreq_affected_cpus *sysfs_get_freq_affected_cpus(unsigned int cpu)
-{
- return sysfs_get_cpu_list(cpu, "affected_cpus");
-}
-
-struct cpufreq_affected_cpus *sysfs_get_freq_related_cpus(unsigned int cpu)
-{
- return sysfs_get_cpu_list(cpu, "related_cpus");
-}
-
-struct cpufreq_stats *sysfs_get_freq_stats(unsigned int cpu,
- unsigned long long *total_time) {
- struct cpufreq_stats *first = NULL;
- struct cpufreq_stats *current = NULL;
- char one_value[SYSFS_PATH_MAX];
- char linebuf[MAX_LINE_LEN];
- unsigned int pos, i;
- unsigned int len;
-
- len = sysfs_cpufreq_read_file(cpu, "stats/time_in_state",
- linebuf, sizeof(linebuf));
- if (len == 0)
- return NULL;
-
- *total_time = 0;
- pos = 0;
- for (i = 0; i < len; i++) {
- if (i == strlen(linebuf) || linebuf[i] == '\n') {
- if (i - pos < 2)
- continue;
- if ((i - pos) >= SYSFS_PATH_MAX)
- goto error_out;
- if (current) {
- current->next = malloc(sizeof(*current));
- if (!current->next)
- goto error_out;
- current = current->next;
- } else {
- first = malloc(sizeof(*first));
- if (!first)
- goto error_out;
- current = first;
- }
- current->first = first;
- current->next = NULL;
-
- memcpy(one_value, linebuf + pos, i - pos);
- one_value[i - pos] = '\0';
- if (sscanf(one_value, "%lu %llu",
- &current->frequency,
- &current->time_in_state) != 2)
- goto error_out;
-
- *total_time = *total_time + current->time_in_state;
- pos = i + 1;
- }
- }
-
- return first;
-
- error_out:
- while (first) {
- current = first->next;
- free(first);
- first = current;
- }
- return NULL;
-}
-
-unsigned long sysfs_get_freq_transitions(unsigned int cpu)
-{
- return sysfs_cpufreq_get_one_value(cpu, STATS_NUM_TRANSITIONS);
-}
-
-static int verify_gov(char *new_gov, char *passed_gov)
-{
- unsigned int i, j = 0;
-
- if (!passed_gov || (strlen(passed_gov) > 19))
- return -EINVAL;
-
- strncpy(new_gov, passed_gov, 20);
- for (i = 0; i < 20; i++) {
- if (j) {
- new_gov[i] = '\0';
- continue;
- }
- if ((new_gov[i] >= 'a') && (new_gov[i] <= 'z'))
- continue;
-
- if ((new_gov[i] >= 'A') && (new_gov[i] <= 'Z'))
- continue;
-
- if (new_gov[i] == '-')
- continue;
-
- if (new_gov[i] == '_')
- continue;
-
- if (new_gov[i] == '\0') {
- j = 1;
- continue;
- }
- return -EINVAL;
- }
- new_gov[19] = '\0';
- return 0;
-}
-
-int sysfs_modify_freq_policy_governor(unsigned int cpu, char *governor)
-{
- char new_gov[SYSFS_PATH_MAX];
-
- if (!governor)
- return -EINVAL;
-
- if (verify_gov(new_gov, governor))
- return -EINVAL;
-
- return sysfs_cpufreq_write_one_value(cpu, WRITE_SCALING_GOVERNOR,
- new_gov, strlen(new_gov));
-};
-
-int sysfs_modify_freq_policy_max(unsigned int cpu, unsigned long max_freq)
-{
- char value[SYSFS_PATH_MAX];
-
- snprintf(value, SYSFS_PATH_MAX, "%lu", max_freq);
-
- return sysfs_cpufreq_write_one_value(cpu, WRITE_SCALING_MAX_FREQ,
- value, strlen(value));
-};
-
-
-int sysfs_modify_freq_policy_min(unsigned int cpu, unsigned long min_freq)
-{
- char value[SYSFS_PATH_MAX];
-
- snprintf(value, SYSFS_PATH_MAX, "%lu", min_freq);
-
- return sysfs_cpufreq_write_one_value(cpu, WRITE_SCALING_MIN_FREQ,
- value, strlen(value));
-};
-
-
-int sysfs_set_freq_policy(unsigned int cpu, struct cpufreq_policy *policy)
-{
- char min[SYSFS_PATH_MAX];
- char max[SYSFS_PATH_MAX];
- char gov[SYSFS_PATH_MAX];
- int ret;
- unsigned long old_min;
- int write_max_first;
-
- if (!policy || !(policy->governor))
- return -EINVAL;
-
- if (policy->max < policy->min)
- return -EINVAL;
-
- if (verify_gov(gov, policy->governor))
- return -EINVAL;
-
- snprintf(min, SYSFS_PATH_MAX, "%lu", policy->min);
- snprintf(max, SYSFS_PATH_MAX, "%lu", policy->max);
-
- old_min = sysfs_cpufreq_get_one_value(cpu, SCALING_MIN_FREQ);
- write_max_first = (old_min && (policy->max < old_min) ? 0 : 1);
-
- if (write_max_first) {
- ret = sysfs_cpufreq_write_one_value(cpu, WRITE_SCALING_MAX_FREQ,
- max, strlen(max));
- if (ret)
- return ret;
- }
-
- ret = sysfs_cpufreq_write_one_value(cpu, WRITE_SCALING_MIN_FREQ, min,
- strlen(min));
- if (ret)
- return ret;
-
- if (!write_max_first) {
- ret = sysfs_cpufreq_write_one_value(cpu, WRITE_SCALING_MAX_FREQ,
- max, strlen(max));
- if (ret)
- return ret;
- }
-
- return sysfs_cpufreq_write_one_value(cpu, WRITE_SCALING_GOVERNOR,
- gov, strlen(gov));
-}
-
-int sysfs_set_frequency(unsigned int cpu, unsigned long target_frequency)
-{
- struct cpufreq_policy *pol = sysfs_get_freq_policy(cpu);
- char userspace_gov[] = "userspace";
- char freq[SYSFS_PATH_MAX];
- int ret;
-
- if (!pol)
- return -ENODEV;
-
- if (strncmp(pol->governor, userspace_gov, 9) != 0) {
- ret = sysfs_modify_freq_policy_governor(cpu, userspace_gov);
- if (ret) {
- cpufreq_put_policy(pol);
- return ret;
- }
- }
-
- cpufreq_put_policy(pol);
-
- snprintf(freq, SYSFS_PATH_MAX, "%lu", target_frequency);
-
- return sysfs_cpufreq_write_one_value(cpu, WRITE_SCALING_SET_SPEED,
- freq, strlen(freq));
-}
-
-/* CPUFREQ sysfs access **************************************************/
-
-/* General sysfs access **************************************************/
-int sysfs_cpu_exists(unsigned int cpu)
-{
- char file[SYSFS_PATH_MAX];
- struct stat statbuf;
-
- snprintf(file, SYSFS_PATH_MAX, PATH_TO_CPU "cpu%u/", cpu);
-
- if (stat(file, &statbuf) != 0)
- return -ENOSYS;
-
- return S_ISDIR(statbuf.st_mode) ? 0 : -ENOSYS;
-}
-
-/* General sysfs access **************************************************/
diff --git a/ANDROID_3.4.5/tools/power/cpupower/lib/sysfs.h b/ANDROID_3.4.5/tools/power/cpupower/lib/sysfs.h
deleted file mode 100644
index c76a5e0a..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/lib/sysfs.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* General */
-extern unsigned int sysfs_cpu_exists(unsigned int cpu);
-
-/* CPUfreq */
-extern unsigned long sysfs_get_freq_kernel(unsigned int cpu);
-extern unsigned long sysfs_get_freq_hardware(unsigned int cpu);
-extern unsigned long sysfs_get_freq_transition_latency(unsigned int cpu);
-extern int sysfs_get_freq_hardware_limits(unsigned int cpu,
- unsigned long *min, unsigned long *max);
-extern char *sysfs_get_freq_driver(unsigned int cpu);
-extern struct cpufreq_policy *sysfs_get_freq_policy(unsigned int cpu);
-extern struct cpufreq_available_governors *sysfs_get_freq_available_governors(
- unsigned int cpu);
-extern struct cpufreq_available_frequencies *sysfs_get_available_frequencies(
- unsigned int cpu);
-extern struct cpufreq_affected_cpus *sysfs_get_freq_affected_cpus(
- unsigned int cpu);
-extern struct cpufreq_affected_cpus *sysfs_get_freq_related_cpus(
- unsigned int cpu);
-extern struct cpufreq_stats *sysfs_get_freq_stats(unsigned int cpu,
- unsigned long long *total_time);
-extern unsigned long sysfs_get_freq_transitions(unsigned int cpu);
-extern int sysfs_set_freq_policy(unsigned int cpu,
- struct cpufreq_policy *policy);
-extern int sysfs_modify_freq_policy_min(unsigned int cpu,
- unsigned long min_freq);
-extern int sysfs_modify_freq_policy_max(unsigned int cpu,
- unsigned long max_freq);
-extern int sysfs_modify_freq_policy_governor(unsigned int cpu, char *governor);
-extern int sysfs_set_frequency(unsigned int cpu,
- unsigned long target_frequency);
diff --git a/ANDROID_3.4.5/tools/power/cpupower/man/cpupower-frequency-info.1 b/ANDROID_3.4.5/tools/power/cpupower/man/cpupower-frequency-info.1
deleted file mode 100644
index 4a1918ea..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/man/cpupower-frequency-info.1
+++ /dev/null
@@ -1,74 +0,0 @@
-.TH "CPUPOWER\-FREQUENCY\-INFO" "1" "0.1" "" "cpupower Manual"
-.SH "NAME"
-.LP
-cpupower frequency\-info \- Utility to retrieve cpufreq kernel information
-.SH "SYNTAX"
-.LP
-cpupower [ \-c cpulist ] frequency\-info [\fIoptions\fP]
-.SH "DESCRIPTION"
-.LP
-A small tool which prints out cpufreq information helpful to developers and interested users.
-.SH "OPTIONS"
-.LP
-.TP
-\fB\-e\fR \fB\-\-debug\fR
-Prints out debug information.
-.TP
-\fB\-f\fR \fB\-\-freq\fR
-Get frequency the CPU currently runs at, according to the cpufreq core.
-.TP
-\fB\-w\fR \fB\-\-hwfreq\fR
-Get frequency the CPU currently runs at, by reading it from hardware (only available to root).
-.TP
-\fB\-l\fR \fB\-\-hwlimits\fR
-Determine the minimum and maximum CPU frequency allowed.
-.TP
-\fB\-d\fR \fB\-\-driver\fR
-Determines the used cpufreq kernel driver.
-.TP
-\fB\-p\fR \fB\-\-policy\fR
-Gets the currently used cpufreq policy.
-.TP
-\fB\-g\fR \fB\-\-governors\fR
-Determines available cpufreq governors.
-.TP
-\fB\-a\fR \fB\-\-related\-cpus\fR
-Determines which CPUs run at the same hardware frequency.
-.TP
-\fB\-a\fR \fB\-\-affected\-cpus\fR
-Determines which CPUs need to have their frequency coordinated by software.
-.TP
-\fB\-s\fR \fB\-\-stats\fR
-Shows cpufreq statistics if available.
-.TP
-\fB\-y\fR \fB\-\-latency\fR
-Determines the maximum latency on CPU frequency changes.
-.TP
-\fB\-o\fR \fB\-\-proc\fR
-Prints out information like provided by the /proc/cpufreq interface in 2.4. and early 2.6. kernels.
-.TP
-\fB\-m\fR \fB\-\-human\fR
-human\-readable output for the \-f, \-w, \-s and \-y parameters.
-.TP
-.SH "REMARKS"
-.LP
-By default only values of core zero are displayed. How to display settings of
-other cores is described in the cpupower(1) manpage in the \-\-cpu option section.
-.LP
-You can't specify more than one of the output specific options \-o \-e \-a \-g \-p \-d \-l \-w \-f \-y.
-.LP
-You also can't specify the \-o option combined with the \-c option.
-.SH "FILES"
-.nf
-\fI/sys/devices/system/cpu/cpu*/cpufreq/\fP
-\fI/proc/cpufreq\fP (deprecated)
-\fI/proc/sys/cpu/\fP (deprecated)
-.fi
-.SH "AUTHORS"
-.nf
-Dominik Brodowski <linux@brodo.de> \- author
-Mattia Dongili<malattia@gmail.com> \- first autolibtoolization
-.fi
-.SH "SEE ALSO"
-.LP
-cpupower\-frequency\-set(1), cpupower(1)
diff --git a/ANDROID_3.4.5/tools/power/cpupower/man/cpupower-frequency-set.1 b/ANDROID_3.4.5/tools/power/cpupower/man/cpupower-frequency-set.1
deleted file mode 100644
index 3eacc8d0..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/man/cpupower-frequency-set.1
+++ /dev/null
@@ -1,52 +0,0 @@
-.TH "CPUPOWER\-FREQUENCY\-SET" "1" "0.1" "" "cpupower Manual"
-.SH "NAME"
-.LP
-cpupower frequency\-set \- A small tool which allows to modify cpufreq settings.
-.SH "SYNTAX"
-.LP
-cpupower [ \-c cpu ] frequency\-set [\fIoptions\fP]
-.SH "DESCRIPTION"
-.LP
-cpupower frequency\-set allows you to modify cpufreq settings without having to type e.g. "/sys/devices/system/cpu/cpu0/cpufreq/scaling_set_speed" all the time.
-.SH "OPTIONS"
-.LP
-.TP
-\fB\-d\fR \fB\-\-min\fR <FREQ>
-new minimum CPU frequency the governor may select.
-.TP
-\fB\-u\fR \fB\-\-max\fR <FREQ>
-new maximum CPU frequency the governor may select.
-.TP
-\fB\-g\fR \fB\-\-governor\fR <GOV>
-new cpufreq governor.
-.TP
-\fB\-f\fR \fB\-\-freq\fR <FREQ>
-specific frequency to be set. Requires userspace governor to be available and loaded.
-.TP
-\fB\-r\fR \fB\-\-related\fR
-modify all hardware-related CPUs at the same time
-.TP
-.SH "REMARKS"
-.LP
-By default values are applied on all cores. How to modify single core
-configurations is described in the cpupower(1) manpage in the \-\-cpu option section.
-.LP
-The \-f FREQ, \-\-freq FREQ parameter cannot be combined with any other parameter.
-.LP
-FREQuencies can be passed in Hz, kHz (default), MHz, GHz, or THz by postfixing the value with the wanted unit name, without any space (frequency in kHz =^ Hz * 0.001 =^ MHz * 1000 =^ GHz * 1000000).
-.LP
-On Linux kernels up to 2.6.29, the \-r or \-\-related parameter is ignored.
-.SH "FILES"
-.nf
-\fI/sys/devices/system/cpu/cpu*/cpufreq/\fP
-\fI/proc/cpufreq\fP (deprecated)
-\fI/proc/sys/cpu/\fP (deprecated)
-.fi
-.SH "AUTHORS"
-.nf
-Dominik Brodowski <linux@brodo.de> \- author
-Mattia Dongili<malattia@gmail.com> \- first autolibtoolization
-.fi
-.SH "SEE ALSO"
-.LP
-cpupower\-frequency\-info(1), cpupower(1)
diff --git a/ANDROID_3.4.5/tools/power/cpupower/man/cpupower-idle-info.1 b/ANDROID_3.4.5/tools/power/cpupower/man/cpupower-idle-info.1
deleted file mode 100644
index 4178effd..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/man/cpupower-idle-info.1
+++ /dev/null
@@ -1,90 +0,0 @@
-.TH "CPUPOWER-IDLE-INFO" "1" "0.1" "" "cpupower Manual"
-.SH "NAME"
-.LP
-cpupower idle\-info \- Utility to retrieve cpu idle kernel information
-.SH "SYNTAX"
-.LP
-cpupower [ \-c cpulist ] idle\-info [\fIoptions\fP]
-.SH "DESCRIPTION"
-.LP
-A tool which prints out per cpu idle information helpful to developers and interested users.
-.SH "OPTIONS"
-.LP
-.TP
-\fB\-f\fR \fB\-\-silent\fR
-Only print a summary of all available C-states in the system.
-.TP
-\fB\-e\fR \fB\-\-proc\fR
-deprecated.
-Prints out idle information in old /proc/acpi/processor/*/power format. This
-interface has been removed from the kernel for quite some time, do not let
-further code depend on this option, best do not use it.
-
-.SH IDLE\-INFO DESCRIPTIONS
-CPU sleep state statistics and descriptions are retrieved from sysfs files,
-exported by the cpuidle kernel subsystem. The kernel only updates these
-statistics when it enters or leaves an idle state, therefore on a very idle or
-a very busy system, these statistics may not be accurate. They still provide a
-good overview about the usage and availability of processor sleep states on
-the platform.
-
-Be aware that the sleep states as exported by the hardware or BIOS and used by
-the Linux kernel may not exactly reflect the capabilities of the
-processor. This often is the case on the X86 architecture when the acpi_idle
-driver is used. It is also possible that the hardware overrules the kernel
-requests, due to internal activity monitors or other reasons.
-On recent X86 platforms it is often possible to read out hardware registers
-which monitor the duration of sleep states the processor resided in. The
-cpupower monitor tool (cpupower\-monitor(1)) can be used to show real sleep
-state residencies. Please refer to the architecture specific description
-section below.
-
-.SH IDLE\-INFO ARCHITECTURE SPECIFIC DESCRIPTIONS
-.SS "X86"
-POLL idle state
-
-If cpuidle is active, X86 platforms have one special idle state.
-The POLL idle state is not a real idle state, it does not save any
-power. Instead, a busy\-loop is executed doing nothing for a short period of
-time. This state is used if the kernel knows that work has to be processed
-very soon and entering any real hardware idle state may result in a slight
-performance penalty.
-
-There exist two different cpuidle drivers on the X86 architecture platform:
-
-"acpi_idle" cpuidle driver
-
-The acpi_idle cpuidle driver retrieves available sleep states (C\-states) from
-the ACPI BIOS tables (from the _CST ACPI function on recent platforms or from
-the FADT BIOS table on older ones).
-The C1 state is not retrieved from ACPI tables. If the C1 state is entered,
-the kernel will call the hlt instruction (or mwait on Intel).
-
-"intel_idle" cpuidle driver
-
-In kernel 2.6.36 the intel_idle driver was introduced.
-It only serves recent Intel CPUs (Nehalem, Westmere, Sandybridge, Atoms or
-newer). On older Intel CPUs the acpi_idle driver is still used (if the BIOS
-provides C\-state ACPI tables).
-The intel_idle driver knows the sleep state capabilities of the processor and
-ignores ACPI BIOS exported processor sleep states tables.
-
-.SH "REMARKS"
-.LP
-By default only values of core zero are displayed. How to display settings of
-other cores is described in the cpupower(1) manpage in the \-\-cpu option
-section.
-.SH REFERENCES
-http://www.acpi.info/spec.htm
-.SH "FILES"
-.nf
-\fI/sys/devices/system/cpu/cpu*/cpuidle/state*\fP
-\fI/sys/devices/system/cpu/cpuidle/*\fP
-.fi
-.SH "AUTHORS"
-.nf
-Thomas Renninger <trenn@suse.de>
-.fi
-.SH "SEE ALSO"
-.LP
-cpupower(1), cpupower\-monitor(1), cpupower\-info(1), cpupower\-set(1)
diff --git a/ANDROID_3.4.5/tools/power/cpupower/man/cpupower-info.1 b/ANDROID_3.4.5/tools/power/cpupower/man/cpupower-info.1
deleted file mode 100644
index 58e21196..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/man/cpupower-info.1
+++ /dev/null
@@ -1,19 +0,0 @@
-.TH CPUPOWER\-INFO "1" "22/02/2011" "" "cpupower Manual"
-.SH NAME
-cpupower\-info \- Shows processor power related kernel or hardware configurations
-.SH SYNOPSIS
-.ft B
-.B cpupower info [ \-b ] [ \-s ] [ \-m ]
-
-.SH DESCRIPTION
-\fBcpupower info \fP shows kernel configurations or processor hardware
-registers affecting processor power saving policies.
-
-Some options are platform wide, some affect single cores. By default values
-of core zero are displayed only. cpupower --cpu all cpuinfo will show the
-settings of all cores, see cpupower(1) how to choose specific cores.
-
-.SH "SEE ALSO"
-Options are described in detail in:
-
-cpupower(1), cpupower-set(1)
diff --git a/ANDROID_3.4.5/tools/power/cpupower/man/cpupower-monitor.1 b/ANDROID_3.4.5/tools/power/cpupower/man/cpupower-monitor.1
deleted file mode 100644
index 1141c207..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/man/cpupower-monitor.1
+++ /dev/null
@@ -1,179 +0,0 @@
-.TH CPUPOWER\-MONITOR "1" "22/02/2011" "" "cpupower Manual"
-.SH NAME
-cpupower\-monitor \- Report processor frequency and idle statistics
-.SH SYNOPSIS
-.ft B
-.B cpupower monitor
-.RB "\-l"
-
-.B cpupower monitor
-.RB [ "\-m <mon1>," [ "<mon2>,..." ] ]
-.RB [ "\-i seconds" ]
-.br
-.B cpupower monitor
-.RB [ "\-m <mon1>," [ "<mon2>,..." ] ]
-.RB command
-.br
-.SH DESCRIPTION
-\fBcpupower-monitor \fP reports processor topology, frequency and idle power
-state statistics. Either \fBcommand\fP is forked and
-statistics are printed upon its completion, or statistics are printed periodically.
-
-\fBcpupower-monitor \fP implements independent processor sleep state and
-frequency counters. Some are retrieved from kernel statistics, some are
-directly reading out hardware registers. Use \-l to get an overview which are
-supported on your system.
-
-.SH Options
-.PP
-\-l
-.RS 4
-List available monitors on your system. Additional details about each monitor
-are shown:
-.RS 2
-.IP \(bu
-The name in quotation marks which can be passed to the \-m parameter.
-.IP \(bu
-The number of different counters the monitor supports in brackets.
-.IP \(bu
-The amount of time in seconds the counters might overflow, due to
-implementation constraints.
-.IP \(bu
-The name and a description of each counter and its processor hierarchy level
-coverage in square brackets:
-.RS 4
-.IP \(bu
-[T] \-> Thread
-.IP \(bu
-[C] \-> Core
-.IP \(bu
-[P] \-> Processor Package (Socket)
-.IP \(bu
-[M] \-> Machine/Platform wide counter
-.RE
-.RE
-.RE
-.PP
-\-m <mon1>,<mon2>,...
-.RS 4
-Only display specific monitors. Use the monitor string(s) provided by \-l option.
-.RE
-.PP
-\-i seconds
-.RS 4
-Measure intervall.
-.RE
-.PP
-command
-.RS 4
-Measure idle and frequency characteristics of an arbitrary command/workload.
-The executable \fBcommand\fP is forked and upon its exit, statistics gathered since it was
-forked are displayed.
-.RE
-.PP
-\-v
-.RS 4
-Increase verbosity if the binary was compiled with the DEBUG option set.
-.RE
-
-.SH MONITOR DESCRIPTIONS
-.SS "Idle_Stats"
-Shows statistics of the cpuidle kernel subsystem. Values are retrieved from
-/sys/devices/system/cpu/cpu*/cpuidle/state*/.
-The kernel updates these values every time an idle state is entered or
-left. Therefore there can be some inaccuracy when cores are in an idle
-state for some time when the measure starts or ends. In worst case it can happen
-that one core stayed in an idle state for the whole measure time and the idle
-state usage time as exported by the kernel did not get updated. In this case
-a state residency of 0 percent is shown while it was 100.
-
-.SS "Mperf"
-The name comes from the aperf/mperf (average and maximum) MSR registers used
-which are available on recent X86 processors. It shows the average frequency
-(including boost frequencies).
-The fact that on all recent hardware the mperf timer stops ticking in any idle
-state it is also used to show C0 (processor is active) and Cx (processor is in
-any sleep state) times. These counters do not have the inaccuracy restrictions
-the "Idle_Stats" counters may show.
-May work poorly on Linux-2.6.20 through 2.6.29, as the \fBacpi-cpufreq \fP
-kernel frequency driver periodically cleared aperf/mperf registers in those
-kernels.
-
-.SS "Nehalem" "SandyBridge"
-Intel Core and Package sleep state counters.
-Threads (hyperthreaded cores) may not be able to enter deeper core states if
-its sibling is utilized.
-Deepest package sleep states may in reality show up as machine/platform wide
-sleep states and can only be entered if all cores are idle. Look up Intel
-manuals (some are provided in the References section) for further details.
-
-.SS "Fam_12h" "Fam_14h"
-AMD laptop and desktop processor (family 12h and 14h) sleep state counters.
-The registers are accessed via PCI and therefore can still be read out while
-cores have been offlined.
-
-There is one special counter: NBP1 (North Bridge P1).
-This one always returns 0 or 1, depending on whether the North Bridge P1
-power state got entered at least once during measure time.
-Being able to enter NBP1 state also depends on graphics power management.
-Therefore this counter can be used to verify whether the graphics' driver
-power management is working as expected.
-
-.SH EXAMPLES
-
-cpupower monitor -l" may show:
-.RS 4
-Monitor "Mperf" (3 states) \- Might overflow after 922000000 s
-
- ...
-
-Monitor "Idle_Stats" (3 states) \- Might overflow after 4294967295 s
-
- ...
-
-.RE
-cpupower monitor \-m "Idle_Stats,Mperf" scp /tmp/test /nfs/tmp
-
-Monitor the scp command, show both Mperf and Idle_Stats states counter
-statistics, but in exchanged order.
-
-
-
-.RE
-Be careful that the typical command to fully utilize one CPU by doing:
-
-cpupower monitor cat /dev/zero >/dev/null
-
-Does not work as expected, because the measured output is redirected to
-/dev/null. This could get workarounded by putting the line into an own, tiny
-shell script. Hit CTRL\-c to terminate the command and get the measure output
-displayed.
-
-.SH REFERENCES
-"BIOS and Kernel Developer’s Guide (BKDG) for AMD Family 14h Processors"
-http://support.amd.com/us/Processor_TechDocs/43170.pdf
-
-"Intel® Turbo Boost Technology
-in Intel® Core™ Microarchitecture (Nehalem) Based Processors"
-http://download.intel.com/design/processor/applnots/320354.pdf
-
-"Intel® 64 and IA-32 Architectures Software Developer's Manual
-Volume 3B: System Programming Guide"
-http://www.intel.com/products/processor/manuals
-
-.SH FILES
-.ta
-.nf
-/dev/cpu/*/msr
-/sys/devices/system/cpu/cpu*/cpuidle/state*/.
-.fi
-
-.SH "SEE ALSO"
-powertop(8), msr(4), vmstat(8)
-.PP
-.SH AUTHORS
-.nf
-Written by Thomas Renninger <trenn@suse.de>
-
-Nehalem, SandyBridge monitors and command passing
-based on turbostat.8 from Len Brown <len.brown@intel.com>
diff --git a/ANDROID_3.4.5/tools/power/cpupower/man/cpupower-set.1 b/ANDROID_3.4.5/tools/power/cpupower/man/cpupower-set.1
deleted file mode 100644
index c4954a9f..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/man/cpupower-set.1
+++ /dev/null
@@ -1,103 +0,0 @@
-.TH CPUPOWER\-SET "1" "22/02/2011" "" "cpupower Manual"
-.SH NAME
-cpupower\-set \- Set processor power related kernel or hardware configurations
-.SH SYNOPSIS
-.ft B
-.B cpupower set [ \-b VAL ] [ \-s VAL ] [ \-m VAL ]
-
-
-.SH DESCRIPTION
-\fBcpupower set \fP sets kernel configurations or directly accesses hardware
-registers affecting processor power saving policies.
-
-Some options are platform wide, some affect single cores. By default values
-are applied on all cores. How to modify single core configurations is
-described in the cpupower(1) manpage in the \-\-cpu option section. Whether an
-option affects the whole system or can be applied to individual cores is
-described in the Options sections.
-
-Use \fBcpupower info \fP to read out current settings and whether they are
-supported on the system at all.
-
-.SH Options
-.PP
-\-\-perf-bias, \-b
-.RS 4
-Sets a register on supported Intel processore which allows software to convey
-its policy for the relative importance of performance versus energy savings to
-the processor.
-
-The range of valid numbers is 0-15, where 0 is maximum
-performance and 15 is maximum energy efficiency.
-
-The processor uses this information in model-specific ways
-when it must select trade-offs between performance and
-energy efficiency.
-
-This policy hint does not supersede Processor Performance states
-(P-states) or CPU Idle power states (C-states), but allows
-software to have influence where it would otherwise be unable
-to express a preference.
-
-For example, this setting may tell the hardware how
-aggressively or conservatively to control frequency
-in the "turbo range" above the explicitly OS-controlled
-P-state frequency range. It may also tell the hardware
-how aggressively it should enter the OS requested C-states.
-
-This option can be applied to individual cores only via the \-\-cpu option,
-cpupower(1).
-
-Setting the performance bias value on one CPU can modify the setting on
-related CPUs as well (for example all CPUs on one socket), because of
-hardware restrictions.
-Use \fBcpupower -c all info -b\fP to verify.
-
-This options needs the msr kernel driver (CONFIG_X86_MSR) loaded.
-.RE
-.PP
-\-\-sched\-mc, \-m [ VAL ]
-.RE
-\-\-sched\-smt, \-s [ VAL ]
-.RS 4
-\-\-sched\-mc utilizes cores in one processor package/socket first before
-processes are scheduled to other processor packages/sockets.
-
-\-\-sched\-smt utilizes thread siblings of one processor core first before
-processes are scheduled to other cores.
-
-The impact on power consumption and performance (positiv or negativ) heavily
-depends on processor support for deep sleep states, frequency scaling and
-frequency boost modes and their dependencies between other thread siblings
-and processor cores.
-
-Taken over from kernel documentation:
-
-Adjust the kernel's multi-core scheduler support.
-
-Possible values are:
-.RS 2
-0 - No power saving load balance (default value)
-
-1 - Fill one thread/core/package first for long running threads
-
-2 - Also bias task wakeups to semi-idle cpu package for power
-savings
-.RE
-
-sched_mc_power_savings is dependent upon SCHED_MC, which is
-itself architecture dependent.
-
-sched_smt_power_savings is dependent upon SCHED_SMT, which
-is itself architecture dependent.
-
-The two files are independent of each other. It is possible
-that one file may be present without the other.
-
-.SH "SEE ALSO"
-cpupower-info(1), cpupower-monitor(1), powertop(1)
-.PP
-.SH AUTHORS
-.nf
-\-\-perf\-bias parts written by Len Brown <len.brown@intel.com>
-Thomas Renninger <trenn@suse.de>
diff --git a/ANDROID_3.4.5/tools/power/cpupower/man/cpupower.1 b/ANDROID_3.4.5/tools/power/cpupower/man/cpupower.1
deleted file mode 100644
index baf741d0..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/man/cpupower.1
+++ /dev/null
@@ -1,72 +0,0 @@
-.TH CPUPOWER "1" "07/03/2011" "" "cpupower Manual"
-.SH NAME
-cpupower \- Shows and sets processor power related values
-.SH SYNOPSIS
-.ft B
-.B cpupower [ \-c cpulist ] <command> [ARGS]
-
-.B cpupower \-v|\-\-version
-
-.B cpupower \-h|\-\-help
-
-.SH DESCRIPTION
-\fBcpupower \fP is a collection of tools to examine and tune power saving
-related features of your processor.
-
-The manpages of the commands (cpupower\-<command>(1)) provide detailed
-descriptions of supported features. Run \fBcpupower help\fP to get an overview
-of supported commands.
-
-.SH Options
-.PP
-\-\-help, \-h
-.RS 4
-Shows supported commands and general usage.
-.RE
-.PP
-\-\-cpu cpulist, \-c cpulist
-.RS 4
-Only show or set values for specific cores.
-This option is not supported by all commands, details can be found in the
-manpages of the commands.
-
-Some commands access all cores (typically the *\-set commands), some only
-the first core (typically the *\-info commands) by default.
-
-The syntax for <cpulist> is based on how the kernel exports CPU bitmasks via
-sysfs files. Some examples:
-.RS 4
-.TP 16
-Input
-Equivalent to
-.TP
-all
-all cores
-.TP
-0\-3
-0,1,2,3
-.TP
-0\-7:2
-0,2,4,6
-.TP
-1,3,5-7
-1,3,5,6,7
-.TP
-0\-3:2,8\-15:4
-0,2,8,12
-.RE
-.RE
-.PP
-\-\-version, \-v
-.RS 4
-Print the package name and version number.
-
-.SH "SEE ALSO"
-cpupower-set(1), cpupower-info(1), cpupower-idle(1),
-cpupower-frequency-set(1), cpupower-frequency-info(1), cpupower-monitor(1),
-powertop(1)
-.PP
-.SH AUTHORS
-.nf
-\-\-perf\-bias parts written by Len Brown <len.brown@intel.com>
-Thomas Renninger <trenn@suse.de>
diff --git a/ANDROID_3.4.5/tools/power/cpupower/po/cs.po b/ANDROID_3.4.5/tools/power/cpupower/po/cs.po
deleted file mode 100644
index cb22c45c..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/po/cs.po
+++ /dev/null
@@ -1,944 +0,0 @@
-# translation of cs.po to Czech
-# Czech translation for cpufrequtils package
-# Czech messages for cpufrequtils.
-# Copyright (C) 2007 kavol
-# This file is distributed under the same license as the cpufrequtils package.
-#
-# Karel Volný <kavol@seznam.cz>, 2007, 2008.
-msgid ""
-msgstr ""
-"Project-Id-Version: cs\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-08 17:03+0100\n"
-"PO-Revision-Date: 2008-06-11 16:26+0200\n"
-"Last-Translator: Karel Volný <kavol@seznam.cz>\n"
-"Language-Team: Czech <diskuze@lists.l10n.cz>\n"
-"Language: cs\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Generator: KBabel 1.11.4\n"
-
-#: utils/idle_monitor/nhm_idle.c:36
-msgid "Processor Core C3"
-msgstr ""
-
-#: utils/idle_monitor/nhm_idle.c:43
-msgid "Processor Core C6"
-msgstr ""
-
-#: utils/idle_monitor/nhm_idle.c:51
-msgid "Processor Package C3"
-msgstr ""
-
-#: utils/idle_monitor/nhm_idle.c:58 utils/idle_monitor/amd_fam14h_idle.c:70
-msgid "Processor Package C6"
-msgstr ""
-
-#: utils/idle_monitor/snb_idle.c:33
-msgid "Processor Core C7"
-msgstr ""
-
-#: utils/idle_monitor/snb_idle.c:40
-msgid "Processor Package C2"
-msgstr ""
-
-#: utils/idle_monitor/snb_idle.c:47
-msgid "Processor Package C7"
-msgstr ""
-
-#: utils/idle_monitor/amd_fam14h_idle.c:56
-msgid "Package in sleep state (PC1 or deeper)"
-msgstr ""
-
-#: utils/idle_monitor/amd_fam14h_idle.c:63
-msgid "Processor Package C1"
-msgstr ""
-
-#: utils/idle_monitor/amd_fam14h_idle.c:77
-msgid "North Bridge P1 boolean counter (returns 0 or 1)"
-msgstr ""
-
-#: utils/idle_monitor/mperf_monitor.c:35
-msgid "Processor Core not idle"
-msgstr ""
-
-#: utils/idle_monitor/mperf_monitor.c:42
-msgid "Processor Core in an idle state"
-msgstr ""
-
-#: utils/idle_monitor/mperf_monitor.c:50
-msgid "Average Frequency (including boost) in MHz"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:66
-#, c-format
-msgid ""
-"cpupower monitor: [-h] [ [-t] | [-l] | [-m <mon1>,[<mon2>] ] ] [-i "
-"interval_sec | -c command ...]\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:69
-#, c-format
-msgid ""
-"cpupower monitor: [-v] [-h] [ [-t] | [-l] | [-m <mon1>,[<mon2>] ] ] [-i "
-"interval_sec | -c command ...]\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:71
-#, c-format
-msgid "\t -v: be more verbose\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:73
-#, c-format
-msgid "\t -h: print this help\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:74
-#, c-format
-msgid "\t -i: time intervall to measure for in seconds (default 1)\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:75
-#, c-format
-msgid "\t -t: show CPU topology/hierarchy\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:76
-#, c-format
-msgid "\t -l: list available CPU sleep monitors (for use with -m)\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:77
-#, c-format
-msgid "\t -m: show specific CPU sleep monitors only (in same order)\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:79
-#, c-format
-msgid ""
-"only one of: -t, -l, -m are allowed\n"
-"If none of them is passed,"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:80
-#, c-format
-msgid " all supported monitors are shown\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:197
-#, c-format
-msgid "Monitor %s, Counter %s has no count function. Implementation error\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:207
-#, c-format
-msgid " *is offline\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:236
-#, c-format
-msgid "%s: max monitor name length (%d) exceeded\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:250
-#, c-format
-msgid "No matching monitor found in %s, try -l option\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:266
-#, c-format
-msgid "Monitor \"%s\" (%d states) - Might overflow after %u s\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:319
-#, c-format
-msgid "%s took %.5f seconds and exited with status %d\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:406
-#, c-format
-msgid "Cannot read number of available processors\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:417
-#, c-format
-msgid "Available monitor %s needs root access\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:428
-#, c-format
-msgid "No HW Cstate monitors found\n"
-msgstr ""
-
-#: utils/cpupower.c:78
-#, c-format
-msgid "cpupower [ -c cpulist ] subcommand [ARGS]\n"
-msgstr ""
-
-#: utils/cpupower.c:79
-#, c-format
-msgid "cpupower --version\n"
-msgstr ""
-
-#: utils/cpupower.c:80
-#, c-format
-msgid "Supported subcommands are:\n"
-msgstr ""
-
-#: utils/cpupower.c:83
-#, c-format
-msgid ""
-"\n"
-"Some subcommands can make use of the -c cpulist option.\n"
-msgstr ""
-
-#: utils/cpupower.c:84
-#, c-format
-msgid "Look at the general cpupower manpage how to use it\n"
-msgstr ""
-
-#: utils/cpupower.c:85
-#, c-format
-msgid "and read up the subcommand's manpage whether it is supported.\n"
-msgstr ""
-
-#: utils/cpupower.c:86
-#, c-format
-msgid ""
-"\n"
-"Use cpupower help subcommand for getting help for above subcommands.\n"
-msgstr ""
-
-#: utils/cpupower.c:91
-#, c-format
-msgid "Report errors and bugs to %s, please.\n"
-msgstr ""
-"Chyby v programu prosím hlaste na %s (anglicky).\n"
-"Chyby v pÅ™ekladu prosím hlaste na kavol@seznam.cz (Äesky ;-)\n"
-
-#: utils/cpupower.c:114
-#, c-format
-msgid "Error parsing cpu list\n"
-msgstr ""
-
-#: utils/cpupower.c:172
-#, c-format
-msgid "Subcommand %s needs root privileges\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:31
-#, c-format
-msgid "Couldn't count the number of CPUs (%s: %s), assuming 1\n"
-msgstr "Nelze zjistit poÄet CPU (%s: %s), pÅ™edpokládá se 1.\n"
-
-#: utils/cpufreq-info.c:63
-#, c-format
-msgid ""
-" minimum CPU frequency - maximum CPU frequency - governor\n"
-msgstr ""
-" minimální frekvence CPU - maximální frekvence CPU - regulátor\n"
-
-#: utils/cpufreq-info.c:151
-#, c-format
-msgid "Error while evaluating Boost Capabilities on CPU %d -- are you root?\n"
-msgstr ""
-
-#. P state changes via MSR are identified via cpuid 80000007
-#. on Intel and AMD, but we assume boost capable machines can do that
-#. if (cpuid_eax(0x80000000) >= 0x80000007
-#. && (cpuid_edx(0x80000007) & (1 << 7)))
-#.
-#: utils/cpufreq-info.c:161
-#, c-format
-msgid " boost state support: \n"
-msgstr ""
-
-#: utils/cpufreq-info.c:163
-#, c-format
-msgid " Supported: %s\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:163 utils/cpufreq-info.c:164
-msgid "yes"
-msgstr ""
-
-#: utils/cpufreq-info.c:163 utils/cpufreq-info.c:164
-msgid "no"
-msgstr ""
-
-#: utils/cpufreq-info.c:164
-#, fuzzy, c-format
-msgid " Active: %s\n"
-msgstr " ovladaÄ: %s\n"
-
-#: utils/cpufreq-info.c:177
-#, c-format
-msgid " Boost States: %d\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:178
-#, c-format
-msgid " Total States: %d\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:181
-#, c-format
-msgid " Pstate-Pb%d: %luMHz (boost state)\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:184
-#, c-format
-msgid " Pstate-P%d: %luMHz\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:211
-#, c-format
-msgid " no or unknown cpufreq driver is active on this CPU\n"
-msgstr " pro tento CPU není aktivní žádný známý ovladaÄ cpufreq\n"
-
-#: utils/cpufreq-info.c:213
-#, c-format
-msgid " driver: %s\n"
-msgstr " ovladaÄ: %s\n"
-
-#: utils/cpufreq-info.c:219
-#, fuzzy, c-format
-msgid " CPUs which run at the same hardware frequency: "
-msgstr " CPU, které musí měnit frekvenci zároveň: "
-
-#: utils/cpufreq-info.c:230
-#, fuzzy, c-format
-msgid " CPUs which need to have their frequency coordinated by software: "
-msgstr " CPU, které musí měnit frekvenci zároveň: "
-
-#: utils/cpufreq-info.c:241
-#, c-format
-msgid " maximum transition latency: "
-msgstr ""
-
-#: utils/cpufreq-info.c:247
-#, c-format
-msgid " hardware limits: "
-msgstr " hardwarové meze: "
-
-#: utils/cpufreq-info.c:256
-#, c-format
-msgid " available frequency steps: "
-msgstr " dostupné frekvence: "
-
-#: utils/cpufreq-info.c:269
-#, c-format
-msgid " available cpufreq governors: "
-msgstr " dostupné regulátory: "
-
-#: utils/cpufreq-info.c:280
-#, c-format
-msgid " current policy: frequency should be within "
-msgstr " souÄasná taktika: frekvence by mÄ›la být mezi "
-
-#: utils/cpufreq-info.c:282
-#, c-format
-msgid " and "
-msgstr " a "
-
-#: utils/cpufreq-info.c:286
-#, c-format
-msgid ""
-"The governor \"%s\" may decide which speed to use\n"
-" within this range.\n"
-msgstr ""
-" Regulátor \"%s\" může rozhodnout jakou frekvenci použít\n"
-" v těchto mezích.\n"
-
-#: utils/cpufreq-info.c:293
-#, c-format
-msgid " current CPU frequency is "
-msgstr " souÄasná frekvence CPU je "
-
-#: utils/cpufreq-info.c:296
-#, c-format
-msgid " (asserted by call to hardware)"
-msgstr " (zjištěno hardwarovým voláním)"
-
-#: utils/cpufreq-info.c:304
-#, c-format
-msgid " cpufreq stats: "
-msgstr " statistika cpufreq: "
-
-#: utils/cpufreq-info.c:472
-#, fuzzy, c-format
-msgid "Usage: cpupower freqinfo [options]\n"
-msgstr "Užití: cpufreq-info [pÅ™epínaÄe]\n"
-
-#: utils/cpufreq-info.c:473 utils/cpufreq-set.c:26 utils/cpupower-set.c:23
-#: utils/cpupower-info.c:22 utils/cpuidle-info.c:148
-#, c-format
-msgid "Options:\n"
-msgstr "PÅ™epínaÄe:\n"
-
-#: utils/cpufreq-info.c:474
-#, fuzzy, c-format
-msgid " -e, --debug Prints out debug information [default]\n"
-msgstr " -e, --debug Vypíše ladicí informace\n"
-
-#: utils/cpufreq-info.c:475
-#, c-format
-msgid ""
-" -f, --freq Get frequency the CPU currently runs at, according\n"
-" to the cpufreq core *\n"
-msgstr ""
-" -f, --freq Zjistí aktuální frekvenci, na které CPU běží\n"
-" podle cpufreq *\n"
-
-#: utils/cpufreq-info.c:477
-#, c-format
-msgid ""
-" -w, --hwfreq Get frequency the CPU currently runs at, by reading\n"
-" it from hardware (only available to root) *\n"
-msgstr ""
-" -w, --hwfreq Zjistí aktuální frekvenci, na které CPU běží\n"
-" z hardware (dostupné jen uživateli root) *\n"
-
-#: utils/cpufreq-info.c:479
-#, c-format
-msgid ""
-" -l, --hwlimits Determine the minimum and maximum CPU frequency "
-"allowed *\n"
-msgstr ""
-" -l, --hwlimits Zjistí minimální a maximální dostupnou frekvenci CPU "
-"*\n"
-
-#: utils/cpufreq-info.c:480
-#, c-format
-msgid " -d, --driver Determines the used cpufreq kernel driver *\n"
-msgstr " -d, --driver Zjistí aktivní ovladaÄ cpufreq *\n"
-
-#: utils/cpufreq-info.c:481
-#, c-format
-msgid " -p, --policy Gets the currently used cpufreq policy *\n"
-msgstr " -p, --policy Zjistí aktuální taktiku cpufreq *\n"
-
-#: utils/cpufreq-info.c:482
-#, c-format
-msgid " -g, --governors Determines available cpufreq governors *\n"
-msgstr " -g, --governors Zjistí dostupné regulátory cpufreq *\n"
-
-#: utils/cpufreq-info.c:483
-#, fuzzy, c-format
-msgid ""
-" -r, --related-cpus Determines which CPUs run at the same hardware "
-"frequency *\n"
-msgstr ""
-" -a, --affected-cpus Zjistí, které CPU musí měnit frekvenci zároveň *\n"
-
-#: utils/cpufreq-info.c:484
-#, fuzzy, c-format
-msgid ""
-" -a, --affected-cpus Determines which CPUs need to have their frequency\n"
-" coordinated by software *\n"
-msgstr ""
-" -a, --affected-cpus Zjistí, které CPU musí měnit frekvenci zároveň *\n"
-
-#: utils/cpufreq-info.c:486
-#, c-format
-msgid " -s, --stats Shows cpufreq statistics if available\n"
-msgstr " -s, --stats Zobrazí statistiku cpufreq, je-li dostupná\n"
-
-#: utils/cpufreq-info.c:487
-#, fuzzy, c-format
-msgid ""
-" -y, --latency Determines the maximum latency on CPU frequency "
-"changes *\n"
-msgstr ""
-" -l, --hwlimits Zjistí minimální a maximální dostupnou frekvenci CPU "
-"*\n"
-
-#: utils/cpufreq-info.c:488
-#, c-format
-msgid " -b, --boost Checks for turbo or boost modes *\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:489
-#, c-format
-msgid ""
-" -o, --proc Prints out information like provided by the /proc/"
-"cpufreq\n"
-" interface in 2.4. and early 2.6. kernels\n"
-msgstr ""
-" -o, --proc Vypíše informace ve formátu, jaký používalo rozhraní\n"
-" /proc/cpufreq v kernelech Å™ady 2.4 a Äasné 2.6\n"
-
-#: utils/cpufreq-info.c:491
-#, fuzzy, c-format
-msgid ""
-" -m, --human human-readable output for the -f, -w, -s and -y "
-"parameters\n"
-msgstr ""
-" -m, --human Výstup parametrů -f, -w a -s v „lidmi Äitelném“ "
-"formátu\n"
-
-#: utils/cpufreq-info.c:492 utils/cpuidle-info.c:152
-#, c-format
-msgid " -h, --help Prints out this screen\n"
-msgstr " -h, --help Vypíše tuto nápovědu\n"
-
-#: utils/cpufreq-info.c:495
-#, c-format
-msgid ""
-"If no argument or only the -c, --cpu parameter is given, debug output about\n"
-"cpufreq is printed which is useful e.g. for reporting bugs.\n"
-msgstr ""
-"Není-li zadán žádný parametr nebo je-li zadán pouze pÅ™epínaÄ -c, --cpu, "
-"jsou\n"
-"vypsány ladicí informace, což může být užiteÄné například pÅ™i hlášení chyb.\n"
-
-#: utils/cpufreq-info.c:497
-#, c-format
-msgid ""
-"For the arguments marked with *, omitting the -c or --cpu argument is\n"
-"equivalent to setting it to zero\n"
-msgstr ""
-"Není-li pÅ™i použití pÅ™epínaÄů oznaÄených * zadán parametr -c nebo --cpu,\n"
-"předpokládá se jeho hodnota 0.\n"
-
-#: utils/cpufreq-info.c:580
-#, c-format
-msgid ""
-"The argument passed to this tool can't be combined with passing a --cpu "
-"argument\n"
-msgstr "Zadaný parametr nemůže být použit zároveň s pÅ™epínaÄem -c nebo --cpu\n"
-
-#: utils/cpufreq-info.c:596
-#, c-format
-msgid ""
-"You can't specify more than one --cpu parameter and/or\n"
-"more than one output-specific argument\n"
-msgstr ""
-"Nelze zadat více než jeden parametr -c nebo --cpu\n"
-"anebo více než jeden parametr urÄující výstup\n"
-
-#: utils/cpufreq-info.c:600 utils/cpufreq-set.c:82 utils/cpupower-set.c:42
-#: utils/cpupower-info.c:42 utils/cpuidle-info.c:213
-#, c-format
-msgid "invalid or unknown argument\n"
-msgstr "neplatný nebo neznámý parametr\n"
-
-#: utils/cpufreq-info.c:617
-#, c-format
-msgid "couldn't analyze CPU %d as it doesn't seem to be present\n"
-msgstr "nelze analyzovat CPU %d, vypadá to, že není přítomen\n"
-
-#: utils/cpufreq-info.c:620 utils/cpupower-info.c:142
-#, c-format
-msgid "analyzing CPU %d:\n"
-msgstr "analyzuji CPU %d:\n"
-
-#: utils/cpufreq-set.c:25
-#, fuzzy, c-format
-msgid "Usage: cpupower frequency-set [options]\n"
-msgstr "Užití: cpufreq-set [pÅ™epínaÄe]\n"
-
-#: utils/cpufreq-set.c:27
-#, c-format
-msgid ""
-" -d FREQ, --min FREQ new minimum CPU frequency the governor may "
-"select\n"
-msgstr ""
-" -d FREQ, --min FREQ Nová nejnižší frekvence, kterou může regulátor "
-"vybrat\n"
-
-#: utils/cpufreq-set.c:28
-#, c-format
-msgid ""
-" -u FREQ, --max FREQ new maximum CPU frequency the governor may "
-"select\n"
-msgstr ""
-" -u FREQ, --max FREQ Nová nejvyšší frekvence, kterou může regulátor "
-"zvolit\n"
-
-#: utils/cpufreq-set.c:29
-#, c-format
-msgid " -g GOV, --governor GOV new cpufreq governor\n"
-msgstr " -g GOV, --governors GOV Nový regulátor cpufreq\n"
-
-#: utils/cpufreq-set.c:30
-#, c-format
-msgid ""
-" -f FREQ, --freq FREQ specific frequency to be set. Requires userspace\n"
-" governor to be available and loaded\n"
-msgstr ""
-" -f FREQ, --freq FREQ Frekvence, která má být nastavena. Vyžaduje, aby "
-"byl\n"
-" v jádře nahrán regulátor ‚userspace‘.\n"
-
-#: utils/cpufreq-set.c:32
-#, c-format
-msgid " -r, --related Switches all hardware-related CPUs\n"
-msgstr ""
-
-#: utils/cpufreq-set.c:33 utils/cpupower-set.c:28 utils/cpupower-info.c:27
-#, fuzzy, c-format
-msgid " -h, --help Prints out this screen\n"
-msgstr " -h, --help Vypíše tuto nápovědu\n"
-
-#: utils/cpufreq-set.c:35
-#, fuzzy, c-format
-msgid ""
-"Notes:\n"
-"1. Omitting the -c or --cpu argument is equivalent to setting it to \"all\"\n"
-msgstr ""
-"Není-li pÅ™i použití pÅ™epínaÄů oznaÄených * zadán parametr -c nebo --cpu,\n"
-"předpokládá se jeho hodnota 0.\n"
-
-#: utils/cpufreq-set.c:37
-#, fuzzy, c-format
-msgid ""
-"2. The -f FREQ, --freq FREQ parameter cannot be combined with any other "
-"parameter\n"
-" except the -c CPU, --cpu CPU parameter\n"
-"3. FREQuencies can be passed in Hz, kHz (default), MHz, GHz, or THz\n"
-" by postfixing the value with the wanted unit name, without any space\n"
-" (FREQuency in kHz =^ Hz * 0.001 =^ MHz * 1000 =^ GHz * 1000000).\n"
-msgstr ""
-"Poznámky:\n"
-"1. Vynechání parametru -c nebo --cpu je ekvivalentní jeho nastavení na 0\n"
-"2. PÅ™epínaÄ -f nebo --freq nemůže být použit zároveň s žádným jiným vyjma -"
-"c\n"
-" nebo --cpu\n"
-"3. Frekvence (FREQ) mohou být zadány v Hz, kHz (výchozí), MHz, GHz nebo THz\n"
-" pÅ™ipojením názvu jednotky bez mezery mezi Äíslem a jednotkou\n"
-" (FREQ v kHz =^ Hz * 0,001 = ^ MHz * 1000 =^ GHz * 1000000)\n"
-
-#: utils/cpufreq-set.c:57
-#, c-format
-msgid ""
-"Error setting new values. Common errors:\n"
-"- Do you have proper administration rights? (super-user?)\n"
-"- Is the governor you requested available and modprobed?\n"
-"- Trying to set an invalid policy?\n"
-"- Trying to set a specific frequency, but userspace governor is not "
-"available,\n"
-" for example because of hardware which cannot be set to a specific "
-"frequency\n"
-" or because the userspace governor isn't loaded?\n"
-msgstr ""
-"Chyba při nastavování nových hodnot. Obvyklé problémy:\n"
-"- Máte patÅ™iÄná administrátorská práva? (root?)\n"
-"- Je požadovaný regulátor dostupný v jádře? (modprobe?)\n"
-"- Snažíte se nastavit neplatnou taktiku?\n"
-"- Snažíte se nastavit urÄitou frekvenci, ale není dostupný\n"
-" regulátor ‚userspace‘, například protože není nahrán v jádře,\n"
-" nebo nelze na tomto hardware nastavit urÄitou frekvenci?\n"
-
-#: utils/cpufreq-set.c:170
-#, c-format
-msgid "wrong, unknown or unhandled CPU?\n"
-msgstr "neznámý nebo nepodporovaný CPU?\n"
-
-#: utils/cpufreq-set.c:302
-#, c-format
-msgid ""
-"the -f/--freq parameter cannot be combined with -d/--min, -u/--max or\n"
-"-g/--governor parameters\n"
-msgstr ""
-"pÅ™epínaÄ -f/--freq nemůže být použit zároveň\n"
-"s pÅ™epínaÄem -d/--min, -u/--max nebo -g/--governor\n"
-
-#: utils/cpufreq-set.c:308
-#, c-format
-msgid ""
-"At least one parameter out of -f/--freq, -d/--min, -u/--max, and\n"
-"-g/--governor must be passed\n"
-msgstr ""
-"Musí být zadán alespoň jeden pÅ™epínaÄ\n"
-"-f/--freq, -d/--min, -u/--max nebo -g/--governor\n"
-
-#: utils/cpufreq-set.c:347
-#, c-format
-msgid "Setting cpu: %d\n"
-msgstr ""
-
-#: utils/cpupower-set.c:22
-#, c-format
-msgid "Usage: cpupower set [ -b val ] [ -m val ] [ -s val ]\n"
-msgstr ""
-
-#: utils/cpupower-set.c:24
-#, c-format
-msgid ""
-" -b, --perf-bias [VAL] Sets CPU's power vs performance policy on some\n"
-" Intel models [0-15], see manpage for details\n"
-msgstr ""
-
-#: utils/cpupower-set.c:26
-#, c-format
-msgid ""
-" -m, --sched-mc [VAL] Sets the kernel's multi core scheduler policy.\n"
-msgstr ""
-
-#: utils/cpupower-set.c:27
-#, c-format
-msgid ""
-" -s, --sched-smt [VAL] Sets the kernel's thread sibling scheduler "
-"policy.\n"
-msgstr ""
-
-#: utils/cpupower-set.c:80
-#, c-format
-msgid "--perf-bias param out of range [0-%d]\n"
-msgstr ""
-
-#: utils/cpupower-set.c:91
-#, c-format
-msgid "--sched-mc param out of range [0-%d]\n"
-msgstr ""
-
-#: utils/cpupower-set.c:102
-#, c-format
-msgid "--sched-smt param out of range [0-%d]\n"
-msgstr ""
-
-#: utils/cpupower-set.c:121
-#, c-format
-msgid "Error setting sched-mc %s\n"
-msgstr ""
-
-#: utils/cpupower-set.c:127
-#, c-format
-msgid "Error setting sched-smt %s\n"
-msgstr ""
-
-#: utils/cpupower-set.c:146
-#, c-format
-msgid "Error setting perf-bias value on CPU %d\n"
-msgstr ""
-
-#: utils/cpupower-info.c:21
-#, c-format
-msgid "Usage: cpupower info [ -b ] [ -m ] [ -s ]\n"
-msgstr ""
-
-#: utils/cpupower-info.c:23
-#, c-format
-msgid ""
-" -b, --perf-bias Gets CPU's power vs performance policy on some\n"
-" Intel models [0-15], see manpage for details\n"
-msgstr ""
-
-#: utils/cpupower-info.c:25
-#, fuzzy, c-format
-msgid " -m, --sched-mc Gets the kernel's multi core scheduler policy.\n"
-msgstr " -p, --policy Zjistí aktuální taktiku cpufreq *\n"
-
-#: utils/cpupower-info.c:26
-#, c-format
-msgid ""
-" -s, --sched-smt Gets the kernel's thread sibling scheduler policy.\n"
-msgstr ""
-
-#: utils/cpupower-info.c:28
-#, c-format
-msgid ""
-"\n"
-"Passing no option will show all info, by default only on core 0\n"
-msgstr ""
-
-#: utils/cpupower-info.c:102
-#, c-format
-msgid "System's multi core scheduler setting: "
-msgstr ""
-
-#. if sysfs file is missing it's: errno == ENOENT
-#: utils/cpupower-info.c:105 utils/cpupower-info.c:114
-#, c-format
-msgid "not supported\n"
-msgstr ""
-
-#: utils/cpupower-info.c:111
-#, c-format
-msgid "System's thread sibling scheduler setting: "
-msgstr ""
-
-#: utils/cpupower-info.c:126
-#, c-format
-msgid "Intel's performance bias setting needs root privileges\n"
-msgstr ""
-
-#: utils/cpupower-info.c:128
-#, c-format
-msgid "System does not support Intel's performance bias setting\n"
-msgstr ""
-
-#: utils/cpupower-info.c:147
-#, c-format
-msgid "Could not read perf-bias value\n"
-msgstr ""
-
-#: utils/cpupower-info.c:150
-#, c-format
-msgid "perf-bias: %d\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:28
-#, fuzzy, c-format
-msgid "Analyzing CPU %d:\n"
-msgstr "analyzuji CPU %d:\n"
-
-#: utils/cpuidle-info.c:32
-#, c-format
-msgid "CPU %u: No idle states\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:36
-#, c-format
-msgid "CPU %u: Can't read idle state info\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:41
-#, c-format
-msgid "Could not determine max idle state %u\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:46
-#, c-format
-msgid "Number of idle states: %d\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:48
-#, fuzzy, c-format
-msgid "Available idle states:"
-msgstr " dostupné frekvence: "
-
-#: utils/cpuidle-info.c:71
-#, c-format
-msgid "Flags/Description: %s\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:74
-#, c-format
-msgid "Latency: %lu\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:76
-#, c-format
-msgid "Usage: %lu\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:78
-#, c-format
-msgid "Duration: %llu\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:90
-#, c-format
-msgid "Could not determine cpuidle driver\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:94
-#, fuzzy, c-format
-msgid "CPUidle driver: %s\n"
-msgstr " ovladaÄ: %s\n"
-
-#: utils/cpuidle-info.c:99
-#, c-format
-msgid "Could not determine cpuidle governor\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:103
-#, c-format
-msgid "CPUidle governor: %s\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:122
-#, c-format
-msgid "CPU %u: Can't read C-state info\n"
-msgstr ""
-
-#. printf("Cstates: %d\n", cstates);
-#: utils/cpuidle-info.c:127
-#, c-format
-msgid "active state: C0\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:128
-#, c-format
-msgid "max_cstate: C%u\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:129
-#, c-format
-msgid "maximum allowed latency: %lu usec\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:130
-#, c-format
-msgid "states:\t\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:132
-#, c-format
-msgid " C%d: type[C%d] "
-msgstr ""
-
-#: utils/cpuidle-info.c:134
-#, c-format
-msgid "promotion[--] demotion[--] "
-msgstr ""
-
-#: utils/cpuidle-info.c:135
-#, c-format
-msgid "latency[%03lu] "
-msgstr ""
-
-#: utils/cpuidle-info.c:137
-#, c-format
-msgid "usage[%08lu] "
-msgstr ""
-
-#: utils/cpuidle-info.c:139
-#, c-format
-msgid "duration[%020Lu] \n"
-msgstr ""
-
-#: utils/cpuidle-info.c:147
-#, fuzzy, c-format
-msgid "Usage: cpupower idleinfo [options]\n"
-msgstr "Užití: cpufreq-info [pÅ™epínaÄe]\n"
-
-#: utils/cpuidle-info.c:149
-#, fuzzy, c-format
-msgid " -s, --silent Only show general C-state information\n"
-msgstr " -e, --debug Vypíše ladicí informace\n"
-
-#: utils/cpuidle-info.c:150
-#, fuzzy, c-format
-msgid ""
-" -o, --proc Prints out information like provided by the /proc/"
-"acpi/processor/*/power\n"
-" interface in older kernels\n"
-msgstr ""
-" -o, --proc Vypíše informace ve formátu, jaký používalo rozhraní\n"
-" /proc/cpufreq v kernelech Å™ady 2.4 a Äasné 2.6\n"
-
-#: utils/cpuidle-info.c:209
-#, fuzzy, c-format
-msgid "You can't specify more than one output-specific argument\n"
-msgstr ""
-"Nelze zadat více než jeden parametr -c nebo --cpu\n"
-"anebo více než jeden parametr urÄující výstup\n"
-
-#~ msgid ""
-#~ " -c CPU, --cpu CPU CPU number which information shall be determined "
-#~ "about\n"
-#~ msgstr ""
-#~ " -c CPU, --cpu CPU Číslo CPU, o kterém se mají zjistit informace\n"
-
-#~ msgid ""
-#~ " -c CPU, --cpu CPU number of CPU where cpufreq settings shall be "
-#~ "modified\n"
-#~ msgstr ""
-#~ " -c CPU, --cpu CPU Číslo CPU pro který se má provést nastavení "
-#~ "cpufreq\n"
diff --git a/ANDROID_3.4.5/tools/power/cpupower/po/de.po b/ANDROID_3.4.5/tools/power/cpupower/po/de.po
deleted file mode 100644
index 78c09e51..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/po/de.po
+++ /dev/null
@@ -1,961 +0,0 @@
-# German translations for cpufrequtils package
-# German messages for cpufrequtils.
-# Copyright (C) 2004-2009 Dominik Brodowski <linux@dominikbrodowski.net>
-# This file is distributed under the same license as the cpufrequtils package.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: cpufrequtils 006\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-08 17:03+0100\n"
-"PO-Revision-Date: 2009-08-08 17:18+0100\n"
-"Last-Translator: <linux@dominikbrodowski.net>\n"
-"Language-Team: NONE\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: utils/idle_monitor/nhm_idle.c:36
-msgid "Processor Core C3"
-msgstr ""
-
-#: utils/idle_monitor/nhm_idle.c:43
-msgid "Processor Core C6"
-msgstr ""
-
-#: utils/idle_monitor/nhm_idle.c:51
-msgid "Processor Package C3"
-msgstr ""
-
-#: utils/idle_monitor/nhm_idle.c:58 utils/idle_monitor/amd_fam14h_idle.c:70
-msgid "Processor Package C6"
-msgstr ""
-
-#: utils/idle_monitor/snb_idle.c:33
-msgid "Processor Core C7"
-msgstr ""
-
-#: utils/idle_monitor/snb_idle.c:40
-msgid "Processor Package C2"
-msgstr ""
-
-#: utils/idle_monitor/snb_idle.c:47
-msgid "Processor Package C7"
-msgstr ""
-
-#: utils/idle_monitor/amd_fam14h_idle.c:56
-msgid "Package in sleep state (PC1 or deeper)"
-msgstr ""
-
-#: utils/idle_monitor/amd_fam14h_idle.c:63
-msgid "Processor Package C1"
-msgstr ""
-
-#: utils/idle_monitor/amd_fam14h_idle.c:77
-msgid "North Bridge P1 boolean counter (returns 0 or 1)"
-msgstr ""
-
-#: utils/idle_monitor/mperf_monitor.c:35
-msgid "Processor Core not idle"
-msgstr ""
-
-#: utils/idle_monitor/mperf_monitor.c:42
-msgid "Processor Core in an idle state"
-msgstr ""
-
-#: utils/idle_monitor/mperf_monitor.c:50
-msgid "Average Frequency (including boost) in MHz"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:66
-#, c-format
-msgid ""
-"cpupower monitor: [-h] [ [-t] | [-l] | [-m <mon1>,[<mon2>] ] ] [-i "
-"interval_sec | -c command ...]\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:69
-#, c-format
-msgid ""
-"cpupower monitor: [-v] [-h] [ [-t] | [-l] | [-m <mon1>,[<mon2>] ] ] [-i "
-"interval_sec | -c command ...]\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:71
-#, c-format
-msgid "\t -v: be more verbose\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:73
-#, c-format
-msgid "\t -h: print this help\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:74
-#, c-format
-msgid "\t -i: time intervall to measure for in seconds (default 1)\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:75
-#, c-format
-msgid "\t -t: show CPU topology/hierarchy\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:76
-#, c-format
-msgid "\t -l: list available CPU sleep monitors (for use with -m)\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:77
-#, c-format
-msgid "\t -m: show specific CPU sleep monitors only (in same order)\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:79
-#, c-format
-msgid ""
-"only one of: -t, -l, -m are allowed\n"
-"If none of them is passed,"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:80
-#, c-format
-msgid " all supported monitors are shown\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:197
-#, c-format
-msgid "Monitor %s, Counter %s has no count function. Implementation error\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:207
-#, c-format
-msgid " *is offline\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:236
-#, c-format
-msgid "%s: max monitor name length (%d) exceeded\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:250
-#, c-format
-msgid "No matching monitor found in %s, try -l option\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:266
-#, c-format
-msgid "Monitor \"%s\" (%d states) - Might overflow after %u s\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:319
-#, c-format
-msgid "%s took %.5f seconds and exited with status %d\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:406
-#, c-format
-msgid "Cannot read number of available processors\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:417
-#, c-format
-msgid "Available monitor %s needs root access\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:428
-#, c-format
-msgid "No HW Cstate monitors found\n"
-msgstr ""
-
-#: utils/cpupower.c:78
-#, c-format
-msgid "cpupower [ -c cpulist ] subcommand [ARGS]\n"
-msgstr ""
-
-#: utils/cpupower.c:79
-#, c-format
-msgid "cpupower --version\n"
-msgstr ""
-
-#: utils/cpupower.c:80
-#, c-format
-msgid "Supported subcommands are:\n"
-msgstr ""
-
-#: utils/cpupower.c:83
-#, c-format
-msgid ""
-"\n"
-"Some subcommands can make use of the -c cpulist option.\n"
-msgstr ""
-
-#: utils/cpupower.c:84
-#, c-format
-msgid "Look at the general cpupower manpage how to use it\n"
-msgstr ""
-
-#: utils/cpupower.c:85
-#, c-format
-msgid "and read up the subcommand's manpage whether it is supported.\n"
-msgstr ""
-
-#: utils/cpupower.c:86
-#, c-format
-msgid ""
-"\n"
-"Use cpupower help subcommand for getting help for above subcommands.\n"
-msgstr ""
-
-#: utils/cpupower.c:91
-#, c-format
-msgid "Report errors and bugs to %s, please.\n"
-msgstr "Bitte melden Sie Fehler an %s.\n"
-
-#: utils/cpupower.c:114
-#, c-format
-msgid "Error parsing cpu list\n"
-msgstr ""
-
-#: utils/cpupower.c:172
-#, c-format
-msgid "Subcommand %s needs root privileges\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:31
-#, c-format
-msgid "Couldn't count the number of CPUs (%s: %s), assuming 1\n"
-msgstr ""
-"Konnte nicht die Anzahl der CPUs herausfinden (%s : %s), nehme daher 1 an.\n"
-
-#: utils/cpufreq-info.c:63
-#, c-format
-msgid ""
-" minimum CPU frequency - maximum CPU frequency - governor\n"
-msgstr ""
-" minimale CPU-Taktfreq. - maximale CPU-Taktfreq. - Regler \n"
-
-#: utils/cpufreq-info.c:151
-#, c-format
-msgid "Error while evaluating Boost Capabilities on CPU %d -- are you root?\n"
-msgstr ""
-
-#. P state changes via MSR are identified via cpuid 80000007
-#. on Intel and AMD, but we assume boost capable machines can do that
-#. if (cpuid_eax(0x80000000) >= 0x80000007
-#. && (cpuid_edx(0x80000007) & (1 << 7)))
-#.
-#: utils/cpufreq-info.c:161
-#, c-format
-msgid " boost state support: \n"
-msgstr ""
-
-#: utils/cpufreq-info.c:163
-#, c-format
-msgid " Supported: %s\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:163 utils/cpufreq-info.c:164
-msgid "yes"
-msgstr ""
-
-#: utils/cpufreq-info.c:163 utils/cpufreq-info.c:164
-msgid "no"
-msgstr ""
-
-#: utils/cpufreq-info.c:164
-#, fuzzy, c-format
-msgid " Active: %s\n"
-msgstr " Treiber: %s\n"
-
-#: utils/cpufreq-info.c:177
-#, c-format
-msgid " Boost States: %d\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:178
-#, c-format
-msgid " Total States: %d\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:181
-#, c-format
-msgid " Pstate-Pb%d: %luMHz (boost state)\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:184
-#, c-format
-msgid " Pstate-P%d: %luMHz\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:211
-#, c-format
-msgid " no or unknown cpufreq driver is active on this CPU\n"
-msgstr " kein oder nicht bestimmbarer cpufreq-Treiber aktiv\n"
-
-#: utils/cpufreq-info.c:213
-#, c-format
-msgid " driver: %s\n"
-msgstr " Treiber: %s\n"
-
-#: utils/cpufreq-info.c:219
-#, c-format
-msgid " CPUs which run at the same hardware frequency: "
-msgstr " Folgende CPUs laufen mit der gleichen Hardware-Taktfrequenz: "
-
-#: utils/cpufreq-info.c:230
-#, c-format
-msgid " CPUs which need to have their frequency coordinated by software: "
-msgstr " Die Taktfrequenz folgender CPUs werden per Software koordiniert: "
-
-#: utils/cpufreq-info.c:241
-#, c-format
-msgid " maximum transition latency: "
-msgstr " Maximale Dauer eines Taktfrequenzwechsels: "
-
-#: utils/cpufreq-info.c:247
-#, c-format
-msgid " hardware limits: "
-msgstr " Hardwarebedingte Grenzen der Taktfrequenz: "
-
-#: utils/cpufreq-info.c:256
-#, c-format
-msgid " available frequency steps: "
-msgstr " mögliche Taktfrequenzen: "
-
-#: utils/cpufreq-info.c:269
-#, c-format
-msgid " available cpufreq governors: "
-msgstr " mögliche Regler: "
-
-#: utils/cpufreq-info.c:280
-#, c-format
-msgid " current policy: frequency should be within "
-msgstr " momentane Taktik: die Frequenz soll innerhalb "
-
-#: utils/cpufreq-info.c:282
-#, c-format
-msgid " and "
-msgstr " und "
-
-#: utils/cpufreq-info.c:286
-#, c-format
-msgid ""
-"The governor \"%s\" may decide which speed to use\n"
-" within this range.\n"
-msgstr ""
-" liegen. Der Regler \"%s\" kann frei entscheiden,\n"
-" welche Taktfrequenz innerhalb dieser Grenze verwendet "
-"wird.\n"
-
-#: utils/cpufreq-info.c:293
-#, c-format
-msgid " current CPU frequency is "
-msgstr " momentane Taktfrequenz ist "
-
-#: utils/cpufreq-info.c:296
-#, c-format
-msgid " (asserted by call to hardware)"
-msgstr " (verifiziert durch Nachfrage bei der Hardware)"
-
-#: utils/cpufreq-info.c:304
-#, c-format
-msgid " cpufreq stats: "
-msgstr " Statistik:"
-
-#: utils/cpufreq-info.c:472
-#, fuzzy, c-format
-msgid "Usage: cpupower freqinfo [options]\n"
-msgstr "Aufruf: cpufreq-info [Optionen]\n"
-
-#: utils/cpufreq-info.c:473 utils/cpufreq-set.c:26 utils/cpupower-set.c:23
-#: utils/cpupower-info.c:22 utils/cpuidle-info.c:148
-#, c-format
-msgid "Options:\n"
-msgstr "Optionen:\n"
-
-#: utils/cpufreq-info.c:474
-#, fuzzy, c-format
-msgid " -e, --debug Prints out debug information [default]\n"
-msgstr ""
-" -e, --debug Erzeugt detaillierte Informationen, hilfreich\n"
-" zum Aufspüren von Fehlern\n"
-
-#: utils/cpufreq-info.c:475
-#, c-format
-msgid ""
-" -f, --freq Get frequency the CPU currently runs at, according\n"
-" to the cpufreq core *\n"
-msgstr ""
-" -f, --freq Findet die momentane CPU-Taktfrquenz heraus (nach\n"
-" Meinung des Betriebssystems) *\n"
-
-#: utils/cpufreq-info.c:477
-#, c-format
-msgid ""
-" -w, --hwfreq Get frequency the CPU currently runs at, by reading\n"
-" it from hardware (only available to root) *\n"
-msgstr ""
-" -w, --hwfreq Findet die momentane CPU-Taktfrequenz heraus\n"
-" (verifiziert durch Nachfrage bei der Hardware)\n"
-" [nur der Administrator kann dies tun] *\n"
-
-#: utils/cpufreq-info.c:479
-#, c-format
-msgid ""
-" -l, --hwlimits Determine the minimum and maximum CPU frequency "
-"allowed *\n"
-msgstr ""
-" -l, --hwlimits Findet die minimale und maximale Taktfrequenz heraus "
-"*\n"
-
-#: utils/cpufreq-info.c:480
-#, c-format
-msgid " -d, --driver Determines the used cpufreq kernel driver *\n"
-msgstr " -d, --driver Findet den momentanen Treiber heraus *\n"
-
-#: utils/cpufreq-info.c:481
-#, c-format
-msgid " -p, --policy Gets the currently used cpufreq policy *\n"
-msgstr " -p, --policy Findet die momentane Taktik heraus *\n"
-
-#: utils/cpufreq-info.c:482
-#, c-format
-msgid " -g, --governors Determines available cpufreq governors *\n"
-msgstr " -g, --governors Erzeugt eine Liste mit verfügbaren Reglern *\n"
-
-#: utils/cpufreq-info.c:483
-#, c-format
-msgid ""
-" -r, --related-cpus Determines which CPUs run at the same hardware "
-"frequency *\n"
-msgstr ""
-" -r, --related-cpus Findet heraus, welche CPUs mit derselben "
-"physikalischen\n"
-" Taktfrequenz laufen *\n"
-
-#: utils/cpufreq-info.c:484
-#, c-format
-msgid ""
-" -a, --affected-cpus Determines which CPUs need to have their frequency\n"
-" coordinated by software *\n"
-msgstr ""
-" -a, --affected-cpus Findet heraus, von welchen CPUs die Taktfrequenz "
-"durch\n"
-" Software koordiniert werden muss *\n"
-
-#: utils/cpufreq-info.c:486
-#, c-format
-msgid " -s, --stats Shows cpufreq statistics if available\n"
-msgstr ""
-" -s, --stats Zeigt, sofern möglich, Statistiken über cpufreq an.\n"
-
-#: utils/cpufreq-info.c:487
-#, c-format
-msgid ""
-" -y, --latency Determines the maximum latency on CPU frequency "
-"changes *\n"
-msgstr ""
-" -y, --latency Findet die maximale Dauer eines Taktfrequenzwechsels "
-"heraus *\n"
-
-#: utils/cpufreq-info.c:488
-#, c-format
-msgid " -b, --boost Checks for turbo or boost modes *\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:489
-#, c-format
-msgid ""
-" -o, --proc Prints out information like provided by the /proc/"
-"cpufreq\n"
-" interface in 2.4. and early 2.6. kernels\n"
-msgstr ""
-" -o, --proc Erzeugt Informationen in einem ähnlichem Format zu "
-"dem\n"
-" der /proc/cpufreq-Datei in 2.4. und frühen 2.6.\n"
-" Kernel-Versionen\n"
-
-#: utils/cpufreq-info.c:491
-#, c-format
-msgid ""
-" -m, --human human-readable output for the -f, -w, -s and -y "
-"parameters\n"
-msgstr ""
-" -m, --human Formatiert Taktfrequenz- und Zeitdauerangaben in "
-"besser\n"
-" lesbarer Form (MHz, GHz; us, ms)\n"
-
-#: utils/cpufreq-info.c:492 utils/cpuidle-info.c:152
-#, c-format
-msgid " -h, --help Prints out this screen\n"
-msgstr " -h, --help Gibt diese Kurzübersicht aus\n"
-
-#: utils/cpufreq-info.c:495
-#, c-format
-msgid ""
-"If no argument or only the -c, --cpu parameter is given, debug output about\n"
-"cpufreq is printed which is useful e.g. for reporting bugs.\n"
-msgstr ""
-"Sofern kein anderer Parameter als '-c, --cpu' angegeben wird, liefert "
-"dieses\n"
-"Programm Informationen, die z.B. zum Berichten von Fehlern nützlich sind.\n"
-
-#: utils/cpufreq-info.c:497
-#, c-format
-msgid ""
-"For the arguments marked with *, omitting the -c or --cpu argument is\n"
-"equivalent to setting it to zero\n"
-msgstr ""
-"Bei den mit * markierten Parametern wird '--cpu 0' angenommen, soweit nicht\n"
-"mittels -c oder --cpu etwas anderes angegeben wird\n"
-
-#: utils/cpufreq-info.c:580
-#, c-format
-msgid ""
-"The argument passed to this tool can't be combined with passing a --cpu "
-"argument\n"
-msgstr "Diese Option kann nicht mit der --cpu-Option kombiniert werden\n"
-
-#: utils/cpufreq-info.c:596
-#, c-format
-msgid ""
-"You can't specify more than one --cpu parameter and/or\n"
-"more than one output-specific argument\n"
-msgstr ""
-"Man kann nicht mehr als einen --cpu-Parameter und/oder mehr als einen\n"
-"informationsspezifischen Parameter gleichzeitig angeben\n"
-
-#: utils/cpufreq-info.c:600 utils/cpufreq-set.c:82 utils/cpupower-set.c:42
-#: utils/cpupower-info.c:42 utils/cpuidle-info.c:213
-#, c-format
-msgid "invalid or unknown argument\n"
-msgstr "unbekannter oder falscher Parameter\n"
-
-#: utils/cpufreq-info.c:617
-#, c-format
-msgid "couldn't analyze CPU %d as it doesn't seem to be present\n"
-msgstr ""
-"Konnte nicht die CPU %d analysieren, da sie (scheinbar?) nicht existiert.\n"
-
-#: utils/cpufreq-info.c:620 utils/cpupower-info.c:142
-#, c-format
-msgid "analyzing CPU %d:\n"
-msgstr "analysiere CPU %d:\n"
-
-#: utils/cpufreq-set.c:25
-#, fuzzy, c-format
-msgid "Usage: cpupower frequency-set [options]\n"
-msgstr "Aufruf: cpufreq-set [Optionen]\n"
-
-#: utils/cpufreq-set.c:27
-#, c-format
-msgid ""
-" -d FREQ, --min FREQ new minimum CPU frequency the governor may "
-"select\n"
-msgstr ""
-" -d FREQ, --min FREQ neue minimale Taktfrequenz, die der Regler\n"
-" auswählen darf\n"
-
-#: utils/cpufreq-set.c:28
-#, c-format
-msgid ""
-" -u FREQ, --max FREQ new maximum CPU frequency the governor may "
-"select\n"
-msgstr ""
-" -u FREQ, --max FREQ neue maximale Taktfrequenz, die der Regler\n"
-" auswählen darf\n"
-
-#: utils/cpufreq-set.c:29
-#, c-format
-msgid " -g GOV, --governor GOV new cpufreq governor\n"
-msgstr " -g GOV, --governors GOV wechsle zu Regler GOV\n"
-
-#: utils/cpufreq-set.c:30
-#, c-format
-msgid ""
-" -f FREQ, --freq FREQ specific frequency to be set. Requires userspace\n"
-" governor to be available and loaded\n"
-msgstr ""
-" -f FREQ, --freq FREQ setze exakte Taktfrequenz. Benötigt den Regler\n"
-" 'userspace'.\n"
-
-#: utils/cpufreq-set.c:32
-#, c-format
-msgid " -r, --related Switches all hardware-related CPUs\n"
-msgstr ""
-" -r, --related Setze Werte für alle CPUs, deren Taktfrequenz\n"
-" hardwarebedingt identisch ist.\n"
-
-#: utils/cpufreq-set.c:33 utils/cpupower-set.c:28 utils/cpupower-info.c:27
-#, c-format
-msgid " -h, --help Prints out this screen\n"
-msgstr " -h, --help Gibt diese Kurzübersicht aus\n"
-
-#: utils/cpufreq-set.c:35
-#, fuzzy, c-format
-msgid ""
-"Notes:\n"
-"1. Omitting the -c or --cpu argument is equivalent to setting it to \"all\"\n"
-msgstr ""
-"Bei den mit * markierten Parametern wird '--cpu 0' angenommen, soweit nicht\n"
-"mittels -c oder --cpu etwas anderes angegeben wird\n"
-
-#: utils/cpufreq-set.c:37
-#, fuzzy, c-format
-msgid ""
-"2. The -f FREQ, --freq FREQ parameter cannot be combined with any other "
-"parameter\n"
-" except the -c CPU, --cpu CPU parameter\n"
-"3. FREQuencies can be passed in Hz, kHz (default), MHz, GHz, or THz\n"
-" by postfixing the value with the wanted unit name, without any space\n"
-" (FREQuency in kHz =^ Hz * 0.001 =^ MHz * 1000 =^ GHz * 1000000).\n"
-msgstr ""
-"Hinweise:\n"
-"1. Sofern kein -c oder --cpu-Parameter angegeben ist, wird '--cpu 0'\n"
-" angenommen\n"
-"2. Der Parameter -f bzw. --freq kann mit keinem anderen als dem Parameter\n"
-" -c bzw. --cpu kombiniert werden\n"
-"3. FREQuenzen können in Hz, kHz (Standard), MHz, GHz oder THz eingegeben\n"
-" werden, indem der Wert und unmittelbar anschließend (ohne Leerzeichen!)\n"
-" die Einheit angegeben werden. (Bsp: 1GHz )\n"
-" (FREQuenz in kHz =^ MHz * 1000 =^ GHz * 1000000).\n"
-
-#: utils/cpufreq-set.c:57
-#, c-format
-msgid ""
-"Error setting new values. Common errors:\n"
-"- Do you have proper administration rights? (super-user?)\n"
-"- Is the governor you requested available and modprobed?\n"
-"- Trying to set an invalid policy?\n"
-"- Trying to set a specific frequency, but userspace governor is not "
-"available,\n"
-" for example because of hardware which cannot be set to a specific "
-"frequency\n"
-" or because the userspace governor isn't loaded?\n"
-msgstr ""
-"Beim Einstellen ist ein Fehler aufgetreten. Typische Fehlerquellen sind:\n"
-"- nicht ausreichende Rechte (Administrator)\n"
-"- der Regler ist nicht verfügbar bzw. nicht geladen\n"
-"- die angegebene Taktik ist inkorrekt\n"
-"- eine spezifische Frequenz wurde angegeben, aber der Regler 'userspace'\n"
-" kann entweder hardwarebedingt nicht genutzt werden oder ist nicht geladen\n"
-
-#: utils/cpufreq-set.c:170
-#, c-format
-msgid "wrong, unknown or unhandled CPU?\n"
-msgstr "unbekannte oder nicht regelbare CPU\n"
-
-#: utils/cpufreq-set.c:302
-#, c-format
-msgid ""
-"the -f/--freq parameter cannot be combined with -d/--min, -u/--max or\n"
-"-g/--governor parameters\n"
-msgstr ""
-"Der -f bzw. --freq-Parameter kann nicht mit den Parametern -d/--min, -u/--"
-"max\n"
-"oder -g/--governor kombiniert werden\n"
-
-#: utils/cpufreq-set.c:308
-#, c-format
-msgid ""
-"At least one parameter out of -f/--freq, -d/--min, -u/--max, and\n"
-"-g/--governor must be passed\n"
-msgstr ""
-"Es muss mindestens ein Parameter aus -f/--freq, -d/--min, -u/--max oder\n"
-"-g/--governor angegeben werden.\n"
-
-#: utils/cpufreq-set.c:347
-#, c-format
-msgid "Setting cpu: %d\n"
-msgstr ""
-
-#: utils/cpupower-set.c:22
-#, c-format
-msgid "Usage: cpupower set [ -b val ] [ -m val ] [ -s val ]\n"
-msgstr ""
-
-#: utils/cpupower-set.c:24
-#, c-format
-msgid ""
-" -b, --perf-bias [VAL] Sets CPU's power vs performance policy on some\n"
-" Intel models [0-15], see manpage for details\n"
-msgstr ""
-
-#: utils/cpupower-set.c:26
-#, c-format
-msgid ""
-" -m, --sched-mc [VAL] Sets the kernel's multi core scheduler policy.\n"
-msgstr ""
-
-#: utils/cpupower-set.c:27
-#, c-format
-msgid ""
-" -s, --sched-smt [VAL] Sets the kernel's thread sibling scheduler "
-"policy.\n"
-msgstr ""
-
-#: utils/cpupower-set.c:80
-#, c-format
-msgid "--perf-bias param out of range [0-%d]\n"
-msgstr ""
-
-#: utils/cpupower-set.c:91
-#, c-format
-msgid "--sched-mc param out of range [0-%d]\n"
-msgstr ""
-
-#: utils/cpupower-set.c:102
-#, c-format
-msgid "--sched-smt param out of range [0-%d]\n"
-msgstr ""
-
-#: utils/cpupower-set.c:121
-#, c-format
-msgid "Error setting sched-mc %s\n"
-msgstr ""
-
-#: utils/cpupower-set.c:127
-#, c-format
-msgid "Error setting sched-smt %s\n"
-msgstr ""
-
-#: utils/cpupower-set.c:146
-#, c-format
-msgid "Error setting perf-bias value on CPU %d\n"
-msgstr ""
-
-#: utils/cpupower-info.c:21
-#, c-format
-msgid "Usage: cpupower info [ -b ] [ -m ] [ -s ]\n"
-msgstr ""
-
-#: utils/cpupower-info.c:23
-#, c-format
-msgid ""
-" -b, --perf-bias Gets CPU's power vs performance policy on some\n"
-" Intel models [0-15], see manpage for details\n"
-msgstr ""
-
-#: utils/cpupower-info.c:25
-#, fuzzy, c-format
-msgid " -m, --sched-mc Gets the kernel's multi core scheduler policy.\n"
-msgstr " -p, --policy Findet die momentane Taktik heraus *\n"
-
-#: utils/cpupower-info.c:26
-#, c-format
-msgid ""
-" -s, --sched-smt Gets the kernel's thread sibling scheduler policy.\n"
-msgstr ""
-
-#: utils/cpupower-info.c:28
-#, c-format
-msgid ""
-"\n"
-"Passing no option will show all info, by default only on core 0\n"
-msgstr ""
-
-#: utils/cpupower-info.c:102
-#, c-format
-msgid "System's multi core scheduler setting: "
-msgstr ""
-
-#. if sysfs file is missing it's: errno == ENOENT
-#: utils/cpupower-info.c:105 utils/cpupower-info.c:114
-#, c-format
-msgid "not supported\n"
-msgstr ""
-
-#: utils/cpupower-info.c:111
-#, c-format
-msgid "System's thread sibling scheduler setting: "
-msgstr ""
-
-#: utils/cpupower-info.c:126
-#, c-format
-msgid "Intel's performance bias setting needs root privileges\n"
-msgstr ""
-
-#: utils/cpupower-info.c:128
-#, c-format
-msgid "System does not support Intel's performance bias setting\n"
-msgstr ""
-
-#: utils/cpupower-info.c:147
-#, c-format
-msgid "Could not read perf-bias value\n"
-msgstr ""
-
-#: utils/cpupower-info.c:150
-#, c-format
-msgid "perf-bias: %d\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:28
-#, fuzzy, c-format
-msgid "Analyzing CPU %d:\n"
-msgstr "analysiere CPU %d:\n"
-
-#: utils/cpuidle-info.c:32
-#, c-format
-msgid "CPU %u: No idle states\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:36
-#, c-format
-msgid "CPU %u: Can't read idle state info\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:41
-#, c-format
-msgid "Could not determine max idle state %u\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:46
-#, c-format
-msgid "Number of idle states: %d\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:48
-#, fuzzy, c-format
-msgid "Available idle states:"
-msgstr " mögliche Taktfrequenzen: "
-
-#: utils/cpuidle-info.c:71
-#, c-format
-msgid "Flags/Description: %s\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:74
-#, c-format
-msgid "Latency: %lu\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:76
-#, c-format
-msgid "Usage: %lu\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:78
-#, c-format
-msgid "Duration: %llu\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:90
-#, c-format
-msgid "Could not determine cpuidle driver\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:94
-#, fuzzy, c-format
-msgid "CPUidle driver: %s\n"
-msgstr " Treiber: %s\n"
-
-#: utils/cpuidle-info.c:99
-#, c-format
-msgid "Could not determine cpuidle governor\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:103
-#, c-format
-msgid "CPUidle governor: %s\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:122
-#, c-format
-msgid "CPU %u: Can't read C-state info\n"
-msgstr ""
-
-#. printf("Cstates: %d\n", cstates);
-#: utils/cpuidle-info.c:127
-#, c-format
-msgid "active state: C0\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:128
-#, c-format
-msgid "max_cstate: C%u\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:129
-#, fuzzy, c-format
-msgid "maximum allowed latency: %lu usec\n"
-msgstr " Maximale Dauer eines Taktfrequenzwechsels: "
-
-#: utils/cpuidle-info.c:130
-#, c-format
-msgid "states:\t\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:132
-#, c-format
-msgid " C%d: type[C%d] "
-msgstr ""
-
-#: utils/cpuidle-info.c:134
-#, c-format
-msgid "promotion[--] demotion[--] "
-msgstr ""
-
-#: utils/cpuidle-info.c:135
-#, c-format
-msgid "latency[%03lu] "
-msgstr ""
-
-#: utils/cpuidle-info.c:137
-#, c-format
-msgid "usage[%08lu] "
-msgstr ""
-
-#: utils/cpuidle-info.c:139
-#, c-format
-msgid "duration[%020Lu] \n"
-msgstr ""
-
-#: utils/cpuidle-info.c:147
-#, fuzzy, c-format
-msgid "Usage: cpupower idleinfo [options]\n"
-msgstr "Aufruf: cpufreq-info [Optionen]\n"
-
-#: utils/cpuidle-info.c:149
-#, fuzzy, c-format
-msgid " -s, --silent Only show general C-state information\n"
-msgstr ""
-" -e, --debug Erzeugt detaillierte Informationen, hilfreich\n"
-" zum Aufspüren von Fehlern\n"
-
-#: utils/cpuidle-info.c:150
-#, fuzzy, c-format
-msgid ""
-" -o, --proc Prints out information like provided by the /proc/"
-"acpi/processor/*/power\n"
-" interface in older kernels\n"
-msgstr ""
-" -o, --proc Erzeugt Informationen in einem ähnlichem Format zu "
-"dem\n"
-" der /proc/cpufreq-Datei in 2.4. und frühen 2.6.\n"
-" Kernel-Versionen\n"
-
-#: utils/cpuidle-info.c:209
-#, fuzzy, c-format
-msgid "You can't specify more than one output-specific argument\n"
-msgstr ""
-"Man kann nicht mehr als einen --cpu-Parameter und/oder mehr als einen\n"
-"informationsspezifischen Parameter gleichzeitig angeben\n"
-
-#~ msgid ""
-#~ " -c CPU, --cpu CPU CPU number which information shall be determined "
-#~ "about\n"
-#~ msgstr ""
-#~ " -c CPU, --cpu CPU Nummer der CPU, über die Informationen "
-#~ "herausgefunden werden sollen\n"
-
-#~ msgid ""
-#~ " -c CPU, --cpu CPU number of CPU where cpufreq settings shall be "
-#~ "modified\n"
-#~ msgstr ""
-#~ " -c CPU, --cpu CPU Nummer der CPU, deren Taktfrequenz-"
-#~ "Einstellung\n"
-#~ " werden soll\n"
diff --git a/ANDROID_3.4.5/tools/power/cpupower/po/fr.po b/ANDROID_3.4.5/tools/power/cpupower/po/fr.po
deleted file mode 100644
index 245ad20a..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/po/fr.po
+++ /dev/null
@@ -1,947 +0,0 @@
-# French translations for cpufrequtils package
-# Copyright (C) 2004 THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the cpufrequtils package.
-# Ducrot Bruno <ducrot@poupinou.org>, 2004.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: cpufrequtils 0.1-pre2\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-08 17:03+0100\n"
-"PO-Revision-Date: 2004-11-17 15:53+1000\n"
-"Last-Translator: Bruno Ducrot <ducrot@poupinou.org>\n"
-"Language-Team: NONE\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: utils/idle_monitor/nhm_idle.c:36
-msgid "Processor Core C3"
-msgstr ""
-
-#: utils/idle_monitor/nhm_idle.c:43
-msgid "Processor Core C6"
-msgstr ""
-
-#: utils/idle_monitor/nhm_idle.c:51
-msgid "Processor Package C3"
-msgstr ""
-
-#: utils/idle_monitor/nhm_idle.c:58 utils/idle_monitor/amd_fam14h_idle.c:70
-msgid "Processor Package C6"
-msgstr ""
-
-#: utils/idle_monitor/snb_idle.c:33
-msgid "Processor Core C7"
-msgstr ""
-
-#: utils/idle_monitor/snb_idle.c:40
-msgid "Processor Package C2"
-msgstr ""
-
-#: utils/idle_monitor/snb_idle.c:47
-msgid "Processor Package C7"
-msgstr ""
-
-#: utils/idle_monitor/amd_fam14h_idle.c:56
-msgid "Package in sleep state (PC1 or deeper)"
-msgstr ""
-
-#: utils/idle_monitor/amd_fam14h_idle.c:63
-msgid "Processor Package C1"
-msgstr ""
-
-#: utils/idle_monitor/amd_fam14h_idle.c:77
-msgid "North Bridge P1 boolean counter (returns 0 or 1)"
-msgstr ""
-
-#: utils/idle_monitor/mperf_monitor.c:35
-msgid "Processor Core not idle"
-msgstr ""
-
-#: utils/idle_monitor/mperf_monitor.c:42
-msgid "Processor Core in an idle state"
-msgstr ""
-
-#: utils/idle_monitor/mperf_monitor.c:50
-msgid "Average Frequency (including boost) in MHz"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:66
-#, c-format
-msgid ""
-"cpupower monitor: [-h] [ [-t] | [-l] | [-m <mon1>,[<mon2>] ] ] [-i "
-"interval_sec | -c command ...]\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:69
-#, c-format
-msgid ""
-"cpupower monitor: [-v] [-h] [ [-t] | [-l] | [-m <mon1>,[<mon2>] ] ] [-i "
-"interval_sec | -c command ...]\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:71
-#, c-format
-msgid "\t -v: be more verbose\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:73
-#, c-format
-msgid "\t -h: print this help\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:74
-#, c-format
-msgid "\t -i: time intervall to measure for in seconds (default 1)\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:75
-#, c-format
-msgid "\t -t: show CPU topology/hierarchy\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:76
-#, c-format
-msgid "\t -l: list available CPU sleep monitors (for use with -m)\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:77
-#, c-format
-msgid "\t -m: show specific CPU sleep monitors only (in same order)\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:79
-#, c-format
-msgid ""
-"only one of: -t, -l, -m are allowed\n"
-"If none of them is passed,"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:80
-#, c-format
-msgid " all supported monitors are shown\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:197
-#, c-format
-msgid "Monitor %s, Counter %s has no count function. Implementation error\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:207
-#, c-format
-msgid " *is offline\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:236
-#, c-format
-msgid "%s: max monitor name length (%d) exceeded\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:250
-#, c-format
-msgid "No matching monitor found in %s, try -l option\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:266
-#, c-format
-msgid "Monitor \"%s\" (%d states) - Might overflow after %u s\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:319
-#, c-format
-msgid "%s took %.5f seconds and exited with status %d\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:406
-#, c-format
-msgid "Cannot read number of available processors\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:417
-#, c-format
-msgid "Available monitor %s needs root access\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:428
-#, c-format
-msgid "No HW Cstate monitors found\n"
-msgstr ""
-
-#: utils/cpupower.c:78
-#, c-format
-msgid "cpupower [ -c cpulist ] subcommand [ARGS]\n"
-msgstr ""
-
-#: utils/cpupower.c:79
-#, c-format
-msgid "cpupower --version\n"
-msgstr ""
-
-#: utils/cpupower.c:80
-#, c-format
-msgid "Supported subcommands are:\n"
-msgstr ""
-
-#: utils/cpupower.c:83
-#, c-format
-msgid ""
-"\n"
-"Some subcommands can make use of the -c cpulist option.\n"
-msgstr ""
-
-#: utils/cpupower.c:84
-#, c-format
-msgid "Look at the general cpupower manpage how to use it\n"
-msgstr ""
-
-#: utils/cpupower.c:85
-#, c-format
-msgid "and read up the subcommand's manpage whether it is supported.\n"
-msgstr ""
-
-#: utils/cpupower.c:86
-#, c-format
-msgid ""
-"\n"
-"Use cpupower help subcommand for getting help for above subcommands.\n"
-msgstr ""
-
-#: utils/cpupower.c:91
-#, c-format
-msgid "Report errors and bugs to %s, please.\n"
-msgstr "Veuillez rapportez les erreurs et les bogues à %s, s'il vous plait.\n"
-
-#: utils/cpupower.c:114
-#, c-format
-msgid "Error parsing cpu list\n"
-msgstr ""
-
-#: utils/cpupower.c:172
-#, c-format
-msgid "Subcommand %s needs root privileges\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:31
-#, c-format
-msgid "Couldn't count the number of CPUs (%s: %s), assuming 1\n"
-msgstr "Détermination du nombre de CPUs (%s : %s) impossible. Assume 1\n"
-
-#: utils/cpufreq-info.c:63
-#, c-format
-msgid ""
-" minimum CPU frequency - maximum CPU frequency - governor\n"
-msgstr ""
-" Fréquence CPU minimale - Fréquence CPU maximale - régulateur\n"
-
-#: utils/cpufreq-info.c:151
-#, c-format
-msgid "Error while evaluating Boost Capabilities on CPU %d -- are you root?\n"
-msgstr ""
-
-#. P state changes via MSR are identified via cpuid 80000007
-#. on Intel and AMD, but we assume boost capable machines can do that
-#. if (cpuid_eax(0x80000000) >= 0x80000007
-#. && (cpuid_edx(0x80000007) & (1 << 7)))
-#.
-#: utils/cpufreq-info.c:161
-#, c-format
-msgid " boost state support: \n"
-msgstr ""
-
-#: utils/cpufreq-info.c:163
-#, c-format
-msgid " Supported: %s\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:163 utils/cpufreq-info.c:164
-msgid "yes"
-msgstr ""
-
-#: utils/cpufreq-info.c:163 utils/cpufreq-info.c:164
-msgid "no"
-msgstr ""
-
-#: utils/cpufreq-info.c:164
-#, fuzzy, c-format
-msgid " Active: %s\n"
-msgstr " pilote : %s\n"
-
-#: utils/cpufreq-info.c:177
-#, c-format
-msgid " Boost States: %d\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:178
-#, c-format
-msgid " Total States: %d\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:181
-#, c-format
-msgid " Pstate-Pb%d: %luMHz (boost state)\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:184
-#, c-format
-msgid " Pstate-P%d: %luMHz\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:211
-#, c-format
-msgid " no or unknown cpufreq driver is active on this CPU\n"
-msgstr " pas de pilotes cpufreq reconnu pour ce CPU\n"
-
-#: utils/cpufreq-info.c:213
-#, c-format
-msgid " driver: %s\n"
-msgstr " pilote : %s\n"
-
-#: utils/cpufreq-info.c:219
-#, fuzzy, c-format
-msgid " CPUs which run at the same hardware frequency: "
-msgstr " CPUs qui doivent changer de fréquences en même temps : "
-
-#: utils/cpufreq-info.c:230
-#, fuzzy, c-format
-msgid " CPUs which need to have their frequency coordinated by software: "
-msgstr " CPUs qui doivent changer de fréquences en même temps : "
-
-#: utils/cpufreq-info.c:241
-#, c-format
-msgid " maximum transition latency: "
-msgstr ""
-
-#: utils/cpufreq-info.c:247
-#, c-format
-msgid " hardware limits: "
-msgstr " limitation matérielle : "
-
-#: utils/cpufreq-info.c:256
-#, c-format
-msgid " available frequency steps: "
-msgstr " plage de fréquence : "
-
-#: utils/cpufreq-info.c:269
-#, c-format
-msgid " available cpufreq governors: "
-msgstr " régulateurs disponibles : "
-
-#: utils/cpufreq-info.c:280
-#, c-format
-msgid " current policy: frequency should be within "
-msgstr " tactique actuelle : la fréquence doit être comprise entre "
-
-#: utils/cpufreq-info.c:282
-#, c-format
-msgid " and "
-msgstr " et "
-
-#: utils/cpufreq-info.c:286
-#, c-format
-msgid ""
-"The governor \"%s\" may decide which speed to use\n"
-" within this range.\n"
-msgstr ""
-"Le régulateur \"%s\" est libre de choisir la vitesse\n"
-" dans cette plage de fréquences.\n"
-
-#: utils/cpufreq-info.c:293
-#, c-format
-msgid " current CPU frequency is "
-msgstr " la fréquence actuelle de ce CPU est "
-
-#: utils/cpufreq-info.c:296
-#, c-format
-msgid " (asserted by call to hardware)"
-msgstr " (vérifié par un appel direct du matériel)"
-
-#: utils/cpufreq-info.c:304
-#, c-format
-msgid " cpufreq stats: "
-msgstr " des statistique concernant cpufreq:"
-
-#: utils/cpufreq-info.c:472
-#, fuzzy, c-format
-msgid "Usage: cpupower freqinfo [options]\n"
-msgstr "Usage : cpufreq-info [options]\n"
-
-#: utils/cpufreq-info.c:473 utils/cpufreq-set.c:26 utils/cpupower-set.c:23
-#: utils/cpupower-info.c:22 utils/cpuidle-info.c:148
-#, c-format
-msgid "Options:\n"
-msgstr "Options :\n"
-
-#: utils/cpufreq-info.c:474
-#, fuzzy, c-format
-msgid " -e, --debug Prints out debug information [default]\n"
-msgstr " -e, --debug Afficher les informations de déboguage\n"
-
-#: utils/cpufreq-info.c:475
-#, c-format
-msgid ""
-" -f, --freq Get frequency the CPU currently runs at, according\n"
-" to the cpufreq core *\n"
-msgstr ""
-" -f, --freq Obtenir la fréquence actuelle du CPU selon le point\n"
-" de vue du coeur du système de cpufreq *\n"
-
-#: utils/cpufreq-info.c:477
-#, c-format
-msgid ""
-" -w, --hwfreq Get frequency the CPU currently runs at, by reading\n"
-" it from hardware (only available to root) *\n"
-msgstr ""
-" -w, --hwfreq Obtenir la fréquence actuelle du CPU directement par\n"
-" le matériel (doit être root) *\n"
-
-#: utils/cpufreq-info.c:479
-#, c-format
-msgid ""
-" -l, --hwlimits Determine the minimum and maximum CPU frequency "
-"allowed *\n"
-msgstr ""
-" -l, --hwlimits Affiche les fréquences minimales et maximales du CPU "
-"*\n"
-
-#: utils/cpufreq-info.c:480
-#, c-format
-msgid " -d, --driver Determines the used cpufreq kernel driver *\n"
-msgstr " -d, --driver Affiche le pilote cpufreq utilisé *\n"
-
-#: utils/cpufreq-info.c:481
-#, c-format
-msgid " -p, --policy Gets the currently used cpufreq policy *\n"
-msgstr " -p, --policy Affiche la tactique actuelle de cpufreq *\n"
-
-#: utils/cpufreq-info.c:482
-#, c-format
-msgid " -g, --governors Determines available cpufreq governors *\n"
-msgstr ""
-" -g, --governors Affiche les régulateurs disponibles de cpufreq *\n"
-
-#: utils/cpufreq-info.c:483
-#, fuzzy, c-format
-msgid ""
-" -r, --related-cpus Determines which CPUs run at the same hardware "
-"frequency *\n"
-msgstr ""
-" -a, --affected-cpus Affiche quels sont les CPUs qui doivent changer de\n"
-" fréquences en même temps *\n"
-
-#: utils/cpufreq-info.c:484
-#, fuzzy, c-format
-msgid ""
-" -a, --affected-cpus Determines which CPUs need to have their frequency\n"
-" coordinated by software *\n"
-msgstr ""
-" -a, --affected-cpus Affiche quels sont les CPUs qui doivent changer de\n"
-" fréquences en même temps *\n"
-
-#: utils/cpufreq-info.c:486
-#, c-format
-msgid " -s, --stats Shows cpufreq statistics if available\n"
-msgstr ""
-" -s, --stats Indique des statistiques concernant cpufreq, si\n"
-" disponibles\n"
-
-#: utils/cpufreq-info.c:487
-#, fuzzy, c-format
-msgid ""
-" -y, --latency Determines the maximum latency on CPU frequency "
-"changes *\n"
-msgstr ""
-" -l, --hwlimits Affiche les fréquences minimales et maximales du CPU "
-"*\n"
-
-#: utils/cpufreq-info.c:488
-#, c-format
-msgid " -b, --boost Checks for turbo or boost modes *\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:489
-#, c-format
-msgid ""
-" -o, --proc Prints out information like provided by the /proc/"
-"cpufreq\n"
-" interface in 2.4. and early 2.6. kernels\n"
-msgstr ""
-" -o, --proc Affiche les informations en utilisant l'interface\n"
-" fournie par /proc/cpufreq, présente dans les "
-"versions\n"
-" 2.4 et les anciennes versions 2.6 du noyau\n"
-
-#: utils/cpufreq-info.c:491
-#, fuzzy, c-format
-msgid ""
-" -m, --human human-readable output for the -f, -w, -s and -y "
-"parameters\n"
-msgstr ""
-" -m, --human affiche dans un format lisible pour un humain\n"
-" pour les options -f, -w et -s (MHz, GHz)\n"
-
-#: utils/cpufreq-info.c:492 utils/cpuidle-info.c:152
-#, c-format
-msgid " -h, --help Prints out this screen\n"
-msgstr " -h, --help affiche l'aide-mémoire\n"
-
-#: utils/cpufreq-info.c:495
-#, c-format
-msgid ""
-"If no argument or only the -c, --cpu parameter is given, debug output about\n"
-"cpufreq is printed which is useful e.g. for reporting bugs.\n"
-msgstr ""
-"Par défaut, les informations de déboguage seront affichées si aucun\n"
-"argument, ou bien si seulement l'argument -c (--cpu) est donné, afin de\n"
-"faciliter les rapports de bogues par exemple\n"
-
-#: utils/cpufreq-info.c:497
-#, c-format
-msgid ""
-"For the arguments marked with *, omitting the -c or --cpu argument is\n"
-"equivalent to setting it to zero\n"
-msgstr "Les arguments avec un * utiliseront le CPU 0 si -c (--cpu) est omis\n"
-
-#: utils/cpufreq-info.c:580
-#, c-format
-msgid ""
-"The argument passed to this tool can't be combined with passing a --cpu "
-"argument\n"
-msgstr "Cette option est incompatible avec --cpu\n"
-
-#: utils/cpufreq-info.c:596
-#, c-format
-msgid ""
-"You can't specify more than one --cpu parameter and/or\n"
-"more than one output-specific argument\n"
-msgstr ""
-"On ne peut indiquer plus d'un paramètre --cpu, tout comme l'on ne peut\n"
-"spécifier plus d'un argument de formatage\n"
-
-#: utils/cpufreq-info.c:600 utils/cpufreq-set.c:82 utils/cpupower-set.c:42
-#: utils/cpupower-info.c:42 utils/cpuidle-info.c:213
-#, c-format
-msgid "invalid or unknown argument\n"
-msgstr "option invalide\n"
-
-#: utils/cpufreq-info.c:617
-#, c-format
-msgid "couldn't analyze CPU %d as it doesn't seem to be present\n"
-msgstr "analyse du CPU %d impossible puisqu'il ne semble pas être présent\n"
-
-#: utils/cpufreq-info.c:620 utils/cpupower-info.c:142
-#, c-format
-msgid "analyzing CPU %d:\n"
-msgstr "analyse du CPU %d :\n"
-
-#: utils/cpufreq-set.c:25
-#, fuzzy, c-format
-msgid "Usage: cpupower frequency-set [options]\n"
-msgstr "Usage : cpufreq-set [options]\n"
-
-#: utils/cpufreq-set.c:27
-#, c-format
-msgid ""
-" -d FREQ, --min FREQ new minimum CPU frequency the governor may "
-"select\n"
-msgstr ""
-" -d FREQ, --min FREQ nouvelle fréquence minimale du CPU à utiliser\n"
-" par le régulateur\n"
-
-#: utils/cpufreq-set.c:28
-#, c-format
-msgid ""
-" -u FREQ, --max FREQ new maximum CPU frequency the governor may "
-"select\n"
-msgstr ""
-" -u FREQ, --max FREQ nouvelle fréquence maximale du CPU à utiliser\n"
-" par le régulateur\n"
-
-#: utils/cpufreq-set.c:29
-#, c-format
-msgid " -g GOV, --governor GOV new cpufreq governor\n"
-msgstr " -g GOV, --governor GOV active le régulateur GOV\n"
-
-#: utils/cpufreq-set.c:30
-#, c-format
-msgid ""
-" -f FREQ, --freq FREQ specific frequency to be set. Requires userspace\n"
-" governor to be available and loaded\n"
-msgstr ""
-" -f FREQ, --freq FREQ fixe la fréquence du processeur à FREQ. Il faut\n"
-" que le régulateur « userspace » soit disponible \n"
-" et activé.\n"
-
-#: utils/cpufreq-set.c:32
-#, c-format
-msgid " -r, --related Switches all hardware-related CPUs\n"
-msgstr ""
-
-#: utils/cpufreq-set.c:33 utils/cpupower-set.c:28 utils/cpupower-info.c:27
-#, fuzzy, c-format
-msgid " -h, --help Prints out this screen\n"
-msgstr " -h, --help affiche l'aide-mémoire\n"
-
-#: utils/cpufreq-set.c:35
-#, fuzzy, c-format
-msgid ""
-"Notes:\n"
-"1. Omitting the -c or --cpu argument is equivalent to setting it to \"all\"\n"
-msgstr "Les arguments avec un * utiliseront le CPU 0 si -c (--cpu) est omis\n"
-
-#: utils/cpufreq-set.c:37
-#, fuzzy, c-format
-msgid ""
-"2. The -f FREQ, --freq FREQ parameter cannot be combined with any other "
-"parameter\n"
-" except the -c CPU, --cpu CPU parameter\n"
-"3. FREQuencies can be passed in Hz, kHz (default), MHz, GHz, or THz\n"
-" by postfixing the value with the wanted unit name, without any space\n"
-" (FREQuency in kHz =^ Hz * 0.001 =^ MHz * 1000 =^ GHz * 1000000).\n"
-msgstr ""
-"Remarque :\n"
-"1. Le CPU numéro 0 sera utilisé par défaut si -c (ou --cpu) est omis ;\n"
-"2. l'argument -f FREQ (ou --freq FREQ) ne peut être utilisé qu'avec --cpu ;\n"
-"3. on pourra préciser l'unité des fréquences en postfixant sans aucune "
-"espace\n"
-" les valeurs par hz, kHz (par défaut), MHz, GHz ou THz\n"
-" (kHz =^ Hz * 0.001 =^ MHz * 1000 =^ GHz * 1000000).\n"
-
-#: utils/cpufreq-set.c:57
-#, c-format
-msgid ""
-"Error setting new values. Common errors:\n"
-"- Do you have proper administration rights? (super-user?)\n"
-"- Is the governor you requested available and modprobed?\n"
-"- Trying to set an invalid policy?\n"
-"- Trying to set a specific frequency, but userspace governor is not "
-"available,\n"
-" for example because of hardware which cannot be set to a specific "
-"frequency\n"
-" or because the userspace governor isn't loaded?\n"
-msgstr ""
-"En ajustant les nouveaux paramètres, une erreur est apparue. Les sources\n"
-"d'erreur typique sont :\n"
-"- droit d'administration insuffisant (êtes-vous root ?) ;\n"
-"- le régulateur choisi n'est pas disponible, ou bien n'est pas disponible "
-"en\n"
-" tant que module noyau ;\n"
-"- la tactique n'est pas disponible ;\n"
-"- vous voulez utiliser l'option -f/--freq, mais le régulateur « userspace »\n"
-" n'est pas disponible, par exemple parce que le matériel ne le supporte\n"
-" pas, ou bien n'est tout simplement pas chargé.\n"
-
-#: utils/cpufreq-set.c:170
-#, c-format
-msgid "wrong, unknown or unhandled CPU?\n"
-msgstr "CPU inconnu ou non supporté ?\n"
-
-#: utils/cpufreq-set.c:302
-#, c-format
-msgid ""
-"the -f/--freq parameter cannot be combined with -d/--min, -u/--max or\n"
-"-g/--governor parameters\n"
-msgstr ""
-"l'option -f/--freq est incompatible avec les options -d/--min, -u/--max et\n"
-"-g/--governor\n"
-
-#: utils/cpufreq-set.c:308
-#, c-format
-msgid ""
-"At least one parameter out of -f/--freq, -d/--min, -u/--max, and\n"
-"-g/--governor must be passed\n"
-msgstr ""
-"L'un de ces paramètres est obligatoire : -f/--freq, -d/--min, -u/--max et\n"
-"-g/--governor\n"
-
-#: utils/cpufreq-set.c:347
-#, c-format
-msgid "Setting cpu: %d\n"
-msgstr ""
-
-#: utils/cpupower-set.c:22
-#, c-format
-msgid "Usage: cpupower set [ -b val ] [ -m val ] [ -s val ]\n"
-msgstr ""
-
-#: utils/cpupower-set.c:24
-#, c-format
-msgid ""
-" -b, --perf-bias [VAL] Sets CPU's power vs performance policy on some\n"
-" Intel models [0-15], see manpage for details\n"
-msgstr ""
-
-#: utils/cpupower-set.c:26
-#, c-format
-msgid ""
-" -m, --sched-mc [VAL] Sets the kernel's multi core scheduler policy.\n"
-msgstr ""
-
-#: utils/cpupower-set.c:27
-#, c-format
-msgid ""
-" -s, --sched-smt [VAL] Sets the kernel's thread sibling scheduler "
-"policy.\n"
-msgstr ""
-
-#: utils/cpupower-set.c:80
-#, c-format
-msgid "--perf-bias param out of range [0-%d]\n"
-msgstr ""
-
-#: utils/cpupower-set.c:91
-#, c-format
-msgid "--sched-mc param out of range [0-%d]\n"
-msgstr ""
-
-#: utils/cpupower-set.c:102
-#, c-format
-msgid "--sched-smt param out of range [0-%d]\n"
-msgstr ""
-
-#: utils/cpupower-set.c:121
-#, c-format
-msgid "Error setting sched-mc %s\n"
-msgstr ""
-
-#: utils/cpupower-set.c:127
-#, c-format
-msgid "Error setting sched-smt %s\n"
-msgstr ""
-
-#: utils/cpupower-set.c:146
-#, c-format
-msgid "Error setting perf-bias value on CPU %d\n"
-msgstr ""
-
-#: utils/cpupower-info.c:21
-#, c-format
-msgid "Usage: cpupower info [ -b ] [ -m ] [ -s ]\n"
-msgstr ""
-
-#: utils/cpupower-info.c:23
-#, c-format
-msgid ""
-" -b, --perf-bias Gets CPU's power vs performance policy on some\n"
-" Intel models [0-15], see manpage for details\n"
-msgstr ""
-
-#: utils/cpupower-info.c:25
-#, fuzzy, c-format
-msgid " -m, --sched-mc Gets the kernel's multi core scheduler policy.\n"
-msgstr " -p, --policy Affiche la tactique actuelle de cpufreq *\n"
-
-#: utils/cpupower-info.c:26
-#, c-format
-msgid ""
-" -s, --sched-smt Gets the kernel's thread sibling scheduler policy.\n"
-msgstr ""
-
-#: utils/cpupower-info.c:28
-#, c-format
-msgid ""
-"\n"
-"Passing no option will show all info, by default only on core 0\n"
-msgstr ""
-
-#: utils/cpupower-info.c:102
-#, c-format
-msgid "System's multi core scheduler setting: "
-msgstr ""
-
-#. if sysfs file is missing it's: errno == ENOENT
-#: utils/cpupower-info.c:105 utils/cpupower-info.c:114
-#, c-format
-msgid "not supported\n"
-msgstr ""
-
-#: utils/cpupower-info.c:111
-#, c-format
-msgid "System's thread sibling scheduler setting: "
-msgstr ""
-
-#: utils/cpupower-info.c:126
-#, c-format
-msgid "Intel's performance bias setting needs root privileges\n"
-msgstr ""
-
-#: utils/cpupower-info.c:128
-#, c-format
-msgid "System does not support Intel's performance bias setting\n"
-msgstr ""
-
-#: utils/cpupower-info.c:147
-#, c-format
-msgid "Could not read perf-bias value\n"
-msgstr ""
-
-#: utils/cpupower-info.c:150
-#, c-format
-msgid "perf-bias: %d\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:28
-#, fuzzy, c-format
-msgid "Analyzing CPU %d:\n"
-msgstr "analyse du CPU %d :\n"
-
-#: utils/cpuidle-info.c:32
-#, c-format
-msgid "CPU %u: No idle states\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:36
-#, c-format
-msgid "CPU %u: Can't read idle state info\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:41
-#, c-format
-msgid "Could not determine max idle state %u\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:46
-#, c-format
-msgid "Number of idle states: %d\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:48
-#, fuzzy, c-format
-msgid "Available idle states:"
-msgstr " plage de fréquence : "
-
-#: utils/cpuidle-info.c:71
-#, c-format
-msgid "Flags/Description: %s\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:74
-#, c-format
-msgid "Latency: %lu\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:76
-#, c-format
-msgid "Usage: %lu\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:78
-#, c-format
-msgid "Duration: %llu\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:90
-#, c-format
-msgid "Could not determine cpuidle driver\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:94
-#, fuzzy, c-format
-msgid "CPUidle driver: %s\n"
-msgstr " pilote : %s\n"
-
-#: utils/cpuidle-info.c:99
-#, c-format
-msgid "Could not determine cpuidle governor\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:103
-#, c-format
-msgid "CPUidle governor: %s\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:122
-#, c-format
-msgid "CPU %u: Can't read C-state info\n"
-msgstr ""
-
-#. printf("Cstates: %d\n", cstates);
-#: utils/cpuidle-info.c:127
-#, c-format
-msgid "active state: C0\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:128
-#, c-format
-msgid "max_cstate: C%u\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:129
-#, c-format
-msgid "maximum allowed latency: %lu usec\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:130
-#, c-format
-msgid "states:\t\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:132
-#, c-format
-msgid " C%d: type[C%d] "
-msgstr ""
-
-#: utils/cpuidle-info.c:134
-#, c-format
-msgid "promotion[--] demotion[--] "
-msgstr ""
-
-#: utils/cpuidle-info.c:135
-#, c-format
-msgid "latency[%03lu] "
-msgstr ""
-
-#: utils/cpuidle-info.c:137
-#, c-format
-msgid "usage[%08lu] "
-msgstr ""
-
-#: utils/cpuidle-info.c:139
-#, c-format
-msgid "duration[%020Lu] \n"
-msgstr ""
-
-#: utils/cpuidle-info.c:147
-#, fuzzy, c-format
-msgid "Usage: cpupower idleinfo [options]\n"
-msgstr "Usage : cpufreq-info [options]\n"
-
-#: utils/cpuidle-info.c:149
-#, fuzzy, c-format
-msgid " -s, --silent Only show general C-state information\n"
-msgstr " -e, --debug Afficher les informations de déboguage\n"
-
-#: utils/cpuidle-info.c:150
-#, fuzzy, c-format
-msgid ""
-" -o, --proc Prints out information like provided by the /proc/"
-"acpi/processor/*/power\n"
-" interface in older kernels\n"
-msgstr ""
-" -o, --proc Affiche les informations en utilisant l'interface\n"
-" fournie par /proc/cpufreq, présente dans les "
-"versions\n"
-" 2.4 et les anciennes versions 2.6 du noyau\n"
-
-#: utils/cpuidle-info.c:209
-#, fuzzy, c-format
-msgid "You can't specify more than one output-specific argument\n"
-msgstr ""
-"On ne peut indiquer plus d'un paramètre --cpu, tout comme l'on ne peut\n"
-"spécifier plus d'un argument de formatage\n"
-
-#~ msgid ""
-#~ " -c CPU, --cpu CPU CPU number which information shall be determined "
-#~ "about\n"
-#~ msgstr ""
-#~ " -c CPU, --cpu CPU Numéro du CPU pour lequel l'information sera "
-#~ "affichée\n"
-
-#~ msgid ""
-#~ " -c CPU, --cpu CPU number of CPU where cpufreq settings shall be "
-#~ "modified\n"
-#~ msgstr ""
-#~ " -c CPU, --cpu CPU numéro du CPU à prendre en compte pour les\n"
-#~ " changements\n"
diff --git a/ANDROID_3.4.5/tools/power/cpupower/po/it.po b/ANDROID_3.4.5/tools/power/cpupower/po/it.po
deleted file mode 100644
index f80c4ddb..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/po/it.po
+++ /dev/null
@@ -1,961 +0,0 @@
-# Italian translations for cpufrequtils package
-# Copyright (C) 2004-2009
-# This file is distributed under the same license as the cpufrequtils package.
-# Mattia Dongili <malattia@gmail.com>.
-#
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: cpufrequtils 0.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-08 17:03+0100\n"
-"PO-Revision-Date: 2009-08-15 12:00+0900\n"
-"Last-Translator: Mattia Dongili <malattia@gmail.com>\n"
-"Language-Team: NONE\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: utils/idle_monitor/nhm_idle.c:36
-msgid "Processor Core C3"
-msgstr ""
-
-#: utils/idle_monitor/nhm_idle.c:43
-msgid "Processor Core C6"
-msgstr ""
-
-#: utils/idle_monitor/nhm_idle.c:51
-msgid "Processor Package C3"
-msgstr ""
-
-#: utils/idle_monitor/nhm_idle.c:58 utils/idle_monitor/amd_fam14h_idle.c:70
-msgid "Processor Package C6"
-msgstr ""
-
-#: utils/idle_monitor/snb_idle.c:33
-msgid "Processor Core C7"
-msgstr ""
-
-#: utils/idle_monitor/snb_idle.c:40
-msgid "Processor Package C2"
-msgstr ""
-
-#: utils/idle_monitor/snb_idle.c:47
-msgid "Processor Package C7"
-msgstr ""
-
-#: utils/idle_monitor/amd_fam14h_idle.c:56
-msgid "Package in sleep state (PC1 or deeper)"
-msgstr ""
-
-#: utils/idle_monitor/amd_fam14h_idle.c:63
-msgid "Processor Package C1"
-msgstr ""
-
-#: utils/idle_monitor/amd_fam14h_idle.c:77
-msgid "North Bridge P1 boolean counter (returns 0 or 1)"
-msgstr ""
-
-#: utils/idle_monitor/mperf_monitor.c:35
-msgid "Processor Core not idle"
-msgstr ""
-
-#: utils/idle_monitor/mperf_monitor.c:42
-msgid "Processor Core in an idle state"
-msgstr ""
-
-#: utils/idle_monitor/mperf_monitor.c:50
-msgid "Average Frequency (including boost) in MHz"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:66
-#, c-format
-msgid ""
-"cpupower monitor: [-h] [ [-t] | [-l] | [-m <mon1>,[<mon2>] ] ] [-i "
-"interval_sec | -c command ...]\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:69
-#, c-format
-msgid ""
-"cpupower monitor: [-v] [-h] [ [-t] | [-l] | [-m <mon1>,[<mon2>] ] ] [-i "
-"interval_sec | -c command ...]\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:71
-#, c-format
-msgid "\t -v: be more verbose\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:73
-#, c-format
-msgid "\t -h: print this help\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:74
-#, c-format
-msgid "\t -i: time intervall to measure for in seconds (default 1)\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:75
-#, c-format
-msgid "\t -t: show CPU topology/hierarchy\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:76
-#, c-format
-msgid "\t -l: list available CPU sleep monitors (for use with -m)\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:77
-#, c-format
-msgid "\t -m: show specific CPU sleep monitors only (in same order)\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:79
-#, c-format
-msgid ""
-"only one of: -t, -l, -m are allowed\n"
-"If none of them is passed,"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:80
-#, c-format
-msgid " all supported monitors are shown\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:197
-#, c-format
-msgid "Monitor %s, Counter %s has no count function. Implementation error\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:207
-#, c-format
-msgid " *is offline\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:236
-#, c-format
-msgid "%s: max monitor name length (%d) exceeded\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:250
-#, c-format
-msgid "No matching monitor found in %s, try -l option\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:266
-#, c-format
-msgid "Monitor \"%s\" (%d states) - Might overflow after %u s\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:319
-#, c-format
-msgid "%s took %.5f seconds and exited with status %d\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:406
-#, c-format
-msgid "Cannot read number of available processors\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:417
-#, c-format
-msgid "Available monitor %s needs root access\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:428
-#, c-format
-msgid "No HW Cstate monitors found\n"
-msgstr ""
-
-#: utils/cpupower.c:78
-#, c-format
-msgid "cpupower [ -c cpulist ] subcommand [ARGS]\n"
-msgstr ""
-
-#: utils/cpupower.c:79
-#, c-format
-msgid "cpupower --version\n"
-msgstr ""
-
-#: utils/cpupower.c:80
-#, c-format
-msgid "Supported subcommands are:\n"
-msgstr ""
-
-#: utils/cpupower.c:83
-#, c-format
-msgid ""
-"\n"
-"Some subcommands can make use of the -c cpulist option.\n"
-msgstr ""
-
-#: utils/cpupower.c:84
-#, c-format
-msgid "Look at the general cpupower manpage how to use it\n"
-msgstr ""
-
-#: utils/cpupower.c:85
-#, c-format
-msgid "and read up the subcommand's manpage whether it is supported.\n"
-msgstr ""
-
-#: utils/cpupower.c:86
-#, c-format
-msgid ""
-"\n"
-"Use cpupower help subcommand for getting help for above subcommands.\n"
-msgstr ""
-
-#: utils/cpupower.c:91
-#, c-format
-msgid "Report errors and bugs to %s, please.\n"
-msgstr "Per favore, comunicare errori e malfunzionamenti a %s.\n"
-
-#: utils/cpupower.c:114
-#, c-format
-msgid "Error parsing cpu list\n"
-msgstr ""
-
-#: utils/cpupower.c:172
-#, c-format
-msgid "Subcommand %s needs root privileges\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:31
-#, c-format
-msgid "Couldn't count the number of CPUs (%s: %s), assuming 1\n"
-msgstr "Impossibile determinare il numero di CPU (%s: %s), assumo sia 1\n"
-
-#: utils/cpufreq-info.c:63
-#, c-format
-msgid ""
-" minimum CPU frequency - maximum CPU frequency - governor\n"
-msgstr ""
-" frequenza minima CPU - frequenza massima CPU - gestore\n"
-
-#: utils/cpufreq-info.c:151
-#, c-format
-msgid "Error while evaluating Boost Capabilities on CPU %d -- are you root?\n"
-msgstr ""
-
-#. P state changes via MSR are identified via cpuid 80000007
-#. on Intel and AMD, but we assume boost capable machines can do that
-#. if (cpuid_eax(0x80000000) >= 0x80000007
-#. && (cpuid_edx(0x80000007) & (1 << 7)))
-#.
-#: utils/cpufreq-info.c:161
-#, c-format
-msgid " boost state support: \n"
-msgstr ""
-
-#: utils/cpufreq-info.c:163
-#, c-format
-msgid " Supported: %s\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:163 utils/cpufreq-info.c:164
-msgid "yes"
-msgstr ""
-
-#: utils/cpufreq-info.c:163 utils/cpufreq-info.c:164
-msgid "no"
-msgstr ""
-
-#: utils/cpufreq-info.c:164
-#, fuzzy, c-format
-msgid " Active: %s\n"
-msgstr " modulo %s\n"
-
-#: utils/cpufreq-info.c:177
-#, c-format
-msgid " Boost States: %d\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:178
-#, c-format
-msgid " Total States: %d\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:181
-#, c-format
-msgid " Pstate-Pb%d: %luMHz (boost state)\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:184
-#, c-format
-msgid " Pstate-P%d: %luMHz\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:211
-#, c-format
-msgid " no or unknown cpufreq driver is active on this CPU\n"
-msgstr " nessun modulo o modulo cpufreq sconosciuto per questa CPU\n"
-
-#: utils/cpufreq-info.c:213
-#, c-format
-msgid " driver: %s\n"
-msgstr " modulo %s\n"
-
-#: utils/cpufreq-info.c:219
-#, c-format
-msgid " CPUs which run at the same hardware frequency: "
-msgstr " CPU che operano alla stessa frequenza hardware: "
-
-#: utils/cpufreq-info.c:230
-#, c-format
-msgid " CPUs which need to have their frequency coordinated by software: "
-msgstr " CPU che è necessario siano coordinate dal software: "
-
-#: utils/cpufreq-info.c:241
-#, c-format
-msgid " maximum transition latency: "
-msgstr " latenza massima durante la transizione: "
-
-#: utils/cpufreq-info.c:247
-#, c-format
-msgid " hardware limits: "
-msgstr " limiti hardware: "
-
-#: utils/cpufreq-info.c:256
-#, c-format
-msgid " available frequency steps: "
-msgstr " frequenze disponibili: "
-
-#: utils/cpufreq-info.c:269
-#, c-format
-msgid " available cpufreq governors: "
-msgstr " gestori disponibili: "
-
-#: utils/cpufreq-info.c:280
-#, c-format
-msgid " current policy: frequency should be within "
-msgstr " gestore attuale: la frequenza deve mantenersi tra "
-
-#: utils/cpufreq-info.c:282
-#, c-format
-msgid " and "
-msgstr " e "
-
-#: utils/cpufreq-info.c:286
-#, c-format
-msgid ""
-"The governor \"%s\" may decide which speed to use\n"
-" within this range.\n"
-msgstr ""
-" Il gestore \"%s\" può decidere quale velocità usare\n"
-" in questo intervallo.\n"
-
-#: utils/cpufreq-info.c:293
-#, c-format
-msgid " current CPU frequency is "
-msgstr " la frequenza attuale della CPU è "
-
-#: utils/cpufreq-info.c:296
-#, c-format
-msgid " (asserted by call to hardware)"
-msgstr " (ottenuta da una chiamata diretta all'hardware)"
-
-#: utils/cpufreq-info.c:304
-#, c-format
-msgid " cpufreq stats: "
-msgstr " statistiche cpufreq:"
-
-#: utils/cpufreq-info.c:472
-#, fuzzy, c-format
-msgid "Usage: cpupower freqinfo [options]\n"
-msgstr "Uso: cpufreq-info [opzioni]\n"
-
-#: utils/cpufreq-info.c:473 utils/cpufreq-set.c:26 utils/cpupower-set.c:23
-#: utils/cpupower-info.c:22 utils/cpuidle-info.c:148
-#, c-format
-msgid "Options:\n"
-msgstr "Opzioni:\n"
-
-#: utils/cpufreq-info.c:474
-#, fuzzy, c-format
-msgid " -e, --debug Prints out debug information [default]\n"
-msgstr " -e, --debug Mostra informazioni di debug\n"
-
-#: utils/cpufreq-info.c:475
-#, c-format
-msgid ""
-" -f, --freq Get frequency the CPU currently runs at, according\n"
-" to the cpufreq core *\n"
-msgstr ""
-" -f, --freq Mostra la frequenza attuale della CPU secondo\n"
-" il modulo cpufreq *\n"
-
-#: utils/cpufreq-info.c:477
-#, c-format
-msgid ""
-" -w, --hwfreq Get frequency the CPU currently runs at, by reading\n"
-" it from hardware (only available to root) *\n"
-msgstr ""
-" -w, --hwfreq Mostra la frequenza attuale della CPU leggendola\n"
-" dall'hardware (disponibile solo per l'utente root) *\n"
-
-#: utils/cpufreq-info.c:479
-#, c-format
-msgid ""
-" -l, --hwlimits Determine the minimum and maximum CPU frequency "
-"allowed *\n"
-msgstr ""
-" -l, --hwlimits Determina le frequenze minima e massima possibili per "
-"la CPU *\n"
-
-#: utils/cpufreq-info.c:480
-#, c-format
-msgid " -d, --driver Determines the used cpufreq kernel driver *\n"
-msgstr ""
-" -d, --driver Determina il modulo cpufreq del kernel in uso *\n"
-
-#: utils/cpufreq-info.c:481
-#, c-format
-msgid " -p, --policy Gets the currently used cpufreq policy *\n"
-msgstr ""
-" -p, --policy Mostra il gestore cpufreq attualmente in uso *\n"
-
-#: utils/cpufreq-info.c:482
-#, c-format
-msgid " -g, --governors Determines available cpufreq governors *\n"
-msgstr " -g, --governors Determina i gestori cpufreq disponibili *\n"
-
-#: utils/cpufreq-info.c:483
-#, c-format
-msgid ""
-" -r, --related-cpus Determines which CPUs run at the same hardware "
-"frequency *\n"
-msgstr ""
-" -r, --related-cpus Determina quali CPU operano alla stessa frequenza *\n"
-
-#: utils/cpufreq-info.c:484
-#, c-format
-msgid ""
-" -a, --affected-cpus Determines which CPUs need to have their frequency\n"
-" coordinated by software *\n"
-msgstr ""
-" -a, --affected-cpus Determina quali CPU devono avere la frequenza\n"
-" coordinata dal software *\n"
-
-#: utils/cpufreq-info.c:486
-#, c-format
-msgid " -s, --stats Shows cpufreq statistics if available\n"
-msgstr " -s, --stats Mostra le statistiche se disponibili\n"
-
-#: utils/cpufreq-info.c:487
-#, c-format
-msgid ""
-" -y, --latency Determines the maximum latency on CPU frequency "
-"changes *\n"
-msgstr ""
-" -y, --latency Determina la latenza massima durante i cambi di "
-"frequenza *\n"
-
-#: utils/cpufreq-info.c:488
-#, c-format
-msgid " -b, --boost Checks for turbo or boost modes *\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:489
-#, c-format
-msgid ""
-" -o, --proc Prints out information like provided by the /proc/"
-"cpufreq\n"
-" interface in 2.4. and early 2.6. kernels\n"
-msgstr ""
-" -o, --proc Stampa le informazioni come se provenissero dalla\n"
-" interfaccia cpufreq /proc/ presente nei kernel\n"
-" 2.4 ed i primi 2.6\n"
-
-#: utils/cpufreq-info.c:491
-#, c-format
-msgid ""
-" -m, --human human-readable output for the -f, -w, -s and -y "
-"parameters\n"
-msgstr ""
-" -m, --human formatta l'output delle opzioni -f, -w, -s e -y in "
-"maniera\n"
-" leggibile da un essere umano\n"
-
-#: utils/cpufreq-info.c:492 utils/cpuidle-info.c:152
-#, c-format
-msgid " -h, --help Prints out this screen\n"
-msgstr " -h, --help Stampa questa schermata\n"
-
-#: utils/cpufreq-info.c:495
-#, c-format
-msgid ""
-"If no argument or only the -c, --cpu parameter is given, debug output about\n"
-"cpufreq is printed which is useful e.g. for reporting bugs.\n"
-msgstr ""
-"Se non viene specificata nessuna opzione o viene specificata solo l'opzione -"
-"c, --cpu,\n"
-"le informazioni di debug per cpufreq saranno utili ad esempio a riportare i "
-"bug.\n"
-
-#: utils/cpufreq-info.c:497
-#, c-format
-msgid ""
-"For the arguments marked with *, omitting the -c or --cpu argument is\n"
-"equivalent to setting it to zero\n"
-msgstr ""
-"Per le opzioni segnalate con *, omettere l'opzione -c o --cpu è come "
-"specificarla\n"
-"con il valore 0\n"
-
-#: utils/cpufreq-info.c:580
-#, c-format
-msgid ""
-"The argument passed to this tool can't be combined with passing a --cpu "
-"argument\n"
-msgstr ""
-"L'opzione specificata a questo programma non può essere combinata con --cpu\n"
-
-#: utils/cpufreq-info.c:596
-#, c-format
-msgid ""
-"You can't specify more than one --cpu parameter and/or\n"
-"more than one output-specific argument\n"
-msgstr ""
-"Non è possibile specificare più di una volta l'opzione --cpu e/o\n"
-"specificare più di un parametro di output specifico\n"
-
-#: utils/cpufreq-info.c:600 utils/cpufreq-set.c:82 utils/cpupower-set.c:42
-#: utils/cpupower-info.c:42 utils/cpuidle-info.c:213
-#, c-format
-msgid "invalid or unknown argument\n"
-msgstr "opzione sconosciuta o non valida\n"
-
-#: utils/cpufreq-info.c:617
-#, c-format
-msgid "couldn't analyze CPU %d as it doesn't seem to be present\n"
-msgstr "impossibile analizzare la CPU %d poiché non sembra essere presente\n"
-
-#: utils/cpufreq-info.c:620 utils/cpupower-info.c:142
-#, c-format
-msgid "analyzing CPU %d:\n"
-msgstr "analisi della CPU %d:\n"
-
-#: utils/cpufreq-set.c:25
-#, fuzzy, c-format
-msgid "Usage: cpupower frequency-set [options]\n"
-msgstr "Uso: cpufreq-set [opzioni]\n"
-
-#: utils/cpufreq-set.c:27
-#, c-format
-msgid ""
-" -d FREQ, --min FREQ new minimum CPU frequency the governor may "
-"select\n"
-msgstr ""
-" -d FREQ, --min FREQ la nuova frequenza minima che il gestore cpufreq "
-"può scegliere\n"
-
-#: utils/cpufreq-set.c:28
-#, c-format
-msgid ""
-" -u FREQ, --max FREQ new maximum CPU frequency the governor may "
-"select\n"
-msgstr ""
-" -u FREQ, --max FREQ la nuova frequenza massima che il gestore cpufreq "
-"può scegliere\n"
-
-#: utils/cpufreq-set.c:29
-#, c-format
-msgid " -g GOV, --governor GOV new cpufreq governor\n"
-msgstr " -g GOV, --governor GOV nuovo gestore cpufreq\n"
-
-#: utils/cpufreq-set.c:30
-#, c-format
-msgid ""
-" -f FREQ, --freq FREQ specific frequency to be set. Requires userspace\n"
-" governor to be available and loaded\n"
-msgstr ""
-" -f FREQ, --freq FREQ specifica la frequenza a cui impostare la CPU.\n"
-" È necessario che il gestore userspace sia "
-"disponibile e caricato\n"
-
-#: utils/cpufreq-set.c:32
-#, c-format
-msgid " -r, --related Switches all hardware-related CPUs\n"
-msgstr ""
-" -r, --related Modifica tutte le CPU coordinate dall'hardware\n"
-
-#: utils/cpufreq-set.c:33 utils/cpupower-set.c:28 utils/cpupower-info.c:27
-#, c-format
-msgid " -h, --help Prints out this screen\n"
-msgstr " -h, --help Stampa questa schermata\n"
-
-#: utils/cpufreq-set.c:35
-#, fuzzy, c-format
-msgid ""
-"Notes:\n"
-"1. Omitting the -c or --cpu argument is equivalent to setting it to \"all\"\n"
-msgstr ""
-"Per le opzioni segnalate con *, omettere l'opzione -c o --cpu è come "
-"specificarla\n"
-"con il valore 0\n"
-
-#: utils/cpufreq-set.c:37
-#, fuzzy, c-format
-msgid ""
-"2. The -f FREQ, --freq FREQ parameter cannot be combined with any other "
-"parameter\n"
-" except the -c CPU, --cpu CPU parameter\n"
-"3. FREQuencies can be passed in Hz, kHz (default), MHz, GHz, or THz\n"
-" by postfixing the value with the wanted unit name, without any space\n"
-" (FREQuency in kHz =^ Hz * 0.001 =^ MHz * 1000 =^ GHz * 1000000).\n"
-msgstr ""
-"Note:\n"
-"1. Omettere l'opzione -c o --cpu è equivalente a impostarlo a 0\n"
-"2. l'opzione -f FREQ, --freq FREQ non può essere specificata con altre "
-"opzioni\n"
-" ad eccezione dell'opzione -c CPU o --cpu CPU\n"
-"3. le FREQuenze possono essere specuficate in Hz, kHz (default), MHz, GHz, "
-"or THz\n"
-" postponendo l'unità di misura al valore senza nessuno spazio fra loro\n"
-" (FREQuenza in kHz =^ Hz * 0.001 =^ MHz * 1000 =^ GHz * 1000000).\n"
-
-#: utils/cpufreq-set.c:57
-#, c-format
-msgid ""
-"Error setting new values. Common errors:\n"
-"- Do you have proper administration rights? (super-user?)\n"
-"- Is the governor you requested available and modprobed?\n"
-"- Trying to set an invalid policy?\n"
-"- Trying to set a specific frequency, but userspace governor is not "
-"available,\n"
-" for example because of hardware which cannot be set to a specific "
-"frequency\n"
-" or because the userspace governor isn't loaded?\n"
-msgstr ""
-"Si sono verificati degli errori impostando i nuovi valori.\n"
-"Alcuni errori comuni possono essere:\n"
-"- Hai i necessari diritti di amministrazione? (super-user?)\n"
-"- Il gestore che hai richiesto è disponibile e caricato?\n"
-"- Stai provando ad impostare una politica di gestione non valida?\n"
-"- Stai provando a impostare una specifica frequenza ma il gestore\n"
-" userspace non è disponibile, per esempio a causa dell'hardware\n"
-" che non supporta frequenze fisse o a causa del fatto che\n"
-" il gestore userspace non è caricato?\n"
-
-#: utils/cpufreq-set.c:170
-#, c-format
-msgid "wrong, unknown or unhandled CPU?\n"
-msgstr "CPU errata, sconosciuta o non gestita?\n"
-
-#: utils/cpufreq-set.c:302
-#, c-format
-msgid ""
-"the -f/--freq parameter cannot be combined with -d/--min, -u/--max or\n"
-"-g/--governor parameters\n"
-msgstr ""
-"l'opzione -f/--freq non può venire combinata con i parametri\n"
-" -d/--min, -u/--max o -g/--governor\n"
-
-#: utils/cpufreq-set.c:308
-#, c-format
-msgid ""
-"At least one parameter out of -f/--freq, -d/--min, -u/--max, and\n"
-"-g/--governor must be passed\n"
-msgstr ""
-"Almeno una delle opzioni -f/--freq, -d/--min, -u/--max, e -g/--governor\n"
-"deve essere specificata\n"
-
-#: utils/cpufreq-set.c:347
-#, c-format
-msgid "Setting cpu: %d\n"
-msgstr ""
-
-#: utils/cpupower-set.c:22
-#, c-format
-msgid "Usage: cpupower set [ -b val ] [ -m val ] [ -s val ]\n"
-msgstr ""
-
-#: utils/cpupower-set.c:24
-#, c-format
-msgid ""
-" -b, --perf-bias [VAL] Sets CPU's power vs performance policy on some\n"
-" Intel models [0-15], see manpage for details\n"
-msgstr ""
-
-#: utils/cpupower-set.c:26
-#, c-format
-msgid ""
-" -m, --sched-mc [VAL] Sets the kernel's multi core scheduler policy.\n"
-msgstr ""
-
-#: utils/cpupower-set.c:27
-#, c-format
-msgid ""
-" -s, --sched-smt [VAL] Sets the kernel's thread sibling scheduler "
-"policy.\n"
-msgstr ""
-
-#: utils/cpupower-set.c:80
-#, c-format
-msgid "--perf-bias param out of range [0-%d]\n"
-msgstr ""
-
-#: utils/cpupower-set.c:91
-#, c-format
-msgid "--sched-mc param out of range [0-%d]\n"
-msgstr ""
-
-#: utils/cpupower-set.c:102
-#, c-format
-msgid "--sched-smt param out of range [0-%d]\n"
-msgstr ""
-
-#: utils/cpupower-set.c:121
-#, c-format
-msgid "Error setting sched-mc %s\n"
-msgstr ""
-
-#: utils/cpupower-set.c:127
-#, c-format
-msgid "Error setting sched-smt %s\n"
-msgstr ""
-
-#: utils/cpupower-set.c:146
-#, c-format
-msgid "Error setting perf-bias value on CPU %d\n"
-msgstr ""
-
-#: utils/cpupower-info.c:21
-#, c-format
-msgid "Usage: cpupower info [ -b ] [ -m ] [ -s ]\n"
-msgstr ""
-
-#: utils/cpupower-info.c:23
-#, c-format
-msgid ""
-" -b, --perf-bias Gets CPU's power vs performance policy on some\n"
-" Intel models [0-15], see manpage for details\n"
-msgstr ""
-
-#: utils/cpupower-info.c:25
-#, fuzzy, c-format
-msgid " -m, --sched-mc Gets the kernel's multi core scheduler policy.\n"
-msgstr ""
-" -p, --policy Mostra il gestore cpufreq attualmente in uso *\n"
-
-#: utils/cpupower-info.c:26
-#, c-format
-msgid ""
-" -s, --sched-smt Gets the kernel's thread sibling scheduler policy.\n"
-msgstr ""
-
-#: utils/cpupower-info.c:28
-#, c-format
-msgid ""
-"\n"
-"Passing no option will show all info, by default only on core 0\n"
-msgstr ""
-
-#: utils/cpupower-info.c:102
-#, c-format
-msgid "System's multi core scheduler setting: "
-msgstr ""
-
-#. if sysfs file is missing it's: errno == ENOENT
-#: utils/cpupower-info.c:105 utils/cpupower-info.c:114
-#, c-format
-msgid "not supported\n"
-msgstr ""
-
-#: utils/cpupower-info.c:111
-#, c-format
-msgid "System's thread sibling scheduler setting: "
-msgstr ""
-
-#: utils/cpupower-info.c:126
-#, c-format
-msgid "Intel's performance bias setting needs root privileges\n"
-msgstr ""
-
-#: utils/cpupower-info.c:128
-#, c-format
-msgid "System does not support Intel's performance bias setting\n"
-msgstr ""
-
-#: utils/cpupower-info.c:147
-#, c-format
-msgid "Could not read perf-bias value\n"
-msgstr ""
-
-#: utils/cpupower-info.c:150
-#, c-format
-msgid "perf-bias: %d\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:28
-#, fuzzy, c-format
-msgid "Analyzing CPU %d:\n"
-msgstr "analisi della CPU %d:\n"
-
-#: utils/cpuidle-info.c:32
-#, c-format
-msgid "CPU %u: No idle states\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:36
-#, c-format
-msgid "CPU %u: Can't read idle state info\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:41
-#, c-format
-msgid "Could not determine max idle state %u\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:46
-#, c-format
-msgid "Number of idle states: %d\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:48
-#, fuzzy, c-format
-msgid "Available idle states:"
-msgstr " frequenze disponibili: "
-
-#: utils/cpuidle-info.c:71
-#, c-format
-msgid "Flags/Description: %s\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:74
-#, c-format
-msgid "Latency: %lu\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:76
-#, c-format
-msgid "Usage: %lu\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:78
-#, c-format
-msgid "Duration: %llu\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:90
-#, c-format
-msgid "Could not determine cpuidle driver\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:94
-#, fuzzy, c-format
-msgid "CPUidle driver: %s\n"
-msgstr " modulo %s\n"
-
-#: utils/cpuidle-info.c:99
-#, c-format
-msgid "Could not determine cpuidle governor\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:103
-#, c-format
-msgid "CPUidle governor: %s\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:122
-#, c-format
-msgid "CPU %u: Can't read C-state info\n"
-msgstr ""
-
-#. printf("Cstates: %d\n", cstates);
-#: utils/cpuidle-info.c:127
-#, c-format
-msgid "active state: C0\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:128
-#, c-format
-msgid "max_cstate: C%u\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:129
-#, fuzzy, c-format
-msgid "maximum allowed latency: %lu usec\n"
-msgstr " latenza massima durante la transizione: "
-
-#: utils/cpuidle-info.c:130
-#, c-format
-msgid "states:\t\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:132
-#, c-format
-msgid " C%d: type[C%d] "
-msgstr ""
-
-#: utils/cpuidle-info.c:134
-#, c-format
-msgid "promotion[--] demotion[--] "
-msgstr ""
-
-#: utils/cpuidle-info.c:135
-#, c-format
-msgid "latency[%03lu] "
-msgstr ""
-
-#: utils/cpuidle-info.c:137
-#, c-format
-msgid "usage[%08lu] "
-msgstr ""
-
-#: utils/cpuidle-info.c:139
-#, c-format
-msgid "duration[%020Lu] \n"
-msgstr ""
-
-#: utils/cpuidle-info.c:147
-#, fuzzy, c-format
-msgid "Usage: cpupower idleinfo [options]\n"
-msgstr "Uso: cpufreq-info [opzioni]\n"
-
-#: utils/cpuidle-info.c:149
-#, fuzzy, c-format
-msgid " -s, --silent Only show general C-state information\n"
-msgstr " -e, --debug Mostra informazioni di debug\n"
-
-#: utils/cpuidle-info.c:150
-#, fuzzy, c-format
-msgid ""
-" -o, --proc Prints out information like provided by the /proc/"
-"acpi/processor/*/power\n"
-" interface in older kernels\n"
-msgstr ""
-" -o, --proc Stampa le informazioni come se provenissero dalla\n"
-" interfaccia cpufreq /proc/ presente nei kernel\n"
-" 2.4 ed i primi 2.6\n"
-
-#: utils/cpuidle-info.c:209
-#, fuzzy, c-format
-msgid "You can't specify more than one output-specific argument\n"
-msgstr ""
-"Non è possibile specificare più di una volta l'opzione --cpu e/o\n"
-"specificare più di un parametro di output specifico\n"
-
-#~ msgid ""
-#~ " -c CPU, --cpu CPU CPU number which information shall be determined "
-#~ "about\n"
-#~ msgstr ""
-#~ " -c CPU, --cpu CPU Numero di CPU per la quale ottenere le "
-#~ "informazioni\n"
-
-#~ msgid ""
-#~ " -c CPU, --cpu CPU number of CPU where cpufreq settings shall be "
-#~ "modified\n"
-#~ msgstr ""
-#~ " -c CPU, --cpu CPU numero di CPU per la quale modificare le "
-#~ "impostazioni\n"
-
-#, fuzzy
-#~ msgid " CPUs which coordinate software frequency requirements: "
-#~ msgstr ""
-#~ " CPU per le quali e` necessario cambiare la frequenza "
-#~ "contemporaneamente: "
diff --git a/ANDROID_3.4.5/tools/power/cpupower/po/pt.po b/ANDROID_3.4.5/tools/power/cpupower/po/pt.po
deleted file mode 100644
index 990f5267..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/po/pt.po
+++ /dev/null
@@ -1,957 +0,0 @@
-# Brazilian Portuguese translations for cpufrequtils package
-# Copyright (C) 2008 THE cpufrequtils'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the cpufrequtils package.
-# Claudio Eduardo <claudioeddy@gmail.com>, 2009.
-#
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: cpufrequtils 004\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-08 17:03+0100\n"
-"PO-Revision-Date: 2008-06-14 22:16-0400\n"
-"Last-Translator: Claudio Eduardo <claudioeddy@gmail.com>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: utils/idle_monitor/nhm_idle.c:36
-msgid "Processor Core C3"
-msgstr ""
-
-#: utils/idle_monitor/nhm_idle.c:43
-msgid "Processor Core C6"
-msgstr ""
-
-#: utils/idle_monitor/nhm_idle.c:51
-msgid "Processor Package C3"
-msgstr ""
-
-#: utils/idle_monitor/nhm_idle.c:58 utils/idle_monitor/amd_fam14h_idle.c:70
-msgid "Processor Package C6"
-msgstr ""
-
-#: utils/idle_monitor/snb_idle.c:33
-msgid "Processor Core C7"
-msgstr ""
-
-#: utils/idle_monitor/snb_idle.c:40
-msgid "Processor Package C2"
-msgstr ""
-
-#: utils/idle_monitor/snb_idle.c:47
-msgid "Processor Package C7"
-msgstr ""
-
-#: utils/idle_monitor/amd_fam14h_idle.c:56
-msgid "Package in sleep state (PC1 or deeper)"
-msgstr ""
-
-#: utils/idle_monitor/amd_fam14h_idle.c:63
-msgid "Processor Package C1"
-msgstr ""
-
-#: utils/idle_monitor/amd_fam14h_idle.c:77
-msgid "North Bridge P1 boolean counter (returns 0 or 1)"
-msgstr ""
-
-#: utils/idle_monitor/mperf_monitor.c:35
-msgid "Processor Core not idle"
-msgstr ""
-
-#: utils/idle_monitor/mperf_monitor.c:42
-msgid "Processor Core in an idle state"
-msgstr ""
-
-#: utils/idle_monitor/mperf_monitor.c:50
-msgid "Average Frequency (including boost) in MHz"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:66
-#, c-format
-msgid ""
-"cpupower monitor: [-h] [ [-t] | [-l] | [-m <mon1>,[<mon2>] ] ] [-i "
-"interval_sec | -c command ...]\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:69
-#, c-format
-msgid ""
-"cpupower monitor: [-v] [-h] [ [-t] | [-l] | [-m <mon1>,[<mon2>] ] ] [-i "
-"interval_sec | -c command ...]\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:71
-#, c-format
-msgid "\t -v: be more verbose\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:73
-#, c-format
-msgid "\t -h: print this help\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:74
-#, c-format
-msgid "\t -i: time intervall to measure for in seconds (default 1)\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:75
-#, c-format
-msgid "\t -t: show CPU topology/hierarchy\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:76
-#, c-format
-msgid "\t -l: list available CPU sleep monitors (for use with -m)\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:77
-#, c-format
-msgid "\t -m: show specific CPU sleep monitors only (in same order)\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:79
-#, c-format
-msgid ""
-"only one of: -t, -l, -m are allowed\n"
-"If none of them is passed,"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:80
-#, c-format
-msgid " all supported monitors are shown\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:197
-#, c-format
-msgid "Monitor %s, Counter %s has no count function. Implementation error\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:207
-#, c-format
-msgid " *is offline\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:236
-#, c-format
-msgid "%s: max monitor name length (%d) exceeded\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:250
-#, c-format
-msgid "No matching monitor found in %s, try -l option\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:266
-#, c-format
-msgid "Monitor \"%s\" (%d states) - Might overflow after %u s\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:319
-#, c-format
-msgid "%s took %.5f seconds and exited with status %d\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:406
-#, c-format
-msgid "Cannot read number of available processors\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:417
-#, c-format
-msgid "Available monitor %s needs root access\n"
-msgstr ""
-
-#: utils/idle_monitor/cpupower-monitor.c:428
-#, c-format
-msgid "No HW Cstate monitors found\n"
-msgstr ""
-
-#: utils/cpupower.c:78
-#, c-format
-msgid "cpupower [ -c cpulist ] subcommand [ARGS]\n"
-msgstr ""
-
-#: utils/cpupower.c:79
-#, c-format
-msgid "cpupower --version\n"
-msgstr ""
-
-#: utils/cpupower.c:80
-#, c-format
-msgid "Supported subcommands are:\n"
-msgstr ""
-
-#: utils/cpupower.c:83
-#, c-format
-msgid ""
-"\n"
-"Some subcommands can make use of the -c cpulist option.\n"
-msgstr ""
-
-#: utils/cpupower.c:84
-#, c-format
-msgid "Look at the general cpupower manpage how to use it\n"
-msgstr ""
-
-#: utils/cpupower.c:85
-#, c-format
-msgid "and read up the subcommand's manpage whether it is supported.\n"
-msgstr ""
-
-#: utils/cpupower.c:86
-#, c-format
-msgid ""
-"\n"
-"Use cpupower help subcommand for getting help for above subcommands.\n"
-msgstr ""
-
-#: utils/cpupower.c:91
-#, c-format
-msgid "Report errors and bugs to %s, please.\n"
-msgstr "Reporte erros e bugs para %s, por favor.\n"
-
-#: utils/cpupower.c:114
-#, c-format
-msgid "Error parsing cpu list\n"
-msgstr ""
-
-#: utils/cpupower.c:172
-#, c-format
-msgid "Subcommand %s needs root privileges\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:31
-#, c-format
-msgid "Couldn't count the number of CPUs (%s: %s), assuming 1\n"
-msgstr "Não foi possível contar o número de CPUs (%s: %s), assumindo 1\n"
-
-#: utils/cpufreq-info.c:63
-#, c-format
-msgid ""
-" minimum CPU frequency - maximum CPU frequency - governor\n"
-msgstr ""
-" frequência mínina do CPU - frequência máxima do CPU - "
-"regulador\n"
-
-#: utils/cpufreq-info.c:151
-#, c-format
-msgid "Error while evaluating Boost Capabilities on CPU %d -- are you root?\n"
-msgstr ""
-
-#. P state changes via MSR are identified via cpuid 80000007
-#. on Intel and AMD, but we assume boost capable machines can do that
-#. if (cpuid_eax(0x80000000) >= 0x80000007
-#. && (cpuid_edx(0x80000007) & (1 << 7)))
-#.
-#: utils/cpufreq-info.c:161
-#, c-format
-msgid " boost state support: \n"
-msgstr ""
-
-#: utils/cpufreq-info.c:163
-#, c-format
-msgid " Supported: %s\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:163 utils/cpufreq-info.c:164
-msgid "yes"
-msgstr ""
-
-#: utils/cpufreq-info.c:163 utils/cpufreq-info.c:164
-msgid "no"
-msgstr ""
-
-#: utils/cpufreq-info.c:164
-#, fuzzy, c-format
-msgid " Active: %s\n"
-msgstr " driver: %s\n"
-
-#: utils/cpufreq-info.c:177
-#, c-format
-msgid " Boost States: %d\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:178
-#, c-format
-msgid " Total States: %d\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:181
-#, c-format
-msgid " Pstate-Pb%d: %luMHz (boost state)\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:184
-#, c-format
-msgid " Pstate-P%d: %luMHz\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:211
-#, c-format
-msgid " no or unknown cpufreq driver is active on this CPU\n"
-msgstr " nenhum ou driver do cpufreq deconhecido está ativo nesse CPU\n"
-
-#: utils/cpufreq-info.c:213
-#, c-format
-msgid " driver: %s\n"
-msgstr " driver: %s\n"
-
-#: utils/cpufreq-info.c:219
-#, c-format
-msgid " CPUs which run at the same hardware frequency: "
-msgstr " CPUs que rodam na mesma frequência de hardware: "
-
-#: utils/cpufreq-info.c:230
-#, c-format
-msgid " CPUs which need to have their frequency coordinated by software: "
-msgstr " CPUs que precisam ter suas frequências coordenadas por software: "
-
-#: utils/cpufreq-info.c:241
-#, c-format
-msgid " maximum transition latency: "
-msgstr " maior latência de transição: "
-
-#: utils/cpufreq-info.c:247
-#, c-format
-msgid " hardware limits: "
-msgstr " limites do hardware: "
-
-#: utils/cpufreq-info.c:256
-#, c-format
-msgid " available frequency steps: "
-msgstr " níveis de frequência disponíveis: "
-
-#: utils/cpufreq-info.c:269
-#, c-format
-msgid " available cpufreq governors: "
-msgstr " reguladores do cpufreq disponíveis: "
-
-#: utils/cpufreq-info.c:280
-#, c-format
-msgid " current policy: frequency should be within "
-msgstr " política de frequência atual deve estar entre "
-
-#: utils/cpufreq-info.c:282
-#, c-format
-msgid " and "
-msgstr " e "
-
-#: utils/cpufreq-info.c:286
-#, c-format
-msgid ""
-"The governor \"%s\" may decide which speed to use\n"
-" within this range.\n"
-msgstr ""
-"O regulador \"%s\" deve decidir qual velocidade usar\n"
-" dentro desse limite.\n"
-
-#: utils/cpufreq-info.c:293
-#, c-format
-msgid " current CPU frequency is "
-msgstr " frequência atual do CPU é "
-
-#: utils/cpufreq-info.c:296
-#, c-format
-msgid " (asserted by call to hardware)"
-msgstr " (declarado por chamada ao hardware)"
-
-#: utils/cpufreq-info.c:304
-#, c-format
-msgid " cpufreq stats: "
-msgstr " status do cpufreq: "
-
-#: utils/cpufreq-info.c:472
-#, fuzzy, c-format
-msgid "Usage: cpupower freqinfo [options]\n"
-msgstr "Uso: cpufreq-info [opções]\n"
-
-#: utils/cpufreq-info.c:473 utils/cpufreq-set.c:26 utils/cpupower-set.c:23
-#: utils/cpupower-info.c:22 utils/cpuidle-info.c:148
-#, c-format
-msgid "Options:\n"
-msgstr "Opções:\n"
-
-#: utils/cpufreq-info.c:474
-#, fuzzy, c-format
-msgid " -e, --debug Prints out debug information [default]\n"
-msgstr " -e, --debug Mostra informação de debug\n"
-
-#: utils/cpufreq-info.c:475
-#, c-format
-msgid ""
-" -f, --freq Get frequency the CPU currently runs at, according\n"
-" to the cpufreq core *\n"
-msgstr ""
-" -f, --freq Obtem a frequência na qual o CPU roda no momento, de "
-"acordo\n"
-" com o núcleo do cpufreq *\n"
-
-#: utils/cpufreq-info.c:477
-#, c-format
-msgid ""
-" -w, --hwfreq Get frequency the CPU currently runs at, by reading\n"
-" it from hardware (only available to root) *\n"
-msgstr ""
-" -w, --hwfreq Obtem a frequência na qual o CPU está operando no "
-"momento,\n"
-" através de leitura no hardware (disponível somente "
-"para root) *\n"
-
-#: utils/cpufreq-info.c:479
-#, c-format
-msgid ""
-" -l, --hwlimits Determine the minimum and maximum CPU frequency "
-"allowed *\n"
-msgstr ""
-" -l, --hwlimits Determina a frequência mínima e máxima do CPU "
-"permitida *\n"
-
-#: utils/cpufreq-info.c:480
-#, c-format
-msgid " -d, --driver Determines the used cpufreq kernel driver *\n"
-msgstr ""
-" -d, --driver Determina o driver do kernel do cpufreq usado *\n"
-
-#: utils/cpufreq-info.c:481
-#, c-format
-msgid " -p, --policy Gets the currently used cpufreq policy *\n"
-msgstr ""
-"--p, --policy Obtem a política do cpufreq em uso no momento *\n"
-
-#: utils/cpufreq-info.c:482
-#, c-format
-msgid " -g, --governors Determines available cpufreq governors *\n"
-msgstr ""
-" -g, --governors Determina reguladores do cpufreq disponíveis *\n"
-
-#: utils/cpufreq-info.c:483
-#, c-format
-msgid ""
-" -r, --related-cpus Determines which CPUs run at the same hardware "
-"frequency *\n"
-msgstr ""
-" -r, --related-cpus Determina quais CPUs rodam na mesma frequência de "
-"hardware *\n"
-
-#: utils/cpufreq-info.c:484
-#, c-format
-msgid ""
-" -a, --affected-cpus Determines which CPUs need to have their frequency\n"
-" coordinated by software *\n"
-msgstr ""
-" -a, --affected-cpus Determina quais CPUs precisam ter suas frequências\n"
-" coordenadas por software *\n"
-
-#: utils/cpufreq-info.c:486
-#, c-format
-msgid " -s, --stats Shows cpufreq statistics if available\n"
-msgstr " -s, --stats Mostra estatísticas do cpufreq se disponíveis\n"
-
-#: utils/cpufreq-info.c:487
-#, c-format
-msgid ""
-" -y, --latency Determines the maximum latency on CPU frequency "
-"changes *\n"
-msgstr ""
-" -y, --latency Determina a latência máxima nas trocas de frequência "
-"do CPU *\n"
-
-#: utils/cpufreq-info.c:488
-#, c-format
-msgid " -b, --boost Checks for turbo or boost modes *\n"
-msgstr ""
-
-#: utils/cpufreq-info.c:489
-#, c-format
-msgid ""
-" -o, --proc Prints out information like provided by the /proc/"
-"cpufreq\n"
-" interface in 2.4. and early 2.6. kernels\n"
-msgstr ""
-" -o, --proc Mostra informação do tipo provida pela interface /"
-"proc/cpufreq\n"
-" em kernels 2.4. e mais recentes 2.6\n"
-
-#: utils/cpufreq-info.c:491
-#, c-format
-msgid ""
-" -m, --human human-readable output for the -f, -w, -s and -y "
-"parameters\n"
-msgstr ""
-" -m, --human saída legível para humanos para os parâmetros -f, -w, "
-"-s e -y\n"
-
-#: utils/cpufreq-info.c:492 utils/cpuidle-info.c:152
-#, c-format
-msgid " -h, --help Prints out this screen\n"
-msgstr " -h, --help Imprime essa tela\n"
-
-#: utils/cpufreq-info.c:495
-#, c-format
-msgid ""
-"If no argument or only the -c, --cpu parameter is given, debug output about\n"
-"cpufreq is printed which is useful e.g. for reporting bugs.\n"
-msgstr ""
-"Se nenhum argumento ou somente o parâmetro -c, --cpu é dado, informação de "
-"debug sobre\n"
-"o cpufreq é mostrada, o que é útil por exemplo para reportar bugs.\n"
-
-#: utils/cpufreq-info.c:497
-#, c-format
-msgid ""
-"For the arguments marked with *, omitting the -c or --cpu argument is\n"
-"equivalent to setting it to zero\n"
-msgstr ""
-"Para os argumentos marcados com *, omitir o argumento -c ou --cpu é\n"
-"equivalente a setá-lo como zero\n"
-
-#: utils/cpufreq-info.c:580
-#, c-format
-msgid ""
-"The argument passed to this tool can't be combined with passing a --cpu "
-"argument\n"
-msgstr ""
-"O argumento usado pra essa ferramenta não pode ser combinado com um "
-"argumento --cpu\n"
-
-#: utils/cpufreq-info.c:596
-#, c-format
-msgid ""
-"You can't specify more than one --cpu parameter and/or\n"
-"more than one output-specific argument\n"
-msgstr ""
-"Você não pode especificar mais do que um parâmetro --cpu e/ou\n"
-"mais do que um argumento de saída específico\n"
-
-#: utils/cpufreq-info.c:600 utils/cpufreq-set.c:82 utils/cpupower-set.c:42
-#: utils/cpupower-info.c:42 utils/cpuidle-info.c:213
-#, c-format
-msgid "invalid or unknown argument\n"
-msgstr "argumento inválido ou desconhecido\n"
-
-#: utils/cpufreq-info.c:617
-#, c-format
-msgid "couldn't analyze CPU %d as it doesn't seem to be present\n"
-msgstr ""
-"não foi possível analisar o CPU % já que o mesmo parece não estar presente\n"
-
-#: utils/cpufreq-info.c:620 utils/cpupower-info.c:142
-#, c-format
-msgid "analyzing CPU %d:\n"
-msgstr "analisando o CPU %d:\n"
-
-#: utils/cpufreq-set.c:25
-#, fuzzy, c-format
-msgid "Usage: cpupower frequency-set [options]\n"
-msgstr "Uso: cpufreq-set [opções]\n"
-
-#: utils/cpufreq-set.c:27
-#, c-format
-msgid ""
-" -d FREQ, --min FREQ new minimum CPU frequency the governor may "
-"select\n"
-msgstr ""
-" -d FREQ, --min FREQ nova frequência mínima do CPU que o regulador "
-"deve selecionar\n"
-
-#: utils/cpufreq-set.c:28
-#, c-format
-msgid ""
-" -u FREQ, --max FREQ new maximum CPU frequency the governor may "
-"select\n"
-msgstr ""
-" -u FREQ, --max FREQ nova frequência máxima do CPU que o regulador "
-"deve escolher\n"
-
-#: utils/cpufreq-set.c:29
-#, c-format
-msgid " -g GOV, --governor GOV new cpufreq governor\n"
-msgstr " -g GOV, --governor GOV novo regulador do cpufreq\n"
-
-#: utils/cpufreq-set.c:30
-#, c-format
-msgid ""
-" -f FREQ, --freq FREQ specific frequency to be set. Requires userspace\n"
-" governor to be available and loaded\n"
-msgstr ""
-" -f FREQ, --freq FREQ frequência específica para ser setada. Necessita "
-"que o regulador em\n"
-" nível de usuário esteja disponível e carregado\n"
-
-#: utils/cpufreq-set.c:32
-#, c-format
-msgid " -r, --related Switches all hardware-related CPUs\n"
-msgstr ""
-" -r, --related Modifica todos os CPUs relacionados ao hardware\n"
-
-#: utils/cpufreq-set.c:33 utils/cpupower-set.c:28 utils/cpupower-info.c:27
-#, c-format
-msgid " -h, --help Prints out this screen\n"
-msgstr " -h, --help Mostra essa tela\n"
-
-#: utils/cpufreq-set.c:35
-#, fuzzy, c-format
-msgid ""
-"Notes:\n"
-"1. Omitting the -c or --cpu argument is equivalent to setting it to \"all\"\n"
-msgstr ""
-"Para os argumentos marcados com *, omitir o argumento -c ou --cpu é\n"
-"equivalente a setá-lo como zero\n"
-
-#: utils/cpufreq-set.c:37
-#, fuzzy, c-format
-msgid ""
-"2. The -f FREQ, --freq FREQ parameter cannot be combined with any other "
-"parameter\n"
-" except the -c CPU, --cpu CPU parameter\n"
-"3. FREQuencies can be passed in Hz, kHz (default), MHz, GHz, or THz\n"
-" by postfixing the value with the wanted unit name, without any space\n"
-" (FREQuency in kHz =^ Hz * 0.001 =^ MHz * 1000 =^ GHz * 1000000).\n"
-msgstr ""
-"Notas:\n"
-"1. Omitir o argumento -c or --cpu é equivalente a setá-lo como zero\n"
-"2. O parâmetro -f FREQ, --freq FREQ não pode ser combinado com qualquer "
-"outro parâmetro\n"
-" exceto com o parâmetro -c CPU, --cpu CPU\n"
-"3. FREQuências podem ser usadas em Hz, kHz (padrão), MHz, GHz, o THz\n"
-" colocando o nome desejado da unidade após o valor, sem qualquer espaço\n"
-" (FREQuência em kHz =^ Hz * 0.001 =^ MHz * 1000 =^ GHz * 1000000).\n"
-
-#: utils/cpufreq-set.c:57
-#, c-format
-msgid ""
-"Error setting new values. Common errors:\n"
-"- Do you have proper administration rights? (super-user?)\n"
-"- Is the governor you requested available and modprobed?\n"
-"- Trying to set an invalid policy?\n"
-"- Trying to set a specific frequency, but userspace governor is not "
-"available,\n"
-" for example because of hardware which cannot be set to a specific "
-"frequency\n"
-" or because the userspace governor isn't loaded?\n"
-msgstr ""
-"Erro ao setar novos valores. Erros comuns:\n"
-"- Você tem direitos administrativos necessários? (super-usuário?)\n"
-"- O regulador que você requesitou está disponível e foi \"modprobed\"?\n"
-"- Tentando setar uma política inválida?\n"
-"- Tentando setar uma frequência específica, mas o regulador em nível de "
-"usuário não está disponível,\n"
-" por exemplo devido ao hardware que não pode ser setado pra uma frequência "
-"específica\n"
-" ou porque o regulador em nível de usuário não foi carregado?\n"
-
-#: utils/cpufreq-set.c:170
-#, c-format
-msgid "wrong, unknown or unhandled CPU?\n"
-msgstr "CPU errado, desconhecido ou inesperado?\n"
-
-#: utils/cpufreq-set.c:302
-#, c-format
-msgid ""
-"the -f/--freq parameter cannot be combined with -d/--min, -u/--max or\n"
-"-g/--governor parameters\n"
-msgstr ""
-"o parâmetro -f/--freq não pode ser combinado com os parâmetros -d/--min, -"
-"u/--max ou\n"
-"-g/--governor\n"
-
-#: utils/cpufreq-set.c:308
-#, c-format
-msgid ""
-"At least one parameter out of -f/--freq, -d/--min, -u/--max, and\n"
-"-g/--governor must be passed\n"
-msgstr ""
-"Pelo menos um parâmetro entre -f/--freq, -d/--min, -u/--max, e\n"
-"-g/--governor deve ser usado\n"
-
-#: utils/cpufreq-set.c:347
-#, c-format
-msgid "Setting cpu: %d\n"
-msgstr ""
-
-#: utils/cpupower-set.c:22
-#, c-format
-msgid "Usage: cpupower set [ -b val ] [ -m val ] [ -s val ]\n"
-msgstr ""
-
-#: utils/cpupower-set.c:24
-#, c-format
-msgid ""
-" -b, --perf-bias [VAL] Sets CPU's power vs performance policy on some\n"
-" Intel models [0-15], see manpage for details\n"
-msgstr ""
-
-#: utils/cpupower-set.c:26
-#, c-format
-msgid ""
-" -m, --sched-mc [VAL] Sets the kernel's multi core scheduler policy.\n"
-msgstr ""
-
-#: utils/cpupower-set.c:27
-#, c-format
-msgid ""
-" -s, --sched-smt [VAL] Sets the kernel's thread sibling scheduler "
-"policy.\n"
-msgstr ""
-
-#: utils/cpupower-set.c:80
-#, c-format
-msgid "--perf-bias param out of range [0-%d]\n"
-msgstr ""
-
-#: utils/cpupower-set.c:91
-#, c-format
-msgid "--sched-mc param out of range [0-%d]\n"
-msgstr ""
-
-#: utils/cpupower-set.c:102
-#, c-format
-msgid "--sched-smt param out of range [0-%d]\n"
-msgstr ""
-
-#: utils/cpupower-set.c:121
-#, c-format
-msgid "Error setting sched-mc %s\n"
-msgstr ""
-
-#: utils/cpupower-set.c:127
-#, c-format
-msgid "Error setting sched-smt %s\n"
-msgstr ""
-
-#: utils/cpupower-set.c:146
-#, c-format
-msgid "Error setting perf-bias value on CPU %d\n"
-msgstr ""
-
-#: utils/cpupower-info.c:21
-#, c-format
-msgid "Usage: cpupower info [ -b ] [ -m ] [ -s ]\n"
-msgstr ""
-
-#: utils/cpupower-info.c:23
-#, c-format
-msgid ""
-" -b, --perf-bias Gets CPU's power vs performance policy on some\n"
-" Intel models [0-15], see manpage for details\n"
-msgstr ""
-
-#: utils/cpupower-info.c:25
-#, fuzzy, c-format
-msgid " -m, --sched-mc Gets the kernel's multi core scheduler policy.\n"
-msgstr ""
-"--p, --policy Obtem a política do cpufreq em uso no momento *\n"
-
-#: utils/cpupower-info.c:26
-#, c-format
-msgid ""
-" -s, --sched-smt Gets the kernel's thread sibling scheduler policy.\n"
-msgstr ""
-
-#: utils/cpupower-info.c:28
-#, c-format
-msgid ""
-"\n"
-"Passing no option will show all info, by default only on core 0\n"
-msgstr ""
-
-#: utils/cpupower-info.c:102
-#, c-format
-msgid "System's multi core scheduler setting: "
-msgstr ""
-
-#. if sysfs file is missing it's: errno == ENOENT
-#: utils/cpupower-info.c:105 utils/cpupower-info.c:114
-#, c-format
-msgid "not supported\n"
-msgstr ""
-
-#: utils/cpupower-info.c:111
-#, c-format
-msgid "System's thread sibling scheduler setting: "
-msgstr ""
-
-#: utils/cpupower-info.c:126
-#, c-format
-msgid "Intel's performance bias setting needs root privileges\n"
-msgstr ""
-
-#: utils/cpupower-info.c:128
-#, c-format
-msgid "System does not support Intel's performance bias setting\n"
-msgstr ""
-
-#: utils/cpupower-info.c:147
-#, c-format
-msgid "Could not read perf-bias value\n"
-msgstr ""
-
-#: utils/cpupower-info.c:150
-#, c-format
-msgid "perf-bias: %d\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:28
-#, fuzzy, c-format
-msgid "Analyzing CPU %d:\n"
-msgstr "analisando o CPU %d:\n"
-
-#: utils/cpuidle-info.c:32
-#, c-format
-msgid "CPU %u: No idle states\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:36
-#, c-format
-msgid "CPU %u: Can't read idle state info\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:41
-#, c-format
-msgid "Could not determine max idle state %u\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:46
-#, c-format
-msgid "Number of idle states: %d\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:48
-#, fuzzy, c-format
-msgid "Available idle states:"
-msgstr " níveis de frequência disponíveis: "
-
-#: utils/cpuidle-info.c:71
-#, c-format
-msgid "Flags/Description: %s\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:74
-#, c-format
-msgid "Latency: %lu\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:76
-#, c-format
-msgid "Usage: %lu\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:78
-#, c-format
-msgid "Duration: %llu\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:90
-#, c-format
-msgid "Could not determine cpuidle driver\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:94
-#, fuzzy, c-format
-msgid "CPUidle driver: %s\n"
-msgstr " driver: %s\n"
-
-#: utils/cpuidle-info.c:99
-#, c-format
-msgid "Could not determine cpuidle governor\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:103
-#, c-format
-msgid "CPUidle governor: %s\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:122
-#, c-format
-msgid "CPU %u: Can't read C-state info\n"
-msgstr ""
-
-#. printf("Cstates: %d\n", cstates);
-#: utils/cpuidle-info.c:127
-#, c-format
-msgid "active state: C0\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:128
-#, c-format
-msgid "max_cstate: C%u\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:129
-#, fuzzy, c-format
-msgid "maximum allowed latency: %lu usec\n"
-msgstr " maior latência de transição: "
-
-#: utils/cpuidle-info.c:130
-#, c-format
-msgid "states:\t\n"
-msgstr ""
-
-#: utils/cpuidle-info.c:132
-#, c-format
-msgid " C%d: type[C%d] "
-msgstr ""
-
-#: utils/cpuidle-info.c:134
-#, c-format
-msgid "promotion[--] demotion[--] "
-msgstr ""
-
-#: utils/cpuidle-info.c:135
-#, c-format
-msgid "latency[%03lu] "
-msgstr ""
-
-#: utils/cpuidle-info.c:137
-#, c-format
-msgid "usage[%08lu] "
-msgstr ""
-
-#: utils/cpuidle-info.c:139
-#, c-format
-msgid "duration[%020Lu] \n"
-msgstr ""
-
-#: utils/cpuidle-info.c:147
-#, fuzzy, c-format
-msgid "Usage: cpupower idleinfo [options]\n"
-msgstr "Uso: cpufreq-info [opções]\n"
-
-#: utils/cpuidle-info.c:149
-#, fuzzy, c-format
-msgid " -s, --silent Only show general C-state information\n"
-msgstr " -e, --debug Mostra informação de debug\n"
-
-#: utils/cpuidle-info.c:150
-#, fuzzy, c-format
-msgid ""
-" -o, --proc Prints out information like provided by the /proc/"
-"acpi/processor/*/power\n"
-" interface in older kernels\n"
-msgstr ""
-" -o, --proc Mostra informação do tipo provida pela interface /"
-"proc/cpufreq\n"
-" em kernels 2.4. e mais recentes 2.6\n"
-
-#: utils/cpuidle-info.c:209
-#, fuzzy, c-format
-msgid "You can't specify more than one output-specific argument\n"
-msgstr ""
-"Você não pode especificar mais do que um parâmetro --cpu e/ou\n"
-"mais do que um argumento de saída específico\n"
-
-#~ msgid ""
-#~ " -c CPU, --cpu CPU CPU number which information shall be determined "
-#~ "about\n"
-#~ msgstr ""
-#~ " -c CPU, --cpu CPU número do CPU sobre o qual as inforções devem ser "
-#~ "determinadas\n"
-
-#~ msgid ""
-#~ " -c CPU, --cpu CPU number of CPU where cpufreq settings shall be "
-#~ "modified\n"
-#~ msgstr ""
-#~ " -c CPU, --cpu CPU número do CPU onde as configurações do cpufreq "
-#~ "vão ser modificadas\n"
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/builtin.h b/ANDROID_3.4.5/tools/power/cpupower/utils/builtin.h
deleted file mode 100644
index c10496fb..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/builtin.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef BUILTIN_H
-#define BUILTIN_H
-
-extern int cmd_set(int argc, const char **argv);
-extern int cmd_info(int argc, const char **argv);
-extern int cmd_freq_set(int argc, const char **argv);
-extern int cmd_freq_info(int argc, const char **argv);
-extern int cmd_idle_info(int argc, const char **argv);
-extern int cmd_monitor(int argc, const char **argv);
-
-#endif
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/cpufreq-info.c b/ANDROID_3.4.5/tools/power/cpupower/utils/cpufreq-info.c
deleted file mode 100644
index 28953c9a..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/cpufreq-info.c
+++ /dev/null
@@ -1,668 +0,0 @@
-/*
- * (C) 2004-2009 Dominik Brodowski <linux@dominikbrodowski.de>
- *
- * Licensed under the terms of the GNU GPL License version 2.
- */
-
-
-#include <unistd.h>
-#include <stdio.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <getopt.h>
-
-#include "cpufreq.h"
-#include "helpers/helpers.h"
-#include "helpers/bitmask.h"
-
-#define LINE_LEN 10
-
-static unsigned int count_cpus(void)
-{
- FILE *fp;
- char value[LINE_LEN];
- unsigned int ret = 0;
- unsigned int cpunr = 0;
-
- fp = fopen("/proc/stat", "r");
- if (!fp) {
- printf(_("Couldn't count the number of CPUs (%s: %s), assuming 1\n"), "/proc/stat", strerror(errno));
- return 1;
- }
-
- while (!feof(fp)) {
- if (!fgets(value, LINE_LEN, fp))
- continue;
- value[LINE_LEN - 1] = '\0';
- if (strlen(value) < (LINE_LEN - 2))
- continue;
- if (strstr(value, "cpu "))
- continue;
- if (sscanf(value, "cpu%d ", &cpunr) != 1)
- continue;
- if (cpunr > ret)
- ret = cpunr;
- }
- fclose(fp);
-
- /* cpu count starts from 0, on error return 1 (UP) */
- return ret + 1;
-}
-
-
-static void proc_cpufreq_output(void)
-{
- unsigned int cpu, nr_cpus;
- struct cpufreq_policy *policy;
- unsigned int min_pctg = 0;
- unsigned int max_pctg = 0;
- unsigned long min, max;
-
- printf(_(" minimum CPU frequency - maximum CPU frequency - governor\n"));
-
- nr_cpus = count_cpus();
- for (cpu = 0; cpu < nr_cpus; cpu++) {
- policy = cpufreq_get_policy(cpu);
- if (!policy)
- continue;
-
- if (cpufreq_get_hardware_limits(cpu, &min, &max)) {
- max = 0;
- } else {
- min_pctg = (policy->min * 100) / max;
- max_pctg = (policy->max * 100) / max;
- }
- printf("CPU%3d %9lu kHz (%3d %%) - %9lu kHz (%3d %%) - %s\n",
- cpu , policy->min, max ? min_pctg : 0, policy->max,
- max ? max_pctg : 0, policy->governor);
-
- cpufreq_put_policy(policy);
- }
-}
-
-static void print_speed(unsigned long speed)
-{
- unsigned long tmp;
-
- if (speed > 1000000) {
- tmp = speed % 10000;
- if (tmp >= 5000)
- speed += 10000;
- printf("%u.%02u GHz", ((unsigned int) speed/1000000),
- ((unsigned int) (speed%1000000)/10000));
- } else if (speed > 100000) {
- tmp = speed % 1000;
- if (tmp >= 500)
- speed += 1000;
- printf("%u MHz", ((unsigned int) speed / 1000));
- } else if (speed > 1000) {
- tmp = speed % 100;
- if (tmp >= 50)
- speed += 100;
- printf("%u.%01u MHz", ((unsigned int) speed/1000),
- ((unsigned int) (speed%1000)/100));
- } else
- printf("%lu kHz", speed);
-
- return;
-}
-
-static void print_duration(unsigned long duration)
-{
- unsigned long tmp;
-
- if (duration > 1000000) {
- tmp = duration % 10000;
- if (tmp >= 5000)
- duration += 10000;
- printf("%u.%02u ms", ((unsigned int) duration/1000000),
- ((unsigned int) (duration%1000000)/10000));
- } else if (duration > 100000) {
- tmp = duration % 1000;
- if (tmp >= 500)
- duration += 1000;
- printf("%u us", ((unsigned int) duration / 1000));
- } else if (duration > 1000) {
- tmp = duration % 100;
- if (tmp >= 50)
- duration += 100;
- printf("%u.%01u us", ((unsigned int) duration/1000),
- ((unsigned int) (duration%1000)/100));
- } else
- printf("%lu ns", duration);
-
- return;
-}
-
-/* --boost / -b */
-
-static int get_boost_mode(unsigned int cpu)
-{
- int support, active, b_states = 0, ret, pstate_no, i;
- /* ToDo: Make this more global */
- unsigned long pstates[MAX_HW_PSTATES] = {0,};
-
- if (cpupower_cpu_info.vendor != X86_VENDOR_AMD &&
- cpupower_cpu_info.vendor != X86_VENDOR_INTEL)
- return 0;
-
- ret = cpufreq_has_boost_support(cpu, &support, &active, &b_states);
- if (ret) {
- printf(_("Error while evaluating Boost Capabilities"
- " on CPU %d -- are you root?\n"), cpu);
- return ret;
- }
- /* P state changes via MSR are identified via cpuid 80000007
- on Intel and AMD, but we assume boost capable machines can do that
- if (cpuid_eax(0x80000000) >= 0x80000007
- && (cpuid_edx(0x80000007) & (1 << 7)))
- */
-
- printf(_(" boost state support:\n"));
-
- printf(_(" Supported: %s\n"), support ? _("yes") : _("no"));
- printf(_(" Active: %s\n"), active ? _("yes") : _("no"));
-
- if (cpupower_cpu_info.vendor == X86_VENDOR_AMD &&
- cpupower_cpu_info.family >= 0x10) {
- ret = decode_pstates(cpu, cpupower_cpu_info.family, b_states,
- pstates, &pstate_no);
- if (ret)
- return ret;
-
- printf(_(" Boost States: %d\n"), b_states);
- printf(_(" Total States: %d\n"), pstate_no);
- for (i = 0; i < pstate_no; i++) {
- if (i < b_states)
- printf(_(" Pstate-Pb%d: %luMHz (boost state)"
- "\n"), i, pstates[i]);
- else
- printf(_(" Pstate-P%d: %luMHz\n"),
- i - b_states, pstates[i]);
- }
- } else if (cpupower_cpu_info.caps & CPUPOWER_CAP_HAS_TURBO_RATIO) {
- double bclk;
- unsigned long long intel_turbo_ratio = 0;
- unsigned int ratio;
-
- /* Any way to autodetect this ? */
- if (cpupower_cpu_info.caps & CPUPOWER_CAP_IS_SNB)
- bclk = 100.00;
- else
- bclk = 133.33;
- intel_turbo_ratio = msr_intel_get_turbo_ratio(cpu);
- dprint (" Ratio: 0x%llx - bclk: %f\n",
- intel_turbo_ratio, bclk);
-
- ratio = (intel_turbo_ratio >> 24) & 0xFF;
- if (ratio)
- printf(_(" %.0f MHz max turbo 4 active cores\n"),
- ratio * bclk);
-
- ratio = (intel_turbo_ratio >> 16) & 0xFF;
- if (ratio)
- printf(_(" %.0f MHz max turbo 3 active cores\n"),
- ratio * bclk);
-
- ratio = (intel_turbo_ratio >> 8) & 0xFF;
- if (ratio)
- printf(_(" %.0f MHz max turbo 2 active cores\n"),
- ratio * bclk);
-
- ratio = (intel_turbo_ratio >> 0) & 0xFF;
- if (ratio)
- printf(_(" %.0f MHz max turbo 1 active cores\n"),
- ratio * bclk);
- }
- return 0;
-}
-
-static void debug_output_one(unsigned int cpu)
-{
- char *driver;
- struct cpufreq_affected_cpus *cpus;
- struct cpufreq_available_frequencies *freqs;
- unsigned long min, max, freq_kernel, freq_hardware;
- unsigned long total_trans, latency;
- unsigned long long total_time;
- struct cpufreq_policy *policy;
- struct cpufreq_available_governors *governors;
- struct cpufreq_stats *stats;
-
- if (cpufreq_cpu_exists(cpu))
- return;
-
- freq_kernel = cpufreq_get_freq_kernel(cpu);
- freq_hardware = cpufreq_get_freq_hardware(cpu);
-
- driver = cpufreq_get_driver(cpu);
- if (!driver) {
- printf(_(" no or unknown cpufreq driver is active on this CPU\n"));
- } else {
- printf(_(" driver: %s\n"), driver);
- cpufreq_put_driver(driver);
- }
-
- cpus = cpufreq_get_related_cpus(cpu);
- if (cpus) {
- printf(_(" CPUs which run at the same hardware frequency: "));
- while (cpus->next) {
- printf("%d ", cpus->cpu);
- cpus = cpus->next;
- }
- printf("%d\n", cpus->cpu);
- cpufreq_put_related_cpus(cpus);
- }
-
- cpus = cpufreq_get_affected_cpus(cpu);
- if (cpus) {
- printf(_(" CPUs which need to have their frequency coordinated by software: "));
- while (cpus->next) {
- printf("%d ", cpus->cpu);
- cpus = cpus->next;
- }
- printf("%d\n", cpus->cpu);
- cpufreq_put_affected_cpus(cpus);
- }
-
- latency = cpufreq_get_transition_latency(cpu);
- if (latency) {
- printf(_(" maximum transition latency: "));
- print_duration(latency);
- printf(".\n");
- }
-
- if (!(cpufreq_get_hardware_limits(cpu, &min, &max))) {
- printf(_(" hardware limits: "));
- print_speed(min);
- printf(" - ");
- print_speed(max);
- printf("\n");
- }
-
- freqs = cpufreq_get_available_frequencies(cpu);
- if (freqs) {
- printf(_(" available frequency steps: "));
- while (freqs->next) {
- print_speed(freqs->frequency);
- printf(", ");
- freqs = freqs->next;
- }
- print_speed(freqs->frequency);
- printf("\n");
- cpufreq_put_available_frequencies(freqs);
- }
-
- governors = cpufreq_get_available_governors(cpu);
- if (governors) {
- printf(_(" available cpufreq governors: "));
- while (governors->next) {
- printf("%s, ", governors->governor);
- governors = governors->next;
- }
- printf("%s\n", governors->governor);
- cpufreq_put_available_governors(governors);
- }
-
- policy = cpufreq_get_policy(cpu);
- if (policy) {
- printf(_(" current policy: frequency should be within "));
- print_speed(policy->min);
- printf(_(" and "));
- print_speed(policy->max);
-
- printf(".\n ");
- printf(_("The governor \"%s\" may"
- " decide which speed to use\n within this range.\n"),
- policy->governor);
- cpufreq_put_policy(policy);
- }
-
- if (freq_kernel || freq_hardware) {
- printf(_(" current CPU frequency is "));
- if (freq_hardware) {
- print_speed(freq_hardware);
- printf(_(" (asserted by call to hardware)"));
- } else
- print_speed(freq_kernel);
- printf(".\n");
- }
- stats = cpufreq_get_stats(cpu, &total_time);
- if (stats) {
- printf(_(" cpufreq stats: "));
- while (stats) {
- print_speed(stats->frequency);
- printf(":%.2f%%", (100.0 * stats->time_in_state) / total_time);
- stats = stats->next;
- if (stats)
- printf(", ");
- }
- cpufreq_put_stats(stats);
- total_trans = cpufreq_get_transitions(cpu);
- if (total_trans)
- printf(" (%lu)\n", total_trans);
- else
- printf("\n");
- }
- get_boost_mode(cpu);
-
-}
-
-/* --freq / -f */
-
-static int get_freq_kernel(unsigned int cpu, unsigned int human)
-{
- unsigned long freq = cpufreq_get_freq_kernel(cpu);
- if (!freq)
- return -EINVAL;
- if (human) {
- print_speed(freq);
- printf("\n");
- } else
- printf("%lu\n", freq);
- return 0;
-}
-
-
-/* --hwfreq / -w */
-
-static int get_freq_hardware(unsigned int cpu, unsigned int human)
-{
- unsigned long freq = cpufreq_get_freq_hardware(cpu);
- if (!freq)
- return -EINVAL;
- if (human) {
- print_speed(freq);
- printf("\n");
- } else
- printf("%lu\n", freq);
- return 0;
-}
-
-/* --hwlimits / -l */
-
-static int get_hardware_limits(unsigned int cpu)
-{
- unsigned long min, max;
- if (cpufreq_get_hardware_limits(cpu, &min, &max))
- return -EINVAL;
- printf("%lu %lu\n", min, max);
- return 0;
-}
-
-/* --driver / -d */
-
-static int get_driver(unsigned int cpu)
-{
- char *driver = cpufreq_get_driver(cpu);
- if (!driver)
- return -EINVAL;
- printf("%s\n", driver);
- cpufreq_put_driver(driver);
- return 0;
-}
-
-/* --policy / -p */
-
-static int get_policy(unsigned int cpu)
-{
- struct cpufreq_policy *policy = cpufreq_get_policy(cpu);
- if (!policy)
- return -EINVAL;
- printf("%lu %lu %s\n", policy->min, policy->max, policy->governor);
- cpufreq_put_policy(policy);
- return 0;
-}
-
-/* --governors / -g */
-
-static int get_available_governors(unsigned int cpu)
-{
- struct cpufreq_available_governors *governors =
- cpufreq_get_available_governors(cpu);
- if (!governors)
- return -EINVAL;
-
- while (governors->next) {
- printf("%s ", governors->governor);
- governors = governors->next;
- }
- printf("%s\n", governors->governor);
- cpufreq_put_available_governors(governors);
- return 0;
-}
-
-
-/* --affected-cpus / -a */
-
-static int get_affected_cpus(unsigned int cpu)
-{
- struct cpufreq_affected_cpus *cpus = cpufreq_get_affected_cpus(cpu);
- if (!cpus)
- return -EINVAL;
-
- while (cpus->next) {
- printf("%d ", cpus->cpu);
- cpus = cpus->next;
- }
- printf("%d\n", cpus->cpu);
- cpufreq_put_affected_cpus(cpus);
- return 0;
-}
-
-/* --related-cpus / -r */
-
-static int get_related_cpus(unsigned int cpu)
-{
- struct cpufreq_affected_cpus *cpus = cpufreq_get_related_cpus(cpu);
- if (!cpus)
- return -EINVAL;
-
- while (cpus->next) {
- printf("%d ", cpus->cpu);
- cpus = cpus->next;
- }
- printf("%d\n", cpus->cpu);
- cpufreq_put_related_cpus(cpus);
- return 0;
-}
-
-/* --stats / -s */
-
-static int get_freq_stats(unsigned int cpu, unsigned int human)
-{
- unsigned long total_trans = cpufreq_get_transitions(cpu);
- unsigned long long total_time;
- struct cpufreq_stats *stats = cpufreq_get_stats(cpu, &total_time);
- while (stats) {
- if (human) {
- print_speed(stats->frequency);
- printf(":%.2f%%",
- (100.0 * stats->time_in_state) / total_time);
- } else
- printf("%lu:%llu",
- stats->frequency, stats->time_in_state);
- stats = stats->next;
- if (stats)
- printf(", ");
- }
- cpufreq_put_stats(stats);
- if (total_trans)
- printf(" (%lu)\n", total_trans);
- return 0;
-}
-
-/* --latency / -y */
-
-static int get_latency(unsigned int cpu, unsigned int human)
-{
- unsigned long latency = cpufreq_get_transition_latency(cpu);
- if (!latency)
- return -EINVAL;
-
- if (human) {
- print_duration(latency);
- printf("\n");
- } else
- printf("%lu\n", latency);
- return 0;
-}
-
-static struct option info_opts[] = {
- { .name = "debug", .has_arg = no_argument, .flag = NULL, .val = 'e'},
- { .name = "boost", .has_arg = no_argument, .flag = NULL, .val = 'b'},
- { .name = "freq", .has_arg = no_argument, .flag = NULL, .val = 'f'},
- { .name = "hwfreq", .has_arg = no_argument, .flag = NULL, .val = 'w'},
- { .name = "hwlimits", .has_arg = no_argument, .flag = NULL, .val = 'l'},
- { .name = "driver", .has_arg = no_argument, .flag = NULL, .val = 'd'},
- { .name = "policy", .has_arg = no_argument, .flag = NULL, .val = 'p'},
- { .name = "governors", .has_arg = no_argument, .flag = NULL, .val = 'g'},
- { .name = "related-cpus", .has_arg = no_argument, .flag = NULL, .val = 'r'},
- { .name = "affected-cpus",.has_arg = no_argument, .flag = NULL, .val = 'a'},
- { .name = "stats", .has_arg = no_argument, .flag = NULL, .val = 's'},
- { .name = "latency", .has_arg = no_argument, .flag = NULL, .val = 'y'},
- { .name = "proc", .has_arg = no_argument, .flag = NULL, .val = 'o'},
- { .name = "human", .has_arg = no_argument, .flag = NULL, .val = 'm'},
- { },
-};
-
-int cmd_freq_info(int argc, char **argv)
-{
- extern char *optarg;
- extern int optind, opterr, optopt;
- int ret = 0, cont = 1;
- unsigned int cpu = 0;
- unsigned int human = 0;
- int output_param = 0;
-
- do {
- ret = getopt_long(argc, argv, "oefwldpgrasmyb", info_opts, NULL);
- switch (ret) {
- case '?':
- output_param = '?';
- cont = 0;
- break;
- case -1:
- cont = 0;
- break;
- case 'b':
- case 'o':
- case 'a':
- case 'r':
- case 'g':
- case 'p':
- case 'd':
- case 'l':
- case 'w':
- case 'f':
- case 'e':
- case 's':
- case 'y':
- if (output_param) {
- output_param = -1;
- cont = 0;
- break;
- }
- output_param = ret;
- break;
- case 'm':
- if (human) {
- output_param = -1;
- cont = 0;
- break;
- }
- human = 1;
- break;
- default:
- fprintf(stderr, "invalid or unknown argument\n");
- return EXIT_FAILURE;
- }
- } while (cont);
-
- switch (output_param) {
- case 'o':
- if (!bitmask_isallclear(cpus_chosen)) {
- printf(_("The argument passed to this tool can't be "
- "combined with passing a --cpu argument\n"));
- return -EINVAL;
- }
- break;
- case 0:
- output_param = 'e';
- }
-
- ret = 0;
-
- /* Default is: show output of CPU 0 only */
- if (bitmask_isallclear(cpus_chosen))
- bitmask_setbit(cpus_chosen, 0);
-
- switch (output_param) {
- case -1:
- printf(_("You can't specify more than one --cpu parameter and/or\n"
- "more than one output-specific argument\n"));
- return -EINVAL;
- case '?':
- printf(_("invalid or unknown argument\n"));
- return -EINVAL;
- case 'o':
- proc_cpufreq_output();
- return EXIT_SUCCESS;
- }
-
- for (cpu = bitmask_first(cpus_chosen);
- cpu <= bitmask_last(cpus_chosen); cpu++) {
-
- if (!bitmask_isbitset(cpus_chosen, cpu))
- continue;
- if (cpufreq_cpu_exists(cpu)) {
- printf(_("couldn't analyze CPU %d as it doesn't seem to be present\n"), cpu);
- continue;
- }
- printf(_("analyzing CPU %d:\n"), cpu);
-
- switch (output_param) {
- case 'b':
- get_boost_mode(cpu);
- break;
- case 'e':
- debug_output_one(cpu);
- break;
- case 'a':
- ret = get_affected_cpus(cpu);
- break;
- case 'r':
- ret = get_related_cpus(cpu);
- break;
- case 'g':
- ret = get_available_governors(cpu);
- break;
- case 'p':
- ret = get_policy(cpu);
- break;
- case 'd':
- ret = get_driver(cpu);
- break;
- case 'l':
- ret = get_hardware_limits(cpu);
- break;
- case 'w':
- ret = get_freq_hardware(cpu, human);
- break;
- case 'f':
- ret = get_freq_kernel(cpu, human);
- break;
- case 's':
- ret = get_freq_stats(cpu, human);
- break;
- case 'y':
- ret = get_latency(cpu, human);
- break;
- }
- if (ret)
- return ret;
- }
- return ret;
-}
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/cpufreq-set.c b/ANDROID_3.4.5/tools/power/cpupower/utils/cpufreq-set.c
deleted file mode 100644
index dd1539eb..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/cpufreq-set.c
+++ /dev/null
@@ -1,331 +0,0 @@
-/*
- * (C) 2004-2009 Dominik Brodowski <linux@dominikbrodowski.de>
- *
- * Licensed under the terms of the GNU GPL License version 2.
- */
-
-
-#include <unistd.h>
-#include <stdio.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <limits.h>
-#include <string.h>
-#include <ctype.h>
-
-#include <getopt.h>
-
-#include "cpufreq.h"
-#include "helpers/helpers.h"
-
-#define NORM_FREQ_LEN 32
-
-static struct option set_opts[] = {
- { .name = "min", .has_arg = required_argument, .flag = NULL, .val = 'd'},
- { .name = "max", .has_arg = required_argument, .flag = NULL, .val = 'u'},
- { .name = "governor", .has_arg = required_argument, .flag = NULL, .val = 'g'},
- { .name = "freq", .has_arg = required_argument, .flag = NULL, .val = 'f'},
- { .name = "related", .has_arg = no_argument, .flag = NULL, .val='r'},
- { },
-};
-
-static void print_error(void)
-{
- printf(_("Error setting new values. Common errors:\n"
- "- Do you have proper administration rights? (super-user?)\n"
- "- Is the governor you requested available and modprobed?\n"
- "- Trying to set an invalid policy?\n"
- "- Trying to set a specific frequency, but userspace governor is not available,\n"
- " for example because of hardware which cannot be set to a specific frequency\n"
- " or because the userspace governor isn't loaded?\n"));
-};
-
-struct freq_units {
- char *str_unit;
- int power_of_ten;
-};
-
-const struct freq_units def_units[] = {
- {"hz", -3},
- {"khz", 0}, /* default */
- {"mhz", 3},
- {"ghz", 6},
- {"thz", 9},
- {NULL, 0}
-};
-
-static void print_unknown_arg(void)
-{
- printf(_("invalid or unknown argument\n"));
-}
-
-static unsigned long string_to_frequency(const char *str)
-{
- char normalized[NORM_FREQ_LEN];
- const struct freq_units *unit;
- const char *scan;
- char *end;
- unsigned long freq;
- int power = 0, match_count = 0, i, cp, pad;
-
- while (*str == '0')
- str++;
-
- for (scan = str; isdigit(*scan) || *scan == '.'; scan++) {
- if (*scan == '.' && match_count == 0)
- match_count = 1;
- else if (*scan == '.' && match_count == 1)
- return 0;
- }
-
- if (*scan) {
- match_count = 0;
- for (unit = def_units; unit->str_unit; unit++) {
- for (i = 0;
- scan[i] && tolower(scan[i]) == unit->str_unit[i];
- ++i)
- continue;
- if (scan[i])
- continue;
- match_count++;
- power = unit->power_of_ten;
- }
- if (match_count != 1)
- return 0;
- }
-
- /* count the number of digits to be copied */
- for (cp = 0; isdigit(str[cp]); cp++)
- continue;
-
- if (str[cp] == '.') {
- while (power > -1 && isdigit(str[cp+1]))
- cp++, power--;
- }
- if (power >= -1) /* not enough => pad */
- pad = power + 1;
- else /* to much => strip */
- pad = 0, cp += power + 1;
- /* check bounds */
- if (cp <= 0 || cp + pad > NORM_FREQ_LEN - 1)
- return 0;
-
- /* copy digits */
- for (i = 0; i < cp; i++, str++) {
- if (*str == '.')
- str++;
- normalized[i] = *str;
- }
- /* and pad */
- for (; i < cp + pad; i++)
- normalized[i] = '0';
-
- /* round up, down ? */
- match_count = (normalized[i-1] >= '5');
- /* and drop the decimal part */
- normalized[i-1] = 0; /* cp > 0 && pad >= 0 ==> i > 0 */
-
- /* final conversion (and applying rounding) */
- errno = 0;
- freq = strtoul(normalized, &end, 10);
- if (errno)
- return 0;
- else {
- if (match_count && freq != ULONG_MAX)
- freq++;
- return freq;
- }
-}
-
-static int do_new_policy(unsigned int cpu, struct cpufreq_policy *new_pol)
-{
- struct cpufreq_policy *cur_pol = cpufreq_get_policy(cpu);
- int ret;
-
- if (!cur_pol) {
- printf(_("wrong, unknown or unhandled CPU?\n"));
- return -EINVAL;
- }
-
- if (!new_pol->min)
- new_pol->min = cur_pol->min;
-
- if (!new_pol->max)
- new_pol->max = cur_pol->max;
-
- if (!new_pol->governor)
- new_pol->governor = cur_pol->governor;
-
- ret = cpufreq_set_policy(cpu, new_pol);
-
- cpufreq_put_policy(cur_pol);
-
- return ret;
-}
-
-
-static int do_one_cpu(unsigned int cpu, struct cpufreq_policy *new_pol,
- unsigned long freq, unsigned int pc)
-{
- switch (pc) {
- case 0:
- return cpufreq_set_frequency(cpu, freq);
-
- case 1:
- /* if only one value of a policy is to be changed, we can
- * use a "fast path".
- */
- if (new_pol->min)
- return cpufreq_modify_policy_min(cpu, new_pol->min);
- else if (new_pol->max)
- return cpufreq_modify_policy_max(cpu, new_pol->max);
- else if (new_pol->governor)
- return cpufreq_modify_policy_governor(cpu,
- new_pol->governor);
-
- default:
- /* slow path */
- return do_new_policy(cpu, new_pol);
- }
-}
-
-int cmd_freq_set(int argc, char **argv)
-{
- extern char *optarg;
- extern int optind, opterr, optopt;
- int ret = 0, cont = 1;
- int double_parm = 0, related = 0, policychange = 0;
- unsigned long freq = 0;
- char gov[20];
- unsigned int cpu;
-
- struct cpufreq_policy new_pol = {
- .min = 0,
- .max = 0,
- .governor = NULL,
- };
-
- /* parameter parsing */
- do {
- ret = getopt_long(argc, argv, "d:u:g:f:r", set_opts, NULL);
- switch (ret) {
- case '?':
- print_unknown_arg();
- return -EINVAL;
- case -1:
- cont = 0;
- break;
- case 'r':
- if (related)
- double_parm++;
- related++;
- break;
- case 'd':
- if (new_pol.min)
- double_parm++;
- policychange++;
- new_pol.min = string_to_frequency(optarg);
- if (new_pol.min == 0) {
- print_unknown_arg();
- return -EINVAL;
- }
- break;
- case 'u':
- if (new_pol.max)
- double_parm++;
- policychange++;
- new_pol.max = string_to_frequency(optarg);
- if (new_pol.max == 0) {
- print_unknown_arg();
- return -EINVAL;
- }
- break;
- case 'f':
- if (freq)
- double_parm++;
- freq = string_to_frequency(optarg);
- if (freq == 0) {
- print_unknown_arg();
- return -EINVAL;
- }
- break;
- case 'g':
- if (new_pol.governor)
- double_parm++;
- policychange++;
- if ((strlen(optarg) < 3) || (strlen(optarg) > 18)) {
- print_unknown_arg();
- return -EINVAL;
- }
- if ((sscanf(optarg, "%s", gov)) != 1) {
- print_unknown_arg();
- return -EINVAL;
- }
- new_pol.governor = gov;
- break;
- }
- } while (cont);
-
- /* parameter checking */
- if (double_parm) {
- printf("the same parameter was passed more than once\n");
- return -EINVAL;
- }
-
- if (freq && policychange) {
- printf(_("the -f/--freq parameter cannot be combined with -d/--min, -u/--max or\n"
- "-g/--governor parameters\n"));
- return -EINVAL;
- }
-
- if (!freq && !policychange) {
- printf(_("At least one parameter out of -f/--freq, -d/--min, -u/--max, and\n"
- "-g/--governor must be passed\n"));
- return -EINVAL;
- }
-
- /* Default is: set all CPUs */
- if (bitmask_isallclear(cpus_chosen))
- bitmask_setall(cpus_chosen);
-
- /* Also set frequency settings for related CPUs if -r is passed */
- if (related) {
- for (cpu = bitmask_first(cpus_chosen);
- cpu <= bitmask_last(cpus_chosen); cpu++) {
- struct cpufreq_affected_cpus *cpus;
-
- if (!bitmask_isbitset(cpus_chosen, cpu) ||
- cpufreq_cpu_exists(cpu))
- continue;
-
- cpus = cpufreq_get_related_cpus(cpu);
- if (!cpus)
- break;
- while (cpus->next) {
- bitmask_setbit(cpus_chosen, cpus->cpu);
- cpus = cpus->next;
- }
- cpufreq_put_related_cpus(cpus);
- }
- }
-
-
- /* loop over CPUs */
- for (cpu = bitmask_first(cpus_chosen);
- cpu <= bitmask_last(cpus_chosen); cpu++) {
-
- if (!bitmask_isbitset(cpus_chosen, cpu) ||
- cpufreq_cpu_exists(cpu))
- continue;
-
- printf(_("Setting cpu: %d\n"), cpu);
- ret = do_one_cpu(cpu, &new_pol, freq, policychange);
- if (ret)
- break;
- }
-
- if (ret)
- print_error();
-
- return ret;
-}
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/cpuidle-info.c b/ANDROID_3.4.5/tools/power/cpupower/utils/cpuidle-info.c
deleted file mode 100644
index 8145af5f..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/cpuidle-info.c
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * (C) 2004-2009 Dominik Brodowski <linux@dominikbrodowski.de>
- * (C) 2010 Thomas Renninger <trenn@suse.de>
- *
- * Licensed under the terms of the GNU GPL License version 2.
- */
-
-
-#include <unistd.h>
-#include <stdio.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-#include <getopt.h>
-#include <cpufreq.h>
-
-#include "helpers/helpers.h"
-#include "helpers/sysfs.h"
-#include "helpers/bitmask.h"
-
-#define LINE_LEN 10
-
-static void cpuidle_cpu_output(unsigned int cpu, int verbose)
-{
- int idlestates, idlestate;
- char *tmp;
-
- printf(_ ("Analyzing CPU %d:\n"), cpu);
-
- idlestates = sysfs_get_idlestate_count(cpu);
- if (idlestates == 0) {
- printf(_("CPU %u: No idle states\n"), cpu);
- return;
- } else if (idlestates <= 0) {
- printf(_("CPU %u: Can't read idle state info\n"), cpu);
- return;
- }
- printf(_("Number of idle states: %d\n"), idlestates);
- printf(_("Available idle states:"));
- for (idlestate = 0; idlestate < idlestates; idlestate++) {
- tmp = sysfs_get_idlestate_name(cpu, idlestate);
- if (!tmp)
- continue;
- printf(" %s", tmp);
- free(tmp);
- }
- printf("\n");
-
- if (!verbose)
- return;
-
- for (idlestate = 0; idlestate < idlestates; idlestate++) {
- tmp = sysfs_get_idlestate_name(cpu, idlestate);
- if (!tmp)
- continue;
- printf("%s:\n", tmp);
- free(tmp);
-
- tmp = sysfs_get_idlestate_desc(cpu, idlestate);
- if (!tmp)
- continue;
- printf(_("Flags/Description: %s\n"), tmp);
- free(tmp);
-
- printf(_("Latency: %lu\n"),
- sysfs_get_idlestate_latency(cpu, idlestate));
- printf(_("Usage: %lu\n"),
- sysfs_get_idlestate_usage(cpu, idlestate));
- printf(_("Duration: %llu\n"),
- sysfs_get_idlestate_time(cpu, idlestate));
- }
- printf("\n");
-}
-
-static void cpuidle_general_output(void)
-{
- char *tmp;
-
- tmp = sysfs_get_cpuidle_driver();
- if (!tmp) {
- printf(_("Could not determine cpuidle driver\n"));
- return;
- }
-
- printf(_("CPUidle driver: %s\n"), tmp);
- free(tmp);
-
- tmp = sysfs_get_cpuidle_governor();
- if (!tmp) {
- printf(_("Could not determine cpuidle governor\n"));
- return;
- }
-
- printf(_("CPUidle governor: %s\n"), tmp);
- free(tmp);
-}
-
-static void proc_cpuidle_cpu_output(unsigned int cpu)
-{
- long max_allowed_cstate = 2000000000;
- int cstates, cstate;
-
- cstates = sysfs_get_idlestate_count(cpu);
- if (cstates == 0) {
- /*
- * Go on and print same useless info as you'd see with
- * cat /proc/acpi/processor/../power
- * printf(_("CPU %u: No C-states available\n"), cpu);
- * return;
- */
- } else if (cstates <= 0) {
- printf(_("CPU %u: Can't read C-state info\n"), cpu);
- return;
- }
- /* printf("Cstates: %d\n", cstates); */
-
- printf(_("active state: C0\n"));
- printf(_("max_cstate: C%u\n"), cstates-1);
- printf(_("maximum allowed latency: %lu usec\n"), max_allowed_cstate);
- printf(_("states:\t\n"));
- for (cstate = 1; cstate < cstates; cstate++) {
- printf(_(" C%d: "
- "type[C%d] "), cstate, cstate);
- printf(_("promotion[--] demotion[--] "));
- printf(_("latency[%03lu] "),
- sysfs_get_idlestate_latency(cpu, cstate));
- printf(_("usage[%08lu] "),
- sysfs_get_idlestate_usage(cpu, cstate));
- printf(_("duration[%020Lu] \n"),
- sysfs_get_idlestate_time(cpu, cstate));
- }
-}
-
-static struct option info_opts[] = {
- { .name = "silent", .has_arg = no_argument, .flag = NULL, .val = 's'},
- { .name = "proc", .has_arg = no_argument, .flag = NULL, .val = 'o'},
- { },
-};
-
-static inline void cpuidle_exit(int fail)
-{
- exit(EXIT_FAILURE);
-}
-
-int cmd_idle_info(int argc, char **argv)
-{
- extern char *optarg;
- extern int optind, opterr, optopt;
- int ret = 0, cont = 1, output_param = 0, verbose = 1;
- unsigned int cpu = 0;
-
- do {
- ret = getopt_long(argc, argv, "os", info_opts, NULL);
- if (ret == -1)
- break;
- switch (ret) {
- case '?':
- output_param = '?';
- cont = 0;
- break;
- case 's':
- verbose = 0;
- break;
- case -1:
- cont = 0;
- break;
- case 'o':
- if (output_param) {
- output_param = -1;
- cont = 0;
- break;
- }
- output_param = ret;
- break;
- }
- } while (cont);
-
- switch (output_param) {
- case -1:
- printf(_("You can't specify more than one "
- "output-specific argument\n"));
- cpuidle_exit(EXIT_FAILURE);
- case '?':
- printf(_("invalid or unknown argument\n"));
- cpuidle_exit(EXIT_FAILURE);
- }
-
- /* Default is: show output of CPU 0 only */
- if (bitmask_isallclear(cpus_chosen))
- bitmask_setbit(cpus_chosen, 0);
-
- if (output_param == 0)
- cpuidle_general_output();
-
- for (cpu = bitmask_first(cpus_chosen);
- cpu <= bitmask_last(cpus_chosen); cpu++) {
-
- if (!bitmask_isbitset(cpus_chosen, cpu) ||
- cpufreq_cpu_exists(cpu))
- continue;
-
- switch (output_param) {
-
- case 'o':
- proc_cpuidle_cpu_output(cpu);
- break;
- case 0:
- printf("\n");
- cpuidle_cpu_output(cpu, verbose);
- break;
- }
- }
- return EXIT_SUCCESS;
-}
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/cpupower-info.c b/ANDROID_3.4.5/tools/power/cpupower/utils/cpupower-info.c
deleted file mode 100644
index 3f68632c..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/cpupower-info.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * (C) 2011 Thomas Renninger <trenn@suse.de>, Novell Inc.
- *
- * Licensed under the terms of the GNU GPL License version 2.
- */
-
-
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <string.h>
-#include <getopt.h>
-
-#include <cpufreq.h>
-#include "helpers/helpers.h"
-#include "helpers/sysfs.h"
-
-static struct option set_opts[] = {
- { .name = "perf-bias", .has_arg = optional_argument, .flag = NULL, .val = 'b'},
- { .name = "sched-mc", .has_arg = optional_argument, .flag = NULL, .val = 'm'},
- { .name = "sched-smt", .has_arg = optional_argument, .flag = NULL, .val = 's'},
- { },
-};
-
-static void print_wrong_arg_exit(void)
-{
- printf(_("invalid or unknown argument\n"));
- exit(EXIT_FAILURE);
-}
-
-int cmd_info(int argc, char **argv)
-{
- extern char *optarg;
- extern int optind, opterr, optopt;
- unsigned int cpu;
-
- union {
- struct {
- int sched_mc:1;
- int sched_smt:1;
- int perf_bias:1;
- };
- int params;
- } params = {};
- int ret = 0;
-
- setlocale(LC_ALL, "");
- textdomain(PACKAGE);
-
- /* parameter parsing */
- while ((ret = getopt_long(argc, argv, "msb", set_opts, NULL)) != -1) {
- switch (ret) {
- case 'b':
- if (params.perf_bias)
- print_wrong_arg_exit();
- params.perf_bias = 1;
- break;
- case 'm':
- if (params.sched_mc)
- print_wrong_arg_exit();
- params.sched_mc = 1;
- break;
- case 's':
- if (params.sched_smt)
- print_wrong_arg_exit();
- params.sched_smt = 1;
- break;
- default:
- print_wrong_arg_exit();
- }
- };
-
- if (!params.params)
- params.params = 0x7;
-
- /* Default is: show output of CPU 0 only */
- if (bitmask_isallclear(cpus_chosen))
- bitmask_setbit(cpus_chosen, 0);
-
- if (params.sched_mc) {
- ret = sysfs_get_sched("mc");
- printf(_("System's multi core scheduler setting: "));
- if (ret < 0)
- /* if sysfs file is missing it's: errno == ENOENT */
- printf(_("not supported\n"));
- else
- printf("%d\n", ret);
- }
- if (params.sched_smt) {
- ret = sysfs_get_sched("smt");
- printf(_("System's thread sibling scheduler setting: "));
- if (ret < 0)
- /* if sysfs file is missing it's: errno == ENOENT */
- printf(_("not supported\n"));
- else
- printf("%d\n", ret);
- }
-
- /* Add more per cpu options here */
- if (!params.perf_bias)
- return ret;
-
- if (params.perf_bias) {
- if (!run_as_root) {
- params.perf_bias = 0;
- printf(_("Intel's performance bias setting needs root privileges\n"));
- } else if (!(cpupower_cpu_info.caps & CPUPOWER_CAP_PERF_BIAS)) {
- printf(_("System does not support Intel's performance"
- " bias setting\n"));
- params.perf_bias = 0;
- }
- }
-
- /* loop over CPUs */
- for (cpu = bitmask_first(cpus_chosen);
- cpu <= bitmask_last(cpus_chosen); cpu++) {
-
- if (!bitmask_isbitset(cpus_chosen, cpu) ||
- cpufreq_cpu_exists(cpu))
- continue;
-
- printf(_("analyzing CPU %d:\n"), cpu);
-
- if (params.perf_bias) {
- ret = msr_intel_get_perf_bias(cpu);
- if (ret < 0) {
- printf(_("Could not read perf-bias value\n"));
- break;
- } else
- printf(_("perf-bias: %d\n"), ret);
- }
- }
- return ret;
-}
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/cpupower-set.c b/ANDROID_3.4.5/tools/power/cpupower/utils/cpupower-set.c
deleted file mode 100644
index dc4de376..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/cpupower-set.c
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * (C) 2011 Thomas Renninger <trenn@suse.de>, Novell Inc.
- *
- * Licensed under the terms of the GNU GPL License version 2.
- */
-
-
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <string.h>
-#include <getopt.h>
-
-#include <cpufreq.h>
-#include "helpers/helpers.h"
-#include "helpers/sysfs.h"
-#include "helpers/bitmask.h"
-
-static struct option set_opts[] = {
- { .name = "perf-bias", .has_arg = optional_argument, .flag = NULL, .val = 'b'},
- { .name = "sched-mc", .has_arg = optional_argument, .flag = NULL, .val = 'm'},
- { .name = "sched-smt", .has_arg = optional_argument, .flag = NULL, .val = 's'},
- { },
-};
-
-static void print_wrong_arg_exit(void)
-{
- printf(_("invalid or unknown argument\n"));
- exit(EXIT_FAILURE);
-}
-
-int cmd_set(int argc, char **argv)
-{
- extern char *optarg;
- extern int optind, opterr, optopt;
- unsigned int cpu;
-
- union {
- struct {
- int sched_mc:1;
- int sched_smt:1;
- int perf_bias:1;
- };
- int params;
- } params;
- int sched_mc = 0, sched_smt = 0, perf_bias = 0;
- int ret = 0;
-
- setlocale(LC_ALL, "");
- textdomain(PACKAGE);
-
- params.params = 0;
- /* parameter parsing */
- while ((ret = getopt_long(argc, argv, "m:s:b:",
- set_opts, NULL)) != -1) {
- switch (ret) {
- case 'b':
- if (params.perf_bias)
- print_wrong_arg_exit();
- perf_bias = atoi(optarg);
- if (perf_bias < 0 || perf_bias > 15) {
- printf(_("--perf-bias param out "
- "of range [0-%d]\n"), 15);
- print_wrong_arg_exit();
- }
- params.perf_bias = 1;
- break;
- case 'm':
- if (params.sched_mc)
- print_wrong_arg_exit();
- sched_mc = atoi(optarg);
- if (sched_mc < 0 || sched_mc > 2) {
- printf(_("--sched-mc param out "
- "of range [0-%d]\n"), 2);
- print_wrong_arg_exit();
- }
- params.sched_mc = 1;
- break;
- case 's':
- if (params.sched_smt)
- print_wrong_arg_exit();
- sched_smt = atoi(optarg);
- if (sched_smt < 0 || sched_smt > 2) {
- printf(_("--sched-smt param out "
- "of range [0-%d]\n"), 2);
- print_wrong_arg_exit();
- }
- params.sched_smt = 1;
- break;
- default:
- print_wrong_arg_exit();
- }
- };
-
- if (!params.params)
- print_wrong_arg_exit();
-
- if (params.sched_mc) {
- ret = sysfs_set_sched("mc", sched_mc);
- if (ret)
- fprintf(stderr, _("Error setting sched-mc %s\n"),
- (ret == -ENODEV) ? "not supported" : "");
- }
- if (params.sched_smt) {
- ret = sysfs_set_sched("smt", sched_smt);
- if (ret)
- fprintf(stderr, _("Error setting sched-smt %s\n"),
- (ret == -ENODEV) ? "not supported" : "");
- }
-
- /* Default is: set all CPUs */
- if (bitmask_isallclear(cpus_chosen))
- bitmask_setall(cpus_chosen);
-
- /* loop over CPUs */
- for (cpu = bitmask_first(cpus_chosen);
- cpu <= bitmask_last(cpus_chosen); cpu++) {
-
- if (!bitmask_isbitset(cpus_chosen, cpu) ||
- cpufreq_cpu_exists(cpu))
- continue;
-
- if (params.perf_bias) {
- ret = msr_intel_set_perf_bias(cpu, perf_bias);
- if (ret) {
- fprintf(stderr, _("Error setting perf-bias "
- "value on CPU %d\n"), cpu);
- break;
- }
- }
- }
- return ret;
-}
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/cpupower.c b/ANDROID_3.4.5/tools/power/cpupower/utils/cpupower.c
deleted file mode 100644
index 52bee591..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/cpupower.c
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * (C) 2010,2011 Thomas Renninger <trenn@suse.de>, Novell Inc.
- *
- * Licensed under the terms of the GNU GPL License version 2.
- *
- * Ideas taken over from the perf userspace tool (included in the Linus
- * kernel git repo): subcommand builtins and param parsing.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include "builtin.h"
-#include "helpers/helpers.h"
-#include "helpers/bitmask.h"
-
-struct cmd_struct {
- const char *cmd;
- int (*main)(int, const char **);
- int needs_root;
-};
-
-#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
-
-static int cmd_help(int argc, const char **argv);
-
-/* Global cpu_info object available for all binaries
- * Info only retrieved from CPU 0
- *
- * Values will be zero/unknown on non X86 archs
- */
-struct cpupower_cpu_info cpupower_cpu_info;
-int run_as_root;
-/* Affected cpus chosen by -c/--cpu param */
-struct bitmask *cpus_chosen;
-
-#ifdef DEBUG
-int be_verbose;
-#endif
-
-static void print_help(void);
-
-static struct cmd_struct commands[] = {
- { "frequency-info", cmd_freq_info, 0 },
- { "frequency-set", cmd_freq_set, 1 },
- { "idle-info", cmd_idle_info, 0 },
- { "set", cmd_set, 1 },
- { "info", cmd_info, 0 },
- { "monitor", cmd_monitor, 0 },
- { "help", cmd_help, 0 },
- /* { "bench", cmd_bench, 1 }, */
-};
-
-static void print_help(void)
-{
- unsigned int i;
-
-#ifdef DEBUG
- printf(_("Usage:\tcpupower [-d|--debug] [-c|--cpu cpulist ] <command> [<args>]\n"));
-#else
- printf(_("Usage:\tcpupower [-c|--cpu cpulist ] <command> [<args>]\n"));
-#endif
- printf(_("Supported commands are:\n"));
- for (i = 0; i < ARRAY_SIZE(commands); i++)
- printf("\t%s\n", commands[i].cmd);
- printf(_("\nNot all commands can make use of the -c cpulist option.\n"));
- printf(_("\nUse 'cpupower help <command>' for getting help for above commands.\n"));
-}
-
-static int print_man_page(const char *subpage)
-{
- int len;
- char *page;
-
- len = 10; /* enough for "cpupower-" */
- if (subpage != NULL)
- len += strlen(subpage);
-
- page = malloc(len);
- if (!page)
- return -ENOMEM;
-
- sprintf(page, "cpupower");
- if ((subpage != NULL) && strcmp(subpage, "help")) {
- strcat(page, "-");
- strcat(page, subpage);
- }
-
- execlp("man", "man", page, NULL);
-
- /* should not be reached */
- return -EINVAL;
-}
-
-static int cmd_help(int argc, const char **argv)
-{
- if (argc > 1) {
- print_man_page(argv[1]); /* exits within execlp() */
- return EXIT_FAILURE;
- }
-
- print_help();
- return EXIT_SUCCESS;
-}
-
-static void print_version(void)
-{
- printf(PACKAGE " " VERSION "\n");
- printf(_("Report errors and bugs to %s, please.\n"), PACKAGE_BUGREPORT);
-}
-
-static void handle_options(int *argc, const char ***argv)
-{
- int ret, x, new_argc = 0;
-
- if (*argc < 1)
- return;
-
- for (x = 0; x < *argc && ((*argv)[x])[0] == '-'; x++) {
- const char *param = (*argv)[x];
- if (!strcmp(param, "-h") || !strcmp(param, "--help")) {
- print_help();
- exit(EXIT_SUCCESS);
- } else if (!strcmp(param, "-c") || !strcmp(param, "--cpu")) {
- if (*argc < 2) {
- print_help();
- exit(EXIT_FAILURE);
- }
- if (!strcmp((*argv)[x+1], "all"))
- bitmask_setall(cpus_chosen);
- else {
- ret = bitmask_parselist(
- (*argv)[x+1], cpus_chosen);
- if (ret < 0) {
- fprintf(stderr, _("Error parsing cpu "
- "list\n"));
- exit(EXIT_FAILURE);
- }
- }
- x += 1;
- /* Cut out param: cpupower -c 1 info -> cpupower info */
- new_argc += 2;
- continue;
- } else if (!strcmp(param, "-v") ||
- !strcmp(param, "--version")) {
- print_version();
- exit(EXIT_SUCCESS);
-#ifdef DEBUG
- } else if (!strcmp(param, "-d") || !strcmp(param, "--debug")) {
- be_verbose = 1;
- new_argc++;
- continue;
-#endif
- } else {
- fprintf(stderr, "Unknown option: %s\n", param);
- print_help();
- exit(EXIT_FAILURE);
- }
- }
- *argc -= new_argc;
- *argv += new_argc;
-}
-
-int main(int argc, const char *argv[])
-{
- const char *cmd;
- unsigned int i, ret;
-
- cpus_chosen = bitmask_alloc(sysconf(_SC_NPROCESSORS_CONF));
-
- argc--;
- argv += 1;
-
- handle_options(&argc, &argv);
-
- cmd = argv[0];
-
- if (argc < 1) {
- print_help();
- return EXIT_FAILURE;
- }
-
- setlocale(LC_ALL, "");
- textdomain(PACKAGE);
-
- /* Turn "perf cmd --help" into "perf help cmd" */
- if (argc > 1 && !strcmp(argv[1], "--help")) {
- argv[1] = argv[0];
- argv[0] = cmd = "help";
- }
-
- get_cpu_info(0, &cpupower_cpu_info);
- run_as_root = !getuid();
-
- for (i = 0; i < ARRAY_SIZE(commands); i++) {
- struct cmd_struct *p = commands + i;
- if (strcmp(p->cmd, cmd))
- continue;
- if (!run_as_root && p->needs_root) {
- fprintf(stderr, _("Subcommand %s needs root "
- "privileges\n"), cmd);
- return EXIT_FAILURE;
- }
- ret = p->main(argc, argv);
- if (cpus_chosen)
- bitmask_free(cpus_chosen);
- return ret;
- }
- print_help();
- return EXIT_FAILURE;
-}
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/amd.c b/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/amd.c
deleted file mode 100644
index 6437ef39..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/amd.c
+++ /dev/null
@@ -1,135 +0,0 @@
-#if defined(__i386__) || defined(__x86_64__)
-#include <unistd.h>
-#include <errno.h>
-#include <stdio.h>
-#include <stdint.h>
-
-#include <pci/pci.h>
-
-#include "helpers/helpers.h"
-
-#define MSR_AMD_PSTATE_STATUS 0xc0010063
-#define MSR_AMD_PSTATE 0xc0010064
-#define MSR_AMD_PSTATE_LIMIT 0xc0010061
-
-union msr_pstate {
- struct {
- unsigned fid:6;
- unsigned did:3;
- unsigned vid:7;
- unsigned res1:6;
- unsigned nbdid:1;
- unsigned res2:2;
- unsigned nbvid:7;
- unsigned iddval:8;
- unsigned idddiv:2;
- unsigned res3:21;
- unsigned en:1;
- } bits;
- unsigned long long val;
-};
-
-static int get_did(int family, union msr_pstate pstate)
-{
- int t;
-
- if (family == 0x12)
- t = pstate.val & 0xf;
- else
- t = pstate.bits.did;
-
- return t;
-}
-
-static int get_cof(int family, union msr_pstate pstate)
-{
- int t;
- int fid, did;
-
- did = get_did(family, pstate);
-
- t = 0x10;
- fid = pstate.bits.fid;
- if (family == 0x11)
- t = 0x8;
-
- return (100 * (fid + t)) >> did;
-}
-
-/* Needs:
- * cpu -> the cpu that gets evaluated
- * cpu_family -> The cpu's family (0x10, 0x12,...)
- * boots_states -> how much boost states the machines support
- *
- * Fills up:
- * pstates -> a pointer to an array of size MAX_HW_PSTATES
- * must be initialized with zeros.
- * All available HW pstates (including boost states)
- * no -> amount of pstates above array got filled up with
- *
- * returns zero on success, -1 on failure
- */
-int decode_pstates(unsigned int cpu, unsigned int cpu_family,
- int boost_states, unsigned long *pstates, int *no)
-{
- int i, psmax, pscur;
- union msr_pstate pstate;
- unsigned long long val;
-
- /* Only read out frequencies from HW when CPU might be boostable
- to keep the code as short and clean as possible.
- Otherwise frequencies are exported via ACPI tables.
- */
- if (cpu_family < 0x10 || cpu_family == 0x14)
- return -1;
-
- if (read_msr(cpu, MSR_AMD_PSTATE_LIMIT, &val))
- return -1;
-
- psmax = (val >> 4) & 0x7;
-
- if (read_msr(cpu, MSR_AMD_PSTATE_STATUS, &val))
- return -1;
-
- pscur = val & 0x7;
-
- pscur += boost_states;
- psmax += boost_states;
- for (i = 0; i <= psmax; i++) {
- if (i >= MAX_HW_PSTATES) {
- fprintf(stderr, "HW pstates [%d] exceeding max [%d]\n",
- psmax, MAX_HW_PSTATES);
- return -1;
- }
- if (read_msr(cpu, MSR_AMD_PSTATE + i, &pstate.val))
- return -1;
- pstates[i] = get_cof(cpu_family, pstate);
- }
- *no = i;
- return 0;
-}
-
-int amd_pci_get_num_boost_states(int *active, int *states)
-{
- struct pci_access *pci_acc;
- struct pci_dev *device;
- uint8_t val = 0;
-
- *active = *states = 0;
-
- device = pci_slot_func_init(&pci_acc, 0x18, 4);
-
- if (device == NULL)
- return -ENODEV;
-
- val = pci_read_byte(device, 0x15c);
- if (val & 3)
- *active = 1;
- else
- *active = 0;
- *states = (val >> 2) & 7;
-
- pci_cleanup(pci_acc);
- return 0;
-}
-#endif /* defined(__i386__) || defined(__x86_64__) */
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/bitmask.c b/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/bitmask.c
deleted file mode 100644
index 5c074c60..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/bitmask.c
+++ /dev/null
@@ -1,292 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <helpers/bitmask.h>
-
-/* How many bits in an unsigned long */
-#define bitsperlong (8 * sizeof(unsigned long))
-
-/* howmany(a,b) : how many elements of size b needed to hold all of a */
-#define howmany(x, y) (((x)+((y)-1))/(y))
-
-/* How many longs in mask of n bits */
-#define longsperbits(n) howmany(n, bitsperlong)
-
-#define max(a, b) ((a) > (b) ? (a) : (b))
-
-/*
- * Allocate and free `struct bitmask *`
- */
-
-/* Allocate a new `struct bitmask` with a size of n bits */
-struct bitmask *bitmask_alloc(unsigned int n)
-{
- struct bitmask *bmp;
-
- bmp = malloc(sizeof(*bmp));
- if (bmp == 0)
- return 0;
- bmp->size = n;
- bmp->maskp = calloc(longsperbits(n), sizeof(unsigned long));
- if (bmp->maskp == 0) {
- free(bmp);
- return 0;
- }
- return bmp;
-}
-
-/* Free `struct bitmask` */
-void bitmask_free(struct bitmask *bmp)
-{
- if (bmp == 0)
- return;
- free(bmp->maskp);
- bmp->maskp = (unsigned long *)0xdeadcdef; /* double free tripwire */
- free(bmp);
-}
-
-/*
- * The routines _getbit() and _setbit() are the only
- * routines that actually understand the layout of bmp->maskp[].
- *
- * On little endian architectures, this could simply be an array of
- * bytes. But the kernel layout of bitmasks _is_ visible to userspace
- * via the sched_(set/get)affinity calls in Linux 2.6, and on big
- * endian architectures, it is painfully obvious that this is an
- * array of unsigned longs.
- */
-
-/* Return the value (0 or 1) of bit n in bitmask bmp */
-static unsigned int _getbit(const struct bitmask *bmp, unsigned int n)
-{
- if (n < bmp->size)
- return (bmp->maskp[n/bitsperlong] >> (n % bitsperlong)) & 1;
- else
- return 0;
-}
-
-/* Set bit n in bitmask bmp to value v (0 or 1) */
-static void _setbit(struct bitmask *bmp, unsigned int n, unsigned int v)
-{
- if (n < bmp->size) {
- if (v)
- bmp->maskp[n/bitsperlong] |= 1UL << (n % bitsperlong);
- else
- bmp->maskp[n/bitsperlong] &=
- ~(1UL << (n % bitsperlong));
- }
-}
-
-/*
- * When parsing bitmask lists, only allow numbers, separated by one
- * of the allowed next characters.
- *
- * The parameter 'sret' is the return from a sscanf "%u%c". It is
- * -1 if the sscanf input string was empty. It is 0 if the first
- * character in the sscanf input string was not a decimal number.
- * It is 1 if the unsigned number matching the "%u" was the end of the
- * input string. It is 2 if one or more additional characters followed
- * the matched unsigned number. If it is 2, then 'nextc' is the first
- * character following the number. The parameter 'ok_next_chars'
- * is the nul-terminated list of allowed next characters.
- *
- * The mask term just scanned was ok if and only if either the numbers
- * matching the %u were all of the input or if the next character in
- * the input past the numbers was one of the allowed next characters.
- */
-static int scan_was_ok(int sret, char nextc, const char *ok_next_chars)
-{
- return sret == 1 ||
- (sret == 2 && strchr(ok_next_chars, nextc) != NULL);
-}
-
-static const char *nexttoken(const char *q, int sep)
-{
- if (q)
- q = strchr(q, sep);
- if (q)
- q++;
- return q;
-}
-
-/* Set a single bit i in bitmask */
-struct bitmask *bitmask_setbit(struct bitmask *bmp, unsigned int i)
-{
- _setbit(bmp, i, 1);
- return bmp;
-}
-
-/* Set all bits in bitmask: bmp = ~0 */
-struct bitmask *bitmask_setall(struct bitmask *bmp)
-{
- unsigned int i;
- for (i = 0; i < bmp->size; i++)
- _setbit(bmp, i, 1);
- return bmp;
-}
-
-/* Clear all bits in bitmask: bmp = 0 */
-struct bitmask *bitmask_clearall(struct bitmask *bmp)
-{
- unsigned int i;
- for (i = 0; i < bmp->size; i++)
- _setbit(bmp, i, 0);
- return bmp;
-}
-
-/* True if all bits are clear */
-int bitmask_isallclear(const struct bitmask *bmp)
-{
- unsigned int i;
- for (i = 0; i < bmp->size; i++)
- if (_getbit(bmp, i))
- return 0;
- return 1;
-}
-
-/* True if specified bit i is set */
-int bitmask_isbitset(const struct bitmask *bmp, unsigned int i)
-{
- return _getbit(bmp, i);
-}
-
-/* Number of lowest set bit (min) */
-unsigned int bitmask_first(const struct bitmask *bmp)
-{
- return bitmask_next(bmp, 0);
-}
-
-/* Number of highest set bit (max) */
-unsigned int bitmask_last(const struct bitmask *bmp)
-{
- unsigned int i;
- unsigned int m = bmp->size;
- for (i = 0; i < bmp->size; i++)
- if (_getbit(bmp, i))
- m = i;
- return m;
-}
-
-/* Number of next set bit at or above given bit i */
-unsigned int bitmask_next(const struct bitmask *bmp, unsigned int i)
-{
- unsigned int n;
- for (n = i; n < bmp->size; n++)
- if (_getbit(bmp, n))
- break;
- return n;
-}
-
-/*
- * Parses a comma-separated list of numbers and ranges of numbers,
- * with optional ':%u' strides modifying ranges, into provided bitmask.
- * Some examples of input lists and their equivalent simple list:
- * Input Equivalent to
- * 0-3 0,1,2,3
- * 0-7:2 0,2,4,6
- * 1,3,5-7 1,3,5,6,7
- * 0-3:2,8-15:4 0,2,8,12
- */
-int bitmask_parselist(const char *buf, struct bitmask *bmp)
-{
- const char *p, *q;
-
- bitmask_clearall(bmp);
-
- q = buf;
- while (p = q, q = nexttoken(q, ','), p) {
- unsigned int a; /* begin of range */
- unsigned int b; /* end of range */
- unsigned int s; /* stride */
- const char *c1, *c2; /* next tokens after '-' or ',' */
- char nextc; /* char after sscanf %u match */
- int sret; /* sscanf return (number of matches) */
-
- sret = sscanf(p, "%u%c", &a, &nextc);
- if (!scan_was_ok(sret, nextc, ",-"))
- goto err;
- b = a;
- s = 1;
- c1 = nexttoken(p, '-');
- c2 = nexttoken(p, ',');
- if (c1 != NULL && (c2 == NULL || c1 < c2)) {
- sret = sscanf(c1, "%u%c", &b, &nextc);
- if (!scan_was_ok(sret, nextc, ",:"))
- goto err;
- c1 = nexttoken(c1, ':');
- if (c1 != NULL && (c2 == NULL || c1 < c2)) {
- sret = sscanf(c1, "%u%c", &s, &nextc);
- if (!scan_was_ok(sret, nextc, ","))
- goto err;
- }
- }
- if (!(a <= b))
- goto err;
- if (b >= bmp->size)
- goto err;
- while (a <= b) {
- _setbit(bmp, a, 1);
- a += s;
- }
- }
- return 0;
-err:
- bitmask_clearall(bmp);
- return -1;
-}
-
-/*
- * emit(buf, buflen, rbot, rtop, len)
- *
- * Helper routine for bitmask_displaylist(). Write decimal number
- * or range to buf+len, suppressing output past buf+buflen, with optional
- * comma-prefix. Return len of what would be written to buf, if it
- * all fit.
- */
-
-static inline int emit(char *buf, int buflen, int rbot, int rtop, int len)
-{
- if (len > 0)
- len += snprintf(buf + len, max(buflen - len, 0), ",");
- if (rbot == rtop)
- len += snprintf(buf + len, max(buflen - len, 0), "%d", rbot);
- else
- len += snprintf(buf + len, max(buflen - len, 0), "%d-%d",
- rbot, rtop);
- return len;
-}
-
-/*
- * Write decimal list representation of bmp to buf.
- *
- * Output format is a comma-separated list of decimal numbers and
- * ranges. Consecutively set bits are shown as two hyphen-separated
- * decimal numbers, the smallest and largest bit numbers set in
- * the range. Output format is compatible with the format
- * accepted as input by bitmap_parselist().
- *
- * The return value is the number of characters which would be
- * generated for the given input, excluding the trailing '\0', as
- * per ISO C99.
- */
-
-int bitmask_displaylist(char *buf, int buflen, const struct bitmask *bmp)
-{
- int len = 0;
- /* current bit is 'cur', most recently seen range is [rbot, rtop] */
- unsigned int cur, rbot, rtop;
-
- if (buflen > 0)
- *buf = 0;
- rbot = cur = bitmask_first(bmp);
- while (cur < bmp->size) {
- rtop = cur;
- cur = bitmask_next(bmp, cur+1);
- if (cur >= bmp->size || cur > rtop + 1) {
- len = emit(buf, buflen, rbot, rtop, len);
- rbot = cur;
- }
- }
- return len;
-}
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/bitmask.h b/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/bitmask.h
deleted file mode 100644
index eb289df4..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/bitmask.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef __CPUPOWER_BITMASK__
-#define __CPUPOWER_BITMASK__
-
-/* Taken over from libbitmask, a project initiated from sgi:
- * Url: http://oss.sgi.com/projects/cpusets/
- * Unfortunately it's not very widespread, therefore relevant parts are
- * pasted here.
- */
-
-struct bitmask {
- unsigned int size;
- unsigned long *maskp;
-};
-
-struct bitmask *bitmask_alloc(unsigned int n);
-void bitmask_free(struct bitmask *bmp);
-
-struct bitmask *bitmask_setbit(struct bitmask *bmp, unsigned int i);
-struct bitmask *bitmask_setall(struct bitmask *bmp);
-struct bitmask *bitmask_clearall(struct bitmask *bmp);
-
-unsigned int bitmask_first(const struct bitmask *bmp);
-unsigned int bitmask_next(const struct bitmask *bmp, unsigned int i);
-unsigned int bitmask_last(const struct bitmask *bmp);
-int bitmask_isallclear(const struct bitmask *bmp);
-int bitmask_isbitset(const struct bitmask *bmp, unsigned int i);
-
-int bitmask_parselist(const char *buf, struct bitmask *bmp);
-int bitmask_displaylist(char *buf, int len, const struct bitmask *bmp);
-
-
-
-#endif /*__CPUPOWER_BITMASK__ */
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/cpuid.c b/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/cpuid.c
deleted file mode 100644
index 906895d2..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/cpuid.c
+++ /dev/null
@@ -1,176 +0,0 @@
-#include <stdio.h>
-#include <errno.h>
-#include <string.h>
-#include <unistd.h>
-#include <stdlib.h>
-
-#include "helpers/helpers.h"
-
-static const char *cpu_vendor_table[X86_VENDOR_MAX] = {
- "Unknown", "GenuineIntel", "AuthenticAMD",
-};
-
-#if defined(__i386__) || defined(__x86_64__)
-
-/* from gcc */
-#include <cpuid.h>
-
-/*
- * CPUID functions returning a single datum
- *
- * Define unsigned int cpuid_e[abcd]x(unsigned int op)
- */
-#define cpuid_func(reg) \
- unsigned int cpuid_##reg(unsigned int op) \
- { \
- unsigned int eax, ebx, ecx, edx; \
- __cpuid(op, eax, ebx, ecx, edx); \
- return reg; \
- }
-cpuid_func(eax);
-cpuid_func(ebx);
-cpuid_func(ecx);
-cpuid_func(edx);
-
-#endif /* defined(__i386__) || defined(__x86_64__) */
-
-/* get_cpu_info
- *
- * Extract CPU vendor, family, model, stepping info from /proc/cpuinfo
- *
- * Returns 0 on success or a negativ error code
- *
- * TBD: Should there be a cpuid alternative for this if /proc is not mounted?
- */
-int get_cpu_info(unsigned int cpu, struct cpupower_cpu_info *cpu_info)
-{
- FILE *fp;
- char value[64];
- unsigned int proc, x;
- unsigned int unknown = 0xffffff;
- unsigned int cpuid_level, ext_cpuid_level;
-
- int ret = -EINVAL;
-
- cpu_info->vendor = X86_VENDOR_UNKNOWN;
- cpu_info->family = unknown;
- cpu_info->model = unknown;
- cpu_info->stepping = unknown;
- cpu_info->caps = 0;
-
- fp = fopen("/proc/cpuinfo", "r");
- if (!fp)
- return -EIO;
-
- while (!feof(fp)) {
- if (!fgets(value, 64, fp))
- continue;
- value[63 - 1] = '\0';
-
- if (!strncmp(value, "processor\t: ", 12))
- sscanf(value, "processor\t: %u", &proc);
-
- if (proc != cpu)
- continue;
-
- /* Get CPU vendor */
- if (!strncmp(value, "vendor_id", 9)) {
- for (x = 1; x < X86_VENDOR_MAX; x++) {
- if (strstr(value, cpu_vendor_table[x]))
- cpu_info->vendor = x;
- }
- /* Get CPU family, etc. */
- } else if (!strncmp(value, "cpu family\t: ", 13)) {
- sscanf(value, "cpu family\t: %u",
- &cpu_info->family);
- } else if (!strncmp(value, "model\t\t: ", 9)) {
- sscanf(value, "model\t\t: %u",
- &cpu_info->model);
- } else if (!strncmp(value, "stepping\t: ", 10)) {
- sscanf(value, "stepping\t: %u",
- &cpu_info->stepping);
-
- /* Exit -> all values must have been set */
- if (cpu_info->vendor == X86_VENDOR_UNKNOWN ||
- cpu_info->family == unknown ||
- cpu_info->model == unknown ||
- cpu_info->stepping == unknown) {
- ret = -EINVAL;
- goto out;
- }
-
- ret = 0;
- goto out;
- }
- }
- ret = -ENODEV;
-out:
- fclose(fp);
- /* Get some useful CPU capabilities from cpuid */
- if (cpu_info->vendor != X86_VENDOR_AMD &&
- cpu_info->vendor != X86_VENDOR_INTEL)
- return ret;
-
- cpuid_level = cpuid_eax(0);
- ext_cpuid_level = cpuid_eax(0x80000000);
-
- /* Invariant TSC */
- if (ext_cpuid_level >= 0x80000007 &&
- (cpuid_edx(0x80000007) & (1 << 8)))
- cpu_info->caps |= CPUPOWER_CAP_INV_TSC;
-
- /* Aperf/Mperf registers support */
- if (cpuid_level >= 6 && (cpuid_ecx(6) & 0x1))
- cpu_info->caps |= CPUPOWER_CAP_APERF;
-
- /* AMD Boost state enable/disable register */
- if (cpu_info->vendor == X86_VENDOR_AMD) {
- if (ext_cpuid_level >= 0x80000007 &&
- (cpuid_edx(0x80000007) & (1 << 9)))
- cpu_info->caps |= CPUPOWER_CAP_AMD_CBP;
- }
-
- if (cpu_info->vendor == X86_VENDOR_INTEL) {
- if (cpuid_level >= 6 &&
- (cpuid_eax(6) & (1 << 1)))
- cpu_info->caps |= CPUPOWER_CAP_INTEL_IDA;
- }
-
- if (cpu_info->vendor == X86_VENDOR_INTEL) {
- /* Intel's perf-bias MSR support */
- if (cpuid_level >= 6 && (cpuid_ecx(6) & (1 << 3)))
- cpu_info->caps |= CPUPOWER_CAP_PERF_BIAS;
-
- /* Intel's Turbo Ratio Limit support */
- if (cpu_info->family == 6) {
- switch (cpu_info->model) {
- case 0x1A: /* Core i7, Xeon 5500 series
- * Bloomfield, Gainstown NHM-EP
- */
- case 0x1E: /* Core i7 and i5 Processor
- * Clarksfield, Lynnfield, Jasper Forest
- */
- case 0x1F: /* Core i7 and i5 Processor - Nehalem */
- case 0x25: /* Westmere Client
- * Clarkdale, Arrandale
- */
- case 0x2C: /* Westmere EP - Gulftown */
- cpu_info->caps |= CPUPOWER_CAP_HAS_TURBO_RATIO;
- case 0x2A: /* SNB */
- case 0x2D: /* SNB Xeon */
- cpu_info->caps |= CPUPOWER_CAP_HAS_TURBO_RATIO;
- cpu_info->caps |= CPUPOWER_CAP_IS_SNB;
- break;
- case 0x2E: /* Nehalem-EX Xeon - Beckton */
- case 0x2F: /* Westmere-EX Xeon - Eagleton */
- default:
- break;
- }
- }
- }
-
- /* printf("ID: %u - Extid: 0x%x - Caps: 0x%llx\n",
- cpuid_level, ext_cpuid_level, cpu_info->caps);
- */
- return ret;
-}
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/helpers.h b/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/helpers.h
deleted file mode 100644
index 2eb584cf..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/helpers.h
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * (C) 2010,2011 Thomas Renninger <trenn@suse.de>, Novell Inc.
- *
- * Licensed under the terms of the GNU GPL License version 2.
- *
- * Miscellaneous helpers which do not fit or are worth
- * to put into separate headers
- */
-
-#ifndef __CPUPOWERUTILS_HELPERS__
-#define __CPUPOWERUTILS_HELPERS__
-
-#include <libintl.h>
-#include <locale.h>
-
-#include "helpers/bitmask.h"
-
-/* Internationalization ****************************/
-#ifdef NLS
-
-#define _(String) gettext(String)
-#ifndef gettext_noop
-#define gettext_noop(String) String
-#endif
-#define N_(String) gettext_noop(String)
-
-#else /* !NLS */
-
-#define _(String) String
-#define N_(String) String
-
-#endif
-/* Internationalization ****************************/
-
-extern int run_as_root;
-extern struct bitmask *cpus_chosen;
-
-/* Global verbose (-d) stuff *********************************/
-/*
- * define DEBUG via global Makefile variable
- * Debug output is sent to stderr, do:
- * cpupower monitor 2>/tmp/debug
- * to split debug output away from normal output
-*/
-#ifdef DEBUG
-extern int be_verbose;
-
-#define dprint(fmt, ...) { \
- if (be_verbose) { \
- fprintf(stderr, "%s: " fmt, \
- __func__, ##__VA_ARGS__); \
- } \
- }
-#else
-static inline void dprint(const char *fmt, ...) { }
-#endif
-extern int be_verbose;
-/* Global verbose (-v) stuff *********************************/
-
-/* cpuid and cpuinfo helpers **************************/
-enum cpupower_cpu_vendor {X86_VENDOR_UNKNOWN = 0, X86_VENDOR_INTEL,
- X86_VENDOR_AMD, X86_VENDOR_MAX};
-
-#define CPUPOWER_CAP_INV_TSC 0x00000001
-#define CPUPOWER_CAP_APERF 0x00000002
-#define CPUPOWER_CAP_AMD_CBP 0x00000004
-#define CPUPOWER_CAP_PERF_BIAS 0x00000008
-#define CPUPOWER_CAP_HAS_TURBO_RATIO 0x00000010
-#define CPUPOWER_CAP_IS_SNB 0x00000020
-#define CPUPOWER_CAP_INTEL_IDA 0x00000040
-
-#define MAX_HW_PSTATES 10
-
-struct cpupower_cpu_info {
- enum cpupower_cpu_vendor vendor;
- unsigned int family;
- unsigned int model;
- unsigned int stepping;
- /* CPU capabilities read out from cpuid */
- unsigned long long caps;
-};
-
-/* get_cpu_info
- *
- * Extract CPU vendor, family, model, stepping info from /proc/cpuinfo
- *
- * Returns 0 on success or a negativ error code
- * Only used on x86, below global's struct values are zero/unknown on
- * other archs
- */
-extern int get_cpu_info(unsigned int cpu, struct cpupower_cpu_info *cpu_info);
-extern struct cpupower_cpu_info cpupower_cpu_info;
-/* cpuid and cpuinfo helpers **************************/
-
-
-/* CPU topology/hierarchy parsing ******************/
-struct cpupower_topology {
- /* Amount of CPU cores, packages and threads per core in the system */
- unsigned int cores;
- unsigned int pkgs;
- unsigned int threads; /* per core */
-
- /* Array gets mallocated with cores entries, holding per core info */
- struct {
- int pkg;
- int core;
- int cpu;
-
- /* flags */
- unsigned int is_online:1;
- } *core_info;
-};
-
-extern int get_cpu_topology(struct cpupower_topology *cpu_top);
-extern void cpu_topology_release(struct cpupower_topology cpu_top);
-/* CPU topology/hierarchy parsing ******************/
-
-/* X86 ONLY ****************************************/
-#if defined(__i386__) || defined(__x86_64__)
-
-#include <pci/pci.h>
-
-/* Read/Write msr ****************************/
-extern int read_msr(int cpu, unsigned int idx, unsigned long long *val);
-extern int write_msr(int cpu, unsigned int idx, unsigned long long val);
-
-extern int msr_intel_set_perf_bias(unsigned int cpu, unsigned int val);
-extern int msr_intel_get_perf_bias(unsigned int cpu);
-extern unsigned long long msr_intel_get_turbo_ratio(unsigned int cpu);
-
-/* Read/Write msr ****************************/
-
-/* PCI stuff ****************************/
-extern int amd_pci_get_num_boost_states(int *active, int *states);
-extern struct pci_dev *pci_acc_init(struct pci_access **pacc, int domain,
- int bus, int slot, int func, int vendor,
- int dev);
-extern struct pci_dev *pci_slot_func_init(struct pci_access **pacc,
- int slot, int func);
-
-/* PCI stuff ****************************/
-
-/* AMD HW pstate decoding **************************/
-
-extern int decode_pstates(unsigned int cpu, unsigned int cpu_family,
- int boost_states, unsigned long *pstates, int *no);
-
-/* AMD HW pstate decoding **************************/
-
-extern int cpufreq_has_boost_support(unsigned int cpu, int *support,
- int *active, int * states);
-/*
- * CPUID functions returning a single datum
- */
-unsigned int cpuid_eax(unsigned int op);
-unsigned int cpuid_ebx(unsigned int op);
-unsigned int cpuid_ecx(unsigned int op);
-unsigned int cpuid_edx(unsigned int op);
-
-/* cpuid and cpuinfo helpers **************************/
-/* X86 ONLY ********************************************/
-#else
-static inline int decode_pstates(unsigned int cpu, unsigned int cpu_family,
- int boost_states, unsigned long *pstates,
- int *no)
-{ return -1; };
-
-static inline int read_msr(int cpu, unsigned int idx, unsigned long long *val)
-{ return -1; };
-static inline int write_msr(int cpu, unsigned int idx, unsigned long long val)
-{ return -1; };
-static inline int msr_intel_set_perf_bias(unsigned int cpu, unsigned int val)
-{ return -1; };
-static inline int msr_intel_get_perf_bias(unsigned int cpu)
-{ return -1; };
-static inline unsigned long long msr_intel_get_turbo_ratio(unsigned int cpu)
-{ return 0; };
-
-/* Read/Write msr ****************************/
-
-static inline int cpufreq_has_boost_support(unsigned int cpu, int *support,
- int *active, int * states)
-{ return -1; }
-
-/* cpuid and cpuinfo helpers **************************/
-
-static inline unsigned int cpuid_eax(unsigned int op) { return 0; };
-static inline unsigned int cpuid_ebx(unsigned int op) { return 0; };
-static inline unsigned int cpuid_ecx(unsigned int op) { return 0; };
-static inline unsigned int cpuid_edx(unsigned int op) { return 0; };
-#endif /* defined(__i386__) || defined(__x86_64__) */
-
-#endif /* __CPUPOWERUTILS_HELPERS__ */
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/misc.c b/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/misc.c
deleted file mode 100644
index 1609243f..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/misc.c
+++ /dev/null
@@ -1,27 +0,0 @@
-#if defined(__i386__) || defined(__x86_64__)
-
-#include "helpers/helpers.h"
-
-int cpufreq_has_boost_support(unsigned int cpu, int *support, int *active,
- int *states)
-{
- struct cpupower_cpu_info cpu_info;
- int ret;
-
- *support = *active = *states = 0;
-
- ret = get_cpu_info(0, &cpu_info);
- if (ret)
- return ret;
-
- if (cpupower_cpu_info.caps & CPUPOWER_CAP_AMD_CBP) {
- *support = 1;
- amd_pci_get_num_boost_states(active, states);
- if (ret <= 0)
- return ret;
- *support = 1;
- } else if (cpupower_cpu_info.caps & CPUPOWER_CAP_INTEL_IDA)
- *support = *active = 1;
- return 0;
-}
-#endif /* #if defined(__i386__) || defined(__x86_64__) */
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/msr.c b/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/msr.c
deleted file mode 100644
index 31a4b24a..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/msr.c
+++ /dev/null
@@ -1,115 +0,0 @@
-#if defined(__i386__) || defined(__x86_64__)
-
-#include <fcntl.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <stdint.h>
-
-#include "helpers/helpers.h"
-
-/* Intel specific MSRs */
-#define MSR_IA32_PERF_STATUS 0x198
-#define MSR_IA32_MISC_ENABLES 0x1a0
-#define MSR_IA32_ENERGY_PERF_BIAS 0x1b0
-#define MSR_NEHALEM_TURBO_RATIO_LIMIT 0x1ad
-
-/*
- * read_msr
- *
- * Will return 0 on success and -1 on failure.
- * Possible errno values could be:
- * EFAULT -If the read/write did not fully complete
- * EIO -If the CPU does not support MSRs
- * ENXIO -If the CPU does not exist
- */
-
-int read_msr(int cpu, unsigned int idx, unsigned long long *val)
-{
- int fd;
- char msr_file_name[64];
-
- sprintf(msr_file_name, "/dev/cpu/%d/msr", cpu);
- fd = open(msr_file_name, O_RDONLY);
- if (fd < 0)
- return -1;
- if (lseek(fd, idx, SEEK_CUR) == -1)
- goto err;
- if (read(fd, val, sizeof *val) != sizeof *val)
- goto err;
- close(fd);
- return 0;
- err:
- close(fd);
- return -1;
-}
-
-/*
- * write_msr
- *
- * Will return 0 on success and -1 on failure.
- * Possible errno values could be:
- * EFAULT -If the read/write did not fully complete
- * EIO -If the CPU does not support MSRs
- * ENXIO -If the CPU does not exist
- */
-int write_msr(int cpu, unsigned int idx, unsigned long long val)
-{
- int fd;
- char msr_file_name[64];
-
- sprintf(msr_file_name, "/dev/cpu/%d/msr", cpu);
- fd = open(msr_file_name, O_WRONLY);
- if (fd < 0)
- return -1;
- if (lseek(fd, idx, SEEK_CUR) == -1)
- goto err;
- if (write(fd, &val, sizeof val) != sizeof val)
- goto err;
- close(fd);
- return 0;
- err:
- close(fd);
- return -1;
-}
-
-int msr_intel_get_perf_bias(unsigned int cpu)
-{
- unsigned long long val;
- int ret;
-
- if (!(cpupower_cpu_info.caps & CPUPOWER_CAP_PERF_BIAS))
- return -1;
-
- ret = read_msr(cpu, MSR_IA32_ENERGY_PERF_BIAS, &val);
- if (ret)
- return ret;
- return val;
-}
-
-int msr_intel_set_perf_bias(unsigned int cpu, unsigned int val)
-{
- int ret;
-
- if (!(cpupower_cpu_info.caps & CPUPOWER_CAP_PERF_BIAS))
- return -1;
-
- ret = write_msr(cpu, MSR_IA32_ENERGY_PERF_BIAS, val);
- if (ret)
- return ret;
- return 0;
-}
-
-unsigned long long msr_intel_get_turbo_ratio(unsigned int cpu)
-{
- unsigned long long val;
- int ret;
-
- if (!(cpupower_cpu_info.caps & CPUPOWER_CAP_HAS_TURBO_RATIO))
- return -1;
-
- ret = read_msr(cpu, MSR_NEHALEM_TURBO_RATIO_LIMIT, &val);
- if (ret)
- return ret;
- return val;
-}
-#endif
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/pci.c b/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/pci.c
deleted file mode 100644
index 9690798e..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/pci.c
+++ /dev/null
@@ -1,55 +0,0 @@
-#if defined(__i386__) || defined(__x86_64__)
-
-#include <helpers/helpers.h>
-
-/*
- * pci_acc_init
- *
- * PCI access helper function depending on libpci
- *
- * **pacc : if a valid pci_dev is returned
- * *pacc must be passed to pci_acc_cleanup to free it
- *
- * domain: domain
- * bus: bus
- * slot: slot
- * func: func
- * vendor: vendor
- * device: device
- * Pass -1 for one of the six above to match any
- *
- * Returns :
- * struct pci_dev which can be used with pci_{read,write}_* functions
- * to access the PCI config space of matching pci devices
- */
-struct pci_dev *pci_acc_init(struct pci_access **pacc, int domain, int bus,
- int slot, int func, int vendor, int dev)
-{
- struct pci_filter filter_nb_link = { domain, bus, slot, func,
- vendor, dev };
- struct pci_dev *device;
-
- *pacc = pci_alloc();
- if (*pacc == NULL)
- return NULL;
-
- pci_init(*pacc);
- pci_scan_bus(*pacc);
-
- for (device = (*pacc)->devices; device; device = device->next) {
- if (pci_filter_match(&filter_nb_link, device))
- return device;
- }
- pci_cleanup(*pacc);
- return NULL;
-}
-
-/* Typically one wants to get a specific slot(device)/func of the root domain
- and bus */
-struct pci_dev *pci_slot_func_init(struct pci_access **pacc, int slot,
- int func)
-{
- return pci_acc_init(pacc, 0, 0, slot, func, -1, -1);
-}
-
-#endif /* defined(__i386__) || defined(__x86_64__) */
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/sysfs.c b/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/sysfs.c
deleted file mode 100644
index c6343024..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/sysfs.c
+++ /dev/null
@@ -1,408 +0,0 @@
-/*
- * (C) 2004-2009 Dominik Brodowski <linux@dominikbrodowski.de>
- * (C) 2011 Thomas Renninger <trenn@novell.com> Novell Inc.
- *
- * Licensed under the terms of the GNU GPL License version 2.
- */
-
-#include <stdio.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-#include "helpers/sysfs.h"
-
-unsigned int sysfs_read_file(const char *path, char *buf, size_t buflen)
-{
- int fd;
- ssize_t numread;
-
- fd = open(path, O_RDONLY);
- if (fd == -1)
- return 0;
-
- numread = read(fd, buf, buflen - 1);
- if (numread < 1) {
- close(fd);
- return 0;
- }
-
- buf[numread] = '\0';
- close(fd);
-
- return (unsigned int) numread;
-}
-
-static unsigned int sysfs_write_file(const char *path,
- const char *value, size_t len)
-{
- int fd;
- ssize_t numwrite;
-
- fd = open(path, O_WRONLY);
- if (fd == -1)
- return 0;
-
- numwrite = write(fd, value, len);
- if (numwrite < 1) {
- close(fd);
- return 0;
- }
- close(fd);
- return (unsigned int) numwrite;
-}
-
-/*
- * Detect whether a CPU is online
- *
- * Returns:
- * 1 -> if CPU is online
- * 0 -> if CPU is offline
- * negative errno values in error case
- */
-int sysfs_is_cpu_online(unsigned int cpu)
-{
- char path[SYSFS_PATH_MAX];
- int fd;
- ssize_t numread;
- unsigned long long value;
- char linebuf[MAX_LINE_LEN];
- char *endp;
- struct stat statbuf;
-
- snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u", cpu);
-
- if (stat(path, &statbuf) != 0)
- return 0;
-
- /*
- * kernel without CONFIG_HOTPLUG_CPU
- * -> cpuX directory exists, but not cpuX/online file
- */
- snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/online", cpu);
- if (stat(path, &statbuf) != 0)
- return 1;
-
- fd = open(path, O_RDONLY);
- if (fd == -1)
- return -errno;
-
- numread = read(fd, linebuf, MAX_LINE_LEN - 1);
- if (numread < 1) {
- close(fd);
- return -EIO;
- }
- linebuf[numread] = '\0';
- close(fd);
-
- value = strtoull(linebuf, &endp, 0);
- if (value > 1 || value < 0)
- return -EINVAL;
-
- return value;
-}
-
-/* CPUidle idlestate specific /sys/devices/system/cpu/cpuX/cpuidle/ access */
-
-/*
- * helper function to read file from /sys into given buffer
- * fname is a relative path under "cpuX/cpuidle/stateX/" dir
- * cstates starting with 0, C0 is not counted as cstate.
- * This means if you want C1 info, pass 0 as idlestate param
- */
-unsigned int sysfs_idlestate_read_file(unsigned int cpu, unsigned int idlestate,
- const char *fname, char *buf, size_t buflen)
-{
- char path[SYSFS_PATH_MAX];
- int fd;
- ssize_t numread;
-
- snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/cpuidle/state%u/%s",
- cpu, idlestate, fname);
-
- fd = open(path, O_RDONLY);
- if (fd == -1)
- return 0;
-
- numread = read(fd, buf, buflen - 1);
- if (numread < 1) {
- close(fd);
- return 0;
- }
-
- buf[numread] = '\0';
- close(fd);
-
- return (unsigned int) numread;
-}
-
-/* read access to files which contain one numeric value */
-
-enum idlestate_value {
- IDLESTATE_USAGE,
- IDLESTATE_POWER,
- IDLESTATE_LATENCY,
- IDLESTATE_TIME,
- MAX_IDLESTATE_VALUE_FILES
-};
-
-static const char *idlestate_value_files[MAX_IDLESTATE_VALUE_FILES] = {
- [IDLESTATE_USAGE] = "usage",
- [IDLESTATE_POWER] = "power",
- [IDLESTATE_LATENCY] = "latency",
- [IDLESTATE_TIME] = "time",
-};
-
-static unsigned long long sysfs_idlestate_get_one_value(unsigned int cpu,
- unsigned int idlestate,
- enum idlestate_value which)
-{
- unsigned long long value;
- unsigned int len;
- char linebuf[MAX_LINE_LEN];
- char *endp;
-
- if (which >= MAX_IDLESTATE_VALUE_FILES)
- return 0;
-
- len = sysfs_idlestate_read_file(cpu, idlestate,
- idlestate_value_files[which],
- linebuf, sizeof(linebuf));
- if (len == 0)
- return 0;
-
- value = strtoull(linebuf, &endp, 0);
-
- if (endp == linebuf || errno == ERANGE)
- return 0;
-
- return value;
-}
-
-/* read access to files which contain one string */
-
-enum idlestate_string {
- IDLESTATE_DESC,
- IDLESTATE_NAME,
- MAX_IDLESTATE_STRING_FILES
-};
-
-static const char *idlestate_string_files[MAX_IDLESTATE_STRING_FILES] = {
- [IDLESTATE_DESC] = "desc",
- [IDLESTATE_NAME] = "name",
-};
-
-
-static char *sysfs_idlestate_get_one_string(unsigned int cpu,
- unsigned int idlestate,
- enum idlestate_string which)
-{
- char linebuf[MAX_LINE_LEN];
- char *result;
- unsigned int len;
-
- if (which >= MAX_IDLESTATE_STRING_FILES)
- return NULL;
-
- len = sysfs_idlestate_read_file(cpu, idlestate,
- idlestate_string_files[which],
- linebuf, sizeof(linebuf));
- if (len == 0)
- return NULL;
-
- result = strdup(linebuf);
- if (result == NULL)
- return NULL;
-
- if (result[strlen(result) - 1] == '\n')
- result[strlen(result) - 1] = '\0';
-
- return result;
-}
-
-unsigned long sysfs_get_idlestate_latency(unsigned int cpu,
- unsigned int idlestate)
-{
- return sysfs_idlestate_get_one_value(cpu, idlestate, IDLESTATE_LATENCY);
-}
-
-unsigned long sysfs_get_idlestate_usage(unsigned int cpu,
- unsigned int idlestate)
-{
- return sysfs_idlestate_get_one_value(cpu, idlestate, IDLESTATE_USAGE);
-}
-
-unsigned long long sysfs_get_idlestate_time(unsigned int cpu,
- unsigned int idlestate)
-{
- return sysfs_idlestate_get_one_value(cpu, idlestate, IDLESTATE_TIME);
-}
-
-char *sysfs_get_idlestate_name(unsigned int cpu, unsigned int idlestate)
-{
- return sysfs_idlestate_get_one_string(cpu, idlestate, IDLESTATE_NAME);
-}
-
-char *sysfs_get_idlestate_desc(unsigned int cpu, unsigned int idlestate)
-{
- return sysfs_idlestate_get_one_string(cpu, idlestate, IDLESTATE_DESC);
-}
-
-/*
- * Returns number of supported C-states of CPU core cpu
- * Negativ in error case
- * Zero if cpuidle does not export any C-states
- */
-int sysfs_get_idlestate_count(unsigned int cpu)
-{
- char file[SYSFS_PATH_MAX];
- struct stat statbuf;
- int idlestates = 1;
-
-
- snprintf(file, SYSFS_PATH_MAX, PATH_TO_CPU "cpuidle");
- if (stat(file, &statbuf) != 0 || !S_ISDIR(statbuf.st_mode))
- return -ENODEV;
-
- snprintf(file, SYSFS_PATH_MAX, PATH_TO_CPU "cpu%u/cpuidle/state0", cpu);
- if (stat(file, &statbuf) != 0 || !S_ISDIR(statbuf.st_mode))
- return 0;
-
- while (stat(file, &statbuf) == 0 && S_ISDIR(statbuf.st_mode)) {
- snprintf(file, SYSFS_PATH_MAX, PATH_TO_CPU
- "cpu%u/cpuidle/state%d", cpu, idlestates);
- idlestates++;
- }
- idlestates--;
- return idlestates;
-}
-
-/* CPUidle general /sys/devices/system/cpu/cpuidle/ sysfs access ********/
-
-/*
- * helper function to read file from /sys into given buffer
- * fname is a relative path under "cpu/cpuidle/" dir
- */
-static unsigned int sysfs_cpuidle_read_file(const char *fname, char *buf,
- size_t buflen)
-{
- char path[SYSFS_PATH_MAX];
-
- snprintf(path, sizeof(path), PATH_TO_CPU "cpuidle/%s", fname);
-
- return sysfs_read_file(path, buf, buflen);
-}
-
-
-
-/* read access to files which contain one string */
-
-enum cpuidle_string {
- CPUIDLE_GOVERNOR,
- CPUIDLE_GOVERNOR_RO,
- CPUIDLE_DRIVER,
- MAX_CPUIDLE_STRING_FILES
-};
-
-static const char *cpuidle_string_files[MAX_CPUIDLE_STRING_FILES] = {
- [CPUIDLE_GOVERNOR] = "current_governor",
- [CPUIDLE_GOVERNOR_RO] = "current_governor_ro",
- [CPUIDLE_DRIVER] = "current_driver",
-};
-
-
-static char *sysfs_cpuidle_get_one_string(enum cpuidle_string which)
-{
- char linebuf[MAX_LINE_LEN];
- char *result;
- unsigned int len;
-
- if (which >= MAX_CPUIDLE_STRING_FILES)
- return NULL;
-
- len = sysfs_cpuidle_read_file(cpuidle_string_files[which],
- linebuf, sizeof(linebuf));
- if (len == 0)
- return NULL;
-
- result = strdup(linebuf);
- if (result == NULL)
- return NULL;
-
- if (result[strlen(result) - 1] == '\n')
- result[strlen(result) - 1] = '\0';
-
- return result;
-}
-
-char *sysfs_get_cpuidle_governor(void)
-{
- char *tmp = sysfs_cpuidle_get_one_string(CPUIDLE_GOVERNOR_RO);
- if (!tmp)
- return sysfs_cpuidle_get_one_string(CPUIDLE_GOVERNOR);
- else
- return tmp;
-}
-
-char *sysfs_get_cpuidle_driver(void)
-{
- return sysfs_cpuidle_get_one_string(CPUIDLE_DRIVER);
-}
-/* CPUidle idlestate specific /sys/devices/system/cpu/cpuX/cpuidle/ access */
-
-/*
- * Get sched_mc or sched_smt settings
- * Pass "mc" or "smt" as argument
- *
- * Returns negative value on failure
- */
-int sysfs_get_sched(const char *smt_mc)
-{
- unsigned long value;
- char linebuf[MAX_LINE_LEN];
- char *endp;
- char path[SYSFS_PATH_MAX];
-
- if (strcmp("mc", smt_mc) && strcmp("smt", smt_mc))
- return -EINVAL;
-
- snprintf(path, sizeof(path),
- PATH_TO_CPU "sched_%s_power_savings", smt_mc);
- if (sysfs_read_file(path, linebuf, MAX_LINE_LEN) == 0)
- return -1;
- value = strtoul(linebuf, &endp, 0);
- if (endp == linebuf || errno == ERANGE)
- return -1;
- return value;
-}
-
-/*
- * Get sched_mc or sched_smt settings
- * Pass "mc" or "smt" as argument
- *
- * Returns negative value on failure
- */
-int sysfs_set_sched(const char *smt_mc, int val)
-{
- char linebuf[MAX_LINE_LEN];
- char path[SYSFS_PATH_MAX];
- struct stat statbuf;
-
- if (strcmp("mc", smt_mc) && strcmp("smt", smt_mc))
- return -EINVAL;
-
- snprintf(path, sizeof(path),
- PATH_TO_CPU "sched_%s_power_savings", smt_mc);
- sprintf(linebuf, "%d", val);
-
- if (stat(path, &statbuf) != 0)
- return -ENODEV;
-
- if (sysfs_write_file(path, linebuf, MAX_LINE_LEN) == 0)
- return -1;
- return 0;
-}
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/sysfs.h b/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/sysfs.h
deleted file mode 100644
index 8cb797bb..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/sysfs.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef __CPUPOWER_HELPERS_SYSFS_H__
-#define __CPUPOWER_HELPERS_SYSFS_H__
-
-#define PATH_TO_CPU "/sys/devices/system/cpu/"
-#define MAX_LINE_LEN 255
-#define SYSFS_PATH_MAX 255
-
-extern unsigned int sysfs_read_file(const char *path, char *buf, size_t buflen);
-
-extern int sysfs_is_cpu_online(unsigned int cpu);
-
-extern unsigned long sysfs_get_idlestate_latency(unsigned int cpu,
- unsigned int idlestate);
-extern unsigned long sysfs_get_idlestate_usage(unsigned int cpu,
- unsigned int idlestate);
-extern unsigned long long sysfs_get_idlestate_time(unsigned int cpu,
- unsigned int idlestate);
-extern char *sysfs_get_idlestate_name(unsigned int cpu,
- unsigned int idlestate);
-extern char *sysfs_get_idlestate_desc(unsigned int cpu,
- unsigned int idlestate);
-extern int sysfs_get_idlestate_count(unsigned int cpu);
-
-extern char *sysfs_get_cpuidle_governor(void);
-extern char *sysfs_get_cpuidle_driver(void);
-
-extern int sysfs_get_sched(const char *smt_mc);
-extern int sysfs_set_sched(const char *smt_mc, int val);
-
-#endif /* __CPUPOWER_HELPERS_SYSFS_H__ */
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/topology.c b/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/topology.c
deleted file mode 100644
index 4eae2c47..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/helpers/topology.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * (C) 2010,2011 Thomas Renninger <trenn@suse.de>, Novell Inc.
- *
- * Licensed under the terms of the GNU GPL License version 2.
- *
- * ToDo: Needs to be done more properly for AMD/Intel specifics
- */
-
-/* Helper struct for qsort, must be in sync with cpupower_topology.cpu_info */
-/* Be careful: Need to pass unsigned to the sort, so that offlined cores are
- in the end, but double check for -1 for offlined cpus at other places */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <errno.h>
-#include <fcntl.h>
-
-#include <helpers/helpers.h>
-#include <helpers/sysfs.h>
-
-/* returns -1 on failure, 0 on success */
-int sysfs_topology_read_file(unsigned int cpu, const char *fname)
-{
- unsigned long value;
- char linebuf[MAX_LINE_LEN];
- char *endp;
- char path[SYSFS_PATH_MAX];
-
- snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u/topology/%s",
- cpu, fname);
- if (sysfs_read_file(path, linebuf, MAX_LINE_LEN) == 0)
- return -1;
- value = strtoul(linebuf, &endp, 0);
- if (endp == linebuf || errno == ERANGE)
- return -1;
- return value;
-}
-
-struct cpuid_core_info {
- unsigned int pkg;
- unsigned int thread;
- unsigned int cpu;
- /* flags */
- unsigned int is_online:1;
-};
-
-static int __compare(const void *t1, const void *t2)
-{
- struct cpuid_core_info *top1 = (struct cpuid_core_info *)t1;
- struct cpuid_core_info *top2 = (struct cpuid_core_info *)t2;
- if (top1->pkg < top2->pkg)
- return -1;
- else if (top1->pkg > top2->pkg)
- return 1;
- else if (top1->thread < top2->thread)
- return -1;
- else if (top1->thread > top2->thread)
- return 1;
- else if (top1->cpu < top2->cpu)
- return -1;
- else if (top1->cpu > top2->cpu)
- return 1;
- else
- return 0;
-}
-
-/*
- * Returns amount of cpus, negative on error, cpu_top must be
- * passed to cpu_topology_release to free resources
- *
- * Array is sorted after ->pkg, ->core, then ->cpu
- */
-int get_cpu_topology(struct cpupower_topology *cpu_top)
-{
- int cpu, cpus = sysconf(_SC_NPROCESSORS_CONF);
-
- cpu_top->core_info = malloc(sizeof(struct cpupower_topology) * cpus);
- if (cpu_top->core_info == NULL)
- return -ENOMEM;
- cpu_top->pkgs = cpu_top->cores = 0;
- for (cpu = 0; cpu < cpus; cpu++) {
- cpu_top->core_info[cpu].cpu = cpu;
- cpu_top->core_info[cpu].is_online = sysfs_is_cpu_online(cpu);
- cpu_top->core_info[cpu].pkg =
- sysfs_topology_read_file(cpu, "physical_package_id");
- if ((int)cpu_top->core_info[cpu].pkg != -1 &&
- cpu_top->core_info[cpu].pkg > cpu_top->pkgs)
- cpu_top->pkgs = cpu_top->core_info[cpu].pkg;
- cpu_top->core_info[cpu].core =
- sysfs_topology_read_file(cpu, "core_id");
- }
- cpu_top->pkgs++;
-
- qsort(cpu_top->core_info, cpus, sizeof(struct cpuid_core_info),
- __compare);
-
- /* Intel's cores count is not consecutively numbered, there may
- * be a core_id of 3, but none of 2. Assume there always is 0
- * Get amount of cores by counting duplicates in a package
- for (cpu = 0; cpu_top->core_info[cpu].pkg = 0 && cpu < cpus; cpu++) {
- if (cpu_top->core_info[cpu].core == 0)
- cpu_top->cores++;
- */
- return cpus;
-}
-
-void cpu_topology_release(struct cpupower_topology cpu_top)
-{
- free(cpu_top.core_info);
-}
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/amd_fam14h_idle.c b/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/amd_fam14h_idle.c
deleted file mode 100644
index 2116df9a..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/amd_fam14h_idle.c
+++ /dev/null
@@ -1,335 +0,0 @@
-/*
- * (C) 2010,2011 Thomas Renninger <trenn@suse.de>, Novell Inc.
- *
- * Licensed under the terms of the GNU GPL License version 2.
- *
- * PCI initialization based on example code from:
- * Andreas Herrmann <andreas.herrmann3@amd.com>
- */
-
-#if defined(__i386__) || defined(__x86_64__)
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <time.h>
-#include <string.h>
-
-#include <pci/pci.h>
-
-#include "idle_monitor/cpupower-monitor.h"
-#include "helpers/helpers.h"
-
-#define PCI_NON_PC0_OFFSET 0xb0
-#define PCI_PC1_OFFSET 0xb4
-#define PCI_PC6_OFFSET 0xb8
-
-#define PCI_MONITOR_ENABLE_REG 0xe0
-
-#define PCI_NON_PC0_ENABLE_BIT 0
-#define PCI_PC1_ENABLE_BIT 1
-#define PCI_PC6_ENABLE_BIT 2
-
-#define PCI_NBP1_STAT_OFFSET 0x98
-#define PCI_NBP1_ACTIVE_BIT 2
-#define PCI_NBP1_ENTERED_BIT 1
-
-#define PCI_NBP1_CAP_OFFSET 0x90
-#define PCI_NBP1_CAPABLE_BIT 31
-
-#define OVERFLOW_MS 343597 /* 32 bit register filled at 12500 HZ
- (1 tick per 80ns) */
-
-enum amd_fam14h_states {NON_PC0 = 0, PC1, PC6, NBP1,
- AMD_FAM14H_STATE_NUM};
-
-static int fam14h_get_count_percent(unsigned int self_id, double *percent,
- unsigned int cpu);
-static int fam14h_nbp1_count(unsigned int id, unsigned long long *count,
- unsigned int cpu);
-
-static cstate_t amd_fam14h_cstates[AMD_FAM14H_STATE_NUM] = {
- {
- .name = "!PC0",
- .desc = N_("Package in sleep state (PC1 or deeper)"),
- .id = NON_PC0,
- .range = RANGE_PACKAGE,
- .get_count_percent = fam14h_get_count_percent,
- },
- {
- .name = "PC1",
- .desc = N_("Processor Package C1"),
- .id = PC1,
- .range = RANGE_PACKAGE,
- .get_count_percent = fam14h_get_count_percent,
- },
- {
- .name = "PC6",
- .desc = N_("Processor Package C6"),
- .id = PC6,
- .range = RANGE_PACKAGE,
- .get_count_percent = fam14h_get_count_percent,
- },
- {
- .name = "NBP1",
- .desc = N_("North Bridge P1 boolean counter (returns 0 or 1)"),
- .id = NBP1,
- .range = RANGE_PACKAGE,
- .get_count = fam14h_nbp1_count,
- },
-};
-
-static struct pci_access *pci_acc;
-static struct pci_dev *amd_fam14h_pci_dev;
-static int nbp1_entered;
-
-struct timespec start_time;
-static unsigned long long timediff;
-
-#ifdef DEBUG
-struct timespec dbg_time;
-long dbg_timediff;
-#endif
-
-static unsigned long long *previous_count[AMD_FAM14H_STATE_NUM];
-static unsigned long long *current_count[AMD_FAM14H_STATE_NUM];
-
-static int amd_fam14h_get_pci_info(struct cstate *state,
- unsigned int *pci_offset,
- unsigned int *enable_bit,
- unsigned int cpu)
-{
- switch (state->id) {
- case NON_PC0:
- *enable_bit = PCI_NON_PC0_ENABLE_BIT;
- *pci_offset = PCI_NON_PC0_OFFSET;
- break;
- case PC1:
- *enable_bit = PCI_PC1_ENABLE_BIT;
- *pci_offset = PCI_PC1_OFFSET;
- break;
- case PC6:
- *enable_bit = PCI_PC6_ENABLE_BIT;
- *pci_offset = PCI_PC6_OFFSET;
- break;
- case NBP1:
- *enable_bit = PCI_NBP1_ENTERED_BIT;
- *pci_offset = PCI_NBP1_STAT_OFFSET;
- break;
- default:
- return -1;
- };
- return 0;
-}
-
-static int amd_fam14h_init(cstate_t *state, unsigned int cpu)
-{
- int enable_bit, pci_offset, ret;
- uint32_t val;
-
- ret = amd_fam14h_get_pci_info(state, &pci_offset, &enable_bit, cpu);
- if (ret)
- return ret;
-
- /* NBP1 needs extra treating -> write 1 to D18F6x98 bit 1 for init */
- if (state->id == NBP1) {
- val = pci_read_long(amd_fam14h_pci_dev, pci_offset);
- val |= 1 << enable_bit;
- val = pci_write_long(amd_fam14h_pci_dev, pci_offset, val);
- return ret;
- }
-
- /* Enable monitor */
- val = pci_read_long(amd_fam14h_pci_dev, PCI_MONITOR_ENABLE_REG);
- dprint("Init %s: read at offset: 0x%x val: %u\n", state->name,
- PCI_MONITOR_ENABLE_REG, (unsigned int) val);
- val |= 1 << enable_bit;
- pci_write_long(amd_fam14h_pci_dev, PCI_MONITOR_ENABLE_REG, val);
-
- dprint("Init %s: offset: 0x%x enable_bit: %d - val: %u (%u)\n",
- state->name, PCI_MONITOR_ENABLE_REG, enable_bit,
- (unsigned int) val, cpu);
-
- /* Set counter to zero */
- pci_write_long(amd_fam14h_pci_dev, pci_offset, 0);
- previous_count[state->id][cpu] = 0;
-
- return 0;
-}
-
-static int amd_fam14h_disable(cstate_t *state, unsigned int cpu)
-{
- int enable_bit, pci_offset, ret;
- uint32_t val;
-
- ret = amd_fam14h_get_pci_info(state, &pci_offset, &enable_bit, cpu);
- if (ret)
- return ret;
-
- val = pci_read_long(amd_fam14h_pci_dev, pci_offset);
- dprint("%s: offset: 0x%x %u\n", state->name, pci_offset, val);
- if (state->id == NBP1) {
- /* was the bit whether NBP1 got entered set? */
- nbp1_entered = (val & (1 << PCI_NBP1_ACTIVE_BIT)) |
- (val & (1 << PCI_NBP1_ENTERED_BIT));
-
- dprint("NBP1 was %sentered - 0x%x - enable_bit: "
- "%d - pci_offset: 0x%x\n",
- nbp1_entered ? "" : "not ",
- val, enable_bit, pci_offset);
- return ret;
- }
- current_count[state->id][cpu] = val;
-
- dprint("%s: Current - %llu (%u)\n", state->name,
- current_count[state->id][cpu], cpu);
- dprint("%s: Previous - %llu (%u)\n", state->name,
- previous_count[state->id][cpu], cpu);
-
- val = pci_read_long(amd_fam14h_pci_dev, PCI_MONITOR_ENABLE_REG);
- val &= ~(1 << enable_bit);
- pci_write_long(amd_fam14h_pci_dev, PCI_MONITOR_ENABLE_REG, val);
-
- return 0;
-}
-
-static int fam14h_nbp1_count(unsigned int id, unsigned long long *count,
- unsigned int cpu)
-{
- if (id == NBP1) {
- if (nbp1_entered)
- *count = 1;
- else
- *count = 0;
- return 0;
- }
- return -1;
-}
-static int fam14h_get_count_percent(unsigned int id, double *percent,
- unsigned int cpu)
-{
- unsigned long diff;
-
- if (id >= AMD_FAM14H_STATE_NUM)
- return -1;
- /* residency count in 80ns -> divide through 12.5 to get us residency */
- diff = current_count[id][cpu] - previous_count[id][cpu];
-
- if (timediff == 0)
- *percent = 0.0;
- else
- *percent = 100.0 * diff / timediff / 12.5;
-
- dprint("Timediff: %llu - res~: %lu us - percent: %.2f %%\n",
- timediff, diff * 10 / 125, *percent);
-
- return 0;
-}
-
-static int amd_fam14h_start(void)
-{
- int num, cpu;
- clock_gettime(CLOCK_REALTIME, &start_time);
- for (num = 0; num < AMD_FAM14H_STATE_NUM; num++) {
- for (cpu = 0; cpu < cpu_count; cpu++)
- amd_fam14h_init(&amd_fam14h_cstates[num], cpu);
- }
-#ifdef DEBUG
- clock_gettime(CLOCK_REALTIME, &dbg_time);
- dbg_timediff = timespec_diff_us(start_time, dbg_time);
- dprint("Enabling counters took: %lu us\n",
- dbg_timediff);
-#endif
- return 0;
-}
-
-static int amd_fam14h_stop(void)
-{
- int num, cpu;
- struct timespec end_time;
-
- clock_gettime(CLOCK_REALTIME, &end_time);
-
- for (num = 0; num < AMD_FAM14H_STATE_NUM; num++) {
- for (cpu = 0; cpu < cpu_count; cpu++)
- amd_fam14h_disable(&amd_fam14h_cstates[num], cpu);
- }
-#ifdef DEBUG
- clock_gettime(CLOCK_REALTIME, &dbg_time);
- dbg_timediff = timespec_diff_us(end_time, dbg_time);
- dprint("Disabling counters took: %lu ns\n", dbg_timediff);
-#endif
- timediff = timespec_diff_us(start_time, end_time);
- if (timediff / 1000 > OVERFLOW_MS)
- print_overflow_err((unsigned int)timediff / 1000000,
- OVERFLOW_MS / 1000);
-
- return 0;
-}
-
-static int is_nbp1_capable(void)
-{
- uint32_t val;
- val = pci_read_long(amd_fam14h_pci_dev, PCI_NBP1_CAP_OFFSET);
- return val & (1 << 31);
-}
-
-struct cpuidle_monitor *amd_fam14h_register(void)
-{
- int num;
-
- if (cpupower_cpu_info.vendor != X86_VENDOR_AMD)
- return NULL;
-
- if (cpupower_cpu_info.family == 0x14)
- strncpy(amd_fam14h_monitor.name, "Fam_14h",
- MONITOR_NAME_LEN - 1);
- else if (cpupower_cpu_info.family == 0x12)
- strncpy(amd_fam14h_monitor.name, "Fam_12h",
- MONITOR_NAME_LEN - 1);
- else
- return NULL;
-
- /* We do not alloc for nbp1 machine wide counter */
- for (num = 0; num < AMD_FAM14H_STATE_NUM - 1; num++) {
- previous_count[num] = calloc(cpu_count,
- sizeof(unsigned long long));
- current_count[num] = calloc(cpu_count,
- sizeof(unsigned long long));
- }
-
- /* We need PCI device: Slot 18, Func 6, compare with BKDG
- for fam 12h/14h */
- amd_fam14h_pci_dev = pci_slot_func_init(&pci_acc, 0x18, 6);
- if (amd_fam14h_pci_dev == NULL || pci_acc == NULL)
- return NULL;
-
- if (!is_nbp1_capable())
- amd_fam14h_monitor.hw_states_num = AMD_FAM14H_STATE_NUM - 1;
-
- amd_fam14h_monitor.name_len = strlen(amd_fam14h_monitor.name);
- return &amd_fam14h_monitor;
-}
-
-static void amd_fam14h_unregister(void)
-{
- int num;
- for (num = 0; num < AMD_FAM14H_STATE_NUM - 1; num++) {
- free(previous_count[num]);
- free(current_count[num]);
- }
- pci_cleanup(pci_acc);
-}
-
-struct cpuidle_monitor amd_fam14h_monitor = {
- .name = "",
- .hw_states = amd_fam14h_cstates,
- .hw_states_num = AMD_FAM14H_STATE_NUM,
- .start = amd_fam14h_start,
- .stop = amd_fam14h_stop,
- .do_register = amd_fam14h_register,
- .unregister = amd_fam14h_unregister,
- .needs_root = 1,
- .overflow_s = OVERFLOW_MS / 1000,
-};
-#endif /* #if defined(__i386__) || defined(__x86_64__) */
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/cpuidle_sysfs.c b/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/cpuidle_sysfs.c
deleted file mode 100644
index bcd22a1a..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/cpuidle_sysfs.c
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * (C) 2010,2011 Thomas Renninger <trenn@suse.de>, Novell Inc
- *
- * Licensed under the terms of the GNU GPL License version 2.
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <string.h>
-#include <limits.h>
-
-#include "helpers/sysfs.h"
-#include "helpers/helpers.h"
-#include "idle_monitor/cpupower-monitor.h"
-
-#define CPUIDLE_STATES_MAX 10
-static cstate_t cpuidle_cstates[CPUIDLE_STATES_MAX];
-struct cpuidle_monitor cpuidle_sysfs_monitor;
-
-static unsigned long long **previous_count;
-static unsigned long long **current_count;
-struct timespec start_time;
-static unsigned long long timediff;
-
-static int cpuidle_get_count_percent(unsigned int id, double *percent,
- unsigned int cpu)
-{
- unsigned long long statediff = current_count[cpu][id]
- - previous_count[cpu][id];
- dprint("%s: - diff: %llu - percent: %f (%u)\n",
- cpuidle_cstates[id].name, timediff, *percent, cpu);
-
- if (timediff == 0)
- *percent = 0.0;
- else
- *percent = ((100.0 * statediff) / timediff);
-
- dprint("%s: - timediff: %llu - statediff: %llu - percent: %f (%u)\n",
- cpuidle_cstates[id].name, timediff, statediff, *percent, cpu);
-
- return 0;
-}
-
-static int cpuidle_start(void)
-{
- int cpu, state;
- clock_gettime(CLOCK_REALTIME, &start_time);
- for (cpu = 0; cpu < cpu_count; cpu++) {
- for (state = 0; state < cpuidle_sysfs_monitor.hw_states_num;
- state++) {
- previous_count[cpu][state] =
- sysfs_get_idlestate_time(cpu, state);
- dprint("CPU %d - State: %d - Val: %llu\n",
- cpu, state, previous_count[cpu][state]);
- }
- };
- return 0;
-}
-
-static int cpuidle_stop(void)
-{
- int cpu, state;
- struct timespec end_time;
- clock_gettime(CLOCK_REALTIME, &end_time);
- timediff = timespec_diff_us(start_time, end_time);
-
- for (cpu = 0; cpu < cpu_count; cpu++) {
- for (state = 0; state < cpuidle_sysfs_monitor.hw_states_num;
- state++) {
- current_count[cpu][state] =
- sysfs_get_idlestate_time(cpu, state);
- dprint("CPU %d - State: %d - Val: %llu\n",
- cpu, state, previous_count[cpu][state]);
- }
- };
- return 0;
-}
-
-void fix_up_intel_idle_driver_name(char *tmp, int num)
-{
- /* fix up cpuidle name for intel idle driver */
- if (!strncmp(tmp, "NHM-", 4)) {
- switch (num) {
- case 1:
- strcpy(tmp, "C1");
- break;
- case 2:
- strcpy(tmp, "C3");
- break;
- case 3:
- strcpy(tmp, "C6");
- break;
- }
- } else if (!strncmp(tmp, "SNB-", 4)) {
- switch (num) {
- case 1:
- strcpy(tmp, "C1");
- break;
- case 2:
- strcpy(tmp, "C3");
- break;
- case 3:
- strcpy(tmp, "C6");
- break;
- case 4:
- strcpy(tmp, "C7");
- break;
- }
- } else if (!strncmp(tmp, "ATM-", 4)) {
- switch (num) {
- case 1:
- strcpy(tmp, "C1");
- break;
- case 2:
- strcpy(tmp, "C2");
- break;
- case 3:
- strcpy(tmp, "C4");
- break;
- case 4:
- strcpy(tmp, "C6");
- break;
- }
- }
-}
-
-static struct cpuidle_monitor *cpuidle_register(void)
-{
- int num;
- char *tmp;
-
- /* Assume idle state count is the same for all CPUs */
- cpuidle_sysfs_monitor.hw_states_num = sysfs_get_idlestate_count(0);
-
- if (cpuidle_sysfs_monitor.hw_states_num <= 0)
- return NULL;
-
- for (num = 0; num < cpuidle_sysfs_monitor.hw_states_num; num++) {
- tmp = sysfs_get_idlestate_name(0, num);
- if (tmp == NULL)
- continue;
-
- fix_up_intel_idle_driver_name(tmp, num);
- strncpy(cpuidle_cstates[num].name, tmp, CSTATE_NAME_LEN - 1);
- free(tmp);
-
- tmp = sysfs_get_idlestate_desc(0, num);
- if (tmp == NULL)
- continue;
- strncpy(cpuidle_cstates[num].desc, tmp, CSTATE_DESC_LEN - 1);
- free(tmp);
-
- cpuidle_cstates[num].range = RANGE_THREAD;
- cpuidle_cstates[num].id = num;
- cpuidle_cstates[num].get_count_percent =
- cpuidle_get_count_percent;
- };
-
- /* Free this at program termination */
- previous_count = malloc(sizeof(long long *) * cpu_count);
- current_count = malloc(sizeof(long long *) * cpu_count);
- for (num = 0; num < cpu_count; num++) {
- previous_count[num] = malloc(sizeof(long long) *
- cpuidle_sysfs_monitor.hw_states_num);
- current_count[num] = malloc(sizeof(long long) *
- cpuidle_sysfs_monitor.hw_states_num);
- }
-
- cpuidle_sysfs_monitor.name_len = strlen(cpuidle_sysfs_monitor.name);
- return &cpuidle_sysfs_monitor;
-}
-
-void cpuidle_unregister(void)
-{
- int num;
-
- for (num = 0; num < cpu_count; num++) {
- free(previous_count[num]);
- free(current_count[num]);
- }
- free(previous_count);
- free(current_count);
-}
-
-struct cpuidle_monitor cpuidle_sysfs_monitor = {
- .name = "Idle_Stats",
- .hw_states = cpuidle_cstates,
- .start = cpuidle_start,
- .stop = cpuidle_stop,
- .do_register = cpuidle_register,
- .unregister = cpuidle_unregister,
- .needs_root = 0,
- .overflow_s = UINT_MAX,
-};
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/cpupower-monitor.c b/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/cpupower-monitor.c
deleted file mode 100644
index 0d6571e4..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/cpupower-monitor.c
+++ /dev/null
@@ -1,440 +0,0 @@
-/*
- * (C) 2010,2011 Thomas Renninger <trenn@suse.de>, Novell Inc.
- *
- * Licensed under the terms of the GNU GPL License version 2.
- *
- * Output format inspired by Len Brown's <lenb@kernel.org> turbostat tool.
- *
- */
-
-
-#include <stdio.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <libgen.h>
-
-#include "idle_monitor/cpupower-monitor.h"
-#include "idle_monitor/idle_monitors.h"
-#include "helpers/helpers.h"
-
-/* Define pointers to all monitors. */
-#define DEF(x) & x ## _monitor ,
-struct cpuidle_monitor *all_monitors[] = {
-#include "idle_monitors.def"
-0
-};
-
-static struct cpuidle_monitor *monitors[MONITORS_MAX];
-static unsigned int avail_monitors;
-
-static char *progname;
-
-enum operation_mode_e { list = 1, show, show_all };
-static int mode;
-static int interval = 1;
-static char *show_monitors_param;
-static struct cpupower_topology cpu_top;
-
-/* ToDo: Document this in the manpage */
-static char range_abbr[RANGE_MAX] = { 'T', 'C', 'P', 'M', };
-
-static void print_wrong_arg_exit(void)
-{
- printf(_("invalid or unknown argument\n"));
- exit(EXIT_FAILURE);
-}
-
-long long timespec_diff_us(struct timespec start, struct timespec end)
-{
- struct timespec temp;
- if ((end.tv_nsec - start.tv_nsec) < 0) {
- temp.tv_sec = end.tv_sec - start.tv_sec - 1;
- temp.tv_nsec = 1000000000 + end.tv_nsec - start.tv_nsec;
- } else {
- temp.tv_sec = end.tv_sec - start.tv_sec;
- temp.tv_nsec = end.tv_nsec - start.tv_nsec;
- }
- return (temp.tv_sec * 1000000) + (temp.tv_nsec / 1000);
-}
-
-void print_n_spaces(int n)
-{
- int x;
- for (x = 0; x < n; x++)
- printf(" ");
-}
-
-/* size of s must be at least n + 1 */
-int fill_string_with_spaces(char *s, int n)
-{
- int len = strlen(s);
- if (len > n)
- return -1;
- for (; len < n; len++)
- s[len] = ' ';
- s[len] = '\0';
- return 0;
-}
-
-void print_header(int topology_depth)
-{
- int unsigned mon;
- int state, need_len, pr_mon_len;
- cstate_t s;
- char buf[128] = "";
- int percent_width = 4;
-
- fill_string_with_spaces(buf, topology_depth * 5 - 1);
- printf("%s|", buf);
-
- for (mon = 0; mon < avail_monitors; mon++) {
- pr_mon_len = 0;
- need_len = monitors[mon]->hw_states_num * (percent_width + 3)
- - 1;
- if (mon != 0) {
- printf("|| ");
- need_len--;
- }
- sprintf(buf, "%s", monitors[mon]->name);
- fill_string_with_spaces(buf, need_len);
- printf("%s", buf);
- }
- printf("\n");
-
- if (topology_depth > 2)
- printf("PKG |");
- if (topology_depth > 1)
- printf("CORE|");
- if (topology_depth > 0)
- printf("CPU |");
-
- for (mon = 0; mon < avail_monitors; mon++) {
- if (mon != 0)
- printf("|| ");
- else
- printf(" ");
- for (state = 0; state < monitors[mon]->hw_states_num; state++) {
- if (state != 0)
- printf(" | ");
- s = monitors[mon]->hw_states[state];
- sprintf(buf, "%s", s.name);
- fill_string_with_spaces(buf, percent_width);
- printf("%s", buf);
- }
- printf(" ");
- }
- printf("\n");
-}
-
-
-void print_results(int topology_depth, int cpu)
-{
- unsigned int mon;
- int state, ret;
- double percent;
- unsigned long long result;
- cstate_t s;
-
- /* Be careful CPUs may got resorted for pkg value do not just use cpu */
- if (!bitmask_isbitset(cpus_chosen, cpu_top.core_info[cpu].cpu))
- return;
-
- if (topology_depth > 2)
- printf("%4d|", cpu_top.core_info[cpu].pkg);
- if (topology_depth > 1)
- printf("%4d|", cpu_top.core_info[cpu].core);
- if (topology_depth > 0)
- printf("%4d|", cpu_top.core_info[cpu].cpu);
-
- for (mon = 0; mon < avail_monitors; mon++) {
- if (mon != 0)
- printf("||");
-
- for (state = 0; state < monitors[mon]->hw_states_num; state++) {
- if (state != 0)
- printf("|");
-
- s = monitors[mon]->hw_states[state];
-
- if (s.get_count_percent) {
- ret = s.get_count_percent(s.id, &percent,
- cpu_top.core_info[cpu].cpu);
- if (ret)
- printf("******");
- else if (percent >= 100.0)
- printf("%6.1f", percent);
- else
- printf("%6.2f", percent);
- } else if (s.get_count) {
- ret = s.get_count(s.id, &result,
- cpu_top.core_info[cpu].cpu);
- if (ret)
- printf("******");
- else
- printf("%6llu", result);
- } else {
- printf(_("Monitor %s, Counter %s has no count "
- "function. Implementation error\n"),
- monitors[mon]->name, s.name);
- exit(EXIT_FAILURE);
- }
- }
- }
- /*
- * The monitor could still provide useful data, for example
- * AMD HW counters partly sit in PCI config space.
- * It's up to the monitor plug-in to check .is_online, this one
- * is just for additional info.
- */
- if (!cpu_top.core_info[cpu].is_online) {
- printf(_(" *is offline\n"));
- return;
- } else
- printf("\n");
-}
-
-
-/* param: string passed by -m param (The list of monitors to show)
- *
- * Monitors must have been registered already, matching monitors
- * are picked out and available monitors array is overridden
- * with matching ones
- *
- * Monitors get sorted in the same order the user passes them
-*/
-
-static void parse_monitor_param(char *param)
-{
- unsigned int num;
- int mon, hits = 0;
- char *tmp = param, *token;
- struct cpuidle_monitor *tmp_mons[MONITORS_MAX];
-
-
- for (mon = 0; mon < MONITORS_MAX; mon++, tmp = NULL) {
- token = strtok(tmp, ",");
- if (token == NULL)
- break;
- if (strlen(token) >= MONITOR_NAME_LEN) {
- printf(_("%s: max monitor name length"
- " (%d) exceeded\n"), token, MONITOR_NAME_LEN);
- continue;
- }
-
- for (num = 0; num < avail_monitors; num++) {
- if (!strcmp(monitors[num]->name, token)) {
- dprint("Found requested monitor: %s\n", token);
- tmp_mons[hits] = monitors[num];
- hits++;
- }
- }
- }
- if (hits == 0) {
- printf(_("No matching monitor found in %s, "
- "try -l option\n"), param);
- exit(EXIT_FAILURE);
- }
- /* Override detected/registerd monitors array with requested one */
- memcpy(monitors, tmp_mons,
- sizeof(struct cpuidle_monitor *) * MONITORS_MAX);
- avail_monitors = hits;
-}
-
-void list_monitors(void)
-{
- unsigned int mon;
- int state;
- cstate_t s;
-
- for (mon = 0; mon < avail_monitors; mon++) {
- printf(_("Monitor \"%s\" (%d states) - Might overflow after %u "
- "s\n"),
- monitors[mon]->name, monitors[mon]->hw_states_num,
- monitors[mon]->overflow_s);
-
- for (state = 0; state < monitors[mon]->hw_states_num; state++) {
- s = monitors[mon]->hw_states[state];
- /*
- * ToDo show more state capabilities:
- * percent, time (granlarity)
- */
- printf("%s\t[%c] -> %s\n", s.name, range_abbr[s.range],
- gettext(s.desc));
- }
- }
-}
-
-int fork_it(char **argv)
-{
- int status;
- unsigned int num;
- unsigned long long timediff;
- pid_t child_pid;
- struct timespec start, end;
-
- child_pid = fork();
- clock_gettime(CLOCK_REALTIME, &start);
-
- for (num = 0; num < avail_monitors; num++)
- monitors[num]->start();
-
- if (!child_pid) {
- /* child */
- execvp(argv[0], argv);
- } else {
- /* parent */
- if (child_pid == -1) {
- perror("fork");
- exit(1);
- }
-
- signal(SIGINT, SIG_IGN);
- signal(SIGQUIT, SIG_IGN);
- if (waitpid(child_pid, &status, 0) == -1) {
- perror("wait");
- exit(1);
- }
- }
- clock_gettime(CLOCK_REALTIME, &end);
- for (num = 0; num < avail_monitors; num++)
- monitors[num]->stop();
-
- timediff = timespec_diff_us(start, end);
- if (WIFEXITED(status))
- printf(_("%s took %.5f seconds and exited with status %d\n"),
- argv[0], timediff / (1000.0 * 1000),
- WEXITSTATUS(status));
- return 0;
-}
-
-int do_interval_measure(int i)
-{
- unsigned int num;
-
- for (num = 0; num < avail_monitors; num++) {
- dprint("HW C-state residency monitor: %s - States: %d\n",
- monitors[num]->name, monitors[num]->hw_states_num);
- monitors[num]->start();
- }
- sleep(i);
- for (num = 0; num < avail_monitors; num++)
- monitors[num]->stop();
-
- return 0;
-}
-
-static void cmdline(int argc, char *argv[])
-{
- int opt;
- progname = basename(argv[0]);
-
- while ((opt = getopt(argc, argv, "+li:m:")) != -1) {
- switch (opt) {
- case 'l':
- if (mode)
- print_wrong_arg_exit();
- mode = list;
- break;
- case 'i':
- /* only allow -i with -m or no option */
- if (mode && mode != show)
- print_wrong_arg_exit();
- interval = atoi(optarg);
- break;
- case 'm':
- if (mode)
- print_wrong_arg_exit();
- mode = show;
- show_monitors_param = optarg;
- break;
- default:
- print_wrong_arg_exit();
- }
- }
- if (!mode)
- mode = show_all;
-}
-
-int cmd_monitor(int argc, char **argv)
-{
- unsigned int num;
- struct cpuidle_monitor *test_mon;
- int cpu;
-
- cmdline(argc, argv);
- cpu_count = get_cpu_topology(&cpu_top);
- if (cpu_count < 0) {
- printf(_("Cannot read number of available processors\n"));
- return EXIT_FAILURE;
- }
-
- /* Default is: monitor all CPUs */
- if (bitmask_isallclear(cpus_chosen))
- bitmask_setall(cpus_chosen);
-
- dprint("System has up to %d CPU cores\n", cpu_count);
-
- for (num = 0; all_monitors[num]; num++) {
- dprint("Try to register: %s\n", all_monitors[num]->name);
- test_mon = all_monitors[num]->do_register();
- if (test_mon) {
- if (test_mon->needs_root && !run_as_root) {
- fprintf(stderr, _("Available monitor %s needs "
- "root access\n"), test_mon->name);
- continue;
- }
- monitors[avail_monitors] = test_mon;
- dprint("%s registered\n", all_monitors[num]->name);
- avail_monitors++;
- }
- }
-
- if (avail_monitors == 0) {
- printf(_("No HW Cstate monitors found\n"));
- return 1;
- }
-
- if (mode == list) {
- list_monitors();
- exit(EXIT_SUCCESS);
- }
-
- if (mode == show)
- parse_monitor_param(show_monitors_param);
-
- dprint("Packages: %d - Cores: %d - CPUs: %d\n",
- cpu_top.pkgs, cpu_top.cores, cpu_count);
-
- /*
- * if any params left, it must be a command to fork
- */
- if (argc - optind)
- fork_it(argv + optind);
- else
- do_interval_measure(interval);
-
- /* ToDo: Topology parsing needs fixing first to do
- this more generically */
- if (cpu_top.pkgs > 1)
- print_header(3);
- else
- print_header(1);
-
- for (cpu = 0; cpu < cpu_count; cpu++) {
- if (cpu_top.pkgs > 1)
- print_results(3, cpu);
- else
- print_results(1, cpu);
- }
-
- for (num = 0; num < avail_monitors; num++)
- monitors[num]->unregister();
-
- cpu_topology_release(cpu_top);
- return 0;
-}
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/cpupower-monitor.h b/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/cpupower-monitor.h
deleted file mode 100644
index 9312ee1f..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/cpupower-monitor.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * (C) 2010,2011 Thomas Renninger <trenn@suse.de>, Novell Inc.
- *
- * Licensed under the terms of the GNU GPL License version 2.
- *
- */
-
-#ifndef __CPUIDLE_INFO_HW__
-#define __CPUIDLE_INFO_HW__
-
-#include <stdarg.h>
-#include <time.h>
-
-#include "idle_monitor/idle_monitors.h"
-
-#define MONITORS_MAX 20
-#define MONITOR_NAME_LEN 20
-#define CSTATE_NAME_LEN 5
-#define CSTATE_DESC_LEN 60
-
-int cpu_count;
-
-/* Hard to define the right names ...: */
-enum power_range_e {
- RANGE_THREAD, /* Lowest in topology hierarcy, AMD: core, Intel: thread
- kernel sysfs: cpu */
- RANGE_CORE, /* AMD: unit, Intel: core, kernel_sysfs: core_id */
- RANGE_PACKAGE, /* Package, processor socket */
- RANGE_MACHINE, /* Machine, platform wide */
- RANGE_MAX };
-
-typedef struct cstate {
- int id;
- enum power_range_e range;
- char name[CSTATE_NAME_LEN];
- char desc[CSTATE_DESC_LEN];
-
- /* either provide a percentage or a general count */
- int (*get_count_percent)(unsigned int self_id, double *percent,
- unsigned int cpu);
- int (*get_count)(unsigned int self_id, unsigned long long *count,
- unsigned int cpu);
-} cstate_t;
-
-struct cpuidle_monitor {
- /* Name must not contain whitespaces */
- char name[MONITOR_NAME_LEN];
- int name_len;
- int hw_states_num;
- cstate_t *hw_states;
- int (*start) (void);
- int (*stop) (void);
- struct cpuidle_monitor* (*do_register) (void);
- void (*unregister)(void);
- unsigned int overflow_s;
- int needs_root;
-};
-
-extern long long timespec_diff_us(struct timespec start, struct timespec end);
-
-#define print_overflow_err(mes, ov) \
-{ \
- fprintf(stderr, gettext("Measure took %u seconds, but registers could " \
- "overflow at %u seconds, results " \
- "could be inaccurate\n"), mes, ov); \
-}
-
-#endif /* __CPUIDLE_INFO_HW__ */
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/idle_monitors.def b/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/idle_monitors.def
deleted file mode 100644
index e3f8d9b2..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/idle_monitors.def
+++ /dev/null
@@ -1,7 +0,0 @@
-#if defined(__i386__) || defined(__x86_64__)
-DEF(amd_fam14h)
-DEF(intel_nhm)
-DEF(intel_snb)
-DEF(mperf)
-#endif
-DEF(cpuidle_sysfs)
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/idle_monitors.h b/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/idle_monitors.h
deleted file mode 100644
index 4fcdeb1e..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/idle_monitors.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * (C) 2010,2011 Thomas Renninger <trenn@suse.de>, Novell Inc.
- *
- * Licensed under the terms of the GNU GPL License version 2.
- *
- * Based on the idea from Michael Matz <matz@suse.de>
- *
- */
-
-#ifndef _CPUIDLE_IDLE_MONITORS_H_
-#define _CPUIDLE_IDLE_MONITORS_H_
-
-#define DEF(x) extern struct cpuidle_monitor x ##_monitor;
-#include "idle_monitors.def"
-#undef DEF
-extern struct cpuidle_monitor *all_monitors[];
-
-#endif /* _CPUIDLE_IDLE_MONITORS_H_ */
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/mperf_monitor.c b/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/mperf_monitor.c
deleted file mode 100644
index 5650ab5a..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/mperf_monitor.c
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
- * (C) 2010,2011 Thomas Renninger <trenn@suse.de>, Novell Inc.
- *
- * Licensed under the terms of the GNU GPL License version 2.
- */
-
-#if defined(__i386__) || defined(__x86_64__)
-
-#include <stdio.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-#include <limits.h>
-
-#include <cpufreq.h>
-
-#include "helpers/helpers.h"
-#include "idle_monitor/cpupower-monitor.h"
-
-#define MSR_APERF 0xE8
-#define MSR_MPERF 0xE7
-
-#define MSR_TSC 0x10
-
-#define MSR_AMD_HWCR 0xc0010015
-
-enum mperf_id { C0 = 0, Cx, AVG_FREQ, MPERF_CSTATE_COUNT };
-
-static int mperf_get_count_percent(unsigned int self_id, double *percent,
- unsigned int cpu);
-static int mperf_get_count_freq(unsigned int id, unsigned long long *count,
- unsigned int cpu);
-static struct timespec time_start, time_end;
-
-static cstate_t mperf_cstates[MPERF_CSTATE_COUNT] = {
- {
- .name = "C0",
- .desc = N_("Processor Core not idle"),
- .id = C0,
- .range = RANGE_THREAD,
- .get_count_percent = mperf_get_count_percent,
- },
- {
- .name = "Cx",
- .desc = N_("Processor Core in an idle state"),
- .id = Cx,
- .range = RANGE_THREAD,
- .get_count_percent = mperf_get_count_percent,
- },
-
- {
- .name = "Freq",
- .desc = N_("Average Frequency (including boost) in MHz"),
- .id = AVG_FREQ,
- .range = RANGE_THREAD,
- .get_count = mperf_get_count_freq,
- },
-};
-
-enum MAX_FREQ_MODE { MAX_FREQ_SYSFS, MAX_FREQ_TSC_REF };
-static int max_freq_mode;
-/*
- * The max frequency mperf is ticking at (in C0), either retrieved via:
- * 1) calculated after measurements if we know TSC ticks at mperf/P0 frequency
- * 2) cpufreq /sys/devices/.../cpu0/cpufreq/cpuinfo_max_freq at init time
- * 1. Is preferred as it also works without cpufreq subsystem (e.g. on Xen)
- */
-static unsigned long max_frequency;
-
-static unsigned long long tsc_at_measure_start;
-static unsigned long long tsc_at_measure_end;
-static unsigned long long *mperf_previous_count;
-static unsigned long long *aperf_previous_count;
-static unsigned long long *mperf_current_count;
-static unsigned long long *aperf_current_count;
-
-/* valid flag for all CPUs. If a MSR read failed it will be zero */
-static int *is_valid;
-
-static int mperf_get_tsc(unsigned long long *tsc)
-{
- int ret;
- ret = read_msr(0, MSR_TSC, tsc);
- if (ret)
- dprint("Reading TSC MSR failed, returning %llu\n", *tsc);
- return ret;
-}
-
-static int mperf_init_stats(unsigned int cpu)
-{
- unsigned long long val;
- int ret;
-
- ret = read_msr(cpu, MSR_APERF, &val);
- aperf_previous_count[cpu] = val;
- ret |= read_msr(cpu, MSR_MPERF, &val);
- mperf_previous_count[cpu] = val;
- is_valid[cpu] = !ret;
-
- return 0;
-}
-
-static int mperf_measure_stats(unsigned int cpu)
-{
- unsigned long long val;
- int ret;
-
- ret = read_msr(cpu, MSR_APERF, &val);
- aperf_current_count[cpu] = val;
- ret |= read_msr(cpu, MSR_MPERF, &val);
- mperf_current_count[cpu] = val;
- is_valid[cpu] = !ret;
-
- return 0;
-}
-
-static int mperf_get_count_percent(unsigned int id, double *percent,
- unsigned int cpu)
-{
- unsigned long long aperf_diff, mperf_diff, tsc_diff;
- unsigned long long timediff;
-
- if (!is_valid[cpu])
- return -1;
-
- if (id != C0 && id != Cx)
- return -1;
-
- mperf_diff = mperf_current_count[cpu] - mperf_previous_count[cpu];
- aperf_diff = aperf_current_count[cpu] - aperf_previous_count[cpu];
-
- if (max_freq_mode == MAX_FREQ_TSC_REF) {
- tsc_diff = tsc_at_measure_end - tsc_at_measure_start;
- *percent = 100.0 * mperf_diff / tsc_diff;
- dprint("%s: TSC Ref - mperf_diff: %llu, tsc_diff: %llu\n",
- mperf_cstates[id].name, mperf_diff, tsc_diff);
- } else if (max_freq_mode == MAX_FREQ_SYSFS) {
- timediff = timespec_diff_us(time_start, time_end);
- *percent = 100.0 * mperf_diff / timediff;
- dprint("%s: MAXFREQ - mperf_diff: %llu, time_diff: %llu\n",
- mperf_cstates[id].name, mperf_diff, timediff);
- } else
- return -1;
-
- if (id == Cx)
- *percent = 100.0 - *percent;
-
- dprint("%s: previous: %llu - current: %llu - (%u)\n",
- mperf_cstates[id].name, mperf_diff, aperf_diff, cpu);
- dprint("%s: %f\n", mperf_cstates[id].name, *percent);
- return 0;
-}
-
-static int mperf_get_count_freq(unsigned int id, unsigned long long *count,
- unsigned int cpu)
-{
- unsigned long long aperf_diff, mperf_diff, time_diff, tsc_diff;
-
- if (id != AVG_FREQ)
- return 1;
-
- if (!is_valid[cpu])
- return -1;
-
- mperf_diff = mperf_current_count[cpu] - mperf_previous_count[cpu];
- aperf_diff = aperf_current_count[cpu] - aperf_previous_count[cpu];
-
- if (max_freq_mode == MAX_FREQ_TSC_REF) {
- /* Calculate max_freq from TSC count */
- tsc_diff = tsc_at_measure_end - tsc_at_measure_start;
- time_diff = timespec_diff_us(time_start, time_end);
- max_frequency = tsc_diff / time_diff;
- }
-
- *count = max_frequency * ((double)aperf_diff / mperf_diff);
- dprint("%s: Average freq based on %s maximum frequency:\n",
- mperf_cstates[id].name,
- (max_freq_mode == MAX_FREQ_TSC_REF) ? "TSC calculated" : "sysfs read");
- dprint("%max_frequency: %lu", max_frequency);
- dprint("aperf_diff: %llu\n", aperf_diff);
- dprint("mperf_diff: %llu\n", mperf_diff);
- dprint("avg freq: %llu\n", *count);
- return 0;
-}
-
-static int mperf_start(void)
-{
- int cpu;
- unsigned long long dbg;
-
- clock_gettime(CLOCK_REALTIME, &time_start);
- mperf_get_tsc(&tsc_at_measure_start);
-
- for (cpu = 0; cpu < cpu_count; cpu++)
- mperf_init_stats(cpu);
-
- mperf_get_tsc(&dbg);
- dprint("TSC diff: %llu\n", dbg - tsc_at_measure_start);
- return 0;
-}
-
-static int mperf_stop(void)
-{
- unsigned long long dbg;
- int cpu;
-
- for (cpu = 0; cpu < cpu_count; cpu++)
- mperf_measure_stats(cpu);
-
- mperf_get_tsc(&tsc_at_measure_end);
- clock_gettime(CLOCK_REALTIME, &time_end);
-
- mperf_get_tsc(&dbg);
- dprint("TSC diff: %llu\n", dbg - tsc_at_measure_end);
-
- return 0;
-}
-
-/*
- * Mperf register is defined to tick at P0 (maximum) frequency
- *
- * Instead of reading out P0 which can be tricky to read out from HW,
- * we use TSC counter if it reliably ticks at P0/mperf frequency.
- *
- * Still try to fall back to:
- * /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
- * on older Intel HW without invariant TSC feature.
- * Or on AMD machines where TSC does not tick at P0 (do not exist yet, but
- * it's still double checked (MSR_AMD_HWCR)).
- *
- * On these machines the user would still get useful mperf
- * stats when acpi-cpufreq driver is loaded.
- */
-static int init_maxfreq_mode(void)
-{
- int ret;
- unsigned long long hwcr;
- unsigned long min;
-
- if (!cpupower_cpu_info.caps & CPUPOWER_CAP_INV_TSC)
- goto use_sysfs;
-
- if (cpupower_cpu_info.vendor == X86_VENDOR_AMD) {
- /* MSR_AMD_HWCR tells us whether TSC runs at P0/mperf
- * freq.
- * A test whether hwcr is accessable/available would be:
- * (cpupower_cpu_info.family > 0x10 ||
- * cpupower_cpu_info.family == 0x10 &&
- * cpupower_cpu_info.model >= 0x2))
- * This should be the case for all aperf/mperf
- * capable AMD machines and is therefore safe to test here.
- * Compare with Linus kernel git commit: acf01734b1747b1ec4
- */
- ret = read_msr(0, MSR_AMD_HWCR, &hwcr);
- /*
- * If the MSR read failed, assume a Xen system that did
- * not explicitly provide access to it and assume TSC works
- */
- if (ret != 0) {
- dprint("TSC read 0x%x failed - assume TSC working\n",
- MSR_AMD_HWCR);
- return 0;
- } else if (1 & (hwcr >> 24)) {
- max_freq_mode = MAX_FREQ_TSC_REF;
- return 0;
- } else { /* Use sysfs max frequency if available */ }
- } else if (cpupower_cpu_info.vendor == X86_VENDOR_INTEL) {
- /*
- * On Intel we assume mperf (in C0) is ticking at same
- * rate than TSC
- */
- max_freq_mode = MAX_FREQ_TSC_REF;
- return 0;
- }
-use_sysfs:
- if (cpufreq_get_hardware_limits(0, &min, &max_frequency)) {
- dprint("Cannot retrieve max freq from cpufreq kernel "
- "subsystem\n");
- return -1;
- }
- max_freq_mode = MAX_FREQ_SYSFS;
- return 0;
-}
-
-/*
- * This monitor provides:
- *
- * 1) Average frequency a CPU resided in
- * This always works if the CPU has aperf/mperf capabilities
- *
- * 2) C0 and Cx (any sleep state) time a CPU resided in
- * Works if mperf timer stops ticking in sleep states which
- * seem to be the case on all current HW.
- * Both is directly retrieved from HW registers and is independent
- * from kernel statistics.
- */
-struct cpuidle_monitor mperf_monitor;
-struct cpuidle_monitor *mperf_register(void)
-{
- if (!(cpupower_cpu_info.caps & CPUPOWER_CAP_APERF))
- return NULL;
-
- if (init_maxfreq_mode())
- return NULL;
-
- /* Free this at program termination */
- is_valid = calloc(cpu_count, sizeof(int));
- mperf_previous_count = calloc(cpu_count, sizeof(unsigned long long));
- aperf_previous_count = calloc(cpu_count, sizeof(unsigned long long));
- mperf_current_count = calloc(cpu_count, sizeof(unsigned long long));
- aperf_current_count = calloc(cpu_count, sizeof(unsigned long long));
-
- mperf_monitor.name_len = strlen(mperf_monitor.name);
- return &mperf_monitor;
-}
-
-void mperf_unregister(void)
-{
- free(mperf_previous_count);
- free(aperf_previous_count);
- free(mperf_current_count);
- free(aperf_current_count);
- free(is_valid);
-}
-
-struct cpuidle_monitor mperf_monitor = {
- .name = "Mperf",
- .hw_states_num = MPERF_CSTATE_COUNT,
- .hw_states = mperf_cstates,
- .start = mperf_start,
- .stop = mperf_stop,
- .do_register = mperf_register,
- .unregister = mperf_unregister,
- .needs_root = 1,
- .overflow_s = 922000000 /* 922337203 seconds TSC overflow
- at 20GHz */
-};
-#endif /* #if defined(__i386__) || defined(__x86_64__) */
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/nhm_idle.c b/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/nhm_idle.c
deleted file mode 100644
index d2a91dd0..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/nhm_idle.c
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * (C) 2010,2011 Thomas Renninger <trenn@suse.de>, Novell Inc.
- *
- * Licensed under the terms of the GNU GPL License version 2.
- *
- * Based on Len Brown's <lenb@kernel.org> turbostat tool.
- */
-
-#if defined(__i386__) || defined(__x86_64__)
-
-#include <stdio.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "helpers/helpers.h"
-#include "idle_monitor/cpupower-monitor.h"
-
-#define MSR_PKG_C3_RESIDENCY 0x3F8
-#define MSR_PKG_C6_RESIDENCY 0x3F9
-#define MSR_CORE_C3_RESIDENCY 0x3FC
-#define MSR_CORE_C6_RESIDENCY 0x3FD
-
-#define MSR_TSC 0x10
-
-#define NHM_CSTATE_COUNT 4
-
-enum intel_nhm_id { C3 = 0, C6, PC3, PC6, TSC = 0xFFFF };
-
-static int nhm_get_count_percent(unsigned int self_id, double *percent,
- unsigned int cpu);
-
-static cstate_t nhm_cstates[NHM_CSTATE_COUNT] = {
- {
- .name = "C3",
- .desc = N_("Processor Core C3"),
- .id = C3,
- .range = RANGE_CORE,
- .get_count_percent = nhm_get_count_percent,
- },
- {
- .name = "C6",
- .desc = N_("Processor Core C6"),
- .id = C6,
- .range = RANGE_CORE,
- .get_count_percent = nhm_get_count_percent,
- },
-
- {
- .name = "PC3",
- .desc = N_("Processor Package C3"),
- .id = PC3,
- .range = RANGE_PACKAGE,
- .get_count_percent = nhm_get_count_percent,
- },
- {
- .name = "PC6",
- .desc = N_("Processor Package C6"),
- .id = PC6,
- .range = RANGE_PACKAGE,
- .get_count_percent = nhm_get_count_percent,
- },
-};
-
-static unsigned long long tsc_at_measure_start;
-static unsigned long long tsc_at_measure_end;
-static unsigned long long *previous_count[NHM_CSTATE_COUNT];
-static unsigned long long *current_count[NHM_CSTATE_COUNT];
-/* valid flag for all CPUs. If a MSR read failed it will be zero */
-static int *is_valid;
-
-static int nhm_get_count(enum intel_nhm_id id, unsigned long long *val,
- unsigned int cpu)
-{
- int msr;
-
- switch (id) {
- case C3:
- msr = MSR_CORE_C3_RESIDENCY;
- break;
- case C6:
- msr = MSR_CORE_C6_RESIDENCY;
- break;
- case PC3:
- msr = MSR_PKG_C3_RESIDENCY;
- break;
- case PC6:
- msr = MSR_PKG_C6_RESIDENCY;
- break;
- case TSC:
- msr = MSR_TSC;
- break;
- default:
- return -1;
- };
- if (read_msr(cpu, msr, val))
- return -1;
-
- return 0;
-}
-
-static int nhm_get_count_percent(unsigned int id, double *percent,
- unsigned int cpu)
-{
- *percent = 0.0;
-
- if (!is_valid[cpu])
- return -1;
-
- *percent = (100.0 *
- (current_count[id][cpu] - previous_count[id][cpu])) /
- (tsc_at_measure_end - tsc_at_measure_start);
-
- dprint("%s: previous: %llu - current: %llu - (%u)\n",
- nhm_cstates[id].name, previous_count[id][cpu],
- current_count[id][cpu], cpu);
-
- dprint("%s: tsc_diff: %llu - count_diff: %llu - percent: %2.f (%u)\n",
- nhm_cstates[id].name,
- (unsigned long long) tsc_at_measure_end - tsc_at_measure_start,
- current_count[id][cpu] - previous_count[id][cpu],
- *percent, cpu);
-
- return 0;
-}
-
-static int nhm_start(void)
-{
- int num, cpu;
- unsigned long long dbg, val;
-
- nhm_get_count(TSC, &tsc_at_measure_start, 0);
-
- for (num = 0; num < NHM_CSTATE_COUNT; num++) {
- for (cpu = 0; cpu < cpu_count; cpu++) {
- is_valid[cpu] = !nhm_get_count(num, &val, cpu);
- previous_count[num][cpu] = val;
- }
- }
- nhm_get_count(TSC, &dbg, 0);
- dprint("TSC diff: %llu\n", dbg - tsc_at_measure_start);
- return 0;
-}
-
-static int nhm_stop(void)
-{
- unsigned long long val;
- unsigned long long dbg;
- int num, cpu;
-
- nhm_get_count(TSC, &tsc_at_measure_end, 0);
-
- for (num = 0; num < NHM_CSTATE_COUNT; num++) {
- for (cpu = 0; cpu < cpu_count; cpu++) {
- is_valid[cpu] = !nhm_get_count(num, &val, cpu);
- current_count[num][cpu] = val;
- }
- }
- nhm_get_count(TSC, &dbg, 0);
- dprint("TSC diff: %llu\n", dbg - tsc_at_measure_end);
-
- return 0;
-}
-
-struct cpuidle_monitor intel_nhm_monitor;
-
-struct cpuidle_monitor *intel_nhm_register(void)
-{
- int num;
-
- if (cpupower_cpu_info.vendor != X86_VENDOR_INTEL)
- return NULL;
-
- if (!(cpupower_cpu_info.caps & CPUPOWER_CAP_INV_TSC))
- return NULL;
-
- if (!(cpupower_cpu_info.caps & CPUPOWER_CAP_APERF))
- return NULL;
-
- /* Free this at program termination */
- is_valid = calloc(cpu_count, sizeof(int));
- for (num = 0; num < NHM_CSTATE_COUNT; num++) {
- previous_count[num] = calloc(cpu_count,
- sizeof(unsigned long long));
- current_count[num] = calloc(cpu_count,
- sizeof(unsigned long long));
- }
-
- intel_nhm_monitor.name_len = strlen(intel_nhm_monitor.name);
- return &intel_nhm_monitor;
-}
-
-void intel_nhm_unregister(void)
-{
- int num;
-
- for (num = 0; num < NHM_CSTATE_COUNT; num++) {
- free(previous_count[num]);
- free(current_count[num]);
- }
- free(is_valid);
-}
-
-struct cpuidle_monitor intel_nhm_monitor = {
- .name = "Nehalem",
- .hw_states_num = NHM_CSTATE_COUNT,
- .hw_states = nhm_cstates,
- .start = nhm_start,
- .stop = nhm_stop,
- .do_register = intel_nhm_register,
- .unregister = intel_nhm_unregister,
- .needs_root = 1,
- .overflow_s = 922000000 /* 922337203 seconds TSC overflow
- at 20GHz */
-};
-#endif
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/snb_idle.c b/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/snb_idle.c
deleted file mode 100644
index a1bc07cd..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/idle_monitor/snb_idle.c
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * (C) 2010,2011 Thomas Renninger <trenn@suse.de>, Novell Inc.
- *
- * Licensed under the terms of the GNU GPL License version 2.
- *
- * Based on Len Brown's <lenb@kernel.org> turbostat tool.
- */
-
-#if defined(__i386__) || defined(__x86_64__)
-
-#include <stdio.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "helpers/helpers.h"
-#include "idle_monitor/cpupower-monitor.h"
-
-#define MSR_PKG_C2_RESIDENCY 0x60D
-#define MSR_PKG_C7_RESIDENCY 0x3FA
-#define MSR_CORE_C7_RESIDENCY 0x3FE
-
-#define MSR_TSC 0x10
-
-enum intel_snb_id { C7 = 0, PC2, PC7, SNB_CSTATE_COUNT, TSC = 0xFFFF };
-
-static int snb_get_count_percent(unsigned int self_id, double *percent,
- unsigned int cpu);
-
-static cstate_t snb_cstates[SNB_CSTATE_COUNT] = {
- {
- .name = "C7",
- .desc = N_("Processor Core C7"),
- .id = C7,
- .range = RANGE_CORE,
- .get_count_percent = snb_get_count_percent,
- },
- {
- .name = "PC2",
- .desc = N_("Processor Package C2"),
- .id = PC2,
- .range = RANGE_PACKAGE,
- .get_count_percent = snb_get_count_percent,
- },
- {
- .name = "PC7",
- .desc = N_("Processor Package C7"),
- .id = PC7,
- .range = RANGE_PACKAGE,
- .get_count_percent = snb_get_count_percent,
- },
-};
-
-static unsigned long long tsc_at_measure_start;
-static unsigned long long tsc_at_measure_end;
-static unsigned long long *previous_count[SNB_CSTATE_COUNT];
-static unsigned long long *current_count[SNB_CSTATE_COUNT];
-/* valid flag for all CPUs. If a MSR read failed it will be zero */
-static int *is_valid;
-
-static int snb_get_count(enum intel_snb_id id, unsigned long long *val,
- unsigned int cpu)
-{
- int msr;
-
- switch (id) {
- case C7:
- msr = MSR_CORE_C7_RESIDENCY;
- break;
- case PC2:
- msr = MSR_PKG_C2_RESIDENCY;
- break;
- case PC7:
- msr = MSR_PKG_C7_RESIDENCY;
- break;
- case TSC:
- msr = MSR_TSC;
- break;
- default:
- return -1;
- };
- if (read_msr(cpu, msr, val))
- return -1;
- return 0;
-}
-
-static int snb_get_count_percent(unsigned int id, double *percent,
- unsigned int cpu)
-{
- *percent = 0.0;
-
- if (!is_valid[cpu])
- return -1;
-
- *percent = (100.0 *
- (current_count[id][cpu] - previous_count[id][cpu])) /
- (tsc_at_measure_end - tsc_at_measure_start);
-
- dprint("%s: previous: %llu - current: %llu - (%u)\n",
- snb_cstates[id].name, previous_count[id][cpu],
- current_count[id][cpu], cpu);
-
- dprint("%s: tsc_diff: %llu - count_diff: %llu - percent: %2.f (%u)\n",
- snb_cstates[id].name,
- (unsigned long long) tsc_at_measure_end - tsc_at_measure_start,
- current_count[id][cpu] - previous_count[id][cpu],
- *percent, cpu);
-
- return 0;
-}
-
-static int snb_start(void)
-{
- int num, cpu;
- unsigned long long val;
-
- for (num = 0; num < SNB_CSTATE_COUNT; num++) {
- for (cpu = 0; cpu < cpu_count; cpu++) {
- snb_get_count(num, &val, cpu);
- previous_count[num][cpu] = val;
- }
- }
- snb_get_count(TSC, &tsc_at_measure_start, 0);
- return 0;
-}
-
-static int snb_stop(void)
-{
- unsigned long long val;
- int num, cpu;
-
- snb_get_count(TSC, &tsc_at_measure_end, 0);
-
- for (num = 0; num < SNB_CSTATE_COUNT; num++) {
- for (cpu = 0; cpu < cpu_count; cpu++) {
- is_valid[cpu] = !snb_get_count(num, &val, cpu);
- current_count[num][cpu] = val;
- }
- }
- return 0;
-}
-
-struct cpuidle_monitor intel_snb_monitor;
-
-static struct cpuidle_monitor *snb_register(void)
-{
- int num;
-
- if (cpupower_cpu_info.vendor != X86_VENDOR_INTEL
- || cpupower_cpu_info.family != 6)
- return NULL;
-
- if (cpupower_cpu_info.model != 0x2A
- && cpupower_cpu_info.model != 0x2D)
- return NULL;
-
- is_valid = calloc(cpu_count, sizeof(int));
- for (num = 0; num < SNB_CSTATE_COUNT; num++) {
- previous_count[num] = calloc(cpu_count,
- sizeof(unsigned long long));
- current_count[num] = calloc(cpu_count,
- sizeof(unsigned long long));
- }
- intel_snb_monitor.name_len = strlen(intel_snb_monitor.name);
- return &intel_snb_monitor;
-}
-
-void snb_unregister(void)
-{
- int num;
- free(is_valid);
- for (num = 0; num < SNB_CSTATE_COUNT; num++) {
- free(previous_count[num]);
- free(current_count[num]);
- }
-}
-
-struct cpuidle_monitor intel_snb_monitor = {
- .name = "SandyBridge",
- .hw_states = snb_cstates,
- .hw_states_num = SNB_CSTATE_COUNT,
- .start = snb_start,
- .stop = snb_stop,
- .do_register = snb_register,
- .unregister = snb_unregister,
- .needs_root = 1,
- .overflow_s = 922000000 /* 922337203 seconds TSC overflow
- at 20GHz */
-};
-#endif /* defined(__i386__) || defined(__x86_64__) */
diff --git a/ANDROID_3.4.5/tools/power/cpupower/utils/version-gen.sh b/ANDROID_3.4.5/tools/power/cpupower/utils/version-gen.sh
deleted file mode 100755
index 5ec41c55..00000000
--- a/ANDROID_3.4.5/tools/power/cpupower/utils/version-gen.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-#
-# Script which prints out the version to use for building cpupowerutils.
-# Must be called from tools/power/cpupower/
-#
-# Heavily based on tools/perf/util/PERF-VERSION-GEN .
-
-LF='
-'
-
-# First check if there is a .git to get the version from git describe
-# otherwise try to get the version from the kernel makefile
-if test -d ../../../.git -o -f ../../../.git &&
- VN=$(git describe --abbrev=4 HEAD 2>/dev/null) &&
- case "$VN" in
- *$LF*) (exit 1) ;;
- v[0-9]*)
- git update-index -q --refresh
- test -z "$(git diff-index --name-only HEAD --)" ||
- VN="$VN-dirty" ;;
- esac
-then
- VN=$(echo "$VN" | sed -e 's/-/./g');
-else
- eval $(grep '^VERSION[[:space:]]*=' ../../../Makefile|tr -d ' ')
- eval $(grep '^PATCHLEVEL[[:space:]]*=' ../../../Makefile|tr -d ' ')
- eval $(grep '^SUBLEVEL[[:space:]]*=' ../../../Makefile|tr -d ' ')
- eval $(grep '^EXTRAVERSION[[:space:]]*=' ../../../Makefile|tr -d ' ')
-
- VN="${VERSION}.${PATCHLEVEL}.${SUBLEVEL}${EXTRAVERSION}"
-fi
-
-VN=$(expr "$VN" : v*'\(.*\)')
-
-echo $VN