mirror of
https://github.com/torvalds/linux.git
synced 2026-04-30 12:32:31 -04:00
selftests/powerpc: Add tests of PMU EBBs
The Power8 Performance Monitor Unit (PMU) has a new feature called Event Based Branches (EBB). This commit adds tests of the kernel API for using EBBs. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
committed by
Benjamin Herrenschmidt
parent
33b4819f3b
commit
3752e453f6
39
tools/testing/selftests/powerpc/pmu/ebb/reg_access_test.c
Normal file
39
tools/testing/selftests/powerpc/pmu/ebb/reg_access_test.c
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Copyright 2014, Michael Ellerman, IBM Corp.
|
||||
* Licensed under GPLv2.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "ebb.h"
|
||||
#include "reg.h"
|
||||
|
||||
|
||||
/*
|
||||
* Test basic access to the EBB regs, they should be user accessible with no
|
||||
* kernel interaction required.
|
||||
*/
|
||||
int reg_access(void)
|
||||
{
|
||||
uint64_t val, expected;
|
||||
|
||||
expected = 0x8000000100000000ull;
|
||||
mtspr(SPRN_BESCR, expected);
|
||||
val = mfspr(SPRN_BESCR);
|
||||
|
||||
FAIL_IF(val != expected);
|
||||
|
||||
expected = 0x0000000001000000ull;
|
||||
mtspr(SPRN_EBBHR, expected);
|
||||
val = mfspr(SPRN_EBBHR);
|
||||
|
||||
FAIL_IF(val != expected);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
return test_harness(reg_access, "reg_access");
|
||||
}
|
||||
Reference in New Issue
Block a user