summaryrefslogtreecommitdiff
path: root/firmware/target/hosted/cpuinfo-linux.h
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2011-12-19 15:42:04 +0000
committerThomas Martitz <kugel@rockbox.org>2011-12-19 15:42:04 +0000
commit287454de2e076eafcd393dec6cf0e2674ca25586 (patch)
treeab66ced6589ae8188dbcd110fc5572797b12155f /firmware/target/hosted/cpuinfo-linux.h
parentf53c04b766f470eb58c919b7d38f8bfec654c797 (diff)
downloadrockbox-287454de2e076eafcd393dec6cf0e2674ca25586.zip
rockbox-287454de2e076eafcd393dec6cf0e2674ca25586.tar.gz
rockbox-287454de2e076eafcd393dec6cf0e2674ca25586.tar.bz2
rockbox-287454de2e076eafcd393dec6cf0e2674ca25586.tar.xz
Hosted/linux: Add process/cpu info screen to the debug menu.
The new menu is very helpful on RaaA, but also shown in the sim. It shows the process cpu usage, process' time stats (user,sys,real) and the cpu frequency stats. It uses a thread to sample the data, however the thread is not created until the menu is visited for the first time. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31364 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/hosted/cpuinfo-linux.h')
-rw-r--r--firmware/target/hosted/cpuinfo-linux.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/firmware/target/hosted/cpuinfo-linux.h b/firmware/target/hosted/cpuinfo-linux.h
new file mode 100644
index 0000000..d9ba376
--- /dev/null
+++ b/firmware/target/hosted/cpuinfo-linux.h
@@ -0,0 +1,45 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2011 Thomas Martitz
+ *
+ * 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 software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+
+#ifndef __CPUINFO_LINUX_H__
+#define __CPUINFO_LINUX_H__
+
+struct cpuusage {
+ long usage; /* in hundredth percent */
+ long utime; /* in clock ticks */
+ long stime; /* in clock ticks */
+ long rtime; /* in clock ticks */
+ long hz; /* how clock ticks per second */
+};
+
+struct time_state {
+ long frequency;
+ long time;
+};
+
+int cpuusage_linux(struct cpuusage* u);
+int cpufrequency_linux(int cpu);
+int scalingfrequency_linux(int cpu);
+int cpustatetimes_linux(int cpu, struct time_state* data, int max_elements);
+int cpucount_linux(void);
+
+#endif /* __CPUINFO_LINUX_H__ */