)]}'
{
  "log": [
    {
      "commit": "91ba3c2128e9ee490a9f04bcd5b54749b18e4410",
      "tree": "c90f5711b990468dc684a8859cc9c498b8d4163d",
      "parents": [
        "48db7b7c50cdb06c85f0ff01b5c19ac34903048b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Jul 18 15:15:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jul 19 21:27:18 2007 -0700"
      },
      "message": "[SPARC64]: Fix handling of multiple vdc-port nodes.\n\nThe \"id\" property in vdc-port nodes are not unique, they\nare all zero.  Therefore assign ID\u0027s using the parent\u0027s\n\"cfg-handle\" property which will be unique.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6160f63518406485c7009cb0f2e1588ea3abccc1",
      "tree": "d0adeedae350dc4829e7eacbf198627a107f393f",
      "parents": [
        "9184a046328d2dfc9f2cf0f831e649a108492124"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 17 23:03:47 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Jul 18 01:20:04 2007 -0700"
      },
      "message": "[SPARC64]: Massively simplify VIO device layer and support hot add/remove.\n\nCreate and destroy VIO devices in response to MD update events.  These\nrun synchronously inside of the MD update mutex so the VIO layer\ndoesn\u0027t need to do internal locking of any sort.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "83292e0a9c3f1c326b28fbf8cb70a8ce81a98163",
      "tree": "38794e806ba5fe8d10234c5c24a4efa22180c05c",
      "parents": [
        "43fdf27470b216ebdef47e09ff83bed2f2894b13"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jul 12 14:16:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jul 16 04:04:33 2007 -0700"
      },
      "message": "[SPARC64]: Fix MD property lifetime bugs.\n\nProperty values cannot be referenced outside of\nmdesc_grab()/mdesc_release() pairs.  The only major\noffender was the VIO bus layer, easily fixed.\n\nAdd some commentary to mdesc.h describing these rules.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43fdf27470b216ebdef47e09ff83bed2f2894b13",
      "tree": "76b9b838089e5679471026037c93325c228df84a",
      "parents": [
        "133f09a169f3022be3de671b29658b7ecb375022"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jul 12 13:47:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jul 16 04:04:28 2007 -0700"
      },
      "message": "[SPARC64]: Abstract out mdesc accesses for better MD update handling.\n\nSince we have to be able to handle MD updates, having an in-tree\nset of data structures representing the MD objects actually makes\nthings more painful.\n\nThe MD itself is easy to parse, and we can implement the existing\ninterfaces using direct parsing of the MD binary image.\n\nThe MD is now reference counted, so accesses have to now take the\nform:\n\n\thandle \u003d mdesc_grab();\n\n\t... operations on MD ...\n\n\tmdesc_release(handle);\n\nThe only remaining issue are cases where code holds on to references\nto MD property values.  mdesc_get_property() returns a direct pointer\nto the property value, most cases just pull in the information they\nneed and discard the pointer, but there are few that use the pointer\ndirectly over a long lifetime.  Those will be fixed up in a subsequent\nchangeset.\n\nA preliminary handler for MD update events from domain services is\nthere, it is rudimentry but it works and handles all of the reference\ncounting.  It does not check the generation number of the MDs,\nand it does not generate a \"add/delete\" list for notification to\ninteresting parties about MD changes but that will be forthcoming.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e53e97ce3c7119199d2788d8fd1618efa9c2d1eb",
      "tree": "799f1b7960fcaf9a02800419b038d42eb031f776",
      "parents": [
        "8f41958bdd577731f7411c9605cfaa9db6766809"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jul 09 22:22:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jul 16 04:03:18 2007 -0700"
      },
      "message": "[SPARC64]: Add LDOM virtual channel driver and VIO device layer.\n\nVirtual devices on Sun Logical Domains are built on top\nof a virtual channel framework.  This, with help of hypervisor\ninterfaces, provides a link layer protocol with basic\nhandshaking over which virtual device clients and servers\ncommunicate.\n\nBuilt on top of this is a VIO device protocol which has it\u0027s\nown handshaking and message types.  At this layer attributes\nare exchanged (disk size, network device addresses, etc.)\ndescriptor rings are registered, and data transfers are\ntriggers and replied to.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ]
}
