- Copy configuration
cp path.default.mak path.mak - Set the PATH properly to your x86/arm kernel source
vim path.mak make
Alternatively, you can clone and compile this repo in guest OS.
The Makefile of device driver will automatically find your linux headers in system,
thus cp path.default.mak path.mak is not required.
The instructions of compilation in guest OS is as following:
- Build vpmu-control-xxx by
make - Build device driver by
cd device_driver && make
If your target system does not have /dev/vpmu-device-0, add --mem in your command.
- Single application, system level profiling.
./vpmu-control-arm --all_models --start --exec "ls -al" --end
- Start system level profiling
./vpmu-control-arm --all_models --start
...
DO ANYTHING YOU WANT
...
./vpmu-control-arm --end
- Get current profiling report
./vpmu-control-arm --report
- Single application, phase detection with jit fast emulation
./vpmu-control-arm --jit --phase --all_models --start --exec "ls -al" --end
- If the following message shows, it means your compiler turn on PIE (position independent executables) as default. The solution is patching the Makefile of your Linux kernel as mentioned in this thread
cc1: error: code model kernel does not support PIC mode