Messages in this thread |  | | From | Segher Boessenkool <> | Subject | Re: [PATCH V2 2/5] powerpc, perf: Add basic assembly code to read BHRB entries on POWER8 | Date | Tue, 16 Apr 2013 19:23:19 +0200 |
| |
> +/* r3 = n (where n = [0-1023]) > + * The maximum number of BHRB entries supported with PPC_MFBHRBE > instruction > + * is 1024. We have limited number of table entries here as POWER8 > implements > + * 32 BHRB entries. > + */ > + > +/* .global read_bhrb */ > +_GLOBAL(read_bhrb) > + cmpldi r3,1023
This should be 31, since that is the last entry in the table below.
> + bgt 1f > + ld r4,bhrb_table@got(r2) > + sldi r3,r3,3 > + add r3,r4,r3 > + mtctr r3 > + bctr > +1: li r3,0 > + blr > + > +#define MFBHRB_TABLE1(n) PPC_MFBHRBE(R3,n); blr > +#define MFBHRB_TABLE2(n) MFBHRB_TABLE1(n); MFBHRB_TABLE1(n+1) > +#define MFBHRB_TABLE4(n) MFBHRB_TABLE2(n); MFBHRB_TABLE2(n+2) > +#define MFBHRB_TABLE8(n) MFBHRB_TABLE4(n); MFBHRB_TABLE4(n+4) > +#define MFBHRB_TABLE16(n) MFBHRB_TABLE8(n); MFBHRB_TABLE8(n+8) > +#define MFBHRB_TABLE32(n) MFBHRB_TABLE16(n); MFBHRB_TABLE16(n+16) > + > +bhrb_table: > + MFBHRB_TABLE32(0)
Segher
|  |