Skip to content

QEMU Based tracer for full system memory accesses tracing

License

Notifications You must be signed in to change notification settings

HESL-polymtl/QEMTrace

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QEMTrace

A QEMU[1] based tracer for full system memory accesses. QEMTrace allows bare-metal and OS memory access tracing in a non-intrusive manner. It uses the virtualization provided by QEMU to collect information about the memory accesses. We also present the different trace collection means put in place and introduce a Shared Memory Interface (SMI) used to connect QEMTrace to any client application that uses memory traces as input. Contrary to most work, our approach permits the collection of a wide range of information (called meta-data) concerning memory accesses such as their type, privilege level, size, etc. Such information can be used to precisely profile memory usage or access patterns generated by applications.

Build status

Master build Build Status

Supported architectures

  • x86 (i386 and x86_64)
  • PowerPC (tested on e200, e500 and e6500)
  • ARMv7
  • RISC-V (WIP)

Features

  • Fully customizable memory tracing
  • Multiple trace format
  • Shared Memory Interface
  • Cache instructions support

How to use QEMTrace

QEMU is multi-platform software intended to be buildable on all modern Linux platforms, OS-X, Win32 (via the Mingw64 toolchain) and a variety of other UNIX targets. The simple steps to build QEMU are:

mkdir build cd build ../configure make

Additional information can also be found online via the QEMU website:

https://qemu.org/Hosts/Linux https://qemu.org/Hosts/Mac https://qemu.org/Hosts/W32

Contact

For any QEMTrace related question, please contact: alexy.torres-aurora-dugo@polymtl.ca

The QEMU community can be contacted in a number of ways, with the two main methods being email and IRC

Publication

Todo: Publication link

Links

QEMU: https://www.qemu.org

About

QEMU Based tracer for full system memory accesses tracing

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 78.8%
  • C++ 8.1%
  • PHP 5.8%
  • Python 1.4%
  • Assembly 1.3%
  • Objective-C 1.0%
  • Other 3.6%