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 */
16int 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
37int main(void)
38{
39	return test_harness(reg_access, "reg_access");
40}
41