root/tools/testing/selftests/powerpc/pmu/l3_bank_test.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. l3_bank_test
  2. main

   1 // SPDX-License-Identifier: GPL-2.0-only
   2 /*
   3  * Copyright 2014, Michael Ellerman, IBM Corp.
   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 }

/* [<][>][^][v][top][bottom][index][help] */