root/tools/testing/selftests/powerpc/pmu/ebb/reg_access_test.c

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

DEFINITIONS

This source file includes following definitions.
  1. reg_access
  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 "ebb.h"
  10 
  11 
  12 /*
  13  * Test basic access to the EBB regs, they should be user accessible with no
  14  * kernel interaction required.
  15  */
  16 int reg_access(void)
  17 {
  18         uint64_t val, expected;
  19 
  20         SKIP_IF(!ebb_is_supported());
  21 
  22         expected = 0x8000000100000000ull;
  23         mtspr(SPRN_BESCR, expected);
  24         val = mfspr(SPRN_BESCR);
  25 
  26         FAIL_IF(val != expected);
  27 
  28         expected = 0x0000000001000000ull;
  29         mtspr(SPRN_EBBHR, expected);
  30         val = mfspr(SPRN_EBBHR);
  31 
  32         FAIL_IF(val != expected);
  33 
  34         return 0;
  35 }
  36 
  37 int main(void)
  38 {
  39         return test_harness(reg_access, "reg_access");
  40 }

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