[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[microblaze-uclinux] PVR
Hi,
I tried to add Processor Version Register to U-BOOT but I hit againts a
small problem.
I don't know how to write asembler instruction for PVR.
From Microblaze tutorial
. SPR[0x0000] is PC
. SPR[0x0001] is MSR
. SPR[0x0003] is EAR
. SPR[0x0005] is ESR
. SPR[0x0007] is FSR
. SPR[0x000B] is BTR
. SPR[0x2000:0x200B] is PVR[0] to PVR[11]
And for assemble code
RPC Program counter
RMSR Machine Status Register
REAR Exception Address Register
RESR Exception Status Register
RFSR Floating Point Status Register
RBTR Branch Target Register
RPVR0-RPVR11 Processor Version Register 0 thru 11
I wrote two macros.
#define MFS(val, reg) \
__asm__ __volatile__ ("mfs %0," #reg :"=r" (val));
#define MTS(val, reg) \
__asm__ __volatile__ ("mts " #reg ", %0"::"r" (val));
and I tried to write
MFS (val, rpvr0) - but gcc don't know rpvr registers
For "old" special purpose register everything working fine.
My conclusion is that problem is in toolchain.
Could you help me, how can I fix it?
Best regards,
Michal Simek
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/