)]}'
{
  "commit": "19d2b5e6ff7202c2bf45c547efa85ae6c2d76bbd",
  "tree": "84d9d315b0307a886ee6df399c2450caf790bd23",
  "parents": [
    "5f5b5942d56a138baad0ae01458d5d0e62d5be68"
  ],
  "author": {
    "name": "Paolo Bonzini",
    "email": "pbonzini@redhat.com",
    "time": "Mon Feb 16 14:08:22 2015 +0100"
  },
  "committer": {
    "name": "Paolo Bonzini",
    "email": "pbonzini@redhat.com",
    "time": "Wed Sep 09 15:34:53 2015 +0200"
  },
  "message": "i8257: rewrite DMA_schedule to avoid hooking into the CPU loop\n\nThe i8257 DMA controller uses an idle bottom half, which by default\ndoes not cause the main loop to exit.  Therefore, the DMA_schedule\nfunction is there to ensure that the CPU relinquishes the iothread\nmutex to the iothread.\n\nHowever, this is not enough since the iothread will call\naio_compute_timeout() and go to sleep again.  In the iothread\nworld, forcing execution of the idle bottom half is much simpler,\nand only requires a call to qemu_notify_event().  Do it, removing\nthe need for the \"cpu_request_exit\" pseudo-irq.  The next patch\nwill remove it.\n\nReviewed-by: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5e1b67ee4389c1e41697cc4bf736c2a9c07433c8",
      "old_mode": 33188,
      "old_path": "hw/block/fdc.c",
      "new_id": "6686a72803b52666bbca52fac642bef9321c6c08",
      "new_mode": 33188,
      "new_path": "hw/block/fdc.c"
    },
    {
      "type": "modify",
      "old_id": "a414029beaec9b3d7c5afd62460460348332f34b",
      "old_mode": 33188,
      "old_path": "hw/dma/i8257.c",
      "new_id": "409ba7d01f9b5df1e2887f1c3d7e44038490eacc",
      "new_mode": 33188,
      "new_path": "hw/dma/i8257.c"
    },
    {
      "type": "modify",
      "old_id": "68ac4d8bba1173c8185f6410ddf19f7189544dcf",
      "old_mode": 33188,
      "old_path": "hw/sparc/sun4m.c",
      "new_id": "ebaae9df27069d4956462df582876b16a3a72dd3",
      "new_mode": 33188,
      "new_path": "hw/sparc/sun4m.c"
    },
    {
      "type": "modify",
      "old_id": "30cfa0e0a0d5de23c6b99e10525c8cc3b22477f8",
      "old_mode": 33188,
      "old_path": "hw/sparc64/sun4u.c",
      "new_id": "44eb4ebb7951d3fb61038978fb426a80eafb36b6",
      "new_mode": 33188,
      "new_path": "hw/sparc64/sun4u.c"
    },
    {
      "type": "modify",
      "old_id": "f21ceaafc671040f50f7029ea1bf5af5a73d1e8c",
      "old_mode": 33188,
      "old_path": "include/hw/isa/isa.h",
      "new_id": "81b94ea264bf974950af631ca3e9d949d2ea66f3",
      "new_mode": 33188,
      "new_path": "include/hw/isa/isa.h"
    }
  ]
}
