)]}'
{
  "commit": "183d03cc4ff39e0f0d952c09aa96d0abfd6e0c3c",
  "tree": "75947fc4a9ac69e902663c9cb618993b7c656cff",
  "parents": [
    "38e20b07efd541a959de367dc90a17f92ce2e8a6"
  ],
  "author": {
    "name": "Stefano Stabellini",
    "email": "stefano.stabellini@eu.citrix.com",
    "time": "Mon May 17 17:08:21 2010 +0100"
  },
  "committer": {
    "name": "Jeremy Fitzhardinge",
    "email": "jeremy.fitzhardinge@citrix.com",
    "time": "Thu Jul 22 16:46:09 2010 -0700"
  },
  "message": "xen: Xen PCI platform device driver.\n\nAdd the xen pci platform device driver that is responsible\nfor initializing the grant table and xenbus in PV on HVM mode.\nFew changes to xenbus and grant table are necessary to allow the delayed\ninitialization in HVM mode.\nGrant table needs few additional modifications to work in HVM mode.\n\nThe Xen PCI platform device raises an irq every time an event has been\ndelivered to us. However these interrupts are only delivered to vcpu 0.\nThe Xen PCI platform interrupt handler calls xen_hvm_evtchn_do_upcall\nthat is a little wrapper around __xen_evtchn_do_upcall, the traditional\nXen upcall handler, the very same used with traditional PV guests.\n\nWhen running on HVM the event channel upcall is never called while in\nprogress because it is a normal Linux irq handler (and we cannot switch\nthe irq chip wholesale to the Xen PV ones as we are running QEMU and\nmight have passed in PCI devices), therefore we cannot be sure that\nevtchn_upcall_pending is 0 when returning.\nFor this reason if evtchn_upcall_pending is set by Xen we need to loop\nagain on the event channels set pending otherwise we might loose some\nevent channel deliveries.\n\nSigned-off-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fad3df2c1276165f1e194b7c5f7bb66cda934820",
      "old_mode": 33188,
      "old_path": "drivers/xen/Kconfig",
      "new_id": "8f84b108b491573fe11d7ea6bcec449d98c6cf6a",
      "new_mode": 33188,
      "new_path": "drivers/xen/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "7c284342f30fef956900f93e3386179152873bd0",
      "old_mode": 33188,
      "old_path": "drivers/xen/Makefile",
      "new_id": "e392fb776af365823e5b8985245dc5613c303a4c",
      "new_mode": 33188,
      "new_path": "drivers/xen/Makefile"
    },
    {
      "type": "modify",
      "old_id": "d659480125f07885164353c75b83a1174049b897",
      "old_mode": 33188,
      "old_path": "drivers/xen/events.c",
      "new_id": "7c64473c9f3f1bb75c2a94538a4c24589ea4f934",
      "new_mode": 33188,
      "new_path": "drivers/xen/events.c"
    },
    {
      "type": "modify",
      "old_id": "f66db3b91d6100b2fe875d410553ca0038fadabc",
      "old_mode": 33188,
      "old_path": "drivers/xen/grant-table.c",
      "new_id": "6c453181649683f37c0f87eb59ac1ba1161b71b0",
      "new_mode": 33188,
      "new_path": "drivers/xen/grant-table.c"
    },
    {
      "type": "modify",
      "old_id": "07e857b0de13958e974181ff76f9da11e1af7c7e",
      "old_mode": 33188,
      "old_path": "drivers/xen/manage.c",
      "new_id": "af9c5594d31557bdbb28a019466efa6e78ae0705",
      "new_mode": 33188,
      "new_path": "drivers/xen/manage.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a0ee5d06f7153d2feda09b67fb3bb1da7ed8c48b",
      "new_mode": 33188,
      "new_path": "drivers/xen/platform-pci.c"
    },
    {
      "type": "modify",
      "old_id": "d96fa75b45ecec4003e08709b066afbc45cc6cb8",
      "old_mode": 33188,
      "old_path": "drivers/xen/xenbus/xenbus_probe.c",
      "new_id": "a9e83c438cbbcc9262d4e7a9fc65a5678f9580d0",
      "new_mode": 33188,
      "new_path": "drivers/xen/xenbus/xenbus_probe.c"
    },
    {
      "type": "modify",
      "old_id": "3bedcc149c843bfec71e29c2b6e319a4d052c70b",
      "old_mode": 33188,
      "old_path": "include/linux/pci_ids.h",
      "new_id": "cca2526f28d7e5fc0b27b412fb983c925ea9b483",
      "new_mode": 33188,
      "new_path": "include/linux/pci_ids.h"
    },
    {
      "type": "modify",
      "old_id": "a40f1cd91be1c6ad2fa7ad431b4d599c415448c1",
      "old_mode": 33188,
      "old_path": "include/xen/grant_table.h",
      "new_id": "9a731706a0165404445972903e4cebf1695e784c",
      "new_mode": 33188,
      "new_path": "include/xen/grant_table.h"
    },
    {
      "type": "modify",
      "old_id": "39da93c21de05b3503c0b7e98c6bfefebee42b12",
      "old_mode": 33188,
      "old_path": "include/xen/interface/grant_table.h",
      "new_id": "39e571796e324fac9782cf75fe27563bf6be0f78",
      "new_mode": 33188,
      "new_path": "include/xen/interface/grant_table.h"
    }
  ]
}
