)]}'
{
  "commit": "63e5e098d89414f3a801dea828d6e604feaca3f8",
  "tree": "96c50f82eedbc6ee168aba64158c7f4b7dd7ad1b",
  "parents": [
    "21a797e6906b552a5c46298685edef51f6fdb635"
  ],
  "author": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Thu Aug 17 12:25:38 2017 -0400"
  },
  "committer": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Fri Aug 25 14:41:49 2017 -0400"
  },
  "message": "vmm: Remove nasty rdmsr() macro (XCC)\n\nThis cleaned up the kernel\u0027s MSR code a bit.  The rdmsr() macro actually\ncluttered up some of the code, especially in the \"just read the host MSRs\nand copy to the VMCS\" section.\n\nAlso, the order of the parameters to rdmsr() was unclear.  In fact, we had\na bug in the user version of the code for emsr_ok (rdx was first, not\nsecond).  Whoops.\n\nWe had another user bug in miscenable, where we didn\u0027t track PEBS properly.\nI just removed that function completely, since it is never called.  Similar\nwith emsr_mustmatch, both for the kernel and user.\n\nAlso note that the user MSR code will panic if you use it.  Previously,\nyou\u0027d get a GPF if you tried an MSR instruction from userspace.  Instead of\njust deleting it all, I left it there with a panic().  Someone else can use\nthe #arch device to access the MSRs if we feel it is useful.\n\nReinstall your kernel headers.\n\nSigned-off-by: Barret Rhoden \u003cbrho@cs.berkeley.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e0a008e18bd62a25b11a4ba33eb2a14113c0d03c",
      "old_mode": 33188,
      "old_path": "kern/arch/x86/ros/vmx.h",
      "new_id": "4dfe24e5161d6b650c073422ec3adbff6ca30bf6",
      "new_mode": 33188,
      "new_path": "kern/arch/x86/ros/vmx.h"
    },
    {
      "type": "modify",
      "old_id": "f656aebf7d03e8b10d06bc2a0058549e76e5fc59",
      "old_mode": 33188,
      "old_path": "kern/arch/x86/vmm/intel/vmx.c",
      "new_id": "f21dadbc34d8588422cae9b0539d198255f998a8",
      "new_mode": 33188,
      "new_path": "kern/arch/x86/vmm/intel/vmx.c"
    },
    {
      "type": "modify",
      "old_id": "48aa1fbc0480268f219529a9518a3a55f04832a8",
      "old_mode": 33188,
      "old_path": "user/vmm/vmxmsr.c",
      "new_id": "39ee1ce2396ef0efe95cc7f45f71d37fbcbc18e6",
      "new_mode": 33188,
      "new_path": "user/vmm/vmxmsr.c"
    }
  ]
}
