)]}'
{
  "commit": "64c78fd849a5e1ddcc1ba58326806ab87c755fad",
  "tree": "cccd50f1c3edc2e795191d2ec3a2661dce69d765",
  "parents": [
    "4ab381061e7891df8bfe6e0a19ff0c35eecc4ee3"
  ],
  "author": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Wed Aug 23 14:57:47 2017 -0400"
  },
  "committer": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Fri Aug 25 14:41:49 2017 -0400"
  },
  "message": "vmm: Allow VMMs to change vmexit conditions (XCC)\n\nThe 2LS (or any HR3 app) can change certain vmexit conditions.  For VMX,\nthese are the VMX controls.  For AMD, we\u0027ll have to do something similar.\n\nRight now, you can control exit on halt (default yes) and exit on pause\n(default no).\n\nThe greedy mode scheduler will turn off halt exiting, so that when the\nguest wants to halt, the core will actually halt.  This will cut down on\nthe interference with hyperthreads/caches.  2LSs can actually change this\non the fly, subject to the number of host cores available.\n\nIdeally, we\u0027d allow mwait too, but we need to sort out letting the guest\nmwait for power management, but not use it for monitor-mwait.  As is, they\nactually could monitor-mwait, but once we tell them that mwait (and implied\nmonitor) is available, we can\u0027t renege.  That means we wouldn\u0027t be able to\nchange the exiting status on the fly without the guest potentially sleeping\nforever.\n\nReinstall your kernel headers.\n\nSigned-off-by: Barret Rhoden \u003cbrho@cs.berkeley.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "863fec7655efff10dbcf27412b64cd30085e81a9",
      "old_mode": 33188,
      "old_path": "kern/arch/x86/vmm/intel/vmx.c",
      "new_id": "57b64b0ecd9c9482c0152a95be0fd0ff94dc1955",
      "new_mode": 33188,
      "new_path": "kern/arch/x86/vmm/intel/vmx.c"
    },
    {
      "type": "modify",
      "old_id": "2b448f765addeddca69578bedb0321edbf6bbb3e",
      "old_mode": 33188,
      "old_path": "kern/arch/x86/vmm/intel/vmx.h",
      "new_id": "b8519332e56c4fb206e4c8bad491335019a39a68",
      "new_mode": 33188,
      "new_path": "kern/arch/x86/vmm/intel/vmx.h"
    },
    {
      "type": "modify",
      "old_id": "23384c5d9dc73af1da7af0212699ef204bc72665",
      "old_mode": 33188,
      "old_path": "kern/include/ros/bits/syscall.h",
      "new_id": "f92bc52a0c15ddc91308948b997b3e36d94a4ff1",
      "new_mode": 33188,
      "new_path": "kern/include/ros/bits/syscall.h"
    },
    {
      "type": "modify",
      "old_id": "bf7bb8ca671e4826798cef3a1519685d19057138",
      "old_mode": 33188,
      "old_path": "kern/include/ros/vmm.h",
      "new_id": "ef70f49b1db92bb128ec6a09092ab6cbd9bc9622",
      "new_mode": 33188,
      "new_path": "kern/include/ros/vmm.h"
    },
    {
      "type": "modify",
      "old_id": "32cfae82d54a03352e1efebeca51d287707f6767",
      "old_mode": 33188,
      "old_path": "kern/src/syscall.c",
      "new_id": "39425af00aca6520994463e2b21ec2405a65937d",
      "new_mode": 33188,
      "new_path": "kern/src/syscall.c"
    },
    {
      "type": "modify",
      "old_id": "3ff8fc8289ea8395068819fb80f0de24d494200e",
      "old_mode": 33188,
      "old_path": "tests/strace.c",
      "new_id": "407f572e3a3bcb4dfd4ba95d1f50b3c59f8c76d7",
      "new_mode": 33188,
      "new_path": "tests/strace.c"
    },
    {
      "type": "modify",
      "old_id": "288b8d769bab1466f2758d8dc5622e815e9d4d6f",
      "old_mode": 33188,
      "old_path": "user/vmm/sched.c",
      "new_id": "1cc5b1949cd8dd5692bf80b13f538f63b8c28e95",
      "new_mode": 33188,
      "new_path": "user/vmm/sched.c"
    }
  ]
}
