I'm facing one bottleneck in using the mfpvr instruction on e500mc hardware (user space). This instruction/register execution/access is supervisor privilage, so register
access from user space should lead to illegal instruction.
We I tried to access this PVR register from user space, the app is able to get the PVR value without extra provisioning.When I checked more from
Kernel perspective identified one procedure (eumulate_instructio) in traps.c which is emulating the program exceptions
irrespective of user/kernel mode.
I have following queries:
--> Is this kind of emulation is configurable one?? ( I don't see any compile time MACRO for PVR register).
--> Any idea why there is no check placed to make sure the process (user level) has signal handler defined for illegal instructions which is about to emulate?
--> How can remove such dependencies from Kernel ( I don't want the Kernel to perform any extra job like emulation)
Thanks in Advance.