On Fri, Aug 25, 2017 at 08:34:54PM -0400, Emilio G. Cota wrote: > On Sun, Jul 30, 2017 at 17:08:18 +0300, Lluís Vilanova wrote: > > The hypertrace channel allows guest code to emit events in QEMU (the host) > > using > > its tracing infrastructure (see "docs/trace.txt"). This works in both > > 'system' > > and 'user' modes, is architecture-agnostic and introduces minimal noise on > > the > > guest. > > > > See first commit for a full description, use-cases and an example. > > > > Signed-off-by: Lluís Vilanova <vilan...@ac.upc.edu> > > This would be indeed very useful once TCG instrumentation is in place. > > However, I'm not very excited about this being PCI-only and Linux-only for > system mode > I wonder how we could make this work on all hosts -- did you consider using > "magic" instructions? We'd need a different magic instruction for each > guest ISA, but the library would hide that anyway (and the library code > would be the same for user and system modes).
Magic instructions can potentially be implemented more efficiently in TCG too. They wouldn't work under KVM/HAX/hvf accelerators though. Stefan