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