]> rtime.felk.cvut.cz Git - frescor/frsh.git/blob - resources/acpi_cpu/tests/acpi_cpu_test.c
Added speed reading functions.
[frescor/frsh.git] / resources / acpi_cpu / tests / acpi_cpu_test.c
1 #include <frsh.h>
2
3 int main()
4 {
5         frsh_power_level_t level;
6         int power_levels;
7         double speed;
8         int terror;
9
10         PXW(frsh_init());
11
12         PXW(frsh_resource_get_num_power_levels(FRSH_RT_PROCESSOR, 0, &power_levels));
13         printf("Number of power levels suppoerted: %d\n", power_levels);
14
15         if (power_levels == 1)
16                 PERROR_AND_EXIT(EINVAL, "Different power levels not supported");
17         
18         PXW(frsh_resource_get_power_level(FRSH_RT_PROCESSOR, 0, &level));
19         PXW(frsh_resource_get_speed(FRSH_RT_PROCESSOR, 0, level, &speed));
20         printf("Starting with power level %d, speed = %f\n", level, speed);
21
22         sleep(3);
23         PXW(frsh_resource_set_power_level(FRSH_RT_PROCESSOR, 0, FRSH_PLT_HIGH));
24         PXW(frsh_resource_get_power_level(FRSH_RT_PROCESSOR, 0, &level));
25         PXW(frsh_resource_get_speed(FRSH_RT_PROCESSOR, 0, level, &speed));
26         printf("%d (FRSH_PLT_HIGH) correctly set, speed = %f\n", level, speed);
27
28         sleep(3);
29         PXW(frsh_resource_set_power_level(FRSH_RT_PROCESSOR, 0, FRSH_PLT_MEDIUM));
30         PXW(frsh_resource_get_power_level(FRSH_RT_PROCESSOR, 0, &level));
31         PXW(frsh_resource_get_speed(FRSH_RT_PROCESSOR, 0, level, &speed));
32         printf("%d (FRSH_PLT_MEDIUM) correctly set, speed = %f\n", level, speed);
33
34         sleep(3);
35         PXW(frsh_resource_set_power_level(FRSH_RT_PROCESSOR, 0, FRSH_PLT_LOW));
36         PXW(frsh_resource_get_power_level(FRSH_RT_PROCESSOR, 0, &level));
37         PXW(frsh_resource_get_speed(FRSH_RT_PROCESSOR, 0, level, &speed));
38         printf("%d (FRSH_PLT_LOW) correctly set, speed = %f\n", level, speed);
39
40         return 0;
41 }
42