MAINTAINERS | 1 + docs/specs/index.rst | 1 + docs/specs/rapl-msr.rst | 155 +++++++++ docs/tools/index.rst | 1 + docs/tools/qemu-vmsr-helper.rst | 89 ++++++ meson.build | 7 + include/io/channel.h | 21 ++ include/sysemu/kvm_int.h | 32 ++ target/i386/cpu.h | 8 + target/i386/kvm/vmsr_energy.h | 99 ++++++ tools/i386/rapl-msr-index.h | 28 ++ accel/kvm/kvm-all.c | 27 ++ hw/i386/sgx.c | 6 +- hw/timer/hpet.c | 329 +++++++++---------- io/channel-socket.c | 28 ++ io/channel.c | 13 + target/i386/kvm/kvm.c | 431 ++++++++++++++++++++++++- target/i386/kvm/vmsr_energy.c | 345 ++++++++++++++++++++ tools/i386/qemu-vmsr-helper.c | 530 +++++++++++++++++++++++++++++++ contrib/systemd/qemu-vmsr-helper.service | 15 + contrib/systemd/qemu-vmsr-helper.socket | 9 + hw/timer/trace-events | 4 +- target/i386/kvm/meson.build | 1 + 23 files changed, 1995 insertions(+), 185 deletions(-) create mode 100644 docs/specs/rapl-msr.rst create mode 100644 docs/tools/qemu-vmsr-helper.rst create mode 100644 target/i386/kvm/vmsr_energy.h create mode 100644 tools/i386/rapl-msr-index.h create mode 100644 target/i386/kvm/vmsr_energy.c create mode 100644 tools/i386/qemu-vmsr-helper.c create mode 100644 contrib/systemd/qemu-vmsr-helper.service create mode 100644 contrib/systemd/qemu-vmsr-helper.socket