)]}'
{
  "log": [
    {
      "commit": "3cfc2c42c1cbc8e238bb9c0612c0df4565e3a8b4",
      "tree": "5adc1ff2eaf64d450bf28bb6b2ce890db2567288",
      "parents": [
        "5cf65713f87775c548e3eb48dbafa32e12f28000",
        "0ea6e61122196509af82cc4f36cbdaacbefb8227"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 15:31:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 15:31:02 2010 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (48 commits)\n  Documentation: update broken web addresses.\n  fix comment typo \"choosed\" -\u003e \"chosen\"\n  hostap:hostap_hw.c Fix typo in comment\n  Fix spelling contorller -\u003e controller in comments\n  Kconfig.debug: FAIL_IO_TIMEOUT: typo Faul -\u003e Fault\n  fs/Kconfig: Fix typo Userpace -\u003e Userspace\n  Removing dead MACH_U300_BS26\n  drivers/infiniband: Remove unnecessary casts of private_data\n  fs/ocfs2: Remove unnecessary casts of private_data\n  libfc: use ARRAY_SIZE\n  scsi: bfa: use ARRAY_SIZE\n  drm: i915: use ARRAY_SIZE\n  drm: drm_edid: use ARRAY_SIZE\n  synclink: use ARRAY_SIZE\n  block: cciss: use ARRAY_SIZE\n  comment typo fixes: charater \u003d\u003e character\n  fix comment typos concerning \"challenge\"\n  arm: plat-spear: fix typo in kerneldoc\n  reiserfs: typo comment fix\n  update email address\n  ...\n"
    },
    {
      "commit": "b7c8e55db7141dcbb9d5305a3260fa0ed62a1bcc",
      "tree": "59fbd52d8e80e5a83d9747961d28aaf4d400613a",
      "parents": [
        "ffd386a9a8273dcfa61705d0b349eebc7525ef87",
        "4015d9a865e3bcc42d88bedc8ce1551000bab664"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 15:23:14 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 15:23:14 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (39 commits)\n  random: Reorder struct entropy_store to remove padding on 64bits\n  padata: update API documentation\n  padata: Remove padata_get_cpumask\n  crypto: pcrypt - Update pcrypt cpumask according to the padata cpumask notifier\n  crypto: pcrypt - Rename pcrypt_instance\n  padata: Pass the padata cpumasks to the cpumask_change_notifier chain\n  padata: Rearrange set_cpumask functions\n  padata: Rename padata_alloc functions\n  crypto: pcrypt - Dont calulate a callback cpu on empty callback cpumask\n  padata: Check for valid cpumasks\n  padata: Allocate cpumask dependend recources in any case\n  padata: Fix cpu index counting\n  crypto: geode_aes - Convert pci_table entries to PCI_VDEVICE (if PCI_ANY_ID is used)\n  pcrypt: Added sysfs interface to pcrypt\n  padata: Added sysfs primitives to padata subsystem\n  padata: Make two separate cpumasks\n  padata: update documentation\n  padata: simplify serialization mechanism\n  padata: make padata_do_parallel to return zero on success\n  padata: Handle empty padata cpumasks\n  ...\n"
    },
    {
      "commit": "03da30986793385af57eeca3296253c887b742e6",
      "tree": "9c46dbe51c9d0856990649dd917ab45474b7be87",
      "parents": [
        "6ba74014c1ab0e37af7de6f64b4eccbbae3cb9e7",
        "339f4f4eab80caa6cf0d39fb057ad6ddb84ba91e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 15:15:15 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 15:15:15 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (276 commits)\n  [SCSI] zfcp: Trigger logging in the FCP channel on qdio error conditions\n  [SCSI] zfcp: Introduce experimental support for DIF/DIX\n  [SCSI] zfcp: Enable data division support for FCP devices\n  [SCSI] zfcp: Prevent access on uninitialized memory.\n  [SCSI] zfcp: Post events through FC transport class\n  [SCSI] zfcp: Cleanup QDIO attachment and improve processing.\n  [SCSI] zfcp: Cleanup function parameters for sbal value.\n  [SCSI] zfcp: Use correct width for timer_interval field\n  [SCSI] zfcp: Remove SCSI device when removing unit\n  [SCSI] zfcp: Use memdup_user and kstrdup\n  [SCSI] zfcp: Fix retry after failed \"open port\" erp action\n  [SCSI] zfcp: Fail erp after timeout\n  [SCSI] zfcp: Use forced_reopen in terminate_rport_io callback\n  [SCSI] zfcp: Register SCSI devices after successful fc_remote_port_add\n  [SCSI] zfcp: Do not try \"forced close\" when port is already closed\n  [SCSI] zfcp: Do not unblock rport from REOPEN_PORT_FORCED\n  [SCSI] sd: add support for runtime PM\n  [SCSI] implement runtime Power Management\n  [SCSI] convert to the new PM framework\n  [SCSI] Unify SAM_ and SAM_STAT_ macros\n  ...\n"
    },
    {
      "commit": "6ba74014c1ab0e37af7de6f64b4eccbbae3cb9e7",
      "tree": "8f3892fc44f1e403675a6d7e88fda5c70e56ee4c",
      "parents": [
        "5abd9ccced7a726c817dd6b5b96bc933859138d1",
        "3ff1c25927e3af61c6bf0e4ed959504058ae4565"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 11:47:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 11:47:58 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1443 commits)\n  phy/marvell: add 88ec048 support\n  igb: Program MDICNFG register prior to PHY init\n  e1000e: correct MAC-PHY interconnect register offset for 82579\n  hso: Add new product ID\n  can: Add driver for esd CAN-USB/2 device\n  l2tp: fix export of header file for userspace\n  can-raw: Fix skb_orphan_try handling\n  Revert \"net: remove zap_completion_queue\"\n  net: cleanup inclusion\n  phy/marvell: add 88e1121 interface mode support\n  u32: negative offset fix\n  net: Fix a typo from \"dev\" to \"ndev\"\n  igb: Use irq_synchronize per vector when using MSI-X\n  ixgbevf: fix null pointer dereference due to filter being set for VLAN 0\n  e1000e: Fix irq_synchronize in MSI-X case\n  e1000e: register pm_qos request on hardware activation\n  ip_fragment: fix subtracting PPPOE_SES_HLEN from mtu twice\n  net: Add getsockopt support for TCP thin-streams\n  cxgb4: update driver version\n  cxgb4: add new PCI IDs\n  ...\n\nManually fix up conflicts in:\n - drivers/net/e1000e/netdev.c: due to pm_qos registration\n   infrastructure changes\n - drivers/net/phy/marvell.c: conflict between adding 88ec048 support\n   and cleaning up the IDs\n - drivers/net/wireless/ipw2x00/ipw2100.c: trivial ipw2100_pm_qos_req\n   conflict (registration change vs marking it static)\n"
    },
    {
      "commit": "d5fc1d517543857ea117fc57f23b394aa9784f06",
      "tree": "7d50d71d585ae10ff0601fc4d940680fbc1734ab",
      "parents": [
        "694f690d27dadccc8cb9d90532e76593b61fe098",
        "c4799c7570475352c8c5de82ae938f7a02f206fa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 11:23:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 11:23:59 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:\n  amd64_edac: Minor formatting fix\n  amd64_edac: Fix operator precendence error\n  edac, mc: Improve scrub rate handling\n  amd64_edac: Correct scrub rate setting\n  amd64_edac: Fix DCT base address selector\n  amd64_edac: Remove polling mechanism\n  x86, mce: Notify about corrected events too\n  amd64_edac: Remove unneeded defines\n  edac: Remove EDAC_DEBUG_VERBOSE\n  amd64_edac: Sanitize syndrome extraction\n"
    },
    {
      "commit": "d9b68e5e88248bb24fd4e455588bea1d56108fd6",
      "tree": "94a1a3980fc4a428b2628a8188e24a57ce941dcf",
      "parents": [
        "f46e9913faeebcb6bd29edf795f12b60acbff171"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@mcmartin.ca",
        "time": "Tue Aug 03 20:38:08 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 11:17:10 2010 -0700"
      },
      "message": "parisc: pass through \u0027\\t\u0027 to early (iodc) console\n\nThe firmware handles \u0027\\t\u0027 internally, so stop trying to emulate it\n(which, incidentally, had a bug in it.)\n\nFixes a really weird hang at bootup in rcu_bootup_announce, which,\nas far as I can tell, is the first printk in the core kernel to use\na tab as the first character.\n\nCc: stable@kernel.org\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d91530c5fd7f0b1e8c4ddfea2905e55a178569b",
      "tree": "f211c693c00015d9f5d015dc162fffa676629d1c",
      "parents": [
        "c145307a110c14d09d5d92ff3c49dc0940e44b80",
        "9d1f44ee206a23b975d7d7c6f759efb25e0e61ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 11:13:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 11:13:36 2010 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:\n  [CPUFREQ] Remove pointless printk from p4-clockmod.\n  [CPUFREQ] Fix section mismatch for powernow_cpu_init in powernow-k7.c\n  [CPUFREQ] Fix section mismatch for longhaul_cpu_init.\n  [CPUFREQ] Fix section mismatch for longrun_cpu_init.\n  [CPUFREQ] powernow-k8: Fix misleading variable naming\n  [CPUFREQ] Convert pci_table entries to PCI_VDEVICE (if PCI_ANY_ID is used)\n  [CPUFREQ] arch/x86/kernel/cpu/cpufreq: use for_each_pci_dev()\n  [CPUFREQ] fix brace coding style issue.\n  [CPUFREQ] x86 cpufreq: Make trace_power_frequency cpufreq driver independent\n  [CPUFREQ] acpi-cpufreq: Fix CPU_ANY CPUFREQ_{PRE,POST}CHANGE notification\n  [CPUFREQ] ondemand: don\u0027t synchronize sample rate unless multiple cpus present\n  [CPUFREQ] unexport (un)lock_policy_rwsem* functions\n  [CPUFREQ] ondemand: Refactor frequency increase code\n  [CPUFREQ] powernow-k8: On load failure, remind the user to enable support in BIOS setup\n  [CPUFREQ] powernow-k8: Limit Pstate transition latency check\n  [CPUFREQ] Fix PCC driver error path\n  [CPUFREQ] fix double freeing in error path of pcc-cpufreq\n  [CPUFREQ] pcc driver should check for pcch method before calling _OSC\n  [CPUFREQ] fix memory leak in cpufreq_add_dev\n  [CPUFREQ] revert \"[CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)\"\n\nManually fix up non-data merge conflict introduced by new calling\nconventions for trace_power_start() in commit 6f4f2723d085 (\"x86\ncpufreq: Make trace_power_frequency cpufreq driver independent\"), which\ndidn\u0027t update the intel_idle native hardware cpuidle driver.\n"
    },
    {
      "commit": "c145307a110c14d09d5d92ff3c49dc0940e44b80",
      "tree": "cba923818dea8857022de06ffd94ec6b2967aa1f",
      "parents": [
        "5e83f6fbdb020b70c0e413312801424d13c58d68",
        "1a14703d6b20010401ca273ac1f07bff7992aa2c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 10:44:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 10:44:06 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: (88 commits)\n  ips driver: make it less chatty\n  intel_scu_ipc: fix size field for intel_scu_ipc_command\n  intel_scu_ipc: return -EIO for error condition in busy_loop\n  intel_scu_ipc: fix data packing of PMIC command on Moorestown\n  Clean up command packing on MRST.\n  zero the stack buffer before giving random garbage to the SCU\n  Fix stack buffer size for IPC writev messages\n  intel_scu_ipc: Use the new cpu identification function\n  intel_scu_ipc: tidy up unused bits\n  Remove indirect read write api support.\n  intel_scu_ipc: Support Medfield processors\n  intel_scu_ipc: detect CPU type automatically\n  x86 plat: limit x86 platform driver menu to X86\n  acpi ec_sys: Be more cautious about ec write access\n  acpi ec: Fix possible double io port registration\n  hp-wmi: acpi_drivers.h is already included through acpi.h two lines below\n  hp-wmi: Fix mixing up of and/or directive\n  dell-laptop: make dell_laptop_i8042_filter() static\n  asus-laptop: fix asus_input_init error path\n  msi-wmi: make needlessly global symbols static\n  ...\n"
    },
    {
      "commit": "5e83f6fbdb020b70c0e413312801424d13c58d68",
      "tree": "ca270178fa891813dbc47751c331fed975d3766c",
      "parents": [
        "fe445c6e2cb62a566e1a89f8798de11459975710",
        "3444d7da1839b851eefedd372978d8a982316c36"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 10:43:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 10:43:01 2010 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.36\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.36\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (198 commits)\n  KVM: VMX: Fix host GDT.LIMIT corruption\n  KVM: MMU: using __xchg_spte more smarter\n  KVM: MMU: cleanup spte set and accssed/dirty tracking\n  KVM: MMU: don\u0027t atomicly set spte if it\u0027s not present\n  KVM: MMU: fix page dirty tracking lost while sync page\n  KVM: MMU: fix broken page accessed tracking with ept enabled\n  KVM: MMU: add missing reserved bits check in speculative path\n  KVM: MMU: fix mmu notifier invalidate handler for huge spte\n  KVM: x86 emulator: fix xchg instruction emulation\n  KVM: x86: Call mask notifiers from pic\n  KVM: x86: never re-execute instruction with enabled tdp\n  KVM: Document KVM_GET_SUPPORTED_CPUID2 ioctl\n  KVM: x86: emulator: inc/dec can have lock prefix\n  KVM: MMU: Eliminate redundant temporaries in FNAME(fetch)\n  KVM: MMU: Validate all gptes during fetch, not just those used for new pages\n  KVM: MMU: Simplify spte fetch() function\n  KVM: MMU: Add gpte_valid() helper\n  KVM: MMU: Add validate_direct_spte() helper\n  KVM: MMU: Add drop_large_spte() helper\n  KVM: MMU: Use __set_spte to link shadow pages\n  ...\n"
    },
    {
      "commit": "fe445c6e2cb62a566e1a89f8798de11459975710",
      "tree": "db1f2c0c19f488992fb5b9371476b4e7701c49a0",
      "parents": [
        "f63b759c44b0561c76a67894c734157df3313b42",
        "d01d0756f75e7a5b4b43764ad45b83c4340f11d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 10:41:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 10:41:52 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (57 commits)\n  Input: adp5588-keypad - fix NULL dereference in adp5588_gpio_add()\n  Input: cy8ctmg110 - capacitive touchscreen support\n  Input: keyboard - also match braille-only keyboards\n  Input: adp5588-keys - export unused GPIO pins\n  Input: xpad - add product ID for Hori Fighting Stick EX2\n  Input: adxl34x - fix leak and use after free\n  Input: samsung-keypad - Add samsung keypad driver\n  Input: i8042 - reset keyboard controller wehen resuming from S2R\n  Input: synaptics - set min/max for finger width\n  Input: synaptics - only report width on hardware that supports it\n  Input: evdev - signal that device is writable in evdev_poll()\n  Input: mousedev - signal that device is writable in mousedev_poll()\n  Input: change input handlers to use bool when possible\n  Input: document the MT event slot protocol\n  Input: introduce MT event slots\n  Input: usbtouchscreen - implement reset_resume\n  Input: usbtouchscreen - implement runtime power management\n  Input: usbtouchscreen - implement basic suspend/resume\n  Input: Add ATMEL QT602240 touchscreen driver\n  Input: fix signedness warning in input_set_keycode()\n  ...\n"
    },
    {
      "commit": "f63b759c44b0561c76a67894c734157df3313b42",
      "tree": "4e9638f6c1aa5c0faa62ad4213282cc7cb39772a",
      "parents": [
        "4a35cee066df1b1958e25e71595b3845d06b192e",
        "844a9e93d7fcd910cd94f6eb262e2cc43cacbe56"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 10:38:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 10:38:08 2010 -0700"
      },
      "message": "Merge branch \u0027v4l_for_2.6.35\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6\n\n* \u0027v4l_for_2.6.35\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (243 commits)\n  V4L/DVB: sms: Convert IR support to use the Remote Controller core\n  V4L/DVB: sms: properly initialize IR phys and IR name\n  V4L/DVB: standardize names at rc-dib0700 tables\n  V4L/DVB: smsusb: enable IR port for Hauppauge WinTV MiniStick\n  V4L/DVB: dib0700: Fix RC protocol logic to properly handle NEC/NECx and RC-5\n  V4L/DVB: dib0700: properly implement IR change_protocol\n  V4L/DVB: dib0700: break keytable into NEC and RC-5 variants\n  V4L/DVB: dib0700: avoid bad repeat\n  V4L/DVB: Port dib0700 to rc-core\n  V4L/DVB: Add a keymap file with dib0700 table\n  V4L/DVB: dvb-usb: add support for rc-core mode\n  V4L/DVB: dvb-usb: prepare drivers for using rc-core\n  V4L/DVB: dvb-usb: get rid of struct dvb_usb_rc_key\n  V4L/DVB: rj54n1cb0c: fix a comment in the driver\n  V4L/DVB: V4L2: sh_vou: VOU does support the full PAL resolution too\n  V4L/DVB: V4L2: sh_mobile_camera_ceu: add support for CSI2\n  V4L/DVB: V4L2: soc-camera: add a MIPI CSI-2 driver for SH-Mobile platforms\n  V4L/DVB: V4L2: soc-camera: export soc-camera bus type for notifications\n  V4L/DVB: V4L2: mediabus: add 12-bit Bayer and YUV420 pixel formats\n  V4L/DVB: mediabus: fix ambiguous pixel code names\n  ...\n"
    },
    {
      "commit": "d790d4d583aeaed9fc6f8a9f4d9f8ce6b1c15c7f",
      "tree": "854ab394486288d40fa8179cbfaf66e8bdc44b0f",
      "parents": [
        "73b2c7165b76b20eb1290e7efebc33cfd21db1ca",
        "3a09b1be53d23df780a0cd0e4087a05e2ca4a00c"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:14:38 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:14:38 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n"
    },
    {
      "commit": "be82ae0238b0453afcf4a76f0512b7dde34ba500",
      "tree": "aaa3f5f11fd51fd73365ee1a2164aad9a03de060",
      "parents": [
        "4b4fd27c0b5ec638a1f06ced9226fd95229dbbf0",
        "7b70c4275f28702b76b273c8534c38f8313812e9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 03 14:31:24 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 03 14:31:24 2010 -0700"
      },
      "message": "Merge branch \u0027devel\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027devel\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (291 commits)\n  ARM: AMBA: Add pclk support to AMBA bus infrastructure\n  ARM: 6278/2: fix regression in RealView after the introduction of pclk\n  ARM: 6277/1: mach-shmobile: Allow users to select HZ, default to 128\n  ARM: 6276/1: mach-shmobile: remove duplicate NR_IRQS_LEGACY\n  ARM: 6246/1: mmci: support larger MMCIDATALENGTH register\n  ARM: 6245/1: mmci: enable hardware flow control on Ux500 variants\n  ARM: 6244/1: mmci: add variant data and default MCICLOCK support\n  ARM: 6243/1: mmci: pass power_mode to the translate_vdd callback\n  ARM: 6274/1: add global control registers definition header file for nuc900\n  mx2_camera: fix type of dma buffer virtual address pointer\n  mx2_camera: Add soc_camera support for i.MX25/i.MX27\n  arm/imx/gpio: add spinlock protection\n  ARM: Add support for the LPC32XX arch\n  ARM: LPC32XX: Arch config menu supoport and makefiles\n  ARM: LPC32XX: Phytec 3250 platform support\n  ARM: LPC32XX: Misc support functions\n  ARM: LPC32XX: Serial support code\n  ARM: LPC32XX: System suspend support\n  ARM: LPC32XX: GPIO, timer, and IRQ drivers\n  ARM: LPC32XX: Clock driver\n  ...\n"
    },
    {
      "commit": "9d1f44ee206a23b975d7d7c6f759efb25e0e61ac",
      "tree": "2af693df4a0c4218739837d2fcb54a506e7c22b0",
      "parents": [
        "307069cf6c53632adc27de4f49bf5d1d67cb87bb"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:30 2010 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:30 2010 -0400"
      },
      "message": "[CPUFREQ] Remove pointless printk from p4-clockmod.\n\nThe only machines this is triggering on should be supported by\nacpi-cpufreq or acpi\u0027s internal throttling.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "307069cf6c53632adc27de4f49bf5d1d67cb87bb",
      "tree": "07c426d450cc188023cddf2fee40221a64521091",
      "parents": [
        "2530573e45c5846cd238db78651f0d236fc78aab"
      ],
      "author": {
        "name": "Holger Freyther",
        "email": "zecke@selfish.org",
        "time": "Mon Jul 19 03:29:16 2010 +0800"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:06 2010 -0400"
      },
      "message": "[CPUFREQ] Fix section mismatch for powernow_cpu_init in powernow-k7.c\n\nUse __cpuinit instead of __init for the cpufreq_driver\ninit function like it is done in powernow-k8.c.\n\nThis is removing the warning generated when compiling with\nthe CONFIG_DEBUG_SECTION_MISMATCH\u003dy option.\n\nSigned-off-by: Holger Hans Peter Freyther \u003cholger@moiji-mobile.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "2530573e45c5846cd238db78651f0d236fc78aab",
      "tree": "2173521f0978b4c684a711e33c40272c24f98721",
      "parents": [
        "7e2d81122052c83feeddbebf706b6d53fba7996d"
      ],
      "author": {
        "name": "Holger Freyther",
        "email": "zecke@selfish.org",
        "time": "Mon Jul 19 03:29:03 2010 +0800"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:06 2010 -0400"
      },
      "message": "[CPUFREQ] Fix section mismatch for longhaul_cpu_init.\n\nUse __cpuinit instead of __init for the cpufreq_driver\ninit function like it is done in powernow-k8.c. Use the\n__cpuinitdata for data used by the routines marked as __cpuinit.\n\nThis is removing the warning generated when compiling with\nthe CONFIG_DEBUG_SECTION_MISMATCH\u003dy option.\n\nSigned-off-by: Holger Hans Peter Freyther \u003cholger@moiji-mobile.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "7e2d81122052c83feeddbebf706b6d53fba7996d",
      "tree": "73d4bdba09289bdee44d14392a9cb23ec5f35e83",
      "parents": [
        "b30d3304c9c068ccfe6940232834768af75f8c9a"
      ],
      "author": {
        "name": "Holger Freyther",
        "email": "zecke@selfish.org",
        "time": "Mon Jul 19 03:28:49 2010 +0800"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:06 2010 -0400"
      },
      "message": "[CPUFREQ] Fix section mismatch for longrun_cpu_init.\n\nUse __cpuinit instead of __init for the cpufreq_driver\ninit function like it is done in powernow-k8.c.\n\nThis is removing the warning generated when compiling with\nthe CONFIG_DEBUG_SECTION_MISMATCH\u003dy option.\n\nSigned-off-by: Holger Hans Peter Freyther \u003cholger@moiji-mobile.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "b30d3304c9c068ccfe6940232834768af75f8c9a",
      "tree": "e4ca17a9e8cdcac951291b5796ea49ec7c4fb1ba",
      "parents": [
        "55c789bb2bcdcaa8f1f60687b4a9dbd02ffddd88"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Thu Jul 08 18:05:14 2010 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:06 2010 -0400"
      },
      "message": "[CPUFREQ] powernow-k8: Fix misleading variable naming\n\nrdmsr() takes the lower 32 bits as a second argument and the high 32 as\na third. Fix the names accordingly since they were swapped.\n\nThere should be no functionality change resulting from this patch.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "55c789bb2bcdcaa8f1f60687b4a9dbd02ffddd88",
      "tree": "f38ecbc4ff26f2751f86d99fd790a76345dd32ac",
      "parents": [
        "ccc5638a20b0eb3a66666d9d4dd8fe8f5ad40386"
      ],
      "author": {
        "name": "Peter Huewe",
        "email": "peterhuewe@gmx.de",
        "time": "Thu Jul 15 20:36:41 2010 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:05 2010 -0400"
      },
      "message": "[CPUFREQ] Convert pci_table entries to PCI_VDEVICE (if PCI_ANY_ID is used)\n\nThis patch converts pci_table entries, where .subvendor\u003dPCI_ANY_ID and\n.subdevice\u003dPCI_ANY_ID, .class\u003d0 and .class_mask\u003d0, to use the\nPCI_VDEVICE macro, and thus improves readability.\n\nSigned-off-by: Peter Huewe \u003cpeterhuewe@gmx.de\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "ccc5638a20b0eb3a66666d9d4dd8fe8f5ad40386",
      "tree": "68487cae36281722f567e914f301c4ef94643d1e",
      "parents": [
        "9c36f746d7e191ad6f44f01859af843f0c4d3c5d"
      ],
      "author": {
        "name": "Kulikov Vasiliy",
        "email": "segooon@gmail.com",
        "time": "Sat Jul 03 20:03:55 2010 +0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:05 2010 -0400"
      },
      "message": "[CPUFREQ] arch/x86/kernel/cpu/cpufreq: use for_each_pci_dev()\n\nUse for_each_pci_dev() to simplify the code.\n\nSigned-off-by: Kulikov Vasiliy \u003csegooon@gmail.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "6f4f2723d08534fd4e407e1ef8500b0f4d12c30c",
      "tree": "3422ba34e7c6bde7e8d4ca1f1f1ed772efc5cc4c",
      "parents": [
        "6b72e3934b42930fd40fc42fe762d21be413301c"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Tue Apr 20 13:17:36 2010 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:05 2010 -0400"
      },
      "message": "[CPUFREQ] x86 cpufreq: Make trace_power_frequency cpufreq driver independent\n\nand fix the broken case if a core\u0027s frequency depends on others.\n\ntrace_power_frequency was only implemented in a rather ungeneric way\nin acpi-cpufreq driver\u0027s target() function only.\n-\u003e Move the call to trace_power_frequency to\n   cpufreq.c:cpufreq_notify_transition() where CPUFREQ_POSTCHANGE\n   notifier is triggered.\n   This will support power frequency tracing by all cpufreq drivers\n\ntrace_power_frequency did not trace frequency changes correctly when\nthe userspace governor was used or when CPU cores\u0027 frequency depend\non each other.\n-\u003e Moving this into the CPUFREQ_POSTCHANGE notifier and pass the cpu\n   which gets switched automatically fixes this.\n\nRobert Schoene provided some important fixes on top of my initial\nquick shot version which are integrated in this patch:\n- Forgot some changes in power_end trace (TP_printk/variable names)\n- Variable dummy in power_end must now be cpu_id\n- Use static 64 bit variable instead of unsigned int for cpu_id\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nCC: davej@redhat.com\nCC: arjan@infradead.org\nCC: linux-kernel@vger.kernel.org\nCC: robert.schoene@tu-dresden.de\nTested-by: robert.schoene@tu-dresden.de\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "6b72e3934b42930fd40fc42fe762d21be413301c",
      "tree": "3159c30c7248fe9fbfc583b96d2799b57a02da43",
      "parents": [
        "a665df9d510bfd5bac5664f436411f921471264a"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Tue Apr 20 13:17:35 2010 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:05 2010 -0400"
      },
      "message": "[CPUFREQ] acpi-cpufreq: Fix CPU_ANY CPUFREQ_{PRE,POST}CHANGE notification\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nCC: venki@google.com\nCC: davej@redhat.com\nCC: arjan@infradead.org\nCC: linux-kernel@vger.kernel.org\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "298decfbc44e9a4cb7862ae1b7dfc4e1ba3551b9",
      "tree": "ceef739864c02e85c99922834d566e3686177f7c",
      "parents": [
        "c2f4a2c6e08c7635316dfd25ef706e9104384c56"
      ],
      "author": {
        "name": "Marti Raudsepp",
        "email": "marti@juffo.org",
        "time": "Wed Jan 20 19:19:33 2010 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:04 2010 -0400"
      },
      "message": "[CPUFREQ] powernow-k8: On load failure, remind the user to enable support in BIOS setup\n\nOn Wed, 2010-01-20 at 16:56 +0100, Thomas Renninger wrote:\n\u003e But most often this happens if people upgrade their CPU and do not\n\u003e update their BIOS.\n\u003e Or the vendor does not recognise the new CPU even if the BIOS got\n\u003e updated.\n\nMaybe some of those people just didn\u0027t realize it was disabled in BIOS?\nIf you tell users that it\u0027s a firmware bug then they\u0027ll probably just\ngive up.\n\n\u003e The itself message might be an enhancment, IMO it\u0027s not worth a patch.\n\nWhy do you think so? I spent an hour on hunting down the BIOS upgrade,\nonly to find that it didn\u0027t improve anything. It was a day later that I\nrealized that it might be a BIOS option; and the option was literally\nthe _last_ option in the whole BIOS setup. :)\n\nThis message would have saved the day.\n\n\u003e But do not revert the FW_BUG part!\n\nSure, you have a point here.\n\nHow about this patch?\n"
    },
    {
      "commit": "c2f4a2c6e08c7635316dfd25ef706e9104384c56",
      "tree": "5898daaec6234995e176378dcf8791b082814e41",
      "parents": [
        "6ebdf777ba034d2b54c99f28a4b18dabf286d8e5"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Thu Jul 08 17:55:30 2010 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:03 2010 -0400"
      },
      "message": "[CPUFREQ] powernow-k8: Limit Pstate transition latency check\n\nThe Pstate transition latency check was added for broken F10h BIOSen\nwhich wrongly contain a value of 0 for transition and bus master\nlatency. Fam11h and later, however, (will) have similar transition\nlatency so extend that behavior for them too.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "6ebdf777ba034d2b54c99f28a4b18dabf286d8e5",
      "tree": "7e8f56588cbb44657a801a23e1589308f0cc553e",
      "parents": [
        "0d9715d64fe118dd0957a29e344972b8d3f960e7"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Jul 15 11:44:00 2010 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:02 2010 -0400"
      },
      "message": "[CPUFREQ] Fix PCC driver error path\n\nThe PCC cpufreq driver unmaps the mailbox address range if any CPUs fail to\ninitialise, but doesn\u0027t do anything to remove the registered CPUs from the\ncpufreq core resulting in failures further down the line. We\u0027re better off\nsimply returning a failure - the cpufreq core will unregister us cleanly if\nwe end up with no successfully registered CPUs. Tidy up the failure path\nand also add a sanity check to ensure that the firmware gives us a realistic\nfrequency - the core deals badly with that being set to 0.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Naga Chumbalkar \u003cnagananda.chumbalkar@hp.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "0d9715d64fe118dd0957a29e344972b8d3f960e7",
      "tree": "05e83cca56e1f887f4b59a76f4d63a1016644d8d",
      "parents": [
        "5d77b85458f656923b85291a4ff56ed44859ed52"
      ],
      "author": {
        "name": "Daniel J Blueman",
        "email": "daniel.blueman@gmail.com",
        "time": "Fri Jul 23 23:06:52 2010 +0100"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:02 2010 -0400"
      },
      "message": "[CPUFREQ] fix double freeing in error path of pcc-cpufreq\n\nPrevent double freeing on error path.\n\nSigned-off-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "5d77b85458f656923b85291a4ff56ed44859ed52",
      "tree": "2c6486e767ec0007a01db589b8eec05d90d148a0",
      "parents": [
        "cad70a6ae5aaef4641a3efdfd536c30f13891afe"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Jul 20 13:52:00 2010 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Aug 03 13:47:02 2010 -0400"
      },
      "message": "[CPUFREQ] pcc driver should check for pcch method before calling _OSC\n\nThe pcc specification documents an _OSC method that\u0027s incompatible with the\none defined as part of the ACPI spec. This shouldn\u0027t be a problem as both\nare supposed to be guarded with a UUID. Unfortunately approximately nobody\n(including HP, who wrote this spec) properly check the UUID on entry to the\n_OSC call. Right now this could result in surprising behaviour if the pcc\ndriver performs an _OSC call on a machine that doesn\u0027t implement the pcc\nspecification. Check whether the PCCH method exists first in order to reduce\nthis probability.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Naga Chumbalkar \u003cnagananda.chumbalkar@hp.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "98a5ae2d99b78d29d2d31283cd8b481a44f41fd3",
      "tree": "dc8c613f68a1a66ce71448bad09e21df073701cd",
      "parents": [
        "695426506ebba6acc87843cca075595a775e8866"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Tue May 18 13:59:05 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Tue Aug 03 16:14:02 2010 +0200"
      },
      "message": "x86, mce: Notify about corrected events too\n\nNotify all parties registered on the mce decoder chain about logged\ncorrectable MCEs.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nAcked-by: Doug Thompson \u003cdougthompson@xmission.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "804f8681a99da2aa49bd7f0dab3750848d1ab1bc",
      "tree": "76bfafe233b4fd93682bbd0a467cce9afc2c7e8f",
      "parents": [
        "e3359fd5d2d97f4d3bca5778e35427b07a2b1060"
      ],
      "author": {
        "name": "Sreedhara DS",
        "email": "sreedhara.ds@intel.com",
        "time": "Mon Jul 26 10:03:10 2010 +0100"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Aug 03 09:50:30 2010 -0400"
      },
      "message": "Remove indirect read write api support.\n\nThe firmware of production devices does not support this interface so this\nis dead code.\n\nSigned-off-by: Sreedhara DS \u003csreedhara.ds@intel.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "35f2915c3bd0cd6950bdd9d461de565e8feae852",
      "tree": "128fef844ad0713ceb8c7d3003ccaba9f2754ec6",
      "parents": [
        "b95d13eaf3d4ea093aba95c7f615f3b10708a2c4"
      ],
      "author": {
        "name": "Feng Tang",
        "email": "feng.tang@intel.com",
        "time": "Tue Jun 01 13:07:34 2010 +0100"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Aug 03 09:48:47 2010 -0400"
      },
      "message": "intel_scu_ipc: add definitions for vRTC related command\n\nSigned-off-by: Feng Tang \u003cfeng.tang@intel.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "d01d0756f75e7a5b4b43764ad45b83c4340f11d6",
      "tree": "90db2ff7ccb35a8fdcf98366e6404afe1f845bc4",
      "parents": [
        "b326b853dca2f410b254198ee89abad71a2f4668",
        "0d87c7228a49e8342d60dd552892e470e0b291fa"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Aug 02 18:35:17 2010 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Aug 02 18:35:17 2010 -0700"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "ace6e9799f585994c92ac3c0696bc336e50077e6",
      "tree": "b271f7c965f66d8180109ca223b129a868829001",
      "parents": [
        "0f9313ad068af4156109661fb8e94ee7fcb79001"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "lyakh@axis700.grange",
        "time": "Thu Jul 22 16:52:51 2010 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Mon Aug 02 16:43:36 2010 -0300"
      },
      "message": "V4L/DVB: mediabus: fix ambiguous pixel code names\n\nEndianness notation is meaningless for 8 bit YUYV codes. Switch pixel code\nnames to explicitly state the order of colour components in the data\nstream.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "3444d7da1839b851eefedd372978d8a982316c36",
      "tree": "b9fef27fbe36b455dc242670fa0f4025a2df1dc2",
      "parents": [
        "9a3aad70572c3f4d55e7f09ac4eb313d41d0a484"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Jul 26 18:32:38 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 08:10:18 2010 +0300"
      },
      "message": "KVM: VMX: Fix host GDT.LIMIT corruption\n\nvmx does not restore GDT.LIMIT to the host value, instead it sets it to 64KB.\nThis means host userspace can learn a few bits of host memory.\n\nFix by reloading GDTR when we load other host state.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "9a3aad70572c3f4d55e7f09ac4eb313d41d0a484",
      "tree": "f3c1efd08eed5b0f37078c9b91658e25e7775808",
      "parents": [
        "e4b502ead259fcf70839414abb7c8cdc3b523f01"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Fri Jul 16 11:30:18 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:41:01 2010 +0300"
      },
      "message": "KVM: MMU: using __xchg_spte more smarter\n\nSometimes, atomically set spte is not needed, this patch call __xchg_spte()\nmore smartly\n\nNote: if the old mapping\u0027s access bit is already set, we no need atomic operation\nsince the access bit is not lost\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "e4b502ead259fcf70839414abb7c8cdc3b523f01",
      "tree": "8ff58cadc3e2e95952af3ff5f08320dcaf706831",
      "parents": [
        "be233d49ea8c1fde9f4afec378dc2c2f16ab0263"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Fri Jul 16 11:28:09 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:41:00 2010 +0300"
      },
      "message": "KVM: MMU: cleanup spte set and accssed/dirty tracking\n\nIntroduce set_spte_track_bits() to cleanup current code\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "be233d49ea8c1fde9f4afec378dc2c2f16ab0263",
      "tree": "d595b2ea6f153b8e489fd78cdf3bca7ae015abca",
      "parents": [
        "9ed5520dd3c9cb79c25f95fce9c57b87637d0fb7"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Fri Jul 16 11:27:10 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:59 2010 +0300"
      },
      "message": "KVM: MMU: don\u0027t atomicly set spte if it\u0027s not present\n\nIf the old mapping is not present, the spte.a is not lost, so no need\natomic operation to set it\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "9ed5520dd3c9cb79c25f95fce9c57b87637d0fb7",
      "tree": "32a983f23b3aa4dba5dea64a57f1b96126afe92a",
      "parents": [
        "daa3db693ce925a14b7e17ab6f306dc0e6a5342c"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Fri Jul 16 11:25:17 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:58 2010 +0300"
      },
      "message": "KVM: MMU: fix page dirty tracking lost while sync page\n\nIn sync-page path, if spte.writable is changed, it will lose page dirty\ntracking, for example:\n\nassume spte.writable \u003d 0 in a unsync-page, when it\u0027s synced, it map spte\nto writable(that is spte.writable \u003d 1), later guest write spte.gfn, it means\nspte.gfn is dirty, then guest changed this mapping to read-only, after it\u0027s\nsynced,  spte.writable \u003d 0\n\nSo, when host release the spte, it detect spte.writable \u003d 0 and not mark page\ndirty\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "daa3db693ce925a14b7e17ab6f306dc0e6a5342c",
      "tree": "1511926bdec125fca374320924dacce8b49d84c3",
      "parents": [
        "fa1de2bfc0feb7245328ad25fb3e6d5cd2c903b4"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Fri Jul 16 11:23:04 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:57 2010 +0300"
      },
      "message": "KVM: MMU: fix broken page accessed tracking with ept enabled\n\nIn current code, if ept is enabled(shadow_accessed_mask \u003d 0), the page\naccessed tracking is lost.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "fa1de2bfc0feb7245328ad25fb3e6d5cd2c903b4",
      "tree": "bc993022b24c60c2ea2452ca6d7f5ed0faf0a322",
      "parents": [
        "6e3e243c3b6e0bbd18c6ce0fbc12bc3fe2d77b34"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Fri Jul 16 11:19:51 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:56 2010 +0300"
      },
      "message": "KVM: MMU: add missing reserved bits check in speculative path\n\nIn the speculative path, we should check guest pte\u0027s reserved bits just as\nthe real processor does\n\nReported-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "6e3e243c3b6e0bbd18c6ce0fbc12bc3fe2d77b34",
      "tree": "05c55ba3c27ba5c778ec36c9c875534a81dffe10",
      "parents": [
        "c19b8bd60e19308d5583ef200ddcc782d85d9543"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Fri Jul 16 11:52:55 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:54 2010 +0300"
      },
      "message": "KVM: MMU: fix mmu notifier invalidate handler for huge spte\n\nThe index wasn\u0027t calculated correctly (off by one) for huge spte so KVM guest\nwas unstable with transparent hugepages.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nReviewed-by: Reviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c19b8bd60e19308d5583ef200ddcc782d85d9543",
      "tree": "ac58a35ca5f79a4bf5f36445ecc8e7d2c10178b4",
      "parents": [
        "9195c4da26bbf8860e2e7b648dbf4ab465c7933a"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Thu Jul 15 08:51:58 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:53 2010 +0300"
      },
      "message": "KVM: x86 emulator: fix xchg instruction emulation\n\nIf the destination is a memory operand and the memory cannot\nmap to a valid page, the xchg instruction emulation and locked\ninstruction will not work on io regions and stuck in endless\nloop. We should emulate exchange as write to fix it.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "9195c4da26bbf8860e2e7b648dbf4ab465c7933a",
      "tree": "ba35ca2f03d5fd7bdfc776e608d6ed215b14ce06",
      "parents": [
        "68be0803456b3eed33038be5566710ad7648c854"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Jul 15 12:24:37 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:52 2010 +0300"
      },
      "message": "KVM: x86: Call mask notifiers from pic\n\nIf pit delivers interrupt while pic is masking it OS will never do EOI\nand ack notifier will not be called so when pit will be unmasked no pit\ninterrupts will be delivered any more. Calling mask notifiers solves this\nissue.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "68be0803456b3eed33038be5566710ad7648c854",
      "tree": "06235f7cf0330da1cdc9dd9b61c86432181b6ee0",
      "parents": [
        "d153513ddef5698a292b53790008b2e7660cd08d"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Wed Jul 14 19:05:45 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:51 2010 +0300"
      },
      "message": "KVM: x86: never re-execute instruction with enabled tdp\n\nWith tdp enabled we should get into emulator only when emulating io, so\nreexecution will always bring us back into emulator.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "c0e0608cb902af1a1fd8d413ec0a07ee1e62c652",
      "tree": "d503fb8dd796a5cb2acdc54ada64073fe743b703",
      "parents": [
        "24157aaf833261e68e5a398fa54bd15e4fa1d0b7"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Jul 13 16:40:23 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:49 2010 +0300"
      },
      "message": "KVM: x86: emulator: inc/dec can have lock prefix\n\nMark inc (0xfe/0 0xff/0) and dec (0xfe/1 0xff/1) as lock prefix capable.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "24157aaf833261e68e5a398fa54bd15e4fa1d0b7",
      "tree": "3c351cc93f55bd7eef4a1069fc019940e8065fb8",
      "parents": [
        "5991b33237b7fc7dd9f62ae04998c42217d444a7"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 13 14:27:11 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:48 2010 +0300"
      },
      "message": "KVM: MMU: Eliminate redundant temporaries in FNAME(fetch)\n\n\u0027level\u0027 and \u0027sptep\u0027 are aliases for \u0027interator.level\u0027 and \u0027iterator.sptep\u0027, no\nneed for them.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "5991b33237b7fc7dd9f62ae04998c42217d444a7",
      "tree": "dadadd3c7329e073f64af5e13260b4d732d35cb3",
      "parents": [
        "0b3c933302262d83018dd5f69656bca9f28a0cd3"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 13 14:27:10 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:47 2010 +0300"
      },
      "message": "KVM: MMU: Validate all gptes during fetch, not just those used for new pages\n\nCurrently, when we fetch an spte, we only verify that gptes match those that\nthe walker saw if we build new shadow pages for them.\n\nHowever, this misses the following race:\n\n  vcpu1            vcpu2\n\n  walk\n                  change gpte\n                  walk\n                  instantiate sp\n\n  fetch existing sp\n\nFix by validating every gpte, regardless of whether it is used for building\na new sp or not.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "0b3c933302262d83018dd5f69656bca9f28a0cd3",
      "tree": "809d6c97623ee87baa195ded38fe98a0a3df8638",
      "parents": [
        "39c8c672a18c52048343d7531dfb2dcf3431ee74"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 13 14:27:09 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:45 2010 +0300"
      },
      "message": "KVM: MMU: Simplify spte fetch() function\n\nPartition the function into three sections:\n\n- fetching indirect shadow pages (host_level \u003e guest_level)\n- fetching direct shadow pages (page_level \u003c host_level \u003c\u003d guest_level)\n- the final spte (page_level \u003d\u003d host_level)\n\nInstead of the current spaghetti.\n\nA slight change from the original code is that we call validate_direct_spte()\nmore often: previously we called it only for gw-\u003elevel, now we also call it for\nlower levels.  The change should have no effect.\n\n[xiao: fix regression caused by validate_direct_spte() called too late]\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "39c8c672a18c52048343d7531dfb2dcf3431ee74",
      "tree": "1942be7baebeb80a3a4875e1eb457b70e8c6c80b",
      "parents": [
        "a357bd229cdaf37a41798d238ab50b34c71dd0d6"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 13 14:27:08 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:44 2010 +0300"
      },
      "message": "KVM: MMU: Add gpte_valid() helper\n\nMove the code to check whether a gpte has changed since we fetched it into\na helper.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "a357bd229cdaf37a41798d238ab50b34c71dd0d6",
      "tree": "0a2801b53c7df2c8494bc5c572574cb29ad4aeee",
      "parents": [
        "a3aa51cfaafe9179add88db20506ccb07e030b47"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 13 14:27:07 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:43 2010 +0300"
      },
      "message": "KVM: MMU: Add validate_direct_spte() helper\n\nAdd a helper to verify that a direct shadow page is valid wrt the required\naccess permissions; drop the page if it is not valid.\n\nReviewed-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "a3aa51cfaafe9179add88db20506ccb07e030b47",
      "tree": "b58ee2e25bb147d2bd4987eb1fa4d4737dd57bc9",
      "parents": [
        "121eee97a7802acda8b78436cc53196e9885549f"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 13 14:27:06 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:42 2010 +0300"
      },
      "message": "KVM: MMU: Add drop_large_spte() helper\n\nTo clarify spte fetching code, move large spte handling into a helper.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "121eee97a7802acda8b78436cc53196e9885549f",
      "tree": "b2106507ae7267dfe69f108fea3704a17e2a6fd4",
      "parents": [
        "32ef26a3598636be520abed90ed0c2f439d36bbe"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 13 14:27:05 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:41 2010 +0300"
      },
      "message": "KVM: MMU: Use __set_spte to link shadow pages\n\nTo avoid split accesses to 64 bit sptes on i386, use __set_spte() to link\nshadow pages together.\n\n(not technically required since shadow pages are __GFP_KERNEL, so upper 32\nbits are always clear)\n\nReviewed-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "32ef26a3598636be520abed90ed0c2f439d36bbe",
      "tree": "bf6cff9c68d5ed9116656dfb1f40d9bc8bae7ace",
      "parents": [
        "4a994358b919c3b14de61be5e30d9edc9089ba3f"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 13 14:27:04 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:40 2010 +0300"
      },
      "message": "KVM: MMU: Add link_shadow_page() helper\n\nTo simplify the process of fetching an spte, add a helper that links\na shadow page to an spte.\n\nReviewed-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "908e75f3e70ca580cc20442cf6780dcc2d0557b7",
      "tree": "75d91303b792e8a176761bbb673a46fc23b44696",
      "parents": [
        "aea924f606c309feead37ab5c43f410a08ff3826"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jul 07 14:09:38 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:36 2010 +0300"
      },
      "message": "KVM: Expose MCE control MSRs to userspace\n\nUserspace needs to reset and save/restore these MSRs.\n\nThe MCE banks are not exposed since their number varies from vcpu to vcpu.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "aea924f606c309feead37ab5c43f410a08ff3826",
      "tree": "6d409eb035985ebcec3d16b0410706d3e8fcf184",
      "parents": [
        "a6f177efaa5856e22ed0d3c1e81e65b41654d083"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Sat Jul 10 17:37:56 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:35 2010 +0300"
      },
      "message": "KVM: PIT: stop vpit before freeing irq_routing\n\nFix:\ngeneral protection fault: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC\n......\nCall Trace:\n [\u003cffffffffa0159bd1\u003e] ? kvm_set_irq+0xdd/0x24b [kvm]\n [\u003cffffffff8106ea8b\u003e] ? trace_hardirqs_off_caller+0x1f/0x10e\n [\u003cffffffff813ad17f\u003e] ? sub_preempt_count+0xe/0xb6\n [\u003cffffffff8106d273\u003e] ? put_lock_stats+0xe/0x27\n...\nRIP  [\u003cffffffffa0159c72\u003e] kvm_set_irq+0x17e/0x24b [kvm]\n\nThis bug is triggered when guest is shutdown, is because we freed\nirq_routing before pit thread stopped\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "a6f177efaa5856e22ed0d3c1e81e65b41654d083",
      "tree": "440f44a7cad040393067c6aca37d2d9e013b155e",
      "parents": [
        "edba23e51578f7cb6781461568489fc1825db4ac"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Thu Jul 08 12:41:12 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:34 2010 +0300"
      },
      "message": "KVM: Reenter guest after emulation failure if due to access to non-mmio address\n\nWhen shadow pages are in use sometimes KVM try to emulate an instruction\nwhen it accesses a shadowed page. If emulation fails KVM un-shadows the\npage and reenter guest to allow vcpu to execute the instruction. If page\nis not in shadow page hash KVM assumes that this was attempt to do MMIO\nand reports emulation failure to userspace since there is no way to fix\nthe situation. This logic has a race though. If two vcpus tries to write\nto the same shadowed page simultaneously both will enter emulator, but\nonly one of them will find the page in shadow page hash since the one who\nfounds it also removes it from there, so another cpu will report failure\nto userspace and will abort the guest.\n\nFix this by checking (in addition to checking shadowed page hash) that\npage that caused the emulation belongs to valid memory slot. If it is\nthen reenter the guest to allow vcpu to reexecute the instruction.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "edba23e51578f7cb6781461568489fc1825db4ac",
      "tree": "54ce6b22998c1bf7c40cfa43e3ebd8b9df271dcb",
      "parents": [
        "fa7bff8f8a7d3de61c0473d0b6dc5a0f4fdc6ac9"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Wed Jul 07 20:16:45 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:33 2010 +0300"
      },
      "message": "KVM: Return EFAULT from kvm ioctl when guest accesses bad area\n\nCurrently if guest access address that belongs to memory slot but is not\nbacked up by page or page is read only KVM treats it like MMIO access.\nRemove that capability. It was never part of the interface and should\nnot be relied upon.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "673813e81d8468e80b6dd0fa839923eb9748dc49",
      "tree": "82525c28fb88307046055c23d336bdd48dfd44a9",
      "parents": [
        "f59c1d2ded54e4bd7a9126f4a32c9eca8b336457"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Jul 07 15:02:25 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:31 2010 +0300"
      },
      "message": "KVM: fix lock imbalance in kvm_create_pit()\n\nStanse found that there is an omitted unlock in kvm_create_pit in one fail\npath. Add proper unlock there.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: x86@kernel.org\nCc: Gleb Natapov \u003cgleb@redhat.com\u003e\nCc: \"Michael S. Tsirkin\" \u003cmst@redhat.com\u003e\nCc: Gregory Haskins \u003cghaskins@novell.com\u003e\nCc: kvm@vger.kernel.org\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "f59c1d2ded54e4bd7a9126f4a32c9eca8b336457",
      "tree": "0528e6c6d301fbda9d897f1d6cf3704a0eb2bfea",
      "parents": [
        "b0eeec29fe7a5b114000f769bd68ffa02652bfb7"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 06 16:20:43 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:30 2010 +0300"
      },
      "message": "KVM: MMU: Keep going on permission error\n\nReal hardware disregards permission errors when computing page fault error\ncode bit 0 (page present).  Do the same.\n\nReviewed-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "b0eeec29fe7a5b114000f769bd68ffa02652bfb7",
      "tree": "203f6e2f0191c98d4b5460d90a73fa61d0c41e0d",
      "parents": [
        "5d55f299f97769130c6cc67896414c988db309ab"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Jul 06 15:40:18 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:29 2010 +0300"
      },
      "message": "KVM: MMU: Only indicate a fetch fault in page fault error code if nx is enabled\n\nBit 4 of the page fault error code is set only if EFER.NX is set.\n\nReviewed-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "5d55f299f97769130c6cc67896414c988db309ab",
      "tree": "4b18d7721ff788e8bda93e57086037e1d6ac195b",
      "parents": [
        "07cbc6c185aee2c0479776845988242a040c7c93"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Wed Jul 07 17:43:35 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:27 2010 +0300"
      },
      "message": "KVM: x86 emulator: re-implementing \u0027mov AL,moffs\u0027 instruction decoding\n\nThis patch change to use DstAcc for decoding \u0027mov AL, moffs\u0027\nand introduced SrcAcc for decoding \u0027mov moffs, AL\u0027.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "07cbc6c185aee2c0479776845988242a040c7c93",
      "tree": "b47ff3619fe38985273a51e663a81d41674a9ee0",
      "parents": [
        "b16b2b7bb5a78afceb7fe22f2a04476cd70182b7"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Jul 06 16:54:19 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:26 2010 +0300"
      },
      "message": "KVM: x86 emulator: fix cli/sti instruction emulation\n\nIf IOPL check fail, the cli/sti emulate GP and then we should\nskip writeback since the default write OP is OP_REG.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "b16b2b7bb5a78afceb7fe22f2a04476cd70182b7",
      "tree": "1b5352e4c8fa6336128ee1e9b979dc4d1e239614",
      "parents": [
        "e97e883f8bfbe02cfc2bfff45e68921dfe590c7e"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Jul 06 16:52:53 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:25 2010 +0300"
      },
      "message": "KVM: x86 emulator: fix \u0027mov rm,sreg\u0027 instruction decoding\n\nThe source operand of \u0027mov rm,sreg\u0027 is segment register, not\ngeneral-purpose register, so remove SrcReg from decoding.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "e97e883f8bfbe02cfc2bfff45e68921dfe590c7e",
      "tree": "ca9ba2e7f5ca10b406aecaf1c9401f937dbed248",
      "parents": [
        "ce7a0ad3bdcd86e6cf907eb5992fecb1503daa26"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Jul 06 16:51:09 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:24 2010 +0300"
      },
      "message": "KVM: x86 emulator: fix \u0027and AL,imm8\u0027 instruction decoding\n\n\u0027and AL,imm8\u0027 should be mask as ByteOp, otherwise the dest operand\nlength will no correct and we may fill the full EAX when writeback.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "ce7a0ad3bdcd86e6cf907eb5992fecb1503daa26",
      "tree": "7b5443b91534ec4e85c6315bb186a8f8e4c5dbd1",
      "parents": [
        "a5046e6c7d97d6574ffe6367311ea0b0de56aa58"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Jul 06 16:50:21 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:23 2010 +0300"
      },
      "message": "KVM: x86 emulator: fix the comment of out instruction\n\nFix the comment of out instruction, using the same style as the\nother instructions.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a5046e6c7d97d6574ffe6367311ea0b0de56aa58",
      "tree": "8895223602eb3fcf0ee9d692142f68a0a515d012",
      "parents": [
        "b79b93f92cb3b66b89d75525fdfd2454b1e1f446"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Jul 06 16:49:05 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:22 2010 +0300"
      },
      "message": "KVM: x86 emulator: fix \u0027mov sreg,rm16\u0027 instruction decoding\n\nMemory reads for \u0027mov sreg,rm16\u0027 should be 16 bits only.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "b79b93f92cb3b66b89d75525fdfd2454b1e1f446",
      "tree": "0ca735431e67c58ff4b69578dc56bdd6e875eebb",
      "parents": [
        "a9221dd5ec125fbec1702fae016c6d2ea1a9a3da"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Jun 06 15:46:44 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:21 2010 +0300"
      },
      "message": "KVM: MMU: Don\u0027t drop accessed bit while updating an spte\n\n__set_spte() will happily replace an spte with the accessed bit set with\none that has the accessed bit clear.  Add a helper update_spte() which checks\nfor this condition and updates the page flag if needed.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a9221dd5ec125fbec1702fae016c6d2ea1a9a3da",
      "tree": "148607c0424c4ec993b55dd85eec69332a775b22",
      "parents": [
        "ce061867aa2877605cda96fa8ec7dff15f70a983"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Jun 06 14:48:06 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:20 2010 +0300"
      },
      "message": "KVM: MMU: Atomically check for accessed bit when dropping an spte\n\nCurrently, in the window between the check for the accessed bit, and actually\ndropping the spte, a vcpu can access the page through the spte and set the bit,\nwhich will be ignored by the mmu.\n\nFix by using an exchange operation to atmoically fetch the spte and drop it.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "ce061867aa2877605cda96fa8ec7dff15f70a983",
      "tree": "690b9723b06c2f62586f5a74121fe16f3e2e1caa",
      "parents": [
        "be38d276b0189fa86231fc311428622a1981ad62"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Jun 06 14:38:12 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:18 2010 +0300"
      },
      "message": "KVM: MMU: Move accessed/dirty bit checks from rmap_remove() to drop_spte()\n\nSince we need to make the check atomic, move it to the place that will\nset the new spte.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "be38d276b0189fa86231fc311428622a1981ad62",
      "tree": "4706819e23ade99c43bb676830071da9bd2d0abd",
      "parents": [
        "dd180b3e90253cb4ca95d603a8c17413f8daec69"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Jun 06 14:31:27 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:17 2010 +0300"
      },
      "message": "KVM: MMU: Introduce drop_spte()\n\nWhen we call rmap_remove(), we (almost) always immediately follow it by\nan __set_spte() to a nonpresent pte.  Since we need to perform the two\noperations atomically, to avoid losing the dirty and accessed bits, introduce\na helper drop_spte() and convert all call sites.\n\nThe operation is still nonatomic at this point.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "dd180b3e90253cb4ca95d603a8c17413f8daec69",
      "tree": "9c0cc39f4088a9b54a96ab6545739e423deb3d2e",
      "parents": [
        "5689cc53fa9d09b5bf41b1b1a7c90bd6c112ab40"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Sat Jul 03 16:02:42 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:40:16 2010 +0300"
      },
      "message": "KVM: VMX: fix tlb flush with invalid root\n\nCommit 341d9b535b6c simplify reload logic while entry guest mode, it\ncan avoid unnecessary sync-root if KVM_REQ_MMU_RELOAD and\nKVM_REQ_MMU_SYNC both set.\n\nBut, it cause a issue that when we handle \u0027KVM_REQ_TLB_FLUSH\u0027, the\nroot is invalid, it is triggered during my test:\n\nKernel BUG at ffffffffa00212b8 [verbose debug info unavailable]\n......\n\nFixed by directly return if the root is not ready.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "5689cc53fa9d09b5bf41b1b1a7c90bd6c112ab40",
      "tree": "1bfe4bdf8cbad3938e2cd8b76eac10c8023ba04d",
      "parents": [
        "828554136bbacae6e39fc31b9cd7e7c660ad7530"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Jul 01 16:00:12 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:39:44 2010 +0300"
      },
      "message": "KVM: Use u64 for frame data types\n\nFor 32bit machines where the physical address width is\nlarger than the virtual address width the frame number types\nin KVM may overflow. Fix this by changing them to u64.\n\n[sfr: fix build on 32-bit ppc]\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "828554136bbacae6e39fc31b9cd7e7c660ad7530",
      "tree": "4e2ec85ff33c9c1e7245e83ed8e4fa3791007ef7",
      "parents": [
        "95c87e2b4460a488ec7ce42f273893e410ab385a"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Jul 01 16:00:11 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:30 2010 +0300"
      },
      "message": "KVM: Remove unnecessary divide operations\n\nThis patch converts unnecessary divide and modulo operations\nin the KVM large page related code into logical operations.\nThis allows to convert gfn_t to u64 while not breaking 32\nbit builds.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "fef093bec0364ff5e6fd488cd81637f6bb3a2d0d",
      "tree": "e61c2f462a5b68d440d3960af41e3f17ea7f765f",
      "parents": [
        "7741909bf19d9437a6aa3559c0470a640f637dce"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Jun 30 15:18:46 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:28 2010 +0300"
      },
      "message": "KVM: PPC: Make use of hash based Shadow MMU\n\nWe just introduced generic functions to handle shadow pages on PPC.\nThis patch makes the respective backends make use of them, getting\nrid of a lot of duplicate code along the way.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "7741909bf19d9437a6aa3559c0470a640f637dce",
      "tree": "023e6930fb85730c3f39b6186e19e88412ed037e",
      "parents": [
        "84754cd8fca66ed476585eabad68cacf42834199"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Wed Jun 30 15:18:45 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:27 2010 +0300"
      },
      "message": "KVM: PPC: Add generic hpte management functions\n\nCurrently the shadow paging code keeps an array of entries it knows about.\nWhenever the guest invalidates an entry, we loop through that entry,\ntrying to invalidate matching parts.\n\nWhile this is a really simple implementation, it is probably the most\nineffective one possible. So instead, let\u0027s keep an array of lists around\nthat are indexed by a hash. This way each PTE can be added by 4 list_add,\nremoved by 4 list_del invocations and the search only needs to loop through\nentries that share the same hash.\n\nThis patch implements said lookup and exports generic functions that both\nthe 32-bit and 64-bit backend can use.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "84754cd8fca66ed476585eabad68cacf42834199",
      "tree": "9338f484e308bc50b2cbe8916dffc10f4ef66387",
      "parents": [
        "9e7b0e7fba45ca3c6357aeb7091ebc281f1de365"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Wed Jun 30 16:05:00 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:26 2010 +0300"
      },
      "message": "KVM: MMU: cleanup FNAME(fetch)() functions\n\nCleanup this function that we are already get the direct sp\u0027s access\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "9e7b0e7fba45ca3c6357aeb7091ebc281f1de365",
      "tree": "e92144ed8d954cab432c6ccccacdc3aa2d4c645f",
      "parents": [
        "5fd5387c89ec99ff6cb82d2477ffeb7211b781c2"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Wed Jun 30 16:03:28 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:25 2010 +0300"
      },
      "message": "KVM: MMU: fix direct sp\u0027s access corrupted\n\nIf the mapping is writable but the dirty flag is not set, we will find\nthe read-only direct sp and setup the mapping, then if the write #PF\noccur, we will mark this mapping writable in the read-only direct sp,\nnow, other real read-only mapping will happily write it without #PF.\n\nIt may hurt guest\u0027s COW\n\nFixed by re-install the mapping when write #PF occur.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "5fd5387c89ec99ff6cb82d2477ffeb7211b781c2",
      "tree": "a3896c883dca431512110870f31d32c431814f12",
      "parents": [
        "36a2e6774bfb5f32a0f23bb155f1f960321f291b"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Wed Jun 30 16:02:45 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:23 2010 +0300"
      },
      "message": "KVM: MMU: fix conflict access permissions in direct sp\n\nIn no-direct mapping, we mark sp is \u0027direct\u0027 when we mapping the\nguest\u0027s larger page, but its access is encoded form upper page-struct\nentire not include the last mapping, it will cause access conflict.\n\nFor example, have this mapping:\n        [W]\n      / PDE1 -\u003e |---|\n  P[W]          |   | LPA\n      \\ PDE2 -\u003e |---|\n        [R]\n\nP have two children, PDE1 and PDE2, both PDE1 and PDE2 mapping the\nsame lage page(LPA). The P\u0027s access is WR, PDE1\u0027s access is WR,\nPDE2\u0027s access is RO(just consider read-write permissions here)\n\nWhen guest access PDE1, we will create a direct sp for LPA, the sp\u0027s\naccess is from P, is W, then we will mark the ptes is W in this sp.\n\nThen, guest access PDE2, we will find LPA\u0027s shadow page, is the same as\nPDE\u0027s, and mark the ptes is RO.\n\nSo, if guest access PDE1, the incorrect #PF is occured.\n\nFixed by encode the last mapping access into direct shadow page\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "36a2e6774bfb5f32a0f23bb155f1f960321f291b",
      "tree": "c367ac796b1e33694bcb3bd0e95cbd723667791b",
      "parents": [
        "f5f48ee15c2ee3e44cf429e34b16c6fa9b900246"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Wed Jun 30 16:02:02 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:22 2010 +0300"
      },
      "message": "KVM: MMU: fix writable sync sp mapping\n\nWhile we sync many unsync sp at one time(in mmu_sync_children()),\nwe may mapping the spte writable, it\u0027s dangerous, if one unsync\nsp\u0027s mapping gfn is another unsync page\u0027s gfn.\n\nFor example:\n\nSP1.pte[0] \u003d P\nSP2.gfn\u0027s pfn \u003d P\n[SP1.pte[0] \u003d SP2.gfn\u0027s pfn]\n\nFirst, we write protected SP1 and SP2, but SP1 and SP2 are still the\nunsync sp.\n\nThen, sync SP1 first, it will detect SP1.pte[0].gfn only has one unsync-sp,\nthat is SP2, so it will mapping it writable, but we plan to sync SP2 soon,\nat this point, the SP2-\u003eunsync is not reliable since later we sync SP2 but\nSP2-\u003egfn is already writable.\n\nSo the final result is: SP2 is the sync page but SP2.gfn is writable.\n\nThis bug will corrupt guest\u0027s page table, fixed by mark read-only mapping\nif the mapped gfn has shadow pages.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "f5f48ee15c2ee3e44cf429e34b16c6fa9b900246",
      "tree": "75496197219d9aeedd3317fa007cc3b2e414c5da",
      "parents": [
        "cf3e3d3e19868ca01da163200bbfc687523df0fc"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng@linux.intel.com",
        "time": "Wed Jun 30 12:25:15 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:21 2010 +0300"
      },
      "message": "KVM: VMX: Execute WBINVD to keep data consistency with assigned devices\n\nSome guest device driver may leverage the \"Non-Snoop\" I/O, and explicitly\nWBINVD or CLFLUSH to a RAM space. Since migration may occur before WBINVD or\nCLFLUSH, we need to maintain data consistency either by:\n1: flushing cache (wbinvd) when the guest is scheduled out if there is no\nwbinvd exit, or\n2: execute wbinvd on all dirty physical CPUs when guest wbinvd exits.\n\nSigned-off-by: Yaozu (Eddie) Dong \u003ceddie.dong@intel.com\u003e\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "3e0075094734de122e4cb09f930fa853a3c59f09",
      "tree": "85ba16913603edba8913f31825dff9f13ea0cb4b",
      "parents": [
        "529df65e394e30a78f2633b575fd81fa5b973e30"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 23 14:26:18 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:19 2010 +0300"
      },
      "message": "KVM: Simplify vcpu_enter_guest() mmu reload logic slightly\n\nNo need to reload the mmu in between two different vcpu-\u003erequests checks.\n\nkvm_mmu_reload() may trigger KVM_REQ_TRIPLE_FAULT, but that will be caught\nduring atomic guest entry later.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "529df65e394e30a78f2633b575fd81fa5b973e30",
      "tree": "03aeb13c1ae73a6ef20c704e1f2cdc0858eade5a",
      "parents": [
        "979586e0b5809c46ebe5d784794a9f6d859b665e"
      ],
      "author": {
        "name": "Chris Lalancette",
        "email": "clalance@redhat.com",
        "time": "Mon Jun 21 11:29:40 2010 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:17 2010 +0300"
      },
      "message": "KVM: Search the LAPIC\u0027s for one that will accept a PIC interrupt\n\nOlder versions of 32-bit linux have a \"Checking \u0027hlt\u0027 instruction\"\ntest where they repeatedly call the \u0027hlt\u0027 instruction, and then\nexpect a timer interrupt to kick the CPU out of halt.  This happens\nbefore any LAPIC or IOAPIC setup happens, which means that all of\nthe APIC\u0027s are in virtual wire mode at this point.  Unfortunately,\nthe current implementation of virtual wire mode is hardcoded to\nonly kick the BSP, so if a crash+kexec occurs on a different\nvcpu, it will never get kicked.\n\nThis patch makes pic_unlock() do the equivalent of\nkvm_irq_delivery_to_apic() for the IOAPIC code.  That is, it runs\nthrough all of the vcpus looking for one that is in virtual wire\nmode.  In the normal case where LAPICs and IOAPICs are configured,\nthis won\u0027t be used at all.  In the bootstrap phase of a modern\nOS, before the LAPICs and IOAPICs are configured, this will have\nexactly the same behavior as today; VCPU0 is always looked at\nfirst, so it will always get out of the loop after the first\niteration.  This will only go through the loop more than once\nduring a kexec/kdump, in which case it will only do it a few times\nuntil the kexec\u0027ed kernel programs the LAPIC and IOAPIC.\n\nSigned-off-by: Chris Lalancette \u003cclalance@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "979586e0b5809c46ebe5d784794a9f6d859b665e",
      "tree": "92988306f9aa606b777b219ade16a6f244e4cdef",
      "parents": [
        "4482b06c0459469c101a1da3f4b24594da557f99"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Wed Jun 23 15:00:29 2010 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:16 2010 +0300"
      },
      "message": "KVM: ia64: cleanup kvm_ia64_sync_dirty_log()\n\nkvm_ia64_sync_dirty_log() is a helper function for kvm_vm_ioctl_get_dirty_log()\nwhich copies ia64\u0027s arch specific dirty bitmap to general one in memslot.\nSo doing sanity checks in this function is unnatural. We move these checks\noutside of this and change the prototype appropriately.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "4482b06c0459469c101a1da3f4b24594da557f99",
      "tree": "55da76c52f91676943219722d3f09f61aa8d7012",
      "parents": [
        "4d29bdbf12f35f7e7816d67e99c150630684604f"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Wed Jun 23 14:59:29 2010 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:15 2010 +0300"
      },
      "message": "KVM: ia64: fix dirty_log_lock spin_lock section not to include get_dirty_log()\n\nkvm_get_dirty_log() calls copy_to_user(). So we need to narrow the\ndirty_log_lock spin_lock section not to include this.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "4d29bdbf12f35f7e7816d67e99c150630684604f",
      "tree": "2eb8955ba34b720004e959642fca355dd9b67fa3",
      "parents": [
        "3b249157c03154109d31ec95a3c80203adcf8b70"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Jun 21 15:24:55 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:14 2010 +0300"
      },
      "message": "KVM: PPC: Make BAT only guest segments work\n\nWhen a guest sets its SR entry to invalid, we may still find a\ncorresponding entry in a BAT. So we need to make sure we\u0027re not\nfaulting on invalid SR entries, but instead just claim them to be\nBAT resolved.\n\nThis resolves breakage experienced when using libogc based guests.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "3b249157c03154109d31ec95a3c80203adcf8b70",
      "tree": "d6a6f4cbf701136cca9f507dcc4a1b55ba07b1de",
      "parents": [
        "a576f7a29481438db0fa6f3d9ed6939019c441d3"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Jun 21 15:25:19 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:13 2010 +0300"
      },
      "message": "KVM: PPC: Use kernel hash function\n\nThe linux kernel already provides a hash function. Let\u0027s reuse that\ninstead of reinventing the wheel!\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a576f7a29481438db0fa6f3d9ed6939019c441d3",
      "tree": "22134adb19a1f5ba4f3a06e934384e4a0c1c0f21",
      "parents": [
        "bbeb34062fbad287c949a945a516a0c15b179993"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "agraf@suse.de",
        "time": "Mon Jun 21 15:25:40 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:12 2010 +0300"
      },
      "message": "KVM: PPC: Remove obsolete kvmppc_mmu_find_pte\n\nInitially we had to search for pte entries to invalidate them. Since\nthe logic has improved since then, we can just get rid of the search\nfunction.\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "6c3f6041172b78d5532c6bf3680d304e92ec2e66",
      "tree": "3a1f358ea1cc29df958a6b3d535114987650e101",
      "parents": [
        "7ac77099ce88a0c31b75acd0ec5ef3da4415a6d8"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng@linux.intel.com",
        "time": "Tue Jun 22 13:49:21 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:10 2010 +0300"
      },
      "message": "KVM: x86: Enable AVX for guest\n\nEnable Intel(R) Advanced Vector Extension(AVX) for guest.\n\nThe detection of AVX feature includes OSXSAVE bit testing. When OSXSAVE bit is\nnot set, even if AVX is supported, the AVX instruction would result in UD as\nwell. So we\u0027re safe to expose AVX bits to guest directly.\n\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7ac77099ce88a0c31b75acd0ec5ef3da4415a6d8",
      "tree": "20fcf29491d762cb0d378c6bbda0aadb81748418",
      "parents": [
        "e36d96f7cfaa71870c407131eb4fbd38ea285c01"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Jun 21 10:57:45 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:08 2010 +0300"
      },
      "message": "KVM: Prevent internal slots from being COWed\n\nIf a process with a memory slot is COWed, the page will change its address\n(despite having an elevated reference count).  This breaks internal memory\nslots which have their physical addresses loaded into vmcs registers (see\nthe APIC access memory slot).\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a8eeb04a44dd6dc4c8158953d9bae48849c9a188",
      "tree": "70274957d251afb17c8aaf660363795b44bf993f",
      "parents": [
        "36633f32ba4c238403d19584754b30fe469d6dcb"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 10 12:34:53 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:05 2010 +0300"
      },
      "message": "KVM: Add mini-API for vcpu-\u003erequests\n\nMakes it a little more readable and hackable.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "36633f32ba4c238403d19584754b30fe469d6dcb",
      "tree": "ddd476081d21eb2810885236c02aca541dce6be3",
      "parents": [
        "073d46133ab0b42154f6b8429f4f66dbe2760bda"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 03 17:38:06 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:04 2010 +0300"
      },
      "message": "KVM: i8259: simplify pic_irq_request() calling sequence\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "073d46133ab0b42154f6b8429f4f66dbe2760bda",
      "tree": "5b092dba4f6d1f65e3b91a28ebc45a17397150ee",
      "parents": [
        "b74a07beed0e64bfba413dcb70dd6749c57f43dc"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 03 17:34:34 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:03 2010 +0300"
      },
      "message": "KVM: i8259: reduce excessive abstraction for pic_irq_request()\n\nPart of the i8259 code pretends it isn\u0027t part of kvm, but we know better.\nReduce excessive abstraction, eliminating callbacks and void pointers.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "b74a07beed0e64bfba413dcb70dd6749c57f43dc",
      "tree": "7a04532866b919718d41bbb75a21966aa4e48904",
      "parents": [
        "a1f4d39500ad8ed61825eff061debff42386ab5b"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Jun 21 11:48:05 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:01 2010 +0300"
      },
      "message": "KVM: Remove kernel-allocated memory regions\n\nEquivalent (and better) functionality is provided by user-allocated memory\nregions.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a1f4d39500ad8ed61825eff061debff42386ab5b",
      "tree": "58b72188b1356329e78951773f4be41e66b11d21",
      "parents": [
        "fc34531db3cf8c422f2ff7cf4ef507a3ca672cd2"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Jun 21 11:44:20 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:00 2010 +0300"
      },
      "message": "KVM: Remove memory alias support\n\nAs advertised in feature-removal-schedule.txt.  Equivalent support is provided\nby overlapping memory regions.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "fc34531db3cf8c422f2ff7cf4ef507a3ca672cd2",
      "tree": "2a352c26d5fd09dc26dc07e1bd6f5dcdadc33efc",
      "parents": [
        "971eb77f87bfd352a56a24651922d0383db76219"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Thu Jun 17 23:16:20 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:46:59 2010 +0300"
      },
      "message": "KVM: s390: Don\u0027t exit SIE on SIGP sense running\n\nNewer (guest) kernels use sigp sense running in their spinlock\nimplementation to check if the other cpu is running before yielding\nthe processor. This revealed some wrong guest settings, causing\nunnecessary exits for every sigp sense running.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "971eb77f87bfd352a56a24651922d0383db76219",
      "tree": "fd1fb3ac017f5365536cfc64ef04101a0bb052aa",
      "parents": [
        "d1ac91d8a2f00dc6a3954f7e8971339b0893edc4"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Sat Jun 12 08:54:13 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:46:58 2010 +0300"
      },
      "message": "KVM: s390: Fix build failure due to centralized vcpu locking patches\n\nThis patch fixes\nERROR: \"__kvm_s390_vcpu_store_status\" [arch/s390/kvm/kvm.ko] undefined!\n\ntriggered by\ncommit 3268c56840dcee78c3e928336550f4e1861504c4 (kvm.git)\nAuthor: Avi Kivity \u003cavi@redhat.com\u003e\nDate:   Thu May 13 12:21:46 2010 +0300\n    KVM: s390: Centrally lock arch specific vcpu ioctls\n\nReported-by: Sachin Sant \u003csachinp@in.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d1ac91d8a2f00dc6a3954f7e8971339b0893edc4",
      "tree": "4748e076b42e4aacdd4ad6cc9d5741d384bf826b",
      "parents": [
        "a1a005f36e0defea7c5490772c318c6af2261d31"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Jun 20 15:54:43 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:46:57 2010 +0300"
      },
      "message": "KVM: Consolidate load/save temporary buffer allocation and freeing\n\nInstead of three temporary variables and three free calls, have one temporary\nvariable (with four names) and one free call.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "a1a005f36e0defea7c5490772c318c6af2261d31",
      "tree": "1baf6a17e173b26948d03008249c0b1ce001c7d4",
      "parents": [
        "7d5993d63f2bac75b89e171a7098044ec4bc701f"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Jun 20 15:47:34 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:46:56 2010 +0300"
      },
      "message": "KVM: Fix xsave and xcr save/restore memory leak\n\nWe allocate temporary kernel buffers for these structures, but never free them.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7d5993d63f2bac75b89e171a7098044ec4bc701f",
      "tree": "88d4b4d97662b147d01094983a31071e9e0ea33e",
      "parents": [
        "6045be5dea7f7905433585e524f884b711e3796a"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Thu Jun 17 17:33:55 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:46:55 2010 +0300"
      },
      "message": "KVM: x86 emulator: fix group3 instruction decoding\n\nGroup 3 instruction with ModRM reg field as 001 is\ndefined as test instruction under AMD arch, and\nemulate_grp3() is ready for emulate it, so fix the\ndecoding.\n\nstatic inline int emulate_grp3(...)\n{\n\t...\n\tswitch (c-\u003emodrm_reg) {\n\tcase 0 ... 1:   /* test */\n\t\temulate_2op_SrcV(\"test\", c-\u003esrc, c-\u003edst, ctxt-\u003eeflags);\n\t...\n}\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "6045be5dea7f7905433585e524f884b711e3796a",
      "tree": "687fab4ea8a57c5f1248f57e740c2f8e29c4574e",
      "parents": [
        "21bbe18b2d53e0941cbd1621400ba7b4028972cb"
      ],
      "author": {
        "name": "Asias He",
        "email": "asias.hejun@gmail.com",
        "time": "Sat Jun 19 16:52:12 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:46:53 2010 +0300"
      },
      "message": "KVM: PPC: fix uninitialized variable warning in kvm_ppc_core_deliver_interrupts\n\nFixes:\narch/powerpc/kvm/booke.c: In function \u0027kvmppc_core_deliver_interrupts\u0027:\narch/powerpc/kvm/booke.c:147: warning: \u0027msr_mask\u0027 may be used uninitialized in this function\n\nSigned-off-by: Asias He \u003casias.hejun@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "e7dca5c0eba63e4ba8e3586c4b37863fd7fadb5a",
      "tree": "be3129575b9a1f8d9a53ceca62452f6b203b8c28",
      "parents": [
        "33572ac0ad5ba5016da72e6654e607726568f9c0"
      ],
      "author": {
        "name": "Chris Lalancette",
        "email": "clalance@redhat.com",
        "time": "Wed Jun 16 17:11:12 2010 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:46:50 2010 +0300"
      },
      "message": "KVM: x86: Allow any LAPIC to accept PIC interrupts\n\nIf the guest wants to accept timer interrupts on a CPU other\nthan the BSP, we need to remove this gate.\n\nSigned-off-by: Chris Lalancette \u003cclalance@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    }
  ],
  "next": "33572ac0ad5ba5016da72e6654e607726568f9c0"
}
