)]}'
{
  "log": [
    {
      "commit": "2bb4646fce8d09916b351d1a62f98db7cec6fc41",
      "tree": "c1f0d002e69868606eca9d1b919835f422892063",
      "parents": [
        "6836b9bdd98e3b500cd49512484df68f46e14659",
        "b0483e78e5c4c9871fc5541875b3bc006846d46b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 16 22:09:29 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 16 22:09:29 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "e1f829b6f453c7985cfdfab616994b4051c3d788",
      "tree": "d4b53b4c7814c765e4a2ea8581da3d2fcf1f0089",
      "parents": [
        "a5d36f82c4f3e852b61fdf1fee13463c8aa91b90"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sun Dec 20 22:24:06 2009 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Jan 25 12:26:36 2010 -0200"
      },
      "message": "KVM: powerpc: Show timing option only on embedded\n\nEmbedded PowerPC KVM has an exit timing implementation to track and evaluate\nhow much time was spent in which exit path.\n\nFor Book3S, we don\u0027t implement it. So let\u0027s not expose it as a config option\neither.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "51c24aaacaea90c8e87f1dec75a2ac7622b593f8",
      "tree": "9f54936c87764bef75e97395cb56b7d1e0df24c6",
      "parents": [
        "4276e47e2d1c85a2477caf0d22b91c4f2377fba8",
        "6be325719b3e54624397e413efd4b33a997e55a3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 23 00:31:06 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 23 00:31:06 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "3a4d5c94e959359ece6d6b55045c3f046677f55c",
      "tree": "113cfe31540e3d77925837f6990c3284d425bfd1",
      "parents": [
        "5da779c34ccff5e1e617892b6c8bd8260fb1f04c"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Jan 14 06:17:27 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 15 01:43:29 2010 -0800"
      },
      "message": "vhost_net: a kernel-level virtio server\n\nWhat it is: vhost net is a character device that can be used to reduce\nthe number of system calls involved in virtio networking.\nExisting virtio net code is used in the guest without modification.\n\nThere\u0027s similarity with vringfd, with some differences and reduced scope\n- uses eventfd for signalling\n- structures can be moved around in memory at any time (good for\n  migration, bug work-arounds in userspace)\n- write logging is supported (good for migration)\n- support memory table and not just an offset (needed for kvm)\n\ncommon virtio related code has been put in a separate file vhost.c and\ncan be made into a separate module if/when more backends appear.  I used\nRusty\u0027s lguest.c as the source for developing this part : this supplied\nme with witty comments I wouldn\u0027t be able to write myself.\n\nWhat it is not: vhost net is not a bus, and not a generic new system\ncall. No assumptions are made on how guest performs hypercalls.\nUserspace hypervisors are supported as well as kvm.\n\nHow it works: Basically, we connect virtio frontend (configured by\nuserspace) to a backend. The backend could be a network device, or a tap\ndevice.  Backend is also configured by userspace, including vlan/mac\netc.\n\nStatus: This works for me, and I haven\u0027t see any crashes.\nCompared to userspace, people reported improved latency (as I save up to\n4 system calls per packet), as well as better bandwidth and CPU\nutilization.\n\nFeatures that I plan to look at in the future:\n- mergeable buffers\n- zero copy\n- scalability tuning: figure out the best threading model to use\n\nNote on RCU usage (this is also documented in vhost.h, near\nprivate_pointer which is the value protected by this variant of RCU):\nwhat is happening is that the rcu_dereference() is being used in a\nworkqueue item.  The role of rcu_read_lock() is taken on by the start of\nexecution of the workqueue item, of rcu_read_unlock() by the end of\nexecution of the workqueue item, and of synchronize_rcu() by\nflush_workqueue()/flush_work(). In the future we might need to apply\nsome gcc attribute or sparse annotation to the function passed to\nINIT_WORK(). Paul\u0027s ack below is for this RCU usage.\n\n(Includes fixes by Alan Cox \u003calan@linux.intel.com\u003e,\nDavid L Stevens \u003cdlstevens@us.ibm.com\u003e,\nChris Wright \u003cchrisw@redhat.com\u003e)\n\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5279aeb4b96cbdac22a0c2f8137dd0bbc35f02b8",
      "tree": "592ca08805d9460064a1ab874a1a58e45d0f28c8",
      "parents": [
        "a662b8135a1f9fee7d3f9129498cb03f3d6ce772"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Sat Dec 19 18:07:39 2009 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Sun Dec 27 13:36:34 2009 -0200"
      },
      "message": "KVM: powerpc: Fix mtsrin in book3s_64 mmu\n\nWe were shifting the Ks/Kp/N bits one bit too far on mtsrin. It took\nme some time to figure that out, so I also put in some debugging and a\ncomment explaining the conversion.\n\nThis fixes current OpenBIOS boot on PPC64 KVM.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "bcd6acd51f3d4d1ada201e9bc5c40a31d6d80c71",
      "tree": "2f6dffd2d3e4dd67355a224de7e7a960335a92fd",
      "parents": [
        "11c34c7deaeeebcee342cbc35e1bb2a6711b2431",
        "3ff6a468b45b5dfeb0e903e56f4eb27d34b2437c"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Dec 09 17:14:38 2009 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Dec 09 17:14:38 2009 +1100"
      },
      "message": "Merge commit \u0027origin/master\u0027 into next\n\nConflicts:\n\tinclude/linux/kvm.h\n"
    },
    {
      "commit": "e15a113700324f7fdcee95589875daed2b98a2fe",
      "tree": "f2a528fb83219a748c86d0c03efd54c6980165ab",
      "parents": [
        "c0cefebc0b6ae1bc4c92672223a54e1ee96ea7f0"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Nov 30 03:02:02 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Dec 08 16:02:50 2009 +1100"
      },
      "message": "powerpc/kvm: Sync guest visible MMU state\n\nCurrently userspace has no chance to find out which virtual address space we\u0027re\nin and resolve addresses. While that is a big problem for migration, it\u0027s also\nunpleasent when debugging, as gdb and the monitor don\u0027t work on virtual\naddresses.\n\nThis patch exports enough of the MMU segment state to userspace to make\ndebugging work and thus also includes the groundwork for migration.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "c0a187e12d48235cb8af4cdeff283117ab42bbb2",
      "tree": "d422faae9267bae962b3a402a0ce0ca9e5446137",
      "parents": [
        "26bb0981b3ff00b9177d61fe55806db978862b3c"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Fri Oct 23 00:35:30 2009 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:22 2009 +0200"
      },
      "message": "KVM: powerpc: Fix BUILD_BUG_ON condition\n\nThe old BUILD_BUG_ON implementation didn\u0027t work with __builtin_constant_p().\nFixing that revealed this test had been inverted for a long time without\nanybody noticing...\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "10474ae8945ce08622fd1f3464e55bd817bf2376",
      "tree": "d390843b5107e600fbbf745eb24d85d745fe449f",
      "parents": [
        "e8b3433a5c062e94e34cadb6144c10689a497bc3"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Tue Sep 15 11:37:46 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:10 2009 +0200"
      },
      "message": "KVM: Activate Virtualization On Demand\n\nX86 CPUs need to have some magic happening to enable the virtualization\nextensions on them. This magic can result in unpleasant results for\nusers, like blocking other VMMs from working (vmx) or using invalid TLB\nentries (svm).\n\nCurrently KVM activates virtualization when the respective kernel module\nis loaded. This blocks us from autoloading KVM modules without breaking\nother VMMs.\n\nTo circumvent this problem at least a bit, this patch introduces on\ndemand activation of virtualization. This means, that instead\nvirtualization is enabled on creation of the first virtual machine\nand disabled on destruction of the last one.\n\nSo using this, KVM can be easily autoloaded, while keeping other\nhypervisors usable.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "367e1319b229110a27c53221c2fa32a6aa86d4a9",
      "tree": "189e289b9985cf3c9b1416b3cc7be3c7ddc7d130",
      "parents": [
        "680b3648ba89c44ac8d0316f78a0d6e147b88809"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Aug 26 14:57:07 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Dec 03 09:32:08 2009 +0200"
      },
      "message": "KVM: Return -ENOTTY on unrecognized ioctls\n\nNot the incorrect -EINVAL.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "e0ea8b2c0677e6cc44a0e5b867be48867f91de5b",
      "tree": "28131a74e034bbb8e8d4b5700b73b5f2b835bf08",
      "parents": [
        "d4e09f8432a428d6a46ca4f3c2b28d0385f5b93d"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 17:17:12 2009 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 17:17:12 2009 +1100"
      },
      "message": "powerpc/kvm: Fix non-modular build\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "d4e09f8432a428d6a46ca4f3c2b28d0385f5b93d",
      "tree": "c5d7ef8e5a9e69e011e6361f076b43d3e3767575",
      "parents": [
        "41c8c46bfe52488779e227b77222402579573ccf",
        "544c6761bb05a1dd19a39cb9bed096273f9bdb36"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 17:16:13 2009 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 17:16:13 2009 +1100"
      },
      "message": "Merge branch \u0027kvm\u0027 into next\n"
    },
    {
      "commit": "41c8c46bfe52488779e227b77222402579573ccf",
      "tree": "be7c8d42106997833d76bf481091047337b34a8d",
      "parents": [
        "588e050887c5f00a39b056848ea58c8b496beab0"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 17:10:34 2009 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 17:16:08 2009 +1100"
      },
      "message": "powerpc/kvm: Remove problematic BUILD_BUG_ON statement\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "38634e6769920929385f1ffc8820dc3e893cc630",
      "tree": "059d504317f4e7301d6cc36cfc237e8d1e68adce",
      "parents": [
        "8435b027b87a78145992c37b0b8ed0f1b7761bf0"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 17:10:34 2009 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 17:10:34 2009 +1100"
      },
      "message": "powerpc/kvm: Remove problematic BUILD_BUG_ON statement\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "544c6761bb05a1dd19a39cb9bed096273f9bdb36",
      "tree": "66fde2d24a61c3be4712ac2701263aca04f26ebb",
      "parents": [
        "c8240bd6f0b4b1b21ffd36dd44114d05c7afe0c0"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Nov 02 12:02:31 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 16:51:05 2009 +1100"
      },
      "message": "Use hrtimers for the decrementer\n\nFollowing S390\u0027s good example we should use hrtimers for the decrementer too!\nThis patch converts the timer from the old mechanism to hrtimers.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "346b2762a72c60e97d2825e60423c84a869f3266",
      "tree": "8b3a072b0233f337f4a234270359a4e6f079fdab",
      "parents": [
        "c4f9c779f1019c7d5c61961a7c0aaaf1420d8f90"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Oct 30 05:47:25 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 16:50:27 2009 +1100"
      },
      "message": "Fix trace.h\n\nIt looks like the variable \"pc\" is defined. At least the current code always\nfailed on me stating that \"pc\" is already defined somewhere else.\n\nLet\u0027s use _pc instead, because that doesn\u0027t collide.\n\nIs this the right approach? Does it break on 440 too? If not, why not?\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "c4f9c779f1019c7d5c61961a7c0aaaf1420d8f90",
      "tree": "688494449ff2c0fdb963a6af8b5fb0e1ce0f4487",
      "parents": [
        "55c758840a2ab0aa31530aca982dd5e9281a169c"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Oct 30 05:47:24 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 16:50:26 2009 +1100"
      },
      "message": "Include Book3s_64 target in buildsystem\n\nNow we have everything in place to be able to build KVM, so let\u0027s add it\nas config option and in the Makefile.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "0186fd0373d9684145046a60c688b913cb9bd181",
      "tree": "0b5cf13534330ede808a92d24bfe77869a5425d6",
      "parents": [
        "e85a47106abb928e048d89d7fa48f982fcb018aa"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Oct 30 05:47:21 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 16:50:25 2009 +1100"
      },
      "message": "Export KVM symbols for module\n\nTo be able to keep KVM as module, we need to export the SLB trampoline\naddresses to the module, so it knows where to jump to.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "513579e3a391a3874c478a8493080822069976e8",
      "tree": "329af02fc9790cbfcdda3c7162a734fd34111801",
      "parents": [
        "9a7a9b09fee8487003df012d9af4b227b3661e4d"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Oct 30 05:47:16 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 16:49:57 2009 +1100"
      },
      "message": "Add desktop PowerPC specific emulation\n\nLittle opcodes behave differently on desktop and embedded PowerPC cores.\nIn order to reflect those differences, let\u0027s add some #ifdef code to emulate.c.\n\nWe could probably also handle them in the core specific emulation files, but I\nwould prefer to reuse as much code as possible.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "9a7a9b09fee8487003df012d9af4b227b3661e4d",
      "tree": "d51f49af2f6eb0cd41bfcc62aba3c75a35f8f600",
      "parents": [
        "c215c6e49fef6c79a5b98f66f11cc6b1e395cb59"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Oct 30 05:47:15 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 16:49:56 2009 +1100"
      },
      "message": "Add mfdec emulation\n\nWe support setting the DEC to a certain value right now. Doing that basically\ntriggers the CPU local timer.\n\nBut there\u0027s also an mfdec command that enabled the OS to read the decrementor.\n\nThis is required at least by all desktop and server PowerPC Linux kernels. It\ncan\u0027t really hurt to allow embedded ones to do it as well though.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "c215c6e49fef6c79a5b98f66f11cc6b1e395cb59",
      "tree": "d995d5f061bf5b25e2833b400eb09979a71818ee",
      "parents": [
        "012351808174120b2e1839d48e2f0678808b2367"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Oct 30 05:47:14 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 16:49:55 2009 +1100"
      },
      "message": "Add book3s_64 specific opcode emulation\n\nThere are generic parts of PowerPC that can be shared across all\nimplementations and specific parts that only apply to BookE or desktop PPCs.\n\nThis patch adds emulation for desktop specific opcodes that don\u0027t apply\nto BookE CPUs.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "012351808174120b2e1839d48e2f0678808b2367",
      "tree": "15d82e3b857ece111ee7591b122b2b63f334c3c3",
      "parents": [
        "e71b2a39afff245c3a93809e62d35a90726f8d3e"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Oct 30 05:47:13 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 16:49:55 2009 +1100"
      },
      "message": "Add book3s_32 guest MMU\n\nThis patch adds an implementation for a G3/G4 MMU, so we can run G3 and\nG4 guests in KVM on Book3s_64.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "e71b2a39afff245c3a93809e62d35a90726f8d3e",
      "tree": "8afd850860a25c24f0fa2b9c23db1575db023470",
      "parents": [
        "0d8dc681c84aa88ddc3d2fe5b6029f8eb3d11ecf"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Oct 30 05:47:12 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 16:49:55 2009 +1100"
      },
      "message": "Add book3s_64 guest MMU\n\nTo be able to run a guest, we also need to implement a guest MMU.\n\nThis patch adds MMU handling for Book3s_64 guests.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "0d8dc681c84aa88ddc3d2fe5b6029f8eb3d11ecf",
      "tree": "7d297550ca76ffe8bd19a0279a742e2640b9677f",
      "parents": [
        "2f4cf5e42d13974763276e918618f76a4188e391"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Oct 30 05:47:11 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 16:49:54 2009 +1100"
      },
      "message": "Add book3s_64 Host MMU handling\n\nWe designed the Book3S port of KVM as modular as possible. Most\nof the code could be easily used on a Book3S_32 host as well.\n\nThe main difference between 32 and 64 bit cores is the MMU. To keep\nthings well separated, we treat the book3s_64 MMU as one possible compile\noption.\n\nThis patch adds all the MMU helpers the rest of the code needs in\norder to modify the host\u0027s MMU, like setting PTEs and segments.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "2f4cf5e42d13974763276e918618f76a4188e391",
      "tree": "c4f0cf8e2c8852c17fe6d28f445b2a7468135e7b",
      "parents": [
        "c862125c8ae4c261ecbb096ab12b1fa55fcfce8d"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Oct 30 05:47:10 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 16:49:54 2009 +1100"
      },
      "message": "Add book3s.c\n\nThis adds the book3s core handling file. Here everything that is generic to\ndesktop PowerPC cores is handled, including interrupt injections, MSR settings,\netc.\n\nIt basically takes over the same role as booke.c for embedded PowerPCs.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "c862125c8ae4c261ecbb096ab12b1fa55fcfce8d",
      "tree": "c7c54cbbcdd71ceb45c57685b1ef0f3ae6650c9a",
      "parents": [
        "5126ed37603ae3a5ec764d99d77430a179021699"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Oct 30 05:47:09 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 16:49:54 2009 +1100"
      },
      "message": "Add interrupt handling code\n\nGetting from host state to the guest is only half the story. We also need\nto return to our host context and handle whatever happened to get us out of\nthe guest.\n\nOn PowerPC every guest exit is an interrupt. So all we need to do is trap\nthe host\u0027s interrupt handlers and get into our #VMEXIT code to handle it.\n\nPowerPCs also have a register that can add an offset to the interrupt handlers\u0027\nadresses which is what the booke KVM code uses. Unfortunately that is a\nhypervisor ressource and we also want to be able to run KVM when we\u0027re running\nin an LPAR. So we have to hook into the Linux interrupt handlers.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "5126ed37603ae3a5ec764d99d77430a179021699",
      "tree": "fe3cee0285aedb66f8cfd2da6a31da8940e7dd13",
      "parents": [
        "29eb61bca1e82dc59e4d9c575e6f21ce7a36d61d"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Nov 02 12:02:29 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 16:49:53 2009 +1100"
      },
      "message": "Add SLB switching code for entry/exit\n\nThis is the really low level of guest entry/exit code.\n\nBook3s_64 has an SLB, which stores all ESID -\u003e VSID mappings we\u0027re\ncurrently aware of.\n\nThe segments in the guest differ from the ones on the host, so we need\nto switch the SLB to tell the MMU that we\u0027re in a new context.\n\nSo we store a shadow of the guest\u0027s SLB in the PACA, switch to that on\nentry and only restore bolted entries on exit, leaving the rest to the\nLinux SLB fault handler.\n\nThat way we get a really clean way of switching the SLB.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "29eb61bca1e82dc59e4d9c575e6f21ce7a36d61d",
      "tree": "27a875caac9136f5d6fb05aa1a35f5a7630aabed",
      "parents": [
        "3cea8c435d0b142eb2b3dd2c411a24aa1b32bfe4"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Oct 30 05:47:07 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 16:49:53 2009 +1100"
      },
      "message": "Add book3s_64 highmem asm code\n\nThis is the of entry / exit code. In order to switch between host and guest\ncontext, we need to switch register state and call the exit code handler on\nexit.\n\nThis assembly file does exactly that. To finally enter the guest it calls\ninto book3s_64_slb.S. On exit it gets jumped at from book3s_64_slb.S too.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "4e755758cbbeb0afe44556c1ce52ea6f590ed5bf",
      "tree": "25cddb4cf7ea84e5c53b4b6c6b8a8968514d4b9e",
      "parents": [
        "588e050887c5f00a39b056848ea58c8b496beab0"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Fri Oct 30 05:47:01 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Nov 05 16:49:51 2009 +1100"
      },
      "message": "Move dirty logging code to sub-arch\n\nPowerPC code handles dirty logging in the generic parts atm. While this\nis great for \"return -ENOTSUPP\", we need to be rather target specific\nwhen actually implementing it.\n\nSo let\u0027s split it to implementation specific code, so we can implement\nit for book3s.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "828c09509b9695271bcbdc53e9fc9a6a737148d2",
      "tree": "072ffad6f02db7bf4095e07e2b90247cfa042998",
      "parents": [
        "1c4115e595dec42aa0e81ba47ef46e35b34ed428"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 01 15:43:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 01 16:11:11 2009 -0700"
      },
      "message": "const: constify remaining file_operations\n\n[akpm@linux-foundation.org: fix KVM]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "723e9db7a46e328527cc3da2b478b831184fe828",
      "tree": "cdeda255633057dcb4c84097bed27b2bbf76970f",
      "parents": [
        "ada3fa15057205b7d3f727bba5cd26b5912e350f",
        "d331d8305cba713605854aab63a000fb892353a7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 15 09:51:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 15 09:51:09 2009 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (134 commits)\n  powerpc/nvram: Enable use Generic NVRAM driver for different size chips\n  powerpc/iseries: Fix oops reading from /proc/iSeries/mf/*/cmdline\n  powerpc/ps3: Workaround for flash memory I/O error\n  powerpc/booke: Don\u0027t set DABR on 64-bit BookE, use DAC1 instead\n  powerpc/perf_counters: Reduce stack usage of power_check_constraints\n  powerpc: Fix bug where perf_counters breaks oprofile\n  powerpc/85xx: Fix SMP compile error and allow NULL for smp_ops\n  powerpc/irq: Improve nanodoc\n  powerpc: Fix some late PowerMac G5 with PCIe ATI graphics\n  powerpc/fsl-booke: Use HW PTE format if CONFIG_PTE_64BIT\n  powerpc/book3e: Add missing page sizes\n  powerpc/pseries: Fix to handle slb resize across migration\n  powerpc/powermac: Thermal control turns system off too eagerly\n  powerpc/pci: Merge ppc32 and ppc64 versions of phb_scan()\n  powerpc/405ex: support cuImage via included dtb\n  powerpc/405ex: provide necessary fixup function to support cuImage\n  powerpc/40x: Add support for the ESTeem 195E (PPC405EP) SBC\n  powerpc/44x: Add Eiger AMCC (AppliedMicro) PPC460SX evaluation board support.\n  powerpc/44x: Update Arches defconfig\n  powerpc/44x: Update Arches dts\n  ...\n\nFix up conflicts in drivers/char/agp/uninorth-agp.c\n"
    },
    {
      "commit": "a1b37100d9e29c1f8dc3e2f5490a205c80180e01",
      "tree": "0e1448e35c8da68b865816a1173540f8e05234e4",
      "parents": [
        "0b71785dc05f1f66e6268022b9953c0d6a9985c6"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Jul 09 15:33:52 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:33:13 2009 +0300"
      },
      "message": "KVM: Reduce runnability interface with arch support code\n\nRemove kvm_cpu_has_interrupt() and kvm_arch_interrupt_allowed() from\ninterface between general code and arch code. kvm_arch_vcpu_runnable()\nchecks for interrupts instead.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "2023a29cbe34139afcea8f65f8aef78c325c5dc0",
      "tree": "142223b88f59710a366321a1b47b54b33ba8e19c",
      "parents": [
        "46f43c6ee022c3aeb9686b104234b9f27fac03c2"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Jun 18 11:47:28 2009 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:33:03 2009 +0300"
      },
      "message": "KVM: remove old KVMTRACE support code\n\nReturn EOPNOTSUPP for KVM_TRACE_ENABLE/PAUSE/DISABLE ioctls.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "46f43c6ee022c3aeb9686b104234b9f27fac03c2",
      "tree": "cd7187419d488518983935fe68496d5adc5f3763",
      "parents": [
        "ed85c0685321a139cefd6622b21467643f0159e1"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Jun 18 11:47:27 2009 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:33:03 2009 +0300"
      },
      "message": "KVM: powerpc: convert marker probes to event trace\n\n[avi: make it build]\n[avi: fold trace-arch.h into trace.h]\n\nCC: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "988a2cae6a3c0dea6df59808a935a9a697bfc28c",
      "tree": "c1118d86c5d6f24fe738c608917b0affb311f26d",
      "parents": [
        "73880c80aa9c8dc353cd0ad26579023213cd5314"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Jun 09 15:56:29 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:32:52 2009 +0300"
      },
      "message": "KVM: Use macro to iterate over vcpus.\n\n[christian: remove unused variables on s390]\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "06579dd9c12f36ac575460a226d2020d84a0128b",
      "tree": "78f381476d7ff904ce124de47bb1244234bfb92f",
      "parents": [
        "5b7c1a2c17e77cd5416755bb9ac63278996f6c51"
      ],
      "author": {
        "name": "Liu Yu",
        "email": "yu.liu@freescale.com",
        "time": "Fri Jun 05 14:54:31 2009 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:32:47 2009 +0300"
      },
      "message": "KVM: ppc: e500: Add MMUCFG and PVR emulation\n\nLatest kernel started to use these two registers.\n\nSigned-off-by: Liu Yu \u003cyu.liu@freescale.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "5b7c1a2c17e77cd5416755bb9ac63278996f6c51",
      "tree": "5cfb03ceab87b877d7434092839a41bea61bfef1",
      "parents": [
        "0cfb50e50dd27539fed9ba3cb33b0f22c0cddef0"
      ],
      "author": {
        "name": "Liu Yu",
        "email": "yu.liu@freescale.com",
        "time": "Fri Jun 05 14:54:30 2009 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:32:47 2009 +0300"
      },
      "message": "KVM: ppc: e500: Directly pass pvr to guest\n\nSigned-off-by: Liu Yu \u003cyu.liu@freescale.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "0cfb50e50dd27539fed9ba3cb33b0f22c0cddef0",
      "tree": "9b1170a860de72d4995d9af287f8c34e4baeb58a",
      "parents": [
        "105f8d40a737564100dc7dcd1d94d4e15fada20e"
      ],
      "author": {
        "name": "Liu Yu",
        "email": "yu.liu@freescale.com",
        "time": "Fri Jun 05 14:54:29 2009 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:32:47 2009 +0300"
      },
      "message": "KVM: ppc: e500: Move to Book-3e MMU definitions\n\nAccording to commit 70fe3af8403f85196bb74f22ce4813db7dfedc1a.\n\nSigned-off-by: Liu Yu \u003cyu.liu@freescale.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "2986b8c72c272ea58edd37903b042c6da985627d",
      "tree": "5cbf6e5a353299df2a50a8174970008008647a57",
      "parents": [
        "6c8166a77c98f473eb91e96a61c3cf78ac617278"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Jun 02 11:46:14 2009 +1000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:32:44 2009 +0300"
      },
      "message": "KVM: powerpc: fix some init/exit annotations\n\nFixes a couple of warnings like this one:\n\nWARNING: arch/powerpc/kvm/kvm-440.o(.text+0x1e8c): Section mismatch in reference from the function kvmppc_44x_exit() to the function .exit.text:kvmppc_booke_exit()\nThe function kvmppc_44x_exit() references a function in an exit section.\nOften the function kvmppc_booke_exit() has valid usage outside the exit section\nand the fix is to remove the __exit annotation of kvmppc_booke_exit.\n\nAlso add some __init annotations on obvious routines.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "0ba12d10817a8db1fd7d96d3283ec6c0b294aeab",
      "tree": "e99c7e1193c0b939becf39f440f3364ac3753e81",
      "parents": [
        "787ff73637bbf34ef276cb04a127b421de71cc43"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu May 21 16:45:19 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Sep 10 08:32:41 2009 +0300"
      },
      "message": "KVM: Move common KVM Kconfig items to new file virt/kvm/Kconfig\n\nReduce Kconfig code duplication.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "ee43eb788b3a06425fffb912677e2e1c8b00dd3b",
      "tree": "7233cb47647837ab00af81270b3a16555d88a1f1",
      "parents": [
        "8aa34ab8b2dc96ca6c4feecfb87ed13f0d40ef98"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 14 20:52:54 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 20 10:12:27 2009 +1000"
      },
      "message": "powerpc: Use names rather than numbers for SPRGs (v2)\n\nThe kernel uses SPRG registers for various purposes, typically in\nlow level assembly code as scratch registers or to hold per-cpu\nglobal infos such as the PACA or the current thread_info pointer.\n\nWe want to be able to easily shuffle the usage of those registers\nas some implementations have specific constraints realted to some\nof them, for example, some have userspace readable aliases, etc..\nand the current choice isn\u0027t always the best.\n\nThis patch should not change any code generation, and replaces the\nusage of SPRN_SPRGn everywhere in the kernel with a named replacement\nand adds documentation next to the definition of the names as to\nwhat those are used for on each processor family.\n\nThe only parts that still use the original numbers are bits of KVM\nor suspend/resume code that just blindly needs to save/restore all\nthe SPRGs.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "ba55bd74360ea4b8b95e73ed79474d37ff482b36",
      "tree": "9474cac06ef169ec0a8f5744e2aefa61286e4410",
      "parents": [
        "eedacbf02df462d6c915d8d642b23fb450d485c7"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Tue Jun 09 20:48:51 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jun 16 14:15:45 2009 +1000"
      },
      "message": "powerpc: Add configurable -Werror for arch/powerpc\n\nAdd the option to build the code under arch/powerpc with -Werror.\n\nThe intention is to make it harder for people to inadvertantly introduce\nwarnings in the arch/powerpc code. It needs to be configurable so that\nif a warning is introduced, people can easily work around it while it\u0027s\nbeing fixed.\n\nThe option is a negative, ie. don\u0027t enable -Werror, so that it will be\nturned on for allyes and allmodconfig builds.\n\nThe default is n, in the hope that developers will build with -Werror,\nthat will probably lead to some build breaks, I am prepared to be flamed.\n\nIt\u0027s not enabled for math-emu, which is a steaming pile of warnings.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "78646121e9a2fcf7977cc15966420e572a450bc3",
      "tree": "55aeac260f4a43bef8e1bc1147f93a3f7e867ec7",
      "parents": [
        "09cec754885f900f6aab23801878c0cd217ee1d6"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Mon Mar 23 12:12:11 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 10 11:48:33 2009 +0300"
      },
      "message": "KVM: Fix interrupt unhalting a vcpu when it shouldn\u0027t\n\nkvm_vcpu_block() unhalts vpu on an interrupt/timer without checking\nif interrupt window is actually opened.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "046a48b35baa7c66d0d0331256ba12ca51665411",
      "tree": "ffb60208848c2b4337fa6d7963acc53acbc5f9a7",
      "parents": [
        "bc35cbc85cd78213590761618a13da6a9707652c"
      ],
      "author": {
        "name": "Liu Yu",
        "email": "yu.liu@freescale.com",
        "time": "Tue Mar 17 16:57:46 2009 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:03:15 2009 +0200"
      },
      "message": "KVM: ppc: e500: Fix the bug that KVM is unstable in SMP\n\nTLB entry should enable memory coherence in SMP.\n\nAnd like commit 631fba9dd3aca519355322cef035730609e91593,\nremove guard attribute to enable the prefetch of guest memory.\n\nSigned-off-by: Liu Yu \u003cyu.liu@freescale.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "bc35cbc85cd78213590761618a13da6a9707652c",
      "tree": "12f0075b62b53fb40e472f1b42fd3188883daa5d",
      "parents": [
        "4539b35881ae9664b0e2953438dd83f5ee02c0b4"
      ],
      "author": {
        "name": "Liu Yu",
        "email": "yu.liu@freescale.com",
        "time": "Tue Mar 17 16:57:45 2009 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:03:14 2009 +0200"
      },
      "message": "KVM: ppc: e500: Fix the bug that mas0 update to wrong value when read TLB entry\n\nShould clear and then update the next victim area here.\n\nGuest kernel only read TLB1 when startup kernel,\nthis bug result in an extra 4K TLB1 mapping in guest from 0x0 to 0x0.\n\nAs the problem has no impact to bootup a guest,\nwe didn\u0027t notice it before.\n\nSigned-off-by: Liu Yu \u003cyu.liu@freescale.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "b0a1835d53c57bc38b36867c04436b60454cb610",
      "tree": "8d3cd9f1d01b8d13f82bddda759c1f3335147221",
      "parents": [
        "71450f78853b82d55cda4e182c9db6e26b631485"
      ],
      "author": {
        "name": "Liu Yu",
        "email": "yu.liu@freescale.com",
        "time": "Tue Feb 17 16:52:08 2009 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:03:12 2009 +0200"
      },
      "message": "KVM: ppc: Add emulation of E500 register mmucsr0\n\nLatest kernel flushes TLB via mmucsr0.\n\nSigned-off-by: Liu Yu \u003cyu.liu@freescale.com\u003e\nAcked-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "9aa4dd5e5f47a5feb96fc394fccf0265ab7d85a4",
      "tree": "f5c4183e9b7abcf5fe9b9a7e552915d4455ae84f",
      "parents": [
        "fb2838d446f6ee7e13e4149e08ec138753c5c450"
      ],
      "author": {
        "name": "Liu Yu",
        "email": "yu.liu@freescale.com",
        "time": "Wed Jan 14 10:47:38 2009 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:03:05 2009 +0200"
      },
      "message": "KVM: ppc: Move to new TLB invalidate interface\n\nCommit 2a4aca1144394653269720ffbb5a325a77abd5fa removed old method _tlbia().\n\nSigned-off-by: Liu Yu \u003cyu.liu@freescale.com\u003e\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "fb2838d446f6ee7e13e4149e08ec138753c5c450",
      "tree": "ae7e5d59cbcfe2b7f9651e78e4066c8d6ecb8b67",
      "parents": [
        "87c656b4147cd08c6efba95d8d70c12cba181255"
      ],
      "author": {
        "name": "Liu Yu",
        "email": "yu.liu@freescale.com",
        "time": "Wed Jan 14 10:47:37 2009 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:03:05 2009 +0200"
      },
      "message": "KVM: ppc: Fix e500 warnings and some spelling problems\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "5d9b8e30f543a9f21a968a4cda71e8f6d1c66a61",
      "tree": "22b44297196aa19f9b4c20c46d525405d3681aa1",
      "parents": [
        "4677a3b693e035f186e2875259b9a0bb94c42fbe"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Jan 04 18:04:18 2009 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:03:02 2009 +0200"
      },
      "message": "KVM: Add CONFIG_HAVE_KVM_IRQCHIP\n\nTwo KVM archs support irqchips and two don\u0027t.  Add a Kconfig item to\nmake selecting between the two models easier.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "f5d0906b5bafd7faea553ed1cc92bd06755b66b9",
      "tree": "3de9c4e3d678fce1940e4b76294fadfea5b4fc6a",
      "parents": [
        "269e05e48502f1cc06802e9fba90f5100dd6bb0d"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Sun Jan 04 13:51:09 2009 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:03:01 2009 +0200"
      },
      "message": "KVM: ppc: remove debug support broken by KVM debug rewrite\n\nAfter the rewrite of KVM\u0027s debug support, this code doesn\u0027t even build any\nmore.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "bb3a8a178dec1e46df3138a30f76acf67fe12397",
      "tree": "175effadbcdc3efb79e6b96a9f307052afaba46b",
      "parents": [
        "bdc89f13ec955c14777d5caf02dfca3f51d639bd"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Sat Jan 03 16:23:13 2009 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:02:59 2009 +0200"
      },
      "message": "KVM: ppc: Add extra E500 exceptions\n\ne500 has additional interrupt vectors (and corresponding IVORs) for SPE and\nperformance monitoring interrupts.\n\nSigned-off-by: Liu Yu \u003cyu.liu@freescale.com\u003e\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "bdc89f13ec955c14777d5caf02dfca3f51d639bd",
      "tree": "3c85ecba0c0a14556c7cac6cfb287dd74944989e",
      "parents": [
        "b52a638c391c5c7b013180f5374274698b8535c8"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Sat Jan 03 16:23:12 2009 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:02:59 2009 +0200"
      },
      "message": "KVM: ppc: distinguish between interrupts and priorities\n\nAlthough BOOKE_MAX_INTERRUPT has the right value, the meaning is not match.\n\nSigned-off-by: Liu Yu \u003cyu.liu@freescale.com\u003e\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "b52a638c391c5c7b013180f5374274698b8535c8",
      "tree": "bc0e5ed5f177e2c58c61a8ac5254d9072e885a12",
      "parents": [
        "bc8080cbcc8870178f0910edd537d0cb5706d703"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Sat Jan 03 16:23:11 2009 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:02:59 2009 +0200"
      },
      "message": "KVM: ppc: Add kvmppc_mmu_dtlb/itlb_miss for booke\n\nWhen itlb or dtlb miss happens, E500 needs to update some mmu registers.\nSo that the auto-load mechanism can work on E500 when write a tlb entry.\n\nSigned-off-by: Liu Yu \u003cyu.liu@freescale.com\u003e\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "bc8080cbcc8870178f0910edd537d0cb5706d703",
      "tree": "7e929e8585a32c3d93a373553d3179e182c7eb5f",
      "parents": [
        "17c885eb5c38f39a2bb3143a67687bd905dcd0fa"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Sat Jan 03 16:23:10 2009 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:02:58 2009 +0200"
      },
      "message": "KVM: ppc: E500 core-specific code\n\nSigned-off-by: Liu Yu \u003cyu.liu@freescale.com\u003e\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "17c885eb5c38f39a2bb3143a67687bd905dcd0fa",
      "tree": "68b9934b15dace3e164921c4170be19ac1478e84",
      "parents": [
        "366d4b9b9fdda282006b97316f8038cd36f8ecb7"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Sat Jan 03 16:23:09 2009 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:02:58 2009 +0200"
      },
      "message": "KVM: ppc: ifdef iccci with CONFIG_44x\n\nE500 deosn\u0027t support this instruction.\n\nSigned-off-by: Liu Yu \u003cyu.liu@freescale.com\u003e\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "f7b200af8f1da748cc67993caeff3923d6014070",
      "tree": "d69efd0b7361438cb065235e4426d09445b451ab",
      "parents": [
        "d0c7dc03442f7cbd8740d9a4e7a4e7f84bfa676d"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Sat Jan 03 16:23:07 2009 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:02:57 2009 +0200"
      },
      "message": "KVM: ppc: Add dbsr in kvm_vcpu_arch\n\nKernel for E500 need clear dbsr when startup.\nSo add dbsr register in kvm_vcpu_arch for BOOKE.\n\nSigned-off-by: Liu Yu \u003cyu.liu@freescale.com\u003e\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d0c7dc03442f7cbd8740d9a4e7a4e7f84bfa676d",
      "tree": "8f0aa28d4734fc20249239b4736ac437a19c3937",
      "parents": [
        "cea5d8c9de669e30ed6d60930318376d5cc42e9e"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Sat Jan 03 16:23:06 2009 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:02:57 2009 +0200"
      },
      "message": "KVM: ppc: split out common Book E instruction emulation\n\nThe Book E code will be shared with e500.\n\nI\u0027ve left PID in kvmppc_core_emulate_op() just so that we don\u0027t need to move\nkvmppc_set_pid() right now. Once we have the e500 implementation, we can\nprobably share that too.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "cea5d8c9de669e30ed6d60930318376d5cc42e9e",
      "tree": "35645c4bb1144268ad4b8f18f151ca9e3c2305e9",
      "parents": [
        "f44353610b584fcbc31e363f35594796c6446d63"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Sat Jan 03 16:23:05 2009 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:02:57 2009 +0200"
      },
      "message": "KVM: ppc: use macros instead of hardcoded literals for instruction decoding\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "f44353610b584fcbc31e363f35594796c6446d63",
      "tree": "c69d6630a79618003ead765241ac51757f2cdbc7",
      "parents": [
        "fa86b8dda2e0faccefbeda61edc02a50bd588f4f"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Sat Jan 03 16:23:04 2009 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:02:57 2009 +0200"
      },
      "message": "KVM: ppc: remove last 44x-specific bits from booke.c\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "fa86b8dda2e0faccefbeda61edc02a50bd588f4f",
      "tree": "d86fa2b51cafba9d226f32de4f4d7f189f792875",
      "parents": [
        "be8d1cae07d5acf4a61046d7def5eda40f0981e1"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Sat Jan 03 16:23:03 2009 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:02:56 2009 +0200"
      },
      "message": "KVM: ppc: rename 44x MMU functions used in booke.c\n\ne500 will provide its own implementation of these.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "be8d1cae07d5acf4a61046d7def5eda40f0981e1",
      "tree": "32560487e3fd05bb6c64c394016e9461c70b2227",
      "parents": [
        "58a96214a306fc7fc66105097eea9c4f3bfa35bc"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Sat Jan 03 16:23:02 2009 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:02:56 2009 +0200"
      },
      "message": "KVM: ppc: turn tlb_xlate() into a per-core hook (and give it a better name)\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "58a96214a306fc7fc66105097eea9c4f3bfa35bc",
      "tree": "2049ecd13795b80f1f0962bdbc38c9be3b17fd3a",
      "parents": [
        "475e7cdd69101939006659a63c2e4a32d5b71389"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Sat Jan 03 16:23:01 2009 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:02:56 2009 +0200"
      },
      "message": "KVM: ppc: change kvmppc_mmu_map() parameters\n\nPassing just the TLB index will ease an e500 implementation.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "475e7cdd69101939006659a63c2e4a32d5b71389",
      "tree": "a9a70f430565226765b97f94c775acf89207fbb6",
      "parents": [
        "ecc0981ff07cbe7cdf95de20be5b24fee8e49cb5"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Sat Jan 03 16:23:00 2009 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:02:56 2009 +0200"
      },
      "message": "KVM: ppc: small cosmetic changes to Book E DTLB miss handler\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "ecc0981ff07cbe7cdf95de20be5b24fee8e49cb5",
      "tree": "54e0dded5ab1a223b94f1a90f3d1fc81f7e9dc1a",
      "parents": [
        "c46fb0211f8b93de45400bff814c0f29335af5fc"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Sat Jan 03 16:22:59 2009 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:02:55 2009 +0200"
      },
      "message": "KVM: ppc: cosmetic changes to mmu hook names\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d0bfb940ecabf0b44fb1fd80d8d60594e569e5ec",
      "tree": "b5927d44937a54ec23d2a28d59db06a0262c0412",
      "parents": [
        "8ab2d2e231062814bd89bba2d6d92563190aa2bb"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Mon Dec 15 13:52:10 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Mar 24 11:02:49 2009 +0200"
      },
      "message": "KVM: New guest debug interface\n\nThis rips out the support for KVM_DEBUG_GUEST and introduces a new IOCTL\ninstead: KVM_SET_GUEST_DEBUG. The IOCTL payload consists of a generic\npart, controlling the \"main switch\" and the single-step feature. The\narch specific part adds an x86 interface for intercepting both types of\ndebug exceptions separately and re-injecting them when the host was not\ninterested. Moveover, the foundation for guest debugging via debug\nregisters is layed.\n\nTo signal breakpoint events properly back to userland, an arch-specific\ndata block is now returned along KVM_EXIT_DEBUG. For x86, the arch block\ncontains the PC, the debug exception, and relevant debug registers to\ntell debug events properly apart.\n\nThe availability of this new interface is signaled by\nKVM_CAP_SET_GUEST_DEBUG. Empty stubs for not yet supported archs are\nprovided.\n\nNote that both SVM and VTX are supported, but only the latter was tested\nyet. Based on the experience with all those VTX corner case, I would be\nfairly surprised if SVM will work out of the box.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "ad8ba2cd44d4d39fb3fe55d5dcc565b19fc3a7fb",
      "tree": "74dfd501fc541b7d55eecec7b9469f1db8225507",
      "parents": [
        "85db06e514422ae429b5f85742d8111b70bd56f3"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng@linux.intel.com",
        "time": "Tue Jan 06 10:03:02 2009 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Feb 15 02:47:36 2009 +0200"
      },
      "message": "KVM: Add kvm_arch_sync_events to sync with asynchronize events\n\nkvm_arch_sync_events is introduced to quiet down all other events may happen\ncontemporary with VM destroy process, like IRQ handler and work struct for\nassigned device.\n\nFor kvm_arch_sync_events is called at the very beginning of kvm_destroy_vm(), so\nthe state of KVM here is legal and can provide a environment to quiet down other\nevents.\n\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "ca9edaee1aea34ebd9adb48910aba0b3d64b1b22",
      "tree": "283e686f8215354fbc5f73dc3366f72c35eca1db",
      "parents": [
        "1a811b6167089bcdb84284f2dc9fd0b4d0f1899d"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Dec 08 18:29:29 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:55:46 2008 +0200"
      },
      "message": "KVM: Consolidate userspace memory capability reporting into common code\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7b7015914b30ad8d9136d41412c5129b9bc9af70",
      "tree": "c0764fff834b784d933126f30ef5562aef0dc55c",
      "parents": [
        "73e75b416ffcfa3a84952d8e389a0eca080f00e1"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Tue Dec 02 15:51:58 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:55:41 2008 +0200"
      },
      "message": "KVM: ppc: mostly cosmetic updates to the exit timing accounting code\n\nThe only significant changes were to kvmppc_exit_timing_write() and\nkvmppc_exit_timing_show(), both of which were dramatically simplified.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "73e75b416ffcfa3a84952d8e389a0eca080f00e1",
      "tree": "6195be5b0fa56235550679f35ca990093dd081ca",
      "parents": [
        "c5fbdffbda79254047ec83b09c1a61a3655d052a"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Tue Dec 02 15:51:57 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:55:41 2008 +0200"
      },
      "message": "KVM: ppc: Implement in-kernel exit timing statistics\n\nExisting KVM statistics are either just counters (kvm_stat) reported for\nKVM generally or trace based aproaches like kvm_trace.\nFor KVM on powerpc we had the need to track the timings of the different exit\ntypes. While this could be achieved parsing data created with a kvm_trace\nextension this adds too much overhead (at least on embedded PowerPC) slowing\ndown the workloads we wanted to measure.\n\nTherefore this patch adds a in-kernel exit timing statistic to the powerpc kvm\ncode. These statistic is available per vm\u0026vcpu under the kvm debugfs directory.\nAs this statistic is low, but still some overhead it can be enabled via a\n.config entry and should be off by default.\n\nSince this patch touched all powerpc kvm_stat code anyway this code is now\nmerged and simplified together with the exit timing statistic code (still\nworking with exit timing disabled in .config).\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c5fbdffbda79254047ec83b09c1a61a3655d052a",
      "tree": "4fb1ba38fe722d514b62c284cc618768856eedf8",
      "parents": [
        "7924bd41097ae8991c6d38cef8b1e4058e30d198"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Tue Dec 02 15:51:56 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:55:09 2008 +0200"
      },
      "message": "KVM: ppc: save and restore guest mappings on context switch\n\nStore shadow TLB entries in memory, but only use it on host context switch\n(instead of every guest entry). This improves performance for most workloads on\n440 by reducing the guest TLB miss rate.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7924bd41097ae8991c6d38cef8b1e4058e30d198",
      "tree": "b39629f81598739eb886126c5f3f8705656ce9cd",
      "parents": [
        "c0ca609c5f874f7d6ae8e180afe79317e1943d22"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Tue Dec 02 15:51:55 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:55:09 2008 +0200"
      },
      "message": "KVM: ppc: directly insert shadow mappings into the hardware TLB\n\nFormerly, we used to maintain a per-vcpu shadow TLB and on every entry to the\nguest would load this array into the hardware TLB. This consumed 1280 bytes of\nmemory (64 entries of 16 bytes plus a struct page pointer each), and also\nrequired some assembly to loop over the array on every entry.\n\nInstead of saving a copy in memory, we can just store shadow mappings directly\ninto the hardware TLB, accepting that the host kernel will clobber these as\npart of the normal 440 TLB round robin. When we do that we need less than half\nthe memory, and we have decreased the exit handling time for all guest exits,\nat the cost of increased number of TLB misses because the host overwrites some\nguest entries.\n\nThese savings will be increased on processors with larger TLBs or which\nimplement intelligent flush instructions like tlbivax (which will avoid the\nneed to walk arrays in software).\n\nIn addition to that and to the code simplification, we have a greater chance of\nleaving other host userspace mappings in the TLB, instead of forcing all\nsubsequent tasks to re-fault all their mappings.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "891686188f69d330f7eeeec8e6642ccfb7453106",
      "tree": "39349d7383b3cf1fe0fda983d8c4f0d86a6dc2bc",
      "parents": [
        "4a643be8c9b8d3c1ae8f5ccd377daaa85bd57e0c"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Tue Dec 02 15:51:53 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:55:07 2008 +0200"
      },
      "message": "KVM: ppc: support large host pages\n\nKVM on 440 has always been able to handle large guest mappings with 4K host\npages -- we must, since the guest kernel uses 256MB mappings.\n\nThis patch makes KVM work when the host has large pages too (tested with 64K).\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "fe4e771d5c37f0949047faf95d16a512b21406bf",
      "tree": "518b4ff17a8e1e62b747ce1912c08b62883d2855",
      "parents": [
        "df9b856c454e331bc394c80903fcdea19cae2a33"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Mon Nov 10 14:57:36 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:52:26 2008 +0200"
      },
      "message": "KVM: ppc: fix userspace mapping invalidation on context switch\n\nWe used to defer invalidating userspace TLB entries until jumping out of the\nkernel. This was causing MMU weirdness most easily triggered by using a pipe in\nthe guest, e.g. \"dmesg | tail\". I believe the problem was that after the guest\nkernel changed the PID (part of context switch), the old process\u0027s mappings\nwere still present, and so copy_to_user() on the \"return to new process\" path\nended up using stale mappings.\n\nTesting with large pages (64K) exposed the problem, probably because with 4K\npages, pressure on the TLB faulted all process A\u0027s mappings out before the\nguest kernel could insert any for process B.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "df9b856c454e331bc394c80903fcdea19cae2a33",
      "tree": "aa266ad64c3bed1f895d2f8132b62c25bae882e4",
      "parents": [
        "bf5d4025c9fe8a64c5905c00bf4292319d634903"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Mon Nov 10 14:57:35 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:52:26 2008 +0200"
      },
      "message": "KVM: ppc: use prefetchable mappings for guest memory\n\nBare metal Linux on 440 can \"overmap\" RAM in the kernel linear map, so that it\ncan use large (256MB) mappings even if memory isn\u0027t a multiple of 256MB. To\nprevent the hardware prefetcher from loading from an invalid physical address\nthrough that mapping, it\u0027s marked Guarded.\n\nHowever, KVM must ensure that all guest mappings are backed by real physical\nRAM (since a deliberate access through a guarded mapping could still cause a\nmachine check). Accordingly, we don\u0027t need to make our mappings guarded, so\nlet\u0027s allow prefetching as the designers intended.\n\nCuriously this patch didn\u0027t affect performance at all on the quick test I\ntried, but it\u0027s clearly the right thing to do anyways and may improve other\nworkloads.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "bf5d4025c9fe8a64c5905c00bf4292319d634903",
      "tree": "4f3bb34278a855f78bfc135ae6dbb6c48583cfde",
      "parents": [
        "e7cacd40d20849f69c908f1290c714145073685a"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Mon Nov 10 14:57:34 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:52:25 2008 +0200"
      },
      "message": "KVM: ppc: use MMUCR accessor to obtain TID\n\nWe have an accessor; might as well use it.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "74ef740da64fd82a14dbab6d7f43d798ecc1b6cc",
      "tree": "332006502aa9f33e20d22cdba802024348bb0709",
      "parents": [
        "78749809222be5083e21bfe697b44ab797e5c0a8"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Fri Nov 07 13:15:13 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:52:25 2008 +0200"
      },
      "message": "KVM: ppc: fix Kconfig constraints\n\nMake sure that CONFIG_KVM cannot be selected without processor support\n(currently, 440 is the only processor implementation available).\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "fcfdbd266a41d3e41d17666de410a24995fde03a",
      "tree": "f37ca0b9eaec03193608447bf5107e6149fe62a8",
      "parents": [
        "d4cf3892e50b8e35341086a4fe2bb8a3989b55d4"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Wed Nov 05 09:36:24 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:52:24 2008 +0200"
      },
      "message": "KVM: ppc: improve trap emulation\n\nset ESR[PTR] when emulating a guest trap. This allows Linux guests to\nproperly handle WARN_ON() (i.e. detect that it\u0027s a non-fatal trap).\n\nAlso remove debugging printk in trap emulation.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d4cf3892e50b8e35341086a4fe2bb8a3989b55d4",
      "tree": "adb3275c9d5a2a89605b705434e57e1d0fc48ae6",
      "parents": [
        "9ab80843c01ac25139e635d018467e528729a317"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Wed Nov 05 09:36:23 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:52:23 2008 +0200"
      },
      "message": "KVM: ppc: optimize irq delivery path\n\nIn kvmppc_deliver_interrupt is just one case left in the switch and it is a\nrare one (less than 8%) when looking at the exit numbers. Therefore we can\nat least drop the switch/case and if an if. I inserted an unlikely too, but\nthat\u0027s open for discussion.\n\nIn kvmppc_can_deliver_interrupt all frequent cases are in the default case.\nI know compilers are smart but we can make it easier for them. By writing\ndown all options and removing the default case combined with the fact that\nithe values are constants 0..15 should allow the compiler to write an easy\njump table.\nModifying kvmppc_can_deliver_interrupt pointed me to the fact that gcc seems\nto be unable to reduce priority_exception[x] to a build time constant.\nTherefore I changed the usage of the translation arrays in the interrupt\ndelivery path completely. It is now using priority without translation to irq\non the full irq delivery path.\nTo be able to do that ivpr regs are stored by their priority now.\n\nAdditionally the decision made in kvmppc_can_deliver_interrupt is already\nsufficient to get the value of interrupt_msr_mask[x]. Therefore we can replace\nthe 16x4byte array used here with a single 4byte variable (might still be one\nmiss, but the chance to find this in cache should be better than the right\nentry of the whole array).\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "9ab80843c01ac25139e635d018467e528729a317",
      "tree": "725d1926e9fc26e8dfe6f51e2f15b2c91c673022",
      "parents": [
        "1b6766c7f3533c5d03668e11dd5617ae4a52e5a8"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Wed Nov 05 09:36:22 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:52:23 2008 +0200"
      },
      "message": "KVM: ppc: optimize find first bit\n\nSince we use a unsigned long here anyway we can use the optimized __ffs.\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "1b6766c7f3533c5d03668e11dd5617ae4a52e5a8",
      "tree": "3f5ed50be4044dca495c247dda069d634b012b38",
      "parents": [
        "b8fd68ac8db1f926fdb2c7f196598a279461de53"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Wed Nov 05 09:36:21 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:52:23 2008 +0200"
      },
      "message": "KVM: ppc: optimize kvm stat handling\n\nCurrently we use an unnecessary if\u0026switch to detect some cases.\nTo be honest we don\u0027t need the ligh_exits counter anyway, because we can\ncalculate it out of others. Sum_exits can also be calculated, so we can\nremove that too.\nMMIO, DCR  and INTR can be counted on other places without these\nadditional control structures (The INTR case was never hit anyway).\n\nThe handling of BOOKE_INTERRUPT_EXTERNAL/BOOKE_INTERRUPT_DECREMENTER is\nsimilar, but we can avoid the additional if when copying 3 lines of code.\nI thought about a goto there to prevent duplicate lines, but rewriting three\nlines should be better style than a goto cross switch/case statements (its\nalso not enough code to justify a new inline function).\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "b8fd68ac8db1f926fdb2c7f196598a279461de53",
      "tree": "0463cef0657e3603f1028ba6d9db24ecb47fc374",
      "parents": [
        "5cf8ca22146fa106f3bb865631ec04f5b499508f"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Wed Nov 05 09:36:20 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:52:23 2008 +0200"
      },
      "message": "KVM: ppc: fix set regs to take care of msr change\n\nWhen changing some msr bits e.g. problem state we need to take special\ncare of that. We call the function in our mtmsr emulation (not needed for\nwrtee[i]), but we don\u0027t call kvmppc_set_msr if we change msr via set_regs\nioctl.\nIt\u0027s a corner case we never hit so far, but I assume it should be\nkvmppc_set_msr in our arch set regs function (I found it because it is also\na corner case when using pv support which would miss the update otherwise).\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "5cf8ca22146fa106f3bb865631ec04f5b499508f",
      "tree": "4a32a552277e4c3a6a103f05d164dfc97dbf2bae",
      "parents": [
        "db93f5745d836f81cef0b4101a7c2685eeb55efb"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Wed Nov 05 09:36:19 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:52:22 2008 +0200"
      },
      "message": "KVM: ppc: adjust vcpu types to support 64-bit cores\n\nHowever, some of these fields could be split into separate per-core structures\nin the future.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "db93f5745d836f81cef0b4101a7c2685eeb55efb",
      "tree": "970b0dfc93dbbe25eb988b008bbbeffd866f3f23",
      "parents": [
        "5cbb5106f50b4515815cd32cf944958c0d4da83f"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Wed Nov 05 09:36:18 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:52:22 2008 +0200"
      },
      "message": "KVM: ppc: create struct kvm_vcpu_44x and introduce container_of() accessor\n\nThis patch doesn\u0027t yet move all 44x-specific data into the new structure, but\nis the first step down that path. In the future we may also want to create a\nstruct kvm_vcpu_booke.\n\nBased on patch from Liu Yu \u003cyu.liu@freescale.com\u003e.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "5cbb5106f50b4515815cd32cf944958c0d4da83f",
      "tree": "9e77820c11e173b141a2c4672ce8ecf7be7a286b",
      "parents": [
        "75f74f0dbe086c239b4b0cc5ed75b903ea3e663f"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Wed Nov 05 09:36:17 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:52:22 2008 +0200"
      },
      "message": "KVM: ppc: Move the last bits of 44x code out of booke.c\n\nNeeded to port to other Book E processors.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "75f74f0dbe086c239b4b0cc5ed75b903ea3e663f",
      "tree": "c6774128934667d1c82a6e458d9a4233574a95a4",
      "parents": [
        "c381a04313e7c0fb04246b1ff711e0b5726de6c0"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Wed Nov 05 09:36:16 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:52:21 2008 +0200"
      },
      "message": "KVM: ppc: refactor instruction emulation into generic and core-specific pieces\n\nCores provide 3 emulation hooks, implemented for example in the new\n4xx_emulate.c:\nkvmppc_core_emulate_op\nkvmppc_core_emulate_mtspr\nkvmppc_core_emulate_mfspr\n\nStrictly speaking the last two aren\u0027t necessary, but provide for more\ninformative error reporting (\"unknown SPR\").\n\nLong term I\u0027d like to have instruction decoding autogenerated from tables of\nopcodes, and that way we could aggregate universal, Book E, and core-specific\ninstructions more easily and without redundant switch statements.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c381a04313e7c0fb04246b1ff711e0b5726de6c0",
      "tree": "d487c0a99510854eb1763329cb4b25182a2ef8c9",
      "parents": [
        "9dd921cfea734409a931ccc6eafd7f09850311e9"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Wed Nov 05 09:36:15 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:52:21 2008 +0200"
      },
      "message": "ppc: Create disassemble.h to extract instruction fields\n\nThis is used in a couple places in KVM, but isn\u0027t KVM-specific.\n\nHowever, this patch doesn\u0027t modify other in-kernel emulation code:\n- xmon uses a direct copy of ppc_opc.c from binutils\n- emulate_instruction() doesn\u0027t need it because it can use a series\n  of mask tests.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "9dd921cfea734409a931ccc6eafd7f09850311e9",
      "tree": "84bd4c0fe65cb866dd78882c90e54df5f7d17313",
      "parents": [
        "d9fbd03d240380826c0ec16f927242be24ff6265"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Wed Nov 05 09:36:14 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:52:21 2008 +0200"
      },
      "message": "KVM: ppc: Refactor powerpc.c to relocate 440-specific code\n\nThis introduces a set of core-provided hooks. For 440, some of these are\nimplemented by booke.c, with the rest in (the new) 44x.c.\n\nNote that these hooks are link-time, not run-time. Since it is not possible to\nbuild a single kernel for both e500 and 440 (for example), using function\npointers would only add overhead.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d9fbd03d240380826c0ec16f927242be24ff6265",
      "tree": "e17c36fa4e27882d03f9d19715943d971025ab97",
      "parents": [
        "0f55dc481ea5c4f87fc0161cb1b8c6e2cafae8fc"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Wed Nov 05 09:36:13 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:51:50 2008 +0200"
      },
      "message": "KVM: ppc: combine booke_guest.c and booke_host.c\n\nThe division was somewhat artificial and cumbersome, and had no functional\nbenefit anyways: we can only guests built for the real host processor.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "0f55dc481ea5c4f87fc0161cb1b8c6e2cafae8fc",
      "tree": "18b5bb0ad449607690329c6c23083886cb39a9bc",
      "parents": [
        "a0d7b9f246074fab1f42678d203ef4ba281505f2"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Wed Nov 05 09:36:12 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:51:50 2008 +0200"
      },
      "message": "KVM: ppc: Rename \"struct tlbe\" to \"struct kvmppc_44x_tlbe\"\n\nThis will ease ports to other cores.\n\nAlso remove unused \"struct kvm_tlb\" while we\u0027re at it.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a0d7b9f246074fab1f42678d203ef4ba281505f2",
      "tree": "0e84016c1ddabdde19b0eda3954f53371a8e9b75",
      "parents": [
        "2843099fee32a6020e1caa95c6026f28b5d43bff"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Wed Nov 05 09:36:11 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Dec 31 16:51:50 2008 +0200"
      },
      "message": "KVM: ppc: Move 440-specific TLB code into 44x_tlb.c\n\nThis will make it easier to provide implementations for other cores.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "fad7b9b51e21a97e9e2662f1b51869ed2d209097",
      "tree": "58ca6546a29f26dd9e4b5c9c37db8a104d7a5837",
      "parents": [
        "def434c2319c5a336633cd73322e0f28a7091b01"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Dec 23 14:57:26 2008 +1100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Dec 23 14:58:30 2008 +1100"
      },
      "message": "powerpc: Fix KVM build on ppc440\n\nCommit 2a4aca1144394653269720ffbb5a325a77abd5fa (\"powerpc/mm: Split\nlow level tlb invalidate for nohash processors\") changed a call to\n_tlbia to _tlbil_all but didn\u0027t include the header that defines\n_tlbil_all, leading to a build failure on 440 if KVM is enabled.\nThis fixes it.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "2a4aca1144394653269720ffbb5a325a77abd5fa",
      "tree": "553bbcbb294ac5923f72430b7317b5c80a27141c",
      "parents": [
        "f048aace29e007f2b642097e2da8231e0e9cce2d"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Dec 18 19:13:42 2008 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sun Dec 21 14:21:16 2008 +1100"
      },
      "message": "powerpc/mm: Split low level tlb invalidate for nohash processors\n\nCurrently, the various forms of low level TLB invalidations are all\nimplemented in misc_32.S for 32-bit processors, in a fairly scary\nmess of #ifdef\u0027s and with interesting duplication such as a whole\nbunch of code for FSL _tlbie and _tlbia which are no longer used.\n\nThis moves things around such that _tlbie is now defined in\nhash_low_32.S and is only used by the 32-bit hash code, and all\nnohash CPUs use the various _tlbil_* forms that are now moved to\na new file, tlb_nohash_low.S.\n\nI moved all the definitions for that stuff out of\ninclude/asm/tlbflush.h as they are really internal mm stuff, into\nmm/mmu_decl.h\n\nThe code should have no functional changes.  I kept some variants\ninline for trivial forms on things like 40x and 8xx.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "c30f8a6c6d74f67bc2107726cc61a1e7c71e9740",
      "tree": "cc593db75efd62f917e949df78f4fabdcddc6938",
      "parents": [
        "0c0f40bdbe4ddb48ebecfb5c2b56eeb175a57c45"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Mon Nov 24 11:37:38 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Nov 25 12:02:48 2008 +0200"
      },
      "message": "KVM: ppc: stop leaking host memory on VM exit\n\nWhen the VM exits, we must call put_page() for every page referenced in the\nshadow TLB.\n\nWithout this patch, we usually leak 30-50 host pages (120 - 200 KiB with 4 KiB\npages). The maximum number of pages leaked is the size of our shadow TLB, 64\npages.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "4c2155ce81c193788082d4b8cdbc26d79edebc58",
      "tree": "5c028fe4a18c55b5c0e9c4e80be459dad3f96da7",
      "parents": [
        "777b3f49d297e387866604093b635e5bc9b9d2a6"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Sep 16 20:54:47 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:06 2008 +0200"
      },
      "message": "KVM: switch to get_user_pages_fast\n\nConvert gfn_to_pfn to use get_user_pages_fast, which can do lockless\npagetable lookups on x86. Kernel compilation on 4-way guest is 3.7%\nfaster on VMX.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "0bd595fc222583ca260f259698f72e9946c6e524",
      "tree": "6bf391a57b5c13035b074190b9714a622d84868e",
      "parents": [
        "9c3e4aab5ae27bf8589d61c7874e213832b4b7d2"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Thu Sep 11 10:04:29 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:26 2008 +0200"
      },
      "message": "KVM: ppc: kvmppc_44x_shadow_release() does not require mmap_sem to be locked\n\nAnd it gets in the way of get_user_pages_fast().\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "49dd2c492895828a90ecdf889e7fe9cfb40a82a7",
      "tree": "63b5f85b0ed5a94c8265d86dda4db262b00adf95",
      "parents": [
        "83aae4a8098eb8a40a2e9dab3714354182143b4f"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Fri Jul 25 13:54:53 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:16 2008 +0200"
      },
      "message": "KVM: powerpc: Map guest userspace with TID\u003d0 mappings\n\nWhen we use TID\u003dN userspace mappings, we must ensure that kernel mappings have\nbeen destroyed when entering userspace. Using TID\u003d1/TID\u003d0 for kernel/user\nmappings and running userspace with PID\u003d0 means that userspace can\u0027t access the\nkernel mappings, but the kernel can directly access userspace.\n\nThe net is that we don\u0027t need to flush the TLB on privilege switches, but we do\non guest context switches (which are far more infrequent). Guest boot time\nperformance improvement: about 30%.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "83aae4a8098eb8a40a2e9dab3714354182143b4f",
      "tree": "872381c8aa610e3c1053008e967728f121fa55cb",
      "parents": [
        "20754c2495a791b5b429c0da63394c86ade978e7"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Fri Jul 25 13:54:52 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:16 2008 +0200"
      },
      "message": "KVM: ppc: Write only modified shadow entries into the TLB on exit\n\nTrack which TLB entries need to be written, instead of overwriting everything\nbelow the high water mark. Typically only a single guest TLB entry will be\nmodified in a single exit.\n\nGuest boot time performance improvement: about 15%.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "20754c2495a791b5b429c0da63394c86ade978e7",
      "tree": "fbeed7fdab0f91417798aa5e4cea22f15a255275",
      "parents": [
        "6a0ab738ef42d87951b3980f61b1f4cbb14d4171"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Fri Jul 25 13:54:51 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:16 2008 +0200"
      },
      "message": "KVM: ppc: Stop saving host TLB state\n\nWe\u0027re saving the host TLB state to memory on every exit, but never using it.\nOriginally I had thought that we\u0027d want to restore host TLB for heavyweight\nexits, but that could actually hurt when context switching to an unrelated host\nprocess (i.e. not qemu).\n\nSince this decreases the performance penalty of all exits, this patch improves\nguest boot time by about 15%.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "6a0ab738ef42d87951b3980f61b1f4cbb14d4171",
      "tree": "8650adf6b8c2df9817c7d6dff2a2f8a4b4904abc",
      "parents": [
        "b5e2fec0ebc3fcaff954092bb69444a67a904c0a"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Fri Jul 25 13:54:49 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:16 2008 +0200"
      },
      "message": "KVM: ppc: guest breakpoint support\n\nAllow host userspace to program hardware debug registers to set breakpoints\ninside guests.\n\nSigned-off-by: Jerone Young \u003cjyoung5@us.ibm.com\u003e\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3b4bd7969f7b61a1ab455bff084ee4f0a2411055",
      "tree": "019b375e8981e70e8b60dd43d0d9ae6927f76724",
      "parents": [
        "31711f2294b38d8334efaf7dbac6da4781fd151e"
      ],
      "author": {
        "name": "Christian Ehrhardt",
        "email": "ehrhardt@linux.vnet.ibm.com",
        "time": "Mon Jul 14 14:00:04 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 15 10:15:15 2008 +0200"
      },
      "message": "KVM: ppc: trace powerpc instruction emulation\n\nThis patch adds a trace point for the instruction emulation on embedded powerpc\nutilizing the KVM_TRACE interface.\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    }
  ],
  "next": "31711f2294b38d8334efaf7dbac6da4781fd151e"
}
