^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0-or-later */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * Common time accounting prototypes and such for all ppc machines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #ifndef __POWERPC_ACCOUNTING_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #define __POWERPC_ACCOUNTING_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) /* Stuff for accurate time accounting */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) struct cpu_accounting_data {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) /* Accumulated cputime values to flush on ticks*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) unsigned long utime;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) unsigned long stime;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #ifdef CONFIG_ARCH_HAS_SCALED_CPUTIME
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) unsigned long utime_scaled;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) unsigned long stime_scaled;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) unsigned long gtime;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) unsigned long hardirq_time;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) unsigned long softirq_time;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) unsigned long steal_time;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) unsigned long idle_time;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) /* Internal counters */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) unsigned long starttime; /* TB value snapshot */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) unsigned long starttime_user; /* TB value on exit to usermode */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #ifdef CONFIG_ARCH_HAS_SCALED_CPUTIME
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) unsigned long startspurr; /* SPURR value snapshot */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) unsigned long utime_sspurr; /* ->user_time when ->startspurr set */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) #endif