)]}'
{
  "commit": "84b60db830c9431767325f19f31746e4faea0520",
  "tree": "6cb6abbe6f6cc605f071c5f1cbfb905ab1692106",
  "parents": [
    "193d2642c9d53363ef24082e6f3a006666e51f72"
  ],
  "author": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Wed Aug 23 10:27:18 2017 -0400"
  },
  "committer": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Fri Aug 25 14:41:49 2017 -0400"
  },
  "message": "x86: vmm: Use a separate vector for posted IRQs\n\nWe were using I_POKE_CORE, but we actually need two separate IRQs.\nSometimes we actually want to kick the core into the kernel, but if we use\nthe posted IRQ vector and the core was running a guest, we wouldn\u0027t kick\nthe core.\n\nI looked into this because of mpstat.  It\u0027ll send IPIs to force a cpu state\nchange / reevaluation.  But if the guest was spinning or halted, the POKE\nwould have no effect.\n\nThis also is just a little clearer in the code where we are trying to do a\nposted IRQ and where we are just trying to kick the core.\n\nNote that mpstat is a little racy.  We could make it better, but I\u0027d like\nto keep the ability to not interfere with the CG cores.\n\nSigned-off-by: Barret Rhoden \u003cbrho@cs.berkeley.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5034b8612caf8e00e7ae573c8f5ecaa0dcbca59e",
      "old_mode": 33188,
      "old_path": "kern/arch/riscv/trap.h",
      "new_id": "8a4102ee9d9765412f462ee4e67a740c239b146c",
      "new_mode": 33188,
      "new_path": "kern/arch/riscv/trap.h"
    },
    {
      "type": "modify",
      "old_id": "f065dc1c3a936fb2081d81d1dc19cca46d4088d9",
      "old_mode": 33188,
      "old_path": "kern/arch/x86/process64.c",
      "new_id": "8cbe2e46b52c2ff03845b6bf46d7ea0eb8ed6eeb",
      "new_mode": 33188,
      "new_path": "kern/arch/x86/process64.c"
    },
    {
      "type": "modify",
      "old_id": "9f168faf3933255e18af2b4d8bfa446acc61a082",
      "old_mode": 33188,
      "old_path": "kern/arch/x86/trap.c",
      "new_id": "acd5ce228057f069a58c50e8e70c023838a89e8d",
      "new_mode": 33188,
      "new_path": "kern/arch/x86/trap.c"
    },
    {
      "type": "modify",
      "old_id": "ab2834951d1542168b6c7181c0e00151b23ec7b1",
      "old_mode": 33188,
      "old_path": "kern/arch/x86/trap.h",
      "new_id": "e8820b68c8db4fb80f06300ada7323abaab10a78",
      "new_mode": 33188,
      "new_path": "kern/arch/x86/trap.h"
    },
    {
      "type": "modify",
      "old_id": "e7aa8595540c6fde41f4e7901416c93065a9d38f",
      "old_mode": 33188,
      "old_path": "kern/arch/x86/trapentry64.S",
      "new_id": "c9a6d5b8b77dfaf475e8e241af6fb3773a0222ca",
      "new_mode": 33188,
      "new_path": "kern/arch/x86/trapentry64.S"
    },
    {
      "type": "modify",
      "old_id": "771dbb090fcb3df2a8f5a82a1540e4287e010de0",
      "old_mode": 33188,
      "old_path": "kern/arch/x86/vmm/intel/vmx.c",
      "new_id": "f656aebf7d03e8b10d06bc2a0058549e76e5fc59",
      "new_mode": 33188,
      "new_path": "kern/arch/x86/vmm/intel/vmx.c"
    },
    {
      "type": "modify",
      "old_id": "2694800f7b31a4cc94370bee068d941019953428",
      "old_mode": 33188,
      "old_path": "kern/arch/x86/vmm/vmm.c",
      "new_id": "a7b4d95fc0701ed49104db0597238106368fe607",
      "new_mode": 33188,
      "new_path": "kern/arch/x86/vmm/vmm.c"
    },
    {
      "type": "modify",
      "old_id": "70102a1a857f0b7e3f26ab84a1b1e51e34186fa3",
      "old_mode": 33188,
      "old_path": "kern/src/schedule.c",
      "new_id": "7f4087d059062accc1d0a6e4ce84c799963085ab",
      "new_mode": 33188,
      "new_path": "kern/src/schedule.c"
    }
  ]
}
