)]}'
{
  "log": [
    {
      "commit": "d6cd09ab54444a61d326c5a22544a1b2210eeb03",
      "tree": "9aa430f11acacb15e051b46448e98be247bf8201",
      "parents": [
        "65b05c8a5deabb49378fe78e8a83ded524af09fe"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "sasha.levin@oracle.com",
        "time": "Wed Oct 21 12:41:54 2015 -0400"
      },
      "committer": {
        "name": "Sasha Levin",
        "email": "sasha.levin@oracle.com",
        "time": "Wed Oct 21 12:44:22 2015 -0400"
      },
      "message": "kvmtool: don\u0027t unpause vm when exiting vcpu threads\n\nUnconditionally resuming a vm is wrong here, it may not even be paused to\nbegin with.\n\nReported-by: Dmitry Vyukov \u003cdvyukov@google.com\u003e\nSigned-off-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\n"
    },
    {
      "commit": "65b05c8a5deabb49378fe78e8a83ded524af09fe",
      "tree": "f4e01a11c4f175b3ff75437fc890e7afdf5fa215",
      "parents": [
        "3a90da6305e2741e0da7b89bb16deed038458aee"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "sasha.levin@oracle.com",
        "time": "Tue Oct 20 23:30:41 2015 -0400"
      },
      "committer": {
        "name": "Sasha Levin",
        "email": "sasha.levin@oracle.com",
        "time": "Wed Oct 21 11:53:28 2015 -0400"
      },
      "message": "kvmtool: set 9p caching mode to support writable mmaps\n\n9p doesn\u0027t support writable mmaps by default (when cache\u003dnone), set it to\nloose caching to allow for writable mmaps.\n\nReported-by: Dmitry Vyukov \u003cdvyukov@google.com\u003e\nSigned-off-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\n"
    },
    {
      "commit": "3a90da6305e2741e0da7b89bb16deed038458aee",
      "tree": "56800bb209d52facaedc3fc80e6df3a3797fe429",
      "parents": [
        "49764dc072f1a9bb9955bfa3643e8c62580220d6"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "sasha.levin@oracle.com",
        "time": "Mon Oct 19 10:38:38 2015 -0400"
      },
      "committer": {
        "name": "Sasha Levin",
        "email": "sasha.levin@oracle.com",
        "time": "Wed Oct 21 11:53:28 2015 -0400"
      },
      "message": "kvmtool: assume dead vcpus are paused too\n\nvcpus that have exited their main loop can be treated as paused too when we\u0027re\ntrying to pause the machine to change mappings.\n\nThis might happen during shutdown when we\u0027re trying to unmap ioports but some\nof the vcpus already exited.\n\nSigned-off-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\n"
    },
    {
      "commit": "49764dc072f1a9bb9955bfa3643e8c62580220d6",
      "tree": "03eb7b9a55c1dfebc791fef6d185c551ae988baa",
      "parents": [
        "69f1017e3bf5cc0cdf8f1cf2825099cf9540ece2"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "sasha.levin@oracle.com",
        "time": "Mon Oct 19 10:36:28 2015 -0400"
      },
      "committer": {
        "name": "Sasha Levin",
        "email": "sasha.levin@oracle.com",
        "time": "Wed Oct 21 11:53:28 2015 -0400"
      },
      "message": "kvmtool: correct order of the vcpu destructor\n\nThe vcpu module is a core component which should be removed last, but the\ndestructor was mistakenly marked as something that should be done first.\n\nThis would cause the vcpu data to be freed up before anything else had the\nchance to exit, and assuming that that data was still valid - causing use\nafter frees.\n\nReported-by: Dmitry Vyukov \u003cdvyukov@google.com\u003e\nSigned-off-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\n"
    },
    {
      "commit": "69f1017e3bf5cc0cdf8f1cf2825099cf9540ece2",
      "tree": "3b5a5f47d87f2e2871eddfa47e1dab08dfb06900",
      "parents": [
        "3695adeb227813d96d9c41850703fb53a23845eb"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "sasha.levin@oracle.com",
        "time": "Wed Sep 30 10:35:28 2015 -0400"
      },
      "committer": {
        "name": "Sasha Levin",
        "email": "sasha.levin@oracle.com",
        "time": "Wed Oct 21 11:53:28 2015 -0400"
      },
      "message": "kvmtool: add support for modern virtio-pci\n\nThis is a first go at adding support for the modern (based on the 1.0 virtio\nspec) virtio-pci implementation.\n\nkvmtool makes it simple to add additional transports such as this because of\nit\u0027s layering, so we are able to add it as a 3rd (after legacy virtio-pci and\nvirtio-mmio) transport layer, and still allow users to choose to use either\nthe legacy or the modern implementations (but setting the modern one as\ndefault.\n\nThe changes to the virtio devices are mostly the result of needing to support\n\u003e32bit features, and the different initialization method for VQs.\n\nIt\u0027s worth noting that supporting v1.0 implies any_layout, but some of our\ndevices made assumptions about the layout - which I\u0027ve fixed. But it\u0027s worth\nto keep in mind that some probably went unnoticed.\n\nTo sum it up: this is a lightly tested version for feedback about the design\nand to weed out major bugs people notice. Feedback is very welcome!\n\nSigned-off-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\n"
    },
    {
      "commit": "3695adeb227813d96d9c41850703fb53a23845eb",
      "tree": "0541b693a40efbcc7840daa0605407ef30e1bb54",
      "parents": [
        "cdce942c1a3a04635065a7972ca4e21386664756"
      ],
      "author": {
        "name": "Sven Dowideit",
        "email": "SvenDowideit@home.org.au",
        "time": "Sat Oct 03 22:42:55 2015 +1000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Fri Oct 09 10:00:59 2015 +0100"
      },
      "message": "Add a link to the lwn.net article\n\nSigned-off-by: Sven Dowideit \u003cSvenDowideit@home.org.au\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "cdce942c1a3a04635065a7972ca4e21386664756",
      "tree": "13341bca16a21ef8fc610bcc5de6951ff72af78e",
      "parents": [
        "0837fbe24248af000b9aa2e3101eed52188e54a5"
      ],
      "author": {
        "name": "Dimitri John Ledkov",
        "email": "dimitri.j.ledkov@intel.com",
        "time": "Fri Sep 11 15:40:00 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Tue Sep 15 18:18:58 2015 +0100"
      },
      "message": "Make static libc and guest-init functionality optional.\n\nIf one typically only boots full disk-images, one wouldn\u0027t necessaraly\nwant to statically link glibc, for the guest-init feature of the\nkvmtool. As statically linked glibc triggers haevy security\nmaintainance.\n\nSigned-off-by: Dimitri John Ledkov \u003cdimitri.j.ledkov@intel.com\u003e\n[will: moved all the guest_init handling into builtin_setup.c]\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "0837fbe24248af000b9aa2e3101eed52188e54a5",
      "tree": "a9e1294452e5043c73f80af60cb8a9d020d216ce",
      "parents": [
        "0161ed77586b53f080f1fa4c3d95284dcd092b84"
      ],
      "author": {
        "name": "Riku Voipio",
        "email": "riku.voipio@linaro.org",
        "time": "Thu Sep 03 12:20:12 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Thu Sep 10 11:13:58 2015 +0100"
      },
      "message": "Makefile: relax arm test\n\nCurrently Makefile accepts only armv7l.* When building kvmtool under 32bit\npersonality on Aarch64 machines, uname -m reports \"armv8l\", so build fails.\nWe expect doing 32bit arm builds in Aarch64 to become standard the same way\npeople do i386 builds on x86_64 machines.\n\nMake the sed test a little more greedy so armv8l becomes acceptable.\n\nAcked-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Riku Voipio \u003criku.voipio@linaro.org\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "0161ed77586b53f080f1fa4c3d95284dcd092b84",
      "tree": "6376c185059008679e6e03df11a4c11c9c339304",
      "parents": [
        "efcf862611f2498d7b500e46a73d8a008e04325f"
      ],
      "author": {
        "name": "Mark Rutland",
        "email": "mark.rutland@arm.com",
        "time": "Thu Sep 03 15:47:47 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Fri Sep 04 11:42:12 2015 +0100"
      },
      "message": "Handle KVM_EXIT_SYSTEM_EVENT on any VCPU\n\nWhen VCPU #0 exits (e.g. due to KVM_EXIT_SYSTEM_EVENT), it sends\nSIGKVMEXIT to all other VCPUs, waits for them to exit, then tears down\nany remaining context. The signalling of SIGKVMEXIT is critical to\nforcing VCPUs to shut down in response to a system event (e.g. PSCI\nSYSTEM_OFF).\n\nVCPUs other that VCPU #0 simply exit in kvm_cpu_thread without forcing\nother CPUs to shut down. Thus if a system event is taken on a VCPU other\nthan VCPU #0, the remaining CPUs are left online. This results in KVM\ntool not exiting as expected when a system event is taken on a VCPU\nother than VCPU #0 (as may happen if the guest panics).\n\nFix this by tearing down all CPUs upon a system event, regardless of the\nCPU on which the event occurred. While this means the VCPU thread will\nsignal itself, and VCPU #0 will signal all other VCPU threads a second\ntime, these are harmless.\n\nSigned-off-by: Mark Rutland \u003cmark.rutland@arm.com\u003e\nCc: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nCc: Suzuki Poulose \u003csuzuki.poulose@arm.com\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "efcf862611f2498d7b500e46a73d8a008e04325f",
      "tree": "fcc0b2f6943b14c9c17c271fb1a6131eea189390",
      "parents": [
        "2ec1740506eb94cb53a9532e15816ffe8245e25d"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Thu Aug 06 19:40:14 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Fri Aug 07 15:31:37 2015 +0100"
      },
      "message": "README: Add section for where to send patches.\n\nSigned-off-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "2ec1740506eb94cb53a9532e15816ffe8245e25d",
      "tree": "a33a66ef5c35c2ade811d29f12f796ab330e7818",
      "parents": [
        "e7b95bd430760d8b895520f54fdf9d19972904d2"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Thu Aug 06 19:39:59 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Fri Aug 07 15:31:37 2015 +0100"
      },
      "message": "kvm__emulate_io: Don\u0027t fall through from IO in to IO out if no handler\n\nIf an IO port device has no io_in handler, kvm__emulate_io would fall\nthrough and call the io_out handler instead.  Fix to only call the\nhandler for the appropriate direction.\n\nIf no handler exists, kvm__emulate_io will automatically treat it as an\nIO error (due to the default \"ret \u003d false\").\n\nSigned-off-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "e7b95bd430760d8b895520f54fdf9d19972904d2",
      "tree": "6e5292ccc522dea98fd3fda24de22169aefbc373",
      "parents": [
        "eef27ae368562bcce4f8a2b65822b307da0d4146"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Thu Aug 06 19:39:44 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Fri Aug 07 15:31:37 2015 +0100"
      },
      "message": "kvm__emulate_io: Don\u0027t call br_read_unlock() twice on IO error\n\nThe IO error path in kvm__emulate_io would call br_read_unlock(), then\ngoto error, which would call br_read_unlock() again.  Refactor the\ncontrol flow to have only one exit path and one call to\nbr_read_unlock().\n\nSigned-off-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "eef27ae368562bcce4f8a2b65822b307da0d4146",
      "tree": "23457b43ec57118f0bc763d77dfd574db6faf149",
      "parents": [
        "4095fac878f618ae5e7384a1dc65ee34b6e05217"
      ],
      "author": {
        "name": "Fan Du",
        "email": "fan.du@intel.com",
        "time": "Wed Aug 05 11:53:58 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Thu Aug 06 18:37:37 2015 +0100"
      },
      "message": "kvmtool: Introduce downscript option for virtio-net\n\nTo detach tap device automatically from bridge when exiting,\njust like what the reverse of \"script\" does.\n\nSigned-off-by: Fan Du \u003cfan.du@intel.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "4095fac878f618ae5e7384a1dc65ee34b6e05217",
      "tree": "1cecb53ab793d309040ee2471a304388051b744b",
      "parents": [
        "f9183c63e3b170a4a323a67fc7e06a83cf1b0dea"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Tue Jul 21 10:58:46 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Wed Jul 22 16:57:34 2015 +0100"
      },
      "message": "avoid redefining PAGE_SIZE\n\nPAGE_SIZE may have been defined by the C libary (musl-libc does that).\nSo avoid redefining it here unconditionally, instead only use our\ndefinition if none has been provided by the libc.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "f9183c63e3b170a4a323a67fc7e06a83cf1b0dea",
      "tree": "5395669e1bbf4b54f3a4cf4124560b9aa3e1e77c",
      "parents": [
        "1c40b18c9bfa1d520df9a24d8d9e2832a47b3b8a"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Tue Jul 21 10:58:45 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Wed Jul 22 16:57:34 2015 +0100"
      },
      "message": "Makefile: avoid non-literal printf format string warnings\n\nThe clang compiler by default dislikes non-literal format strings\nin *printf functions, so it complains about kvm__set_dir() in kvm.c\nand about the error reporting functions.\nSince a fix is not easy and the code itself is fine (just seems that\nthe compiler is not smart enough to see that), let\u0027s just disable\nthe warning. Since GCC knows about this option as well (it just\ndoesn\u0027t have it enabled with -Wall), we can unconditionally add this\nto the warning options.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "1c40b18c9bfa1d520df9a24d8d9e2832a47b3b8a",
      "tree": "dfb59cc38db188814ca4fd49fc906d05fb1bc072",
      "parents": [
        "8f22adc4230f07980a318ad1662fba5af0c131c1"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Jul 17 17:02:18 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jul 20 18:25:48 2015 +0100"
      },
      "message": "remove KVM_CAP_MAX_VCPUS hack\n\nAs we now have the header file in our repository, we can safely follow\nthe recommendation in kvm.c and remove the hack adding the\nKVM_CAP_MAX_VCPUS macro.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "8f22adc4230f07980a318ad1662fba5af0c131c1",
      "tree": "5740e0942db90a7fbe0c1aa65480399460edef0a",
      "parents": [
        "52c22e6e64a94cc701d86587d32cd3822ac5c293"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Jul 17 17:02:16 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jul 20 18:25:48 2015 +0100"
      },
      "message": "check for and use C library provided strlcpy and strlcat\n\nThe musl-libc library provides implementations of strlcpy and strlcat,\nso introduce a feature check for it and only use the kvmtool\nimplementation if there is no library support for it.\nThis avoids clashes with the public definition.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "52c22e6e64a94cc701d86587d32cd3822ac5c293",
      "tree": "139c6f7cff1ccdd12fc4667f5c0b890efa5afc66",
      "parents": [
        "d77bd4f466f341d4b35fe8b91176ef8a37160e19"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Jul 17 17:02:15 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jul 20 18:25:48 2015 +0100"
      },
      "message": "use \u003cpoll.h\u003e instead of \u003csys/poll.h\u003e\n\nThe manpage of poll(2) states that the prototype of poll is defined\nin \u003cpoll.h\u003e. Use that header file instead of \u003csys/poll.h\u003e to allow\ncompilation against musl-libc.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "d77bd4f466f341d4b35fe8b91176ef8a37160e19",
      "tree": "2747c8df25c619e432abc2d5580efa59fbbf92a7",
      "parents": [
        "369c27e68300a6cf0a98f7455a81b7e4473c7a8b"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Jul 17 17:02:14 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jul 20 18:25:48 2015 +0100"
      },
      "message": "Fix call to connect()\n\nAccording to the manpage and the prototype the second argument to\nconnect(2) is a \"const struct sockaddr*\", so cast our protocol\nspecific type back to the super type.\nThis fixes compilation on musl-libc.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "369c27e68300a6cf0a98f7455a81b7e4473c7a8b",
      "tree": "97af8b201756cf1c6725ca6aeae8e74dcc8b9a1d",
      "parents": [
        "5389d44f5fef19d661eedb7cf293364f0714e8f0"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Jul 17 17:02:11 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jul 20 18:25:48 2015 +0100"
      },
      "message": "ui: remove pointless double const in keymap declarations\n\nclang does not like two const specifiers in one declaration, so\nremove one to let clang compile kvmtool.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "5389d44f5fef19d661eedb7cf293364f0714e8f0",
      "tree": "feab8257ff87dbe165a7cd4f26d4dc123f6bd95c",
      "parents": [
        "a2583dbf82ff8eb913b871fe64c0d691c4c14e3c"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Jul 17 17:02:10 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jul 20 18:25:48 2015 +0100"
      },
      "message": "Makefile: remove unneeded -s switch on compiling BIOS files\n\nStripping has no effect on object files, so having \"-s -c\" on the\ncommand line makes no sense.\nIn fact clang complains about it and aborts with an error, so lets\njust remove the unneeded \"-s\" switch here.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "a2583dbf82ff8eb913b871fe64c0d691c4c14e3c",
      "tree": "648dccac2cbe9e54d9b724f250e6fc8ad5e62752",
      "parents": [
        "823c7fd8e9f3de57853f9698b93729de3fb5175c"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Jul 17 17:02:09 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jul 20 18:25:48 2015 +0100"
      },
      "message": "kvm-ipc: use proper type for file descriptor\n\nA socket (as any other file descriptor) is of type \"int\" to catch the\nnegative error cases. Fix the declaration to allow errors to be\ndetected.\nFound and needed by clang.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "823c7fd8e9f3de57853f9698b93729de3fb5175c",
      "tree": "ed5d031497fbe56973a3e2c79771ffc77bae73c1",
      "parents": [
        "15542bab78ec91a6ccf03d4fedd165c8867c22da"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Jul 17 17:02:08 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jul 20 18:25:48 2015 +0100"
      },
      "message": "qcow: fix signedness bugs\n\nSome functions in qcow.c return u64, but are checked against \u003c 0\nbecause they want to check for the -1 error return value.\nDo an explicit comparison against the casted -1 to express this\nproperly.\nThis was silently compiled out by gcc, but clang complained about it.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "15542bab78ec91a6ccf03d4fedd165c8867c22da",
      "tree": "aaa7de593c2197c749bd1f74c412253cb69dacc0",
      "parents": [
        "43d2781c273192b678b090f3e3c31edfbaeca54d"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Jul 17 17:02:07 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jul 20 18:25:47 2015 +0100"
      },
      "message": "avoid casts when initializing structures\n\nDue to our kernel heritage we have code in kvmtool that relies on\nthe (still) implicit -std\u003dgnu89 compiler switch.\nIt turns out that this just affects some structure initialization,\nwhere we currently provide a cast to the type, which upsets GCC for\nanything beyond -std\u003dgnu89 (for instance gnu99 or gnu11).\nWe do need the casts when initializing structures that are not\nassigned to the same type, so we put it there explicitly.\n\nThis allows us to compile with all the three GNU standards GCC\ncurrently supports: gnu89/90, gnu99 and gnu11.\nGCC threatens people with moving to gnu11 as the new default standard,\nso lets fix this better sooner than later.\n(Compiling without GNU extensions still breaks and I don\u0027t bother to\nfix that without very good reasons.)\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "43d2781c273192b678b090f3e3c31edfbaeca54d",
      "tree": "174e007d19a99edb0555492772433e192a6c1f28",
      "parents": [
        "bfb2c703767272be20b021892a6aee2f6f47fef3"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Jul 03 12:26:38 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Wed Jul 08 17:41:00 2015 +0100"
      },
      "message": "arm: use new irqchip parameter to create different vGIC types\n\nCurrently we unconditionally create a virtual GICv2 in the guest.\nAdd a --irqchip\u003d parameter to let the user specify a different GIC\ntype for the guest, when omitting this parameter it still defaults to\n--irqchip\u003dgicv2.\nFor now the only other supported type is --irqchip\u003dgicv3\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\n[will: use pr_err instead of fprintf]\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "bfb2c703767272be20b021892a6aee2f6f47fef3",
      "tree": "8d9fbd070f350f4519440c5cc1c51d7322fcd914",
      "parents": [
        "02017c1d16d0a129e37472fc03788e48583f3a67"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Jul 03 12:26:37 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Wed Jul 08 17:39:32 2015 +0100"
      },
      "message": "arm: add support for supplying GICv3 redistributor addresses\n\nInstead of the GIC virtual CPU interface an emulated GICv3 needs to\nhave accesses to its emulated redistributors trapped in the guest.\nAdd code to tell the kernel about the mapping if a GICv3 emulation was\nrequested by the user.\n\nThis contains some defines which are not (yet) in the (32 bit) header\nfiles to allow compilation for ARM.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nReviewed-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "02017c1d16d0a129e37472fc03788e48583f3a67",
      "tree": "21d52e51e15bea458f7acfc7bc8682a71648339e",
      "parents": [
        "5e8e9a011cb8f55bec76307b354a58a635f311fd"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Jul 03 12:26:36 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Wed Jul 08 17:39:32 2015 +0100"
      },
      "message": "arm: prepare for instantiating different IRQ chip devices\n\nExtend the vGIC handling code to potentially deal with different IRQ\nchip devices instead of hard-coding the GICv2 in.\nWe extend most vGIC functions to take a type parameter, but still put\nGICv2 in at the top for the time being.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nReviewed-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "5e8e9a011cb8f55bec76307b354a58a635f311fd",
      "tree": "b60cbf3919069881dc26dc7ac22167114af5e558",
      "parents": [
        "ce6ae1228ab272c0502d720f3f098a1ac04bd120"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Jul 03 12:26:35 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Wed Jul 08 17:39:32 2015 +0100"
      },
      "message": "limit number of VCPUs on demand\n\nCurrently the ARM GIC checks the number of VCPUs against a fixed\nlimit, which is GICv2 specific. Don\u0027t pretend we know better than the\nkernel and let\u0027s get rid of that explicit check.\nWe now fail if the number of requested VCPUs could not be\ninstantiated instead of limiting the number of VCPUs.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "ce6ae1228ab272c0502d720f3f098a1ac04bd120",
      "tree": "3bf4a26acbd92adf85cb59f9ba87deed8f8f8d6e",
      "parents": [
        "b57903027999ac71b7c707f33a22e357d2e946c0"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Jul 03 12:26:34 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Wed Jul 08 17:39:32 2015 +0100"
      },
      "message": "arm: simplify MMIO dispatching\n\nCurrently we separate any incoming MMIO request into one of the ARM\nmemory map regions and take care to spare the GIC.\nIt turns out that this is unnecessary, as we only have one special\nregion (the IO port area in the first 64 KByte). The MMIO rbtree\ntakes care about unhandled MMIO ranges, so we can simply drop all the\nspecial range checking (except that for the IO range) in\nkvm_cpu__emulate_mmio().\nAs the GIC is handled in the kernel, a GIC MMIO access should never\nreach userland (and we don\u0027t know what to do with it anyway).\nThis lets us delete some more code and simplifies future extensions\n(like expanding the GIC regions).\nTo be in line with the other architectures, move the now simpler\ncode into a header file.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nReviewed-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "b57903027999ac71b7c707f33a22e357d2e946c0",
      "tree": "b3588d23a2de347e6f1d8a405206293dc05e36b7",
      "parents": [
        "bed2bd9e1fbef5819090feeada7b86eed97ca5e2"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Jul 03 12:26:33 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Wed Jul 08 17:39:32 2015 +0100"
      },
      "message": "arm: finish VGIC initialisation explicitly\n\nSince Linux 3.19-rc1 there is a new API to explicitly initialise\nthe in-kernel GIC emulation by a userland KVM device call.\nUse that to tell the kernel we are finished with the GIC\ninitialisation, since the automatic GIC init will only be provided\nas a legacy functionality in the future.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nReviewed-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "bed2bd9e1fbef5819090feeada7b86eed97ca5e2",
      "tree": "8d7b7f985816e1088eec776cb197822d636e8a42",
      "parents": [
        "cb87229be5a987ac335b0851a0d1e2b4dd9d7632"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Fri Jul 03 12:26:32 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Wed Jul 08 17:39:32 2015 +0100"
      },
      "message": "AArch{32,64}: dynamically configure the number of GIC interrupts\n\nIn order to reduce the memory usage of large guests (as well\nas improve performance), tell KVM about the number of interrupts\nwe require.\n\nTo avoid synchronization with the various device creation,\nuse a late_init callback to compute the GIC configuration.\n[Andre: rename to gic__init_gic() to ease future expansion]\n\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "cb87229be5a987ac335b0851a0d1e2b4dd9d7632",
      "tree": "7ccba1128350a9968b623c765e01f6ee2d4e63ac",
      "parents": [
        "69b9a17ac8a372f87c69ebf1cc6580963c07b441"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Fri Jul 03 12:26:31 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Wed Jul 08 17:39:32 2015 +0100"
      },
      "message": "irq: add irq__get_nr_allocated_lines\n\nThe ARM GIC emulation needs to be told the number of interrupts\nit has to support. As commit 1c262fa1dc7bc (\"kvm tools: irq: make\nirq__alloc_line generic\") made the interrupt counter private,\nadd a new accessor returning the number of interrupt lines we\u0027ve\nallocated so far.\n\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "69b9a17ac8a372f87c69ebf1cc6580963c07b441",
      "tree": "8314463078a0d5877e2b49c084f510e512a3b64e",
      "parents": [
        "3fc7fe4ff147aa145f8fb8c8bae324ad37f46005"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Fri Jul 03 12:26:30 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Wed Jul 08 17:39:32 2015 +0100"
      },
      "message": "AArch{32,64}: use KVM_CREATE_DEVICE \u0026 co to instanciate the GIC\n\nAs of 3.14, KVM/arm supports the creation/configuration of the GIC through\na more generic device API, which is now the preferred way to do so.\n\nPlumb the new API in, and allow the old code to be used as a fallback.\n\n[Andre: Rename some functions on the way to differentiate between\ncreation and initialisation more clearly and fix error path.]\n\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "3fc7fe4ff147aa145f8fb8c8bae324ad37f46005",
      "tree": "c336376b182980ae26b18006c3291118e89e9dc6",
      "parents": [
        "50687d873a7d952850591890ac087a3c954167d9"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Fri Jul 03 12:26:29 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Wed Jul 08 17:39:32 2015 +0100"
      },
      "message": "AArch64: Reserve two 64k pages for GIC CPU interface\n\nOn AArch64 system with a GICv2, the GICC range can be aligned\nto the last 4k block of a 64k page, ending up straddling two\n64k pages. In order not to conflict with the distributor mapping,\nallocate two 64k pages to the CPU interface.\n\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "50687d873a7d952850591890ac087a3c954167d9",
      "tree": "ca8ff1b59ac4e82967b5d1a0fb6f02e7ffd34b6d",
      "parents": [
        "71ca0fac39f508d3fa76fb5ea055a62b1785ec7a"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Wed Jul 08 17:38:30 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Wed Jul 08 17:38:30 2015 +0100"
      },
      "message": "Typo fix in error message\n\ns/unsuppored/unsupported/\n\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "71ca0fac39f508d3fa76fb5ea055a62b1785ec7a",
      "tree": "7be7f62a4bc07d77d1c66d9d17272eca0b68e61b",
      "parents": [
        "57896feeda9f182b6d423a3c6dcc142d258a1703"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Jun 26 14:31:48 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 29 10:49:45 2015 +0100"
      },
      "message": "kvmtool: vhost-net: fix ioeventfd registration\n\nOn registering the ioeventfds for the virtio-pci device we cover both\nthe I/O ports and the MMIO BAR.\nBut as the current code advertises both as PIO, the host kernel gets\nthe wrong bus number for the MMIO region.\nFix the issue by marking only the actual PIO area as PIO.\nThis fixes vhost-net on x86.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "57896feeda9f182b6d423a3c6dcc142d258a1703",
      "tree": "90bb0fcafcd17ff3b5a5d5e61b8cee7f78ec0891",
      "parents": [
        "e9922aaf435bc4bb3b1f462bcca4c601a625b07b"
      ],
      "author": {
        "name": "Andreas Herrmann",
        "email": "andreas.herrmann@caviumnetworks.com",
        "time": "Mon Jun 29 09:02:15 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 29 10:45:52 2015 +0100"
      },
      "message": "kvmtool, mips: Support more than 256 MB guest memory\n\nTwo guest memory regions need to be defined and two \"mem\u003d\" parameters\nneed to be passed to guest kernel to support more than 256 MB.\n\nSigned-off-by: Andreas Herrmann \u003candreas.herrmann@caviumnetworks.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "e9922aaf435bc4bb3b1f462bcca4c601a625b07b",
      "tree": "e55e9c0b4e5a37e03631daacfc67c0e00a9a50d4",
      "parents": [
        "e6655b75f285d14be38d247126b00621f46d659c"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Thu Jun 04 16:20:45 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 22 15:42:49 2015 +0100"
      },
      "message": "kvmtool: don\u0027t use PCI config space IRQ line field\n\nIn PCI config space there is an interrupt line field (offset 0x3f),\nwhich is used to initially communicate the IRQ line number from\nfirmware to the OS. _Hardware_ should never use this information,\nas the OS is free to write any information in there.\nBut kvmtool uses this number when it triggers IRQs in the guest,\nwhich fails starting with Linux 3.19-rc1, where the PCI layer starts\nwriting the virtual IRQ number in there.\n\nFix that by storing the IRQ number in a separate field in\nstruct virtio_pci, which is independent from the PCI config space\nand cannot be influenced by the guest.\nThis fixes ARM/ARM64 guests using PCI with newer kernels.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "e6655b75f285d14be38d247126b00621f46d659c",
      "tree": "b703cb41f7ba2ab623cfe77b96431f783dedef15",
      "parents": [
        "241f595f92c337426b50dc94327e48ae675b88f6"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "mpe@ellerman.id.au",
        "time": "Fri Jun 19 08:21:01 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Fri Jun 19 11:15:35 2015 +0100"
      },
      "message": "powerpc: Enable 32-bit build\n\nWe have always built kvmtool as 64-bit on powerpc, but mainly just out\nof habit. There\u0027s not AFAIK any reason we *can\u0027t* build 32-bit.\n\nSo fix up a few places where we were assuming 64-bit, and drop the\nMakefile logic that forces 64-bit.\n\nSigned-off-by: Michael Ellerman \u003cmpe@ellerman.id.au\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "241f595f92c337426b50dc94327e48ae675b88f6",
      "tree": "494c1e9bb86669d271598a6816b150d428eebc14",
      "parents": [
        "e96a27a10732d9958ae7eb2c0ee62a5072f427f3"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "mpe@ellerman.id.au",
        "time": "Fri Jun 19 08:21:00 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Fri Jun 19 11:15:35 2015 +0100"
      },
      "message": "powerpc: Define the hcall opcodes \u0026 return values we need\n\nNow that we don\u0027t have the kernel header on hand, just define the\nminimum set of hcall opcodes and return values we need in order to\nbuild.\n\nSigned-off-by: Michael Ellerman \u003cmpe@ellerman.id.au\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "e96a27a10732d9958ae7eb2c0ee62a5072f427f3",
      "tree": "05c2b6e7fdfaadbad5c131f0d5c4acc6786d05ca",
      "parents": [
        "372f583d359a5bdcbbe7268809c8d1dc179c64d2"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Wed Jun 17 10:43:48 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Wed Jun 17 11:48:15 2015 +0100"
      },
      "message": "powerpc: implement barrier primitives\n\nInstead of referring to the Linux header including the barrier\nmacros, copy over the rather simple implementation for the PowerPC\nbarrier instructions kvmtool uses. This fixes build for powerpc.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "372f583d359a5bdcbbe7268809c8d1dc179c64d2",
      "tree": "f438e8d3d0cf6067a89adb154c977a2d5a421832",
      "parents": [
        "9ed717c35054e627f60de4beaba966f6b536a810"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Jun 12 16:02:52 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Tue Jun 16 18:31:42 2015 +0100"
      },
      "message": "guest/init: update reboot() call\n\nThe reboot() call that guest/init used was an older version, the\nmanpage talks about libc4 and libc5.\nUpdate it to the current version exported by glibc by using the right\ninclude file and adjusting the parameter.\nThis also fixed GCC 5.1.0 compile, because linux/reboot.h misses the\nactual prototype.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "9ed717c35054e627f60de4beaba966f6b536a810",
      "tree": "0309853e47c6c87ceb0db286d0bfbd2e21264146",
      "parents": [
        "fe50bacba850c5ec9264f0cd1aaefd7a533ca4b6"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Jun 12 16:02:51 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Tue Jun 16 18:31:42 2015 +0100"
      },
      "message": "guest/init: add missing #includes\n\nGCC 5.1.0 complains about missing prototypes for waitpid() and\nmkdir(), so add the appropriate #includes to get rid of the warning.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "fe50bacba850c5ec9264f0cd1aaefd7a533ca4b6",
      "tree": "e811d27ffa258dad4e1ad484b5465a665447c442",
      "parents": [
        "7f9733c2dd4aff9dbb5e0655497c5e1f47ccd9a8"
      ],
      "author": {
        "name": "Andreas Herrmann",
        "email": "andreas.herrmann@caviumnetworks.com",
        "time": "Mon Jun 15 12:49:46 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Tue Jun 16 18:25:33 2015 +0100"
      },
      "message": "kvmtool: Fix length of ioevent for VIRTIO_PCI_QUEUE_NOTIFY\n\nVIRTIO_PCI_QUEUE_NOTIFY is 16-bit and iowrite16 is used in\ndrivers/virtio/virtio_pci.c to notify the other side.\n\nIf the size doesn\u0027t match notification via mmio write will fail.\n\nSigned-off-by: Andreas Herrmann \u003candreas.herrmann@caviumnetworks.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "7f9733c2dd4aff9dbb5e0655497c5e1f47ccd9a8",
      "tree": "48e3bdbe809e3036dfa4f36d6488fb29c7190f7f",
      "parents": [
        "f83dc816a9c76f87ad90723f366700077fb367ea"
      ],
      "author": {
        "name": "Andreas Herrmann",
        "email": "andreas.herrmann@caviumnetworks.com",
        "time": "Mon Jun 15 12:49:44 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Tue Jun 16 18:25:33 2015 +0100"
      },
      "message": "kvmtool: Register each guest memory bank as vhost_memory_region\n\nOtherwise vhost does not work if a virtio descriptor is used that was\nallocated from a guest memory bank not registered as\nvhost_memory_region.\n\nSigned-off-by: Andreas Herrmann \u003candreas.herrmann@caviumnetworks.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "f83dc816a9c76f87ad90723f366700077fb367ea",
      "tree": "c46e4a8661a75060903a37c63c17213625ec5359",
      "parents": [
        "c8058b88379ef2e72f184ee2be186d99a12beabd"
      ],
      "author": {
        "name": "Andreas Herrmann",
        "email": "andreas.herrmann@caviumnetworks.com",
        "time": "Mon Jun 15 12:49:43 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Tue Jun 16 18:25:33 2015 +0100"
      },
      "message": "kvmtool: Fix regression introduced with d2a7ddff4\n\nSince commit d2a7ddff4 (Add minimal support for macvtap) opening\nof tap device might fail. lkvm shows\n\n  Warning: Config tap device error. Are you root?\n\nvirtio_net_request_tap passed wrong pointer for struct ifreq to\nTUNSETIFF ioctl.\n\nSigned-off-by: Andreas Herrmann \u003candreas.herrmann@caviumnetworks.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "c8058b88379ef2e72f184ee2be186d99a12beabd",
      "tree": "19178e2f892a3a4e0da10e4422719269d96e966e",
      "parents": [
        "0fc7018d0be707c3f48fe78ef6276636d7eae65a"
      ],
      "author": {
        "name": "Andreas Herrmann",
        "email": "andreas.herrmann@caviumnetworks.com",
        "time": "Mon Jun 15 12:49:42 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Tue Jun 16 18:25:33 2015 +0100"
      },
      "message": "kvmtool: Fix compile error on MIPS\n\nWhen including asm-generic/types.h instead of asm/types.h it results\nin conflicting types for __s64 et al (at least with my\ntoolchain). Other header files are including asm/types.h\n(e.g. include/kvm/ioport.h) and types defined there don\u0027t necessarily\nmatch the types defined in asm-generic/types.h.\n\nSigned-off-by: Andreas Herrmann \u003candreas.herrmann@caviumnetworks.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "0fc7018d0be707c3f48fe78ef6276636d7eae65a",
      "tree": "df6a619d7a1595c4b54fa17b37c8d18b246bf37a",
      "parents": [
        "8618570ee37bde4bbd399d3cb8ce3d811ef0361a"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Thu Jun 04 16:33:27 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Fri Jun 05 16:31:26 2015 +0100"
      },
      "message": "kvmtool: Makefile: Don\u0027t defer error output on unsupported architectures\n\nHaving ARCH defined to something unknown or trying to compile kvmtool\non an unsupported architecture barfs quite late, actually after\nchecking for libraries. This gives a lot of messages, but the only\nuseful one (architecture not supported) is easily overseen.\nAbort early if ARCH contains an unknown architecture name.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "8618570ee37bde4bbd399d3cb8ce3d811ef0361a",
      "tree": "380ab5f7832fd7e268e002e709c3e0139934d7cf",
      "parents": [
        "57fa349a9792a629e4ed2d89e1309cc96dcc39af"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Thu Jun 04 16:33:26 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Fri Jun 05 16:31:26 2015 +0100"
      },
      "message": "kvmtool: Makefile: only enable framebuffer output on x86\n\nThe Makefile checks for the libaries needed to display the guest\u0027s\nframebuffer unconditionally on all architectures.\nHowever currently only x86 supports a guest framebuffer.\nIntroduce ARCH_HAS_FRAMEBUFFER in the Makefile and check for the\nneeded libraries only on x86. If other architectures add support for\nit later, we can add them easily.\nThis avoids pulling in unneeded libraries into the lkvm binary, which\nbreaks copying over binaries into systems with only minimal userland.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "57fa349a9792a629e4ed2d89e1309cc96dcc39af",
      "tree": "ddf1e5bad2016af6d4e67169ecdd424f9bbbf089",
      "parents": [
        "50780c69e05f993b27cb0741ba12654f4dd28443"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Thu Jun 04 16:25:36 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Thu Jun 04 16:50:42 2015 +0100"
      },
      "message": "Don\u0027t inherit CFLAGS and LDFLAGS from the environment\n\nkvmtool doesn\u0027t build with arbitrary flags, so let\u0027s clear CFLAGS and\nLDFLAGS by default at the top of the Makefile, allowing people to add\nadditional options there if they really want to.\n\nReported by Dave Jones, who ended up passing -std\u003dgnu99 by mistake.\n\nReported-by: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "50780c69e05f993b27cb0741ba12654f4dd28443",
      "tree": "c51cd891a0dad6d5980f38dd28c5de1f7af7757d",
      "parents": [
        "7411007ad615016f69adc1d7cd62f7983274f51e"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Thu Jun 04 16:24:57 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Thu Jun 04 16:50:40 2015 +0100"
      },
      "message": "Remove CFLAGS_EASYGOING variable from Makefile\n\nWe don\u0027t build any external targets, so remove this unused variable from\nour Makefile.\n\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "7411007ad615016f69adc1d7cd62f7983274f51e",
      "tree": "7aca57885d3168102c0f38e2a65936694ab76250",
      "parents": [
        "992bd60d19de18dda98cc36f84c8597eae5cfb59"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@arm.linux.org.uk",
        "time": "Fri May 29 15:20:17 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 17:54:09 2015 +0100"
      },
      "message": "Remove visible dependency files\n\nAfter building, there is a lot of clutter from the dependency system.\nLet\u0027s clean this up by using dir/.file.d style dependencies, similar\nto those used in the Linux kernel.\n\nIn order to support this, rearrange the dependency generation to\ncreate the dependency files as we build rather than as a separate\nstep, and have make clean remove them.\n\nSigned-off-by: Russell King \u003crmk@arm.linux.org.uk\u003e\n[will: added make target for builtin-help.static.o]\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "992bd60d19de18dda98cc36f84c8597eae5cfb59",
      "tree": "8aa252b1d6e11a6e6e04558da35ec00f695d1426",
      "parents": [
        "644140ef4b54c2b047612a2f52bbde84766dabd6"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@arm.linux.org.uk",
        "time": "Fri May 29 15:19:34 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 17:54:09 2015 +0100"
      },
      "message": "Add vim .swp files to gitignore\n\nAvoid accidential commits of vim editor temporary files.\n\nSigned-off-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "644140ef4b54c2b047612a2f52bbde84766dabd6",
      "tree": "17f48471ca7939e1f3c9fb481d4c65559b8ab581",
      "parents": [
        "edb4a8a0e47a459ee313607b5ed3109de0572d77"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@arm.linux.org.uk",
        "time": "Fri May 29 14:41:39 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 17:54:09 2015 +0100"
      },
      "message": "virtio: fix fsync() on a directory\n\ndpkg in the guest fails when it tries to use fsync() on a directory:\n\nopenat(AT_FDCWD, \"/var/lib/dpkg\", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) \u003d 4\nfsync(4)                                \u003d -1 EINVAL (Invalid argument)\n\nstracing lkvm shows that this is converted to:\n\nopenat(AT_FDCWD, \"/root/rootfs-32//var/lib/dpkg\", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) \u003d 368\nfsync(0)                \u003d -1 EINVAL (Invalid argument)\n\nIn other words, we sync against the wrong file descriptor.  This case\nis not handled in the kvmtool code, let\u0027s add support for it.\n\nSigned-off-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "edb4a8a0e47a459ee313607b5ed3109de0572d77",
      "tree": "6d2444853761c7e8a30e0463d22883e7c0cf6a43",
      "parents": [
        "20066139294cf65649f3befd1482adb55e0be0c2"
      ],
      "author": {
        "name": "Suzuki K. Poulose",
        "email": "suzuki.poulose@arm.com",
        "time": "Fri Apr 24 12:23:57 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 17:54:09 2015 +0100"
      },
      "message": "kvmtool: Set the thread names for terminal and virtio-net-ctrl\n\nThe terminal handling thread and the virtio-net-ctrl don\u0027t\nset their name, which ends up as follows up:\n\n terminal \u003d\u003e lkvm\n virtio-net-ctrl \u003d\u003e kvm-cpu-X !!\n\nSet the thread name explicitly to term-poll and virtio-net-ctrl\nrespectively\n\nSigned-off-by: Suzuki K. Poulose \u003csuzuki.poulose@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "20066139294cf65649f3befd1482adb55e0be0c2",
      "tree": "d2c4512df498cd2d33b67ab3d0637fa66d2ce42d",
      "parents": [
        "eaf4f9656170b6e6153b52cd2c158facb9e11c5d"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Mon Jun 01 15:51:14 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 17:54:09 2015 +0100"
      },
      "message": "kvmtool: remove unneeded EXPORT_SYMBOL from iovec.c\n\nIn util/iovec.c we reference EXPORT_SYMBOL, which is only useful\nwithin the kernel. To get rid of the dummy include file, simply\nremove those lines.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "eaf4f9656170b6e6153b52cd2c158facb9e11c5d",
      "tree": "a5271a6e0961d6f12f038dab035df04bef63dad1",
      "parents": [
        "9759db0dd916586ff022f5d16bde5ab52cc05e83"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Mon Jun 01 15:51:13 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 17:54:09 2015 +0100"
      },
      "message": "kvmtool: remove no longer needed kvm/types.h\n\ninclude/kvm/types.h seemed to be in use once, but it does no longer\ncontain any useful definition. Remove it.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "9759db0dd916586ff022f5d16bde5ab52cc05e83",
      "tree": "4dd065b4edbd41150351e4a751e4a6c447d8467f",
      "parents": [
        "813359ed4ad84c785148ab2d321031fe159456ad"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Mon Jun 01 15:51:12 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 17:54:09 2015 +0100"
      },
      "message": "kvmtool: move include/bios/memcpy.h to x86/include/asm/bios\n\nThis file contains a prototype solely used by the BIOS blob code\nfor x86 systems. Make this clear by moving the include file into\nthe x86 directory.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "813359ed4ad84c785148ab2d321031fe159456ad",
      "tree": "34faa0e158645ea4e9e0d1b1716aedf8dd2a93d9",
      "parents": [
        "1cbb2c50ce18b5b2bd780f5a330f7b6e11311105"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Mon Jun 01 15:51:11 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 17:54:09 2015 +0100"
      },
      "message": "kvmtool: add processor-flags.h with the single EFLAGS_CF define\n\nTwo BIOS source files used a definition from \u003casm/processor-flags.h\u003e,\nwhich could not be found on x86_64 multiarch machines without the\ncompat headers installed.\nCreate a file with the single definition actually used in the kvmtool\nsource tree.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "1cbb2c50ce18b5b2bd780f5a330f7b6e11311105",
      "tree": "20db406471f3cffac6897efdaf04bcf00e08710f",
      "parents": [
        "f323796502fb5538acff18bd7e7979a3abf23bb2"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Mon Jun 01 15:51:10 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 17:54:09 2015 +0100"
      },
      "message": "kvmtool: remove kvm/segment.h\n\nThis header just holds three trivial functions, but pulls in\nlinux/types.h, which calls for trouble when compiling BIOS files on\nx86-64 multiarch machines.\nRemove unnecessary includes and move the definitions into the files\nwhere they are used.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "f323796502fb5538acff18bd7e7979a3abf23bb2",
      "tree": "a518550ad8a5ea23d13d70dcc65332bfc92610ee",
      "parents": [
        "f23171ca130996a1f3a4b724c250d52ad41d8fd2"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Mon Jun 01 15:51:09 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 17:54:09 2015 +0100"
      },
      "message": "kvmtool: pull x86 system header e820 definitions into kvm/e820.h\n\nThe x86 BIOS code included some definitions for the E820 table from\nthe Linux system headers, but those could not be found on x86_64\nmultiarch systems without the compat headers installed.\nPull the required definitions into the kvmtool source directory,\nremoving the reference to \u003casm/e820.h\u003e.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "f23171ca130996a1f3a4b724c250d52ad41d8fd2",
      "tree": "5320006bd8209ecbece70bc3a2668b331db5544e",
      "parents": [
        "002f5604def0d1308eb7a2210e27653c377956db"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Mon Jun 01 15:51:08 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 17:54:09 2015 +0100"
      },
      "message": "kvmtool: remove reference to \u003casm/types.h\u003e from BIOS include files\n\nFor x86 the files that become the BIOS blob are compiled with -m32.\nAlthough we avoid including any system libraries, we use some headers\nfrom /usr/include, which asks for trouble if compiling on a x86-64\nmultiarch system (Debian/Ubuntu). Without 32-bit compat headers\ninstalled there, the compiler will not find the right files.\nHowever as the BIOS code is actually a self-contained binary without\nany relationship to the Linux userland, it should not use or rely\non Linux system headers.\nReplace includes of linux/types.h in BIOS code with asm/bios/types.h,\nwhich simply contains the u{8,16,32,64} data types needed by the code.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "002f5604def0d1308eb7a2210e27653c377956db",
      "tree": "d6fd7bfcbfe59e3d6af13449262cc4418528eb54",
      "parents": [
        "e9beb4a9907056e501dcc9df8594b2a6ecdb4ed6"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Wed Jan 21 11:07:31 2015 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 17:54:09 2015 +0100"
      },
      "message": "kvmtool: Update documentation to mark version as stand-alone\n\nAt this point kvmtool compiles fines out of the Linux tree (at least\nfor x86 and arm/arm64), so update the README to reflect this.\nAlso add an INSTALL file to give more user friendly building\ninstructions.\nDocument the optional libraries and their common package names on the\nway.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "e9beb4a9907056e501dcc9df8594b2a6ecdb4ed6",
      "tree": "1e4181936a28e82ab1c7bd598e7ca70e3b573a4d",
      "parents": [
        "20ecab30733390c38e1f827bb0847987a6192e21"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Tue Mar 31 00:23:12 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 17:54:09 2015 +0100"
      },
      "message": "kvmtool: Makefile: improve warning on missing optional packages\n\nCurrently there is a warning when the (highly optional) GTK3 support\ncannot be compiled in. Actually many may consider GTK3 the least\ninteresting of the optional packages, so replace this rather verbose\nwarning with a brief list of not found optional packages: This will\ngive a much nicer output like this:\n\nMakefile:291: Skipping optional libraries: bfd GTK3 vncserver aio\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "20ecab30733390c38e1f827bb0847987a6192e21",
      "tree": "f7d7ad9357dc144505cd3384663867ac8ca91593",
      "parents": [
        "da4699ad87b1452b57365a386bd9fecea01240c5"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Thu Feb 12 23:43:11 2015 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 17:54:09 2015 +0100"
      },
      "message": "kvmtool: Makefile: check libfdt availability\n\nInstead of hardcoding libfdt availability, check for it like for\nthe other libraries and fail (and warn) if it\u0027s not available.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "da4699ad87b1452b57365a386bd9fecea01240c5",
      "tree": "90d385e8525357a175ce98d3eaf24412c5d3d580",
      "parents": [
        "7e66b1218dd5cc6e11cf2f34a2c1401d9e4621e0"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Wed Jan 21 09:41:33 2015 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:40:11 2015 +0100"
      },
      "message": "kvmtool: Makefile: replace kernel libfdt source with system library\n\nkvmtool used the in-kernel version of the device tree handling\nlibrary. Now that we are a proper userland tool, use the system\u0027s\nlibrary for that purpose. Actually this seems to fix some\nlong-standing warning generated by the Linux copy.\nAlso fix up a bogus x86 warning (no FDT needed here).\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "7e66b1218dd5cc6e11cf2f34a2c1401d9e4621e0",
      "tree": "bc9080db7d24323c1216194a0dc7f9b58ac82d13",
      "parents": [
        "c6cb7c757339c7f465934dbb81fa01f1659114d5"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Thu Feb 12 23:38:27 2015 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:40:11 2015 +0100"
      },
      "message": "kvmtool: Makefile: fix bogus definition of try-cc\n\nIn config/utilities.mak we have two macros checking either\ncompile-ability or build-ability of a library. Actually they are\ndefined the same, with try-cc behaving like try-build for no reason.\nFix try-cc to really only test compilation (no linking) and replace\nall calls to try-cc in the Makefile with try-build (as this is what\nwe need). Simplify the Makefile calls a bit on the way.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "c6cb7c757339c7f465934dbb81fa01f1659114d5",
      "tree": "2367371fbfbdf7f7e63c8d4bce5b8f8c381f45bc",
      "parents": [
        "fbb8a81d1a37ac9dc43e61ce975a0b27e58b61db"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Tue Jan 20 23:55:48 2015 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:40:11 2015 +0100"
      },
      "message": "kvmtool: 9p: teach kvmtool about kuid_t and kgid_t\n\nThe 9p kernel code uses separate types for uid_t and gid_t. To avoid\nchanging too much code needlessly, copy over the kernel definitions\nfrom uidgid.h into 9p.h.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "fbb8a81d1a37ac9dc43e61ce975a0b27e58b61db",
      "tree": "d879d528083eda2c1a21e96eaf2a71baca1eb063",
      "parents": [
        "2ffd89f51b21768463e4fb3c982f504cfe2ec67f"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Tue Jan 20 23:47:04 2015 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:40:11 2015 +0100"
      },
      "message": "kvmtool: list.h: get rid of poison.h include\n\nThe special Linux poison bits do not make sense in userland, so\njust replace them with NULL to spot bogus accesses.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "2ffd89f51b21768463e4fb3c982f504cfe2ec67f",
      "tree": "2b22fbf798623eb2e50a180ef877d2fb2349491d",
      "parents": [
        "f65dd17d8d5a96be89a8c22a8f3e7e3a83124461"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Tue Jan 20 23:38:39 2015 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:40:11 2015 +0100"
      },
      "message": "kvmtool: rbtree: get rid of module EXPORTs\n\nThe original Linux copy of rbtree.c used EXPORT_SYMBOL macros which\nwe don\u0027t need. Remove them and get rid of the now unneeded export.h.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "f65dd17d8d5a96be89a8c22a8f3e7e3a83124461",
      "tree": "aa11c007527a8324d7b64aec37314ce3fde854da",
      "parents": [
        "23323929011bbb2027c2a5341ab43e9befd75876"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Wed Jan 21 09:41:08 2015 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:40:11 2015 +0100"
      },
      "message": "kvmtool: arm/arm64: Copy some Linux architecture specific headers\n\nThe ARM part requires psci.h, which is pretty recent, so older\ndistributions might not carry it. This pulls in sizes.h, which is not\nan uapi header, but quite convenient and not really Linux specific.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "23323929011bbb2027c2a5341ab43e9befd75876",
      "tree": "7b6e6210c4d138d085729ba3b4bc6b8c50340e89",
      "parents": [
        "6002122071ef0fe9b42e9ecaa4de769b2645f89b"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Tue Jan 20 23:57:02 2015 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:40:11 2015 +0100"
      },
      "message": "kvmtool: x86: Copy some Linux architecture specific headers\n\nAlthough those header files are technically Linux internal, they\nhold definitions for x86 hardware related bits (APIC, MPSPEC, VESA).\nWe just reuse their definitions, so copy those files over.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "6002122071ef0fe9b42e9ecaa4de769b2645f89b",
      "tree": "41627eb72e0f6c79e5a305d80fe4527fafe33a8c",
      "parents": [
        "a08bb43a0c37cb860d31c03e0dca81be8355551c"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Apr 10 17:36:35 2015 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:40:11 2015 +0100"
      },
      "message": "kvmtool: Update architecture specific kvm.h files\n\nSimilarily to the generic uapi/linux/kvm.h, each architecture\ncarries a kvm.h header in its arch/*/include/uapi/asm directory.\nThese contain bits for the architecture specific interface.\nSince we use many recent features in kvmtool, the system headers\nprovided by the distribution are usually not up-to-date.\nCopy the Linux v4.1-rc6 versions of those files for all supported\narchitectures into the kvmtool tree to get access to the full glory.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "a08bb43a0c37cb860d31c03e0dca81be8355551c",
      "tree": "0708bfab75313c1ce53ed6ca2b9fd5531550fb7b",
      "parents": [
        "fe8e6c1c181485bcf51e480ac2be8e69d9dce0fe"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Wed Jan 21 09:08:07 2015 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:40:11 2015 +0100"
      },
      "message": "kvmtool: Copy Linux\u0027 up-to-date virtio headers\n\nSome distributions with an older uapi header copy do not have all the\ndefinitions that we need (Ubuntu 12.04 comes to mind).\nSo copy the latest versions from the Linux tree to override the system\nheader versions.\nAlso include virtio_mmio.h, which is technically not an uapi header,\nbut is used in such a way. QEMU has actually a copy of these\ndefinitions in its own header file, so our approach should even be\nbetter.\nThose files are from a Linux v4.1-rc6 source tree, but the virtio-1.0\nupdates have been left out. kvmtool implements only the older version\nof virtio.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "fe8e6c1c181485bcf51e480ac2be8e69d9dce0fe",
      "tree": "3a1378f6dfdfb7b5a36702981c906b68a333b08f",
      "parents": [
        "304dcb6425666cf1a928ac26f7162fd8822dbb1e"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Feb 13 00:22:19 2015 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:40:11 2015 +0100"
      },
      "message": "kvmtool: Copy Linux\u0027 linux/9p.h header file\n\nThis file includes 9P protocol definitions which we need.\nCopy them from a recent Linux tree.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "304dcb6425666cf1a928ac26f7162fd8822dbb1e",
      "tree": "ccc76f26a8cadba1e450526109ccc7372bcbd7ca",
      "parents": [
        "75bfd03cd2c84f46ed694a47471ffa43884c006d"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Tue Jan 20 23:52:10 2015 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:40:11 2015 +0100"
      },
      "message": "kvmtool: Copy Linux\u0027 up-to-date uapi/kvm.h\n\nThe uapi copy of kvm.h is usually outdated, so copy over a fresh copy\nfrom the Linux v4.1-rc6 source tree. This exercise should later be\nrepeated when new kvmtool code requires this.\nIt seems to be common practise in QEMU to do so.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "75bfd03cd2c84f46ed694a47471ffa43884c006d",
      "tree": "ec26ff2e27764f4683ca82860ecde7a7b47dff45",
      "parents": [
        "c09373009946b81f8db97a34b7aabf02ddd1d1e3"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Tue Jan 20 23:47:59 2015 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:40:11 2015 +0100"
      },
      "message": "kvmtool: Copy some bits from Linux\u0027 byteorder.h\n\nInstead of moving the whole include file in, we just copy the needed\ndefinitions from byteorder/generic.h into the kvmtool headers.\nThis avoids needless clutter of the include directory.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "c09373009946b81f8db97a34b7aabf02ddd1d1e3",
      "tree": "5b69c5b24951a7ab43cc15ef818cf7451a3c4efe",
      "parents": [
        "7e841c883d9f342d822cb819c56b6cd7b6f5c973"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Tue Jan 20 23:36:43 2015 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:40:11 2015 +0100"
      },
      "message": "kvmtool: Copy Linux\u0027 rbtree implementation\n\nThis is not really Linux specific, just a neat implementation\nused by kvmtool, too.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "7e841c883d9f342d822cb819c56b6cd7b6f5c973",
      "tree": "1a75b5550e687ee5c081b03af62b2a11fb9ef72b",
      "parents": [
        "17725a8d8fcbee90766e98e07c7b850e74f91e49"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Tue Jan 20 23:39:46 2015 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:40:11 2015 +0100"
      },
      "message": "kvmtool: Copy some helper header files from the Linux tree\n\nCopy some non-Linux specific header files over to the kvmtool\ndirectory. This includes generic helpers like stringify and list\ndefinitions.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "17725a8d8fcbee90766e98e07c7b850e74f91e49",
      "tree": "5bb68be3b5d1ea13d9e8d38455512fcc66a563aa",
      "parents": [
        "3ac7d904df004216556658f94425ea193a35ba6b"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Tue Jan 20 23:49:03 2015 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:40:11 2015 +0100"
      },
      "message": "kvmtool: Remove references to top level kernel directory\n\nThe Makefile used to reference ../.. on some occasions to point\nto the Linux source tree. Since this is no longer there, remove\nthose bogus paths.\nSince we cannot (and don\u0027t want to) determine the Linux kernel\nversion on this way, we hardcode v3.18.0 for now, which is the version\nthe in-kernel-tree version used at the point of forking.\nThis should be later revisited and adjusted to whatever versioning\nscheme we will use.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "3ac7d904df004216556658f94425ea193a35ba6b",
      "tree": "cc5f3be37cf1e47906fc006a60a592cf7e4f6515",
      "parents": [
        "d2a7ddff4626b638945fd141891379a553fd0d88"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Wed Jan 21 12:04:10 2015 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:40:11 2015 +0100"
      },
      "message": "kvmtool: Add a GPL license text file\n\nSince kvmtool is now in a separate repository, we cannot use Linux\u0027\ntop-level version of the GPL license text, so copy this over.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "d2a7ddff4626b638945fd141891379a553fd0d88",
      "tree": "f2abb14134c7c5cf6539bc3b9469bd5fa853c36b",
      "parents": [
        "9c2e1d1a08e6aa44d433de1ab219aae7eb2b2526"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Fri Mar 27 13:48:18 2015 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:39:55 2015 +0100"
      },
      "message": "kvmtool: Add minimal support for macvtap\n\nIn order to be useable by kvmtool, a macvtap interface requires\nsome minimal configuration (basically setting up the offload bits).\nThis requires skipping some of the low level TUN/TAP setup.\n\nTo avoid adding yet another option, we extend the \u0027tapif\u0027 option\nto detect the use of a file (such as /dev/tap23).\n\nAssuming you\u0027ve run the following as root:\n\n\t# ip link add link eth0 name kvmtap0 type macvtap mode bridge\n\t# chgrp kvm /dev/tap$(\u003c /sys/class/net/kvmtap0/ifindex)\n\t# chmod g+rw /dev/tap$(\u003c /sys/class/net/kvmtap0/ifindex)\n\nit is fairly easy to have a script that does the following:\n\n\t#!/bin/sh\n\taddr\u003d$(\u003c /sys/class/net/kvmtap0/address)\n\ttap\u003d/dev/tap$(\u003c /sys/class/net/kvmtap0/ifindex)\n\nkvmtool/lkvm run --console virtio\t\t\t\\\n\t-k /boot/zImage\t\t\t\t\t\\\n\t-p \"console\u003dhvc0 earlyprintk\"\t\t\t\\\n\t-n trans\u003dmmio,mode\u003dtap,tapif\u003d$tap,guest_mac\u003d$addr\n\nand you now have your VM running, directly attached to the network.\n\nThis patch also removes the TUNSETNOCSUM ioctl that has declared\nobsolete for quite some time now...\n\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "9c2e1d1a08e6aa44d433de1ab219aae7eb2b2526",
      "tree": "a5c4ba78b9afeeb20b17ef52507b66bf5f2da693",
      "parents": [
        "7590908e507230e50d36a9ce80a82b3c21363ba8"
      ],
      "author": {
        "name": "Suzuki K. Poulose",
        "email": "suzuki.poulose@arm.com",
        "time": "Fri Jan 16 11:30:10 2015 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:39:55 2015 +0100"
      },
      "message": "kvmtool: virtio-9p: Convert EMFILE error at the server to ENFILE for the guest\n\nIf an open at the 9p server(host) fails with EMFILE (Too many open files for\nthe process), we should return ENFILE(too many open files in the system) to\nthe guest to indicate the actual status within the guest.\n\nThis was uncovered during LTP, where getdtablesize01 fails to open the maximum\nnumber-open-files.\n\ngetdtablesize01    0  TINFO  :  Maximum number of files a process can have opened is 1024\ngetdtablesize01    0  TINFO  :  Checking with the value returned by getrlimit...RLIMIT_NOFILE\ngetdtablesize01    1  TPASS  :  got correct dtablesize, value is 1024\ngetdtablesize01    0  TINFO  :  Checking Max num of files that can be opened by a process.Should be: RLIMIT_NOFILE - 1\ngetdtablesize01    2  TFAIL  :  getdtablesize01.c:102: 974 !\u003d 1023\n\nFor a more practial impact:\n\n # ./getdtablesize01 \u0026\n[1] 1834\n getdtablesize01    0  TINFO  :  Maximum number of files a process can have opened is 1024\n getdtablesize01    0  TINFO  :  Checking with the value returned by getrlimit...RLIMIT_NOFILE\n getdtablesize01    1  TPASS  :  got correct dtablesize, value is 1024\n getdtablesize01    0  TINFO  :  Checking Max num of files that can be opened by a process.Should be: RLIMIT_NOFILE - 1\n getdtablesize01    2  TFAIL  :  getdtablesize01.c:102: 974 !\u003d 1023\n [--- Modified to sleep indefinitely, without closing the files --- ]\n\n # ls\n bash: /bin/ls: Too many open files\n\nThat gives a wrong error message for the bash, when getdtablesize01 has exhausted the system\nwide limits, giving false indicators.\n\nWith the fix, we get :\n\n # ls\n bash: /bin/ls: Too many open files in system\n\nAcked-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Suzuki K. Poulose \u003csuzuki.poulose@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "7590908e507230e50d36a9ce80a82b3c21363ba8",
      "tree": "1c4c3293477f6fc80c2c56ba386048e85310ac8a",
      "parents": [
        "c77890d05283535fe81dabc87da44deff661a926"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Fri Jan 09 15:58:19 2015 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:39:55 2015 +0100"
      },
      "message": "kvmtool: remove 8250 IRQ line reset on device_init\n\nCurrently we reset the KVM interrupt line on initializing the 8250\nserial device emulation.\nFor ARM this creates a problem where we use the in-kernel IRQ chip\nbefore having fully initialized it. But with the new kernel interface\nwe cannot finish the GIC initialization before we know the number of\nused IRQs, so we have to wait until all devices have been created and\ninitialized.\nSince the in-kernel GIC emulation resets the IRQ line anyway and also\nQEMU gets away without resetting it, the easiest solution is to drop\nthe IRQ line reset.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "c77890d05283535fe81dabc87da44deff661a926",
      "tree": "c373ac334c4b7f71524f749b06cde9aad24b2a3d",
      "parents": [
        "890ad914d0fefadbaebe61be3672a45675464a0b"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Wed Dec 17 15:40:48 2014 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:39:55 2015 +0100"
      },
      "message": "kvmtool: remove warning about bzImage on non-x86 architectures\n\nAmong the architectures supported by kvmtool, only x86 defines a\nbzImage format. So we shouldn\u0027t bother users of other architectures\nwith a message about something that cannot work.\nMake the bzImage check dependent on compiling for x86.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "890ad914d0fefadbaebe61be3672a45675464a0b",
      "tree": "37f0b6c9bb5dfe234a92a1ec27c7ffe31dc26e1f",
      "parents": [
        "2bfd9ac3cac4b83082dcd0bed38ee3d5f927d903"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Wed Dec 17 15:40:47 2014 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:39:55 2015 +0100"
      },
      "message": "kvmtool: ARM: advertise 8250 IRQs as level-triggered\n\nBoth the 16550/8250 UART emulation in kvmtool as well as all the\ndrivers and DTBs for real hardware use level triggered interrutpts.\nBut the device tree currently describes them as being edge triggered,\nwhich can lead to hangs in guests.\nUse the new IRQ type parameter to properly describe the interrupts.\nThis goes along the lines of a similar QEMU patch:\nhttp://git.qemu.org/?p\u003dqemu.git;a\u003dcommitdiff;h\u003d0be969a2d974971628fc4ed95834d22ecf0fd497\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "2bfd9ac3cac4b83082dcd0bed38ee3d5f927d903",
      "tree": "e6e3b55f06dd7e55d73be62f861102b90abbfe60",
      "parents": [
        "045fc040c8310948c39b057970342c905f01f6b3"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Wed Dec 17 15:40:46 2014 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:39:55 2015 +0100"
      },
      "message": "kvmtool: ARM: allow level interrupts in device tree\n\nCurrently we describe every interrupt for each device in the FDT\nas being edge triggered.\nAdd a parameter to the irq property generation to allow devices to\nspecify their interrupts as level triggered if needed.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "045fc040c8310948c39b057970342c905f01f6b3",
      "tree": "7b1e20ef67200705b9856d686ec4ad11a5da3750",
      "parents": [
        "bd33695d12a71daea2f622b52e5b6f2a0beef98b"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Wed Dec 17 15:40:45 2014 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:39:55 2015 +0100"
      },
      "message": "kvmtool: replace GIC specific IRQ type #defines\n\nWe had GIC specific defines for the IRQ type identifiers in kvmtool.\nBut in fact the specification of being a level or edge interrupt\nis quite generic, with the GIC binding using the generic Linux\ndefines.\nSo lets replace the GIC specific #defines in favour of the more\ngeneral names copied from Linux\u0027 include/linux/irq.h.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "bd33695d12a71daea2f622b52e5b6f2a0beef98b",
      "tree": "306b6d6acd7dac27c72e8dc7bd42195c4a54c1e8",
      "parents": [
        "dc7a55d6bfe61b848832ad1e22273cee4db5d155"
      ],
      "author": {
        "name": "Andre Przywara",
        "email": "andre.przywara@arm.com",
        "time": "Wed Dec 17 15:40:44 2014 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:39:55 2015 +0100"
      },
      "message": "kvmtool: ARM: fix initrd functionality\n\nlkvm -i is currently broken on ARM/ARM64.\nWe should not try to convert smaller-than-4GB addresses into 64-bit\nbig endian and then stuff them into u32 variables if we expect to read\nanything other than 0 out of it.\nAdjust the type to u64 to write the proper address in BE format into\nthe /chosen node (and also match the address size we formely posted)\nand let Linux thus read the right values.\nThis fixes initrd functionality for ARM and ARM64 guests.\n\nSigned-off-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nAcked-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "dc7a55d6bfe61b848832ad1e22273cee4db5d155",
      "tree": "84e29e4e586f918515e246da8ef844214b064bfd",
      "parents": [
        "c2dad40280028f9e89a3451f29dd3aaa0bd2614f"
      ],
      "author": {
        "name": "Suzuki K. Poulose",
        "email": "suzuki.poulose@arm.com",
        "time": "Tue Dec 16 18:18:00 2014 +0000"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:39:55 2015 +0100"
      },
      "message": "Use the arch default transport method for network\n\nlkvm by default sets up a virtio-pci transport for network, if none is\nspecified. This can be a problem on archs (e.g ARM64), where virtio-pci is\nnot supported yet and cause the following warning at exit.\n\n  # KVM compatibility warning.\n\tvirtio-net device was not detected.\n\nThis patch changes it to make use of the default transport method for the\narchitecture when none is specified. This will ensure that on every arch\nwe get the network up by default in the VM.\n\nSigned-off-by: Suzuki K. Poulose \u003csuzuki.poulose@arm.com\u003e\nAcked-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "c2dad40280028f9e89a3451f29dd3aaa0bd2614f",
      "tree": "79d650647dfc5d6945d357cfa5cfbdd489fec4b8",
      "parents": [
        "5f9b016e4e96429f9d076d4b31e5d309d14df17b"
      ],
      "author": {
        "name": "Anup Patel",
        "email": "anup.patel@linaro.org",
        "time": "Mon Oct 06 12:15:19 2014 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:39:55 2015 +0100"
      },
      "message": "kvmtool: ARM/ARM64: Provide PSCI-0.2 to guest when KVM supports it\n\nIf in-kernel KVM support PSCI-0.2 emulation then we should set\nKVM_ARM_VCPU_PSCI_0_2 feature for each guest VCPU and also\nprovide \"arm,psci-0.2\",\"arm,psci\" as PSCI compatible string.\n\nThis patch updates kvm_cpu__arch_init() and setup_fdt() as\nper above.\n\nSigned-off-by: Pranavkumar Sawargaonkar \u003cpranavkumar@linaro.org\u003e\nSigned-off-by: Anup Patel \u003canup.patel@linaro.org\u003e\nReviewed-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "5f9b016e4e96429f9d076d4b31e5d309d14df17b",
      "tree": "f8439be773fa2f85d329cd2d6cc073b195eaa955",
      "parents": [
        "1640753ac1e606d345b1065401d6bca986796aa1"
      ],
      "author": {
        "name": "Anup Patel",
        "email": "anup.patel@linaro.org",
        "time": "Mon Oct 06 12:15:18 2014 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:39:55 2015 +0100"
      },
      "message": "kvmtool: Handle exit reason KVM_EXIT_SYSTEM_EVENT\n\nThe KVM_EXIT_SYSTEM_EVENT exit reason was added to define\narchitecture independent system-wide events for a Guest.\n\nCurrently, it is used by in-kernel PSCI-0.2 emulation of\nKVM ARM/ARM64 to inform user space about PSCI SYSTEM_OFF\nor PSCI SYSTEM_RESET request.\n\nFor now, we simply treat all system-wide guest events as\nshutdown request in KVMTOOL.\n\nSigned-off-by: Pranavkumar Sawargaonkar \u003cpranavkumar@linaro.org\u003e\nSigned-off-by: Anup Patel \u003canup.patel@linaro.org\u003e\nReviewed-by: Andre Przywara \u003candre.przywara@arm.com\u003e\n[will: removed useless prints]\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "1640753ac1e606d345b1065401d6bca986796aa1",
      "tree": "3030c9a181a56069f57230f0f669dae025d902a8",
      "parents": [
        "85bd726a06b6e6208e24f51cea464427bb9cfe42"
      ],
      "author": {
        "name": "Anup Patel",
        "email": "anup.patel@linaro.org",
        "time": "Mon Oct 06 12:15:17 2014 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:39:55 2015 +0100"
      },
      "message": "kvmtool: ARM64: Add target type potenza for aarch64\n\nThe VCPU target type KVM_ARM_TARGET_XGENE_POTENZA is available\nin latest Linux-3.16-rcX or higher hence register aarch64 target\ntype for it.\n\nThis patch enables us to run KVMTOOL on X-Gene Potenza host.\n\nSigned-off-by: Pranavkumar Sawargaonkar \u003cpranavkumar@linaro.org\u003e\nSigned-off-by: Anup Patel \u003canup.patel@linaro.org\u003e\nReviewed-by: Andre Przywara \u003candre.przywara@arm.com\u003e\n[will: reworded comment for clarity]\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "85bd726a06b6e6208e24f51cea464427bb9cfe42",
      "tree": "999720af4a5a823f5c09018cd5a1b71558c84289",
      "parents": [
        "91eaedaea9b067e98fd4e8dc81d0e12e71267e3a"
      ],
      "author": {
        "name": "Anup Patel",
        "email": "anup.patel@linaro.org",
        "time": "Mon Oct 06 12:15:16 2014 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:39:55 2015 +0100"
      },
      "message": "kvmtool: ARM: Use KVM_ARM_PREFERRED_TARGET vm ioctl to determine target cpu\n\nInstead, of trying out each and every target type we should\nuse KVM_ARM_PREFERRED_TARGET vm ioctl to determine target type\nfor KVM ARM/ARM64.\n\nIf KVM_ARM_PREFERRED_TARGET vm ioctl fails then we fallback to\nold method of trying all known target types.\n\nIf KVM_ARM_PREFERRED_TARGET vm ioctl succeeds but the returned\ntarget type is not known to KVMTOOL then we forcefully init\nVCPU with target type returned by KVM_ARM_PREFERRED_TARGET vm ioctl.\n\nSigned-off-by: Pranavkumar Sawargaonkar \u003cpranavkumar@linaro.org\u003e\nSigned-off-by: Anup Patel \u003canup.patel@linaro.org\u003e\nReviewed-by: Andre Przywara \u003candre.przywara@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "91eaedaea9b067e98fd4e8dc81d0e12e71267e3a",
      "tree": "4e3be2668c098d3d0c4047a7a109646c63842cb3",
      "parents": [
        "c818344265db400757911eb44ece0aacefef6bfe"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Tue May 13 12:06:06 2014 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:39:55 2015 +0100"
      },
      "message": "kvm tools: arm: remove register accessor macros now that they are in uapi\n\nThe kernel now exposes register accessor macros in the uapi/ headers\nfor arm and arm64, so use those instead (and avoid the compile failure\nfrom the duplicate definitions).\n\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\n"
    },
    {
      "commit": "c818344265db400757911eb44ece0aacefef6bfe",
      "tree": "8677212a1b3eaf5ed3e01f88bbb91e9af18ac14a",
      "parents": [
        "474b696f40b5655197c51719ecd3bc6308182199"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "koct9i@gmail.com",
        "time": "Wed Aug 20 18:37:34 2014 +0400"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:39:55 2015 +0100"
      },
      "message": "kvm tools: balloon: fix overflow in PFN to address conversion\n\nFix trivial overflow of u32 value\n\nSigned-off-by: Konstantin Khlebnikov \u003ckoct9i@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "474b696f40b5655197c51719ecd3bc6308182199",
      "tree": "12ba7df7000a65a756606c9d7ee576934eeef6b8",
      "parents": [
        "fbc379bbf4b1dcd6d561191ec1797489959f6c9d"
      ],
      "author": {
        "name": "Andreas Herrmann",
        "email": "andreas.herrmann@caviumnetworks.com",
        "time": "Mon Jun 16 13:47:29 2014 +0200"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:39:55 2015 +0100"
      },
      "message": "kvm tools, mips: Adapt signature of kvm_cpu__emulate_io\n\nUse struct kvm_cpu instead of struct kvm.\nThis change is req\u0027d due to commit\n8d770c4096cdf73e1b79e7395ef3a86aa2887077\n(kvmtool: virtio: pass trapped vcpu to IO accessors).\n\nSigned-off-by: Andreas Herrmann \u003candreas.herrmann@caviumnetworks.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "fbc379bbf4b1dcd6d561191ec1797489959f6c9d",
      "tree": "a38679a9f69a0288e3e2c2ef6b977a5cb61a465b",
      "parents": [
        "00751da0c0cb4ca2221f1553043acaaaf5df2737"
      ],
      "author": {
        "name": "Joel Schopp",
        "email": "joel.schopp@amd.com",
        "time": "Tue Jul 22 12:28:09 2014 -0500"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:39:55 2015 +0100"
      },
      "message": "kvmtool: arm64: fix compilation error\n\nCurrently tools/kvm doesn\u0027t build on arm64 when gtk3 is present.  The error looks like this:\n\n  LINK     lkvm\nui/gtk3.o: In function `kvm_gtk_key_press\u0027:\n/extra/sb/linux-kvm/tools/kvm/ui/gtk3.c:201: undefined reference to `kbd_queue\u0027\n/extra/sb/linux-kvm/tools/kvm/ui/gtk3.c:204: undefined reference to `kbd_queue\u0027\n/extra/sb/linux-kvm/tools/kvm/ui/gtk3.c:216: undefined reference to `kbd_queue\u0027\n/extra/sb/linux-kvm/tools/kvm/ui/gtk3.c:217: undefined reference to `kbd_queue\u0027\n/extra/sb/linux-kvm/tools/kvm/ui/gtk3.c:218: undefined reference to `kbd_queue\u0027\nui/gtk3.o:/extra/sb/linux-kvm/tools/kvm/ui/gtk3.c:219: more undefined references to `kbd_queue\u0027 follow\ncollect2: error: ld returned 1 exit status\nmake: *** [lkvm] Error 1\n\nThe patch below makes the error go away and the resulting lkvm runs on arm64.\n\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nSigned-off-by: Joel Schopp \u003cjoel.schopp@amd.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "00751da0c0cb4ca2221f1553043acaaaf5df2737",
      "tree": "f046f088eef86efe4722adf4c5d0742a9d5af5dd",
      "parents": [
        "492aa8f37a1364cf5b53de096782d967ba13d663"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Fri Jun 20 17:38:14 2014 +0100"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:39:55 2015 +0100"
      },
      "message": "kvmtool: ARM: timers: add \"always-on\" property to the device tree\n\nThe new optional property \"always-on\" indicates that the timers\nare, well, always on when used with KVM.\n\nThis allows for substantial performance improvement in the guest\n(it switches to NOHZ instead of using a periodic tick per vcpu)\nand removes a lot of burden from the host (no need to inject tons\nof interrupts with the associated rescheduling overhead).\n\nOld kernels that don\u0027t understand this property will simply ignore it.\n\nAcked-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "492aa8f37a1364cf5b53de096782d967ba13d663",
      "tree": "df7035fddd6bfe0029201fb9f477c59e86cd8d23",
      "parents": [
        "a5f4f263f699b6b13ca9992b71eb41a283687d46"
      ],
      "author": {
        "name": "Andreas Herrmann",
        "email": "andreas.herrmann@caviumnetworks.com",
        "time": "Wed May 28 22:28:06 2014 +0200"
      },
      "committer": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon Jun 01 16:39:55 2015 +0100"
      },
      "message": "kvm tools: Return number of bytes written by term_putc\n\nNo caller is currently using the return value but better return\nnumber of bytes written instead of 0 in case of an error.\n\nCc: Sergei Shtylyov \u003csergei.shtylyov@cogentembedded.com\u003e\nSigned-off-by: Andreas Herrmann \u003candreas.herrmann@caviumnetworks.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    }
  ],
  "next": "a5f4f263f699b6b13ca9992b71eb41a283687d46"
}
