switch (compute) {
        case COMPUTE_CYCLES:
                if (!hists__add_entry_ops(hists, &block_hist_ops, &al, NULL,
-                                         NULL, NULL, sample, true)) {
+                                         NULL, NULL, NULL, sample, true)) {
                        pr_warning("problem incrementing symbol period, "
                                   "skipping event\n");
                        goto out_put;
                break;
 
        default:
-               if (!hists__add_entry(hists, &al, NULL, NULL, NULL, sample,
+               if (!hists__add_entry(hists, &al, NULL, NULL, NULL, NULL, sample,
                                      true)) {
                        pr_warning("problem incrementing symbol period, "
                                   "skipping event\n");
 
                                goto out;
 
                        he = hists__add_entry(hists, &al, NULL,
-                                               NULL, NULL, &sample, true);
+                                             NULL, NULL, NULL, &sample, true);
                        if (he == NULL) {
                                addr_location__put(&al);
                                goto out;
                                goto out;
 
                        he = hists__add_entry(hists, &al, NULL,
-                                               NULL, NULL, &sample, true);
+                                             NULL, NULL, NULL, &sample, true);
                        if (he == NULL) {
                                addr_location__put(&al);
                                goto out;
 
 #include "dso.h"
 #include "build-id.h"
 #include "hist.h"
+#include "kvm-stat.h"
 #include "map.h"
 #include "map_symbol.h"
 #include "branch.h"
                   struct symbol *sym_parent,
                   struct branch_info *bi,
                   struct mem_info *mi,
+                  struct kvm_info *ki,
                   struct block_info *block_info,
                   struct perf_sample *sample,
                   bool sample_self,
                .hists  = hists,
                .branch_info = bi,
                .mem_info = mi,
+               .kvm_info = ki,
                .block_info = block_info,
                .transaction = sample->transaction,
                .raw_data = sample->raw_data,
                                    struct symbol *sym_parent,
                                    struct branch_info *bi,
                                    struct mem_info *mi,
+                                   struct kvm_info *ki,
                                    struct perf_sample *sample,
                                    bool sample_self)
 {
-       return __hists__add_entry(hists, al, sym_parent, bi, mi, NULL,
+       return __hists__add_entry(hists, al, sym_parent, bi, mi, ki, NULL,
                                  sample, sample_self, NULL);
 }
 
                                        struct symbol *sym_parent,
                                        struct branch_info *bi,
                                        struct mem_info *mi,
+                                       struct kvm_info *ki,
                                        struct perf_sample *sample,
                                        bool sample_self)
 {
-       return __hists__add_entry(hists, al, sym_parent, bi, mi, NULL,
+       return __hists__add_entry(hists, al, sym_parent, bi, mi, ki, NULL,
                                  sample, sample_self, ops);
 }
 
         */
        sample->period = cost;
 
-       he = hists__add_entry(hists, al, iter->parent, NULL, mi,
+       he = hists__add_entry(hists, al, iter->parent, NULL, mi, NULL,
                              sample, true);
        if (!he)
                return -ENOMEM;
        sample->period = 1;
        sample->weight = bi->flags.cycles ? bi->flags.cycles : 1;
 
-       he = hists__add_entry(hists, al, iter->parent, &bi[i], NULL,
+       he = hists__add_entry(hists, al, iter->parent, &bi[i], NULL, NULL,
                              sample, true);
        if (he == NULL)
                return -ENOMEM;
        struct hist_entry *he;
 
        he = hists__add_entry(evsel__hists(evsel), al, iter->parent, NULL, NULL,
-                             sample, true);
+                             NULL, sample, true);
        if (he == NULL)
                return -ENOMEM;
 
        struct hist_entry *he;
        int err = 0;
 
-       he = hists__add_entry(hists, al, iter->parent, NULL, NULL,
+       he = hists__add_entry(hists, al, iter->parent, NULL, NULL, NULL,
                              sample, true);
        if (he == NULL)
                return -ENOMEM;
        }
 
        he = hists__add_entry(evsel__hists(evsel), al, iter->parent, NULL, NULL,
-                             sample, false);
+                             NULL, sample, false);
        if (he == NULL)
                return -ENOMEM;