Hello,
I am currently working on saving an Android application state. I noticed that every process has some virtual memory areas with VM_DONTCOPY flag set for the pvr-.. driver. What are those used for? What kernel structures do I need to save? Do I have to save any? Is there a way to reset the driver state?
So far, I tried to force the saving of the virtual memory areas mentioned above. After restoring the saved state, the application behaves well for some time, while I click on a button, but after that some PVR errors are generated and the application gets blocked. I also tried to keep those virtual memory areas from the restore time and It has the same behaviour.
This is part of the received output:
[ 215.691650] PVR_K: User requested SGX debug info
[ 215.702117] [ 188.670] [911d2d20] ++refs=2 for [84668400]
[ 215.702117] [ 188.670] [84668400] dsscomp_delayed_apply
[ 215.702148] [ 188.670] [911d2d20] --refs=1 on RELEASED
[ 215.702148] [ 188.670] [84668400] dsscomp_apply
[ 215.731231] [ 188.672] [90f8a8a0] --refs=0 on TORN
[ 215.731231] [ 188.676] [90f8a8a0] calling dsscomp_proxy_cmdcomplete [80ecee20]
[ 215.731231] [ 188.676] [84668000] dsscomp_mgr_delayed_cb on TORN
An additional question: is it possible to force an application refresh from kernel?
I am working on Android 4.0.3, using a pandaboard.