Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / tools / testing / selftests / powerpc / pmu / l3_bank_test.c
1 /*
2  * Copyright 2014, Michael Ellerman, IBM Corp.
3  * Licensed under GPLv2.
4  */
5
6 #include <stdio.h>
7 #include <stdlib.h>
8
9 #include "event.h"
10 #include "utils.h"
11
12 #define MALLOC_SIZE     (0x10000 * 10)  /* Ought to be enough .. */
13
14 /*
15  * Tests that the L3 bank handling is correct. We fixed it in commit e9aaac1.
16  */
17 static int l3_bank_test(void)
18 {
19         struct event event;
20         char *p;
21         int i;
22
23         p = malloc(MALLOC_SIZE);
24         FAIL_IF(!p);
25
26         event_init(&event, 0x84918F);
27
28         FAIL_IF(event_open(&event));
29
30         for (i = 0; i < MALLOC_SIZE; i += 0x10000)
31                 p[i] = i;
32
33         event_read(&event);
34         event_report(&event);
35
36         FAIL_IF(event.result.running == 0);
37         FAIL_IF(event.result.enabled == 0);
38
39         event_close(&event);
40         free(p);
41
42         return 0;
43 }
44
45 int main(void)
46 {
47         return test_harness(l3_bank_test, "l3_bank_test");
48 }