kAFL nested setup
- Dominant language
- Makefile
- Stars
- 814
- Forks
- 109
- PR merge metrics
- No merged PRs in 30d
Description
Supporting kAFL setup in a VM would be helpful for getting started and using remote / shared compute. It seems some processors starting with IceLake server support using PT tracing in the guest:
```
35.5.2.4
Virtualization of Guest Output Packet Streams
Each Intel PT aware guest OS can produce one or more output packet streams to destination addresses specified
as guest physical address using by context-switching IA32_RTIT_OUTPUT_BASE within the guest. The processor
generates trace packets to the physical address specified in IA32_RTIT_OUTPUT_BASE, and those specified in the
ToPA tables. Thus, a VMM that supports Intel PT aware guest OS may wish to virtualize the output configurations
of IA32_RTIT_OUTPUT_BASE and ToPA for each trace configuration state of all the guests.
```
It looks like we have to `modprobe kvm_intel pt_mode=1 nested=1`. CPU support can be identified via MSR:
https://www.spinics.net/lists/kvm/msg236786.html
https://lore.kernel.org/lkml/1540368316-12998-7-git-send-email-luwei.kang@intel.com/
Qemu may also require a change to enable the feature for the guest (`-cpu host,+intel-pt`?)
https://lore.kernel.org/qemu-devel/82D7661F83C1A047AF7DC287873BF1E167EF4877@SHSMSX101.ccr.corp.intel.com/t/
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.