1 /* 2 * Copyright 2016, Jack Miller, IBM Corp. 3 * Licensed under GPLv2. 4 */ 5 6 #include <stdlib.h> 7 #include <stdio.h> 8 #include <unistd.h> 9 10 #include "ebb.h" 11 #include "ebb_lmr.h" 12 13 #define CHECKS 10000 14 ebb_lmr_regs(void)15int ebb_lmr_regs(void) 16 { 17 int i; 18 19 SKIP_IF(!lmr_is_supported()); 20 21 ebb_global_enable(); 22 23 for (i = 0; i < CHECKS; i++) { 24 mtspr(SPRN_LMRR, i << 25); // skip size and rsvd bits 25 mtspr(SPRN_LMSER, i); 26 27 FAIL_IF(mfspr(SPRN_LMRR) != (i << 25)); 28 FAIL_IF(mfspr(SPRN_LMSER) != i); 29 } 30 31 return 0; 32 } 33 main(void)34int main(void) 35 { 36 return test_harness(ebb_lmr_regs, "ebb_lmr_regs"); 37 } 38