)]}'
{
  "log": [
    {
      "commit": "7ae9392c0a3bc01562361bb21e23dfb2e5c81c5a",
      "tree": "96affc937131086ee823d328f1b8c06b167350e2",
      "parents": [
        "d83fd8a26769c75d51a6b05d8dcb3e36302dd8ba"
      ],
      "author": {
        "name": "Thomas Petazzoni",
        "email": "thomas.petazzoni@free-electrons.com",
        "time": "Mon Apr 28 02:14:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:30 2008 -0700"
      },
      "message": "x86: configurable DMI scanning code\n\nTurn CONFIG_DMI into a selectable option if EMBEDDED is defined, in\norder to be able to remove the DMI table scanning code if it\u0027s not\nneeded, and then reduce the kernel code size.\n\nWith CONFIG_DMI (i.e before) :\n\n   text    data     bss     dec     hex filename\n1076076  128656   98304 1303036  13e1fc vmlinux\n\nWithout CONFIG_DMI (i.e after) :\n\n   text    data     bss     dec     hex filename\n1068092  126308   98304 1292704  13b9a0 vmlinux\n\nResult:\n\n   text    data     bss     dec     hex filename\n  -7984   -2348       0  -10332   -285c vmlinux\n\nThe new option appears in \"Processor type and features\", only when\nCONFIG_EMBEDDED is defined.\n\nThis patch is part of the Linux Tiny project, and is based on previous work\ndone by Matt Mackall \u003cmpm@selenic.com\u003e.\n\nSigned-off-by: Thomas Petazzoni \u003cthomas.petazzoni@free-electrons.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc3f341b5a1a3f26ec8ed74a38234db7d0d1bae1",
      "tree": "d7c0bc678f4b83ddf66bb9b9501d72a02a39fa11",
      "parents": [
        "baac58955d6933571f29126a1a95299b421faef7"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Mon Apr 28 02:14:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:30 2008 -0700"
      },
      "message": "serial: add VR41xx SIU setup for serial console\n\nAdd VR41xx SIU setup for serial console.\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5dc62b1b6408396d5f6c13ed585adc87b2e296f9",
      "tree": "b211ab58c7be2be27d797e23587c1b7e3146ed32",
      "parents": [
        "4415d8a5aaec2008833e1c474b38627c0bc738ca"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "wangcong@zeuux.org",
        "time": "Mon Apr 28 02:13:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:29 2008 -0700"
      },
      "message": "uml: clean up arch/um/drivers/ubd_kern.c\n\nMake some global functions and variables static.\n\nAnd remove some useless declarations for local functions, since we just need\nto move their definitions ahead.\n\n[jdike@addtoit.com: checkpatch cleanups]\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4415d8a5aaec2008833e1c474b38627c0bc738ca",
      "tree": "ec6c96b7fe46b43f96bf0248ad95420cb7424d07",
      "parents": [
        "074a0db8e17ae271736148809c5f9d47dec2d993"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Mon Apr 28 02:13:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:28 2008 -0700"
      },
      "message": "arch/um/os-Linux/sys-i386/task_size.c: improve a bit\n\nImprove this code a bit: check sigaction\u0027s return value and remove a useless\nfflush().\n\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "074a0db8e17ae271736148809c5f9d47dec2d993",
      "tree": "3aef3ea6d19bd5fe3859030decab60f39d8c3fb2",
      "parents": [
        "1605ec044300d0fd5d27fd0b6879ee14b104aebd"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Mon Apr 28 02:13:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:28 2008 -0700"
      },
      "message": "uml: make several things static\n\nMake several things static, because they no longer need to be global.\n\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1605ec044300d0fd5d27fd0b6879ee14b104aebd",
      "tree": "ffb1944ae6508d7aa954c9d46548b3e9aafee3b6",
      "parents": [
        "02d324b15dfa31b3b1025fb5abda08a8ee23ce84"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Mon Apr 28 02:13:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:28 2008 -0700"
      },
      "message": "uml: make three functions static\n\nMake the following three functions static, since they don\u0027t need to be global.\n\narch/um/drivers/mcast_kern.c::mcast_setup()\narch/um/drivers/mconsole_user.c::mconsole_reply_v0()\narch/um/drivers/port_user.c::port_pre_exec()\n\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02d324b15dfa31b3b1025fb5abda08a8ee23ce84",
      "tree": "ae7d99f10fe1b6f04da75367c80ff8a676a7eb69",
      "parents": [
        "3af7cb7bbcf0872b749a32bb48a7bc11f33bcd8c"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Mon Apr 28 02:13:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:28 2008 -0700"
      },
      "message": "uml: remove a useless function\n\narch/um/drivers/chan_kern.c::chan_out_fd() is not used by anyone.  Remove it.\n\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3af7cb7bbcf0872b749a32bb48a7bc11f33bcd8c",
      "tree": "66e147f0c29e673bdcfb31a2c22939047a4c51f9",
      "parents": [
        "626c59f5edb284027bfe25cc15e7de2f532090b5"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Mon Apr 28 02:13:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:28 2008 -0700"
      },
      "message": "uml: make a function static\n\narch/um/drivers/chan_kern.c::open_chan() can become static.\n\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "626c59f5edb284027bfe25cc15e7de2f532090b5",
      "tree": "bcc981233e1f44dcb68566f3e63732b6125ad050",
      "parents": [
        "3595726ac349ca9682703535e9a999c4f08c2d80"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Mon Apr 28 02:13:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:28 2008 -0700"
      },
      "message": "arch/um/os-Linux/start_up.c: various improvements.\n\n - lets ptrace_child become void\n - adds checking for the return value of change_sig\n - moves errors info into stderr instead of stdout.\n\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3595726ac349ca9682703535e9a999c4f08c2d80",
      "tree": "93bebf15d63b7c9b0a71191ac95f5caa562fb116",
      "parents": [
        "3af9c5bed1b8f284f3d7d479c77adf60ad059e91"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Apr 28 02:13:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:28 2008 -0700"
      },
      "message": "uml: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3af9c5bed1b8f284f3d7d479c77adf60ad059e91",
      "tree": "664894cd5bafda0899c50545953a4db534424d98",
      "parents": [
        "16a26ef5ad31b59c521bd9becccaee84c0157326"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Mon Apr 28 02:13:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:28 2008 -0700"
      },
      "message": "arch/um/kernel/um_arch.c: some small improvements\n\nMake some small improvements for arch/um/kernel/um_arch.c.\n\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5fd284fd976232dbd0d0dc94e07c91e50e2898b2",
      "tree": "39507ea9dbc8459abf76a7271b2eacbe97f5e7f4",
      "parents": [
        "032c17e8afa150412810ffc19913ecd5eb531d57"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Mon Apr 28 02:13:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:28 2008 -0700"
      },
      "message": "cris: remove redundant display of free swap space in show_mem()\n\nshow_mem() has no need to print the amount of free swap space manually because\nshow_free_areas() does this already and is called by the former.\n\nThe two outputs only differ in text formatting:\n\n  printk(\"Free swap  \u003d %lukB\\n\", ...);\n  printk(\"Free swap:       %6ldkB\\n\", ...);\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Mikael Starvik \u003cmikael.starvik@axis.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f85e7cdc3fd0db65ef1442476b82ced0f01c5c19",
      "tree": "866f0adcf99b25207b8f649d75002a114ba1cdee",
      "parents": [
        "6feef6e5f23d5a3d8a614ab8ea392dfa54c7365c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Apr 28 02:13:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:27 2008 -0700"
      },
      "message": "m68k: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6feef6e5f23d5a3d8a614ab8ea392dfa54c7365c",
      "tree": "ed21e12ae07620a2976fd09b26a53920f2ffb67a",
      "parents": [
        "ed6b9b97f42c091630335bfb71a2931e6f86388b"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Mon Apr 28 02:13:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:27 2008 -0700"
      },
      "message": "m68k: remove redundant display of free swap space in show_mem()\n\nshow_mem() has no need to print the amount of free swap space manually because\nshow_free_areas() does this already and is called by the former.\n\nThe two outputs only differ in text formatting:\n\n  printk(\"Free swap  \u003d %lukB\\n\", ...);\n  printk(\"Free swap:       %6ldkB\\n\", ...);\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "037f436f525dac36c9f5fd5c5054518a63debb3e",
      "tree": "142ca318b163cb3058882a68a405526b19856d1a",
      "parents": [
        "95d193a90335b4e39dd1f750f1fc1672339ff487"
      ],
      "author": {
        "name": "S.Caglar Onur",
        "email": "caglar@pardus.org.tr",
        "time": "Mon Apr 28 02:13:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:27 2008 -0700"
      },
      "message": "arch/alpha/kernel/traps.c: use time_* macros\n\nThe functions time_before, time_before_eq, time_after, and time_after_eq are\nmore robust for comparing jiffies against other values.\n\nSo implement usage of the time_after() macro, defined in linux/jiffies.h,\nwhich deals with wrapping correctly\n\n[akpm@linux-foundation.org: fix warning]\nSigned-off-by: S.Caglar Onur \u003ccaglar@pardus.org.tr\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bbb8d343affd21850849fa4d41bf91c7527a3d04",
      "tree": "8d958286b21228673677668e09ed185602568eee",
      "parents": [
        "b901d40c970e6db319fe1f8d84db2b9684b6c9bf"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Apr 28 02:13:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:27 2008 -0700"
      },
      "message": "alpha: remove remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nThe change in pci-iommu,c should be safe as arena has not been assigned\nwhen we get to this point.\n\nSome were within #if 0 blocks, have changed them and left the blocks\nas they appear to be debugging infrastructure.\n\nA #define FN __FUNCTION__ was removed and occurances of FN were replaced\nwith __func__ as well.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b901d40c970e6db319fe1f8d84db2b9684b6c9bf",
      "tree": "caa02eae1eb20eafca3af9d3bd3524be5ad82c16",
      "parents": [
        "1236cc3cf8c69bd316c940b2e94f91b3795f97fe"
      ],
      "author": {
        "name": "Jim Meyering",
        "email": "jim@meyering.net",
        "time": "Mon Apr 28 02:13:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:27 2008 -0700"
      },
      "message": "alpha: handle kcalloc failure\n\narch/alpha/kernel/module.c (module_frob_arch_sections): Handle kcalloc failure.\n\nSigned-off-by: Jim Meyering \u003cmeyering@redhat.com\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "30afcb4bd2762fa4b87b17ada9500aa46dc10b1b",
      "tree": "0920f491a37683a8784c146270b98f82a7e0aa2c",
      "parents": [
        "423bad600443c590f34ed7ce357591f76f48f137"
      ],
      "author": {
        "name": "Jared Hulbert",
        "email": "jaredeh@gmail.com",
        "time": "Mon Apr 28 02:13:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:23 2008 -0700"
      },
      "message": "return pfn from direct_access, for XIP\n\nAlter the block device -\u003edirect_access() API to work with the new\nget_xip_mem() API (that requires both kaddr and pfn are returned).\n\nSome architectures will not do the right thing in their virt_to_page() for use\nby XIP (to translate from the kernel virtual address returned by\ndirect_access(), to a user mappable pfn in XIP\u0027s page fault handler.\n\nHowever, we can\u0027t switch it to just return the pfn and not the kaddr, because\nwe have no good way to get a kva from a pfn, and XIP requires the kva for its\nread(2) and write(2) handlers.  So we have to return both.\n\nSigned-off-by: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: linux-mm@kvack.org\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d60cd46bbdc5a79d9a177e40009f960e44f0e334",
      "tree": "50bf8f927746dfd4a00583706646c405eec129eb",
      "parents": [
        "6a1e7f777f613bf0df99c7772fa2123d01ce2f7d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 28 02:12:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:22 2008 -0700"
      },
      "message": "pageflags: use proper page flag functions in Xen\n\nXen uses bitops to manipulate page flags.  Make it use proper page flag\nfunctions.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9223b4190fa1297a59f292f3419fc0285321d0ea",
      "tree": "c6fbbc6b4c35916232e95686194eea1bd9de7377",
      "parents": [
        "e26831814998cee8e6d9f0a9854cb46c516f5547"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 28 02:12:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:21 2008 -0700"
      },
      "message": "pageflags: get rid of FLAGS_RESERVED\n\nNR_PAGEFLAGS specifies the number of page flags we are using.  From that we\ncan calculate the number of bits leftover that can be used for zone, node (and\nmaybe the sections id).  There is no need anymore for FLAGS_RESERVED if we use\nNR_PAGEFLAGS.\n\nUse the new methods to make NR_PAGEFLAGS available via the preprocessor.\nNR_PAGEFLAGS is used to calculate field boundaries in the page flags fields.\nThese field widths have to be available to the preprocessor.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf2ae2b37c06cc9fb6fc03d99617f1161939980f",
      "tree": "3ffc871c7cf45eb08a51704f840778dda6db0cdc",
      "parents": [
        "726b80127239aeea9c8d8aad5b4e2c80313e3ce8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 28 02:12:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:21 2008 -0700"
      },
      "message": "pageflags: standardize comment inclusion in asm-offsets.h and fix MIPS\n\nAdd the ability to pass comments into asm-offsets.h by generating asm\noutput like\n\n-\u003e# comment line\n\nMips needs this feature to preserve the comments that are in\nasm-mips/asm-offsets.h right now.\n\nThen remove the special handling for mips from Kbuild and convert mips to use\nthe new string to include the comments.\n\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2301696932b55e2ea2085cefc84f7b94fa2dd54b",
      "tree": "4a564951b4bd34feee922e59cac12962ac0f73c8",
      "parents": [
        "a10aa579878fc6f9cd17455067380bbdf1d53c91"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 28 02:12:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:21 2008 -0700"
      },
      "message": "vmallocinfo: add caller information\n\nAdd caller information so that /proc/vmallocinfo shows where the allocation\nrequest for a slice of vmalloc memory originated.\n\nResults in output like this:\n\n0xffffc20000000000-0xffffc20000801000 8392704 alloc_large_system_hash+0x127/0x246 pages\u003d2048 vmalloc vpages\n0xffffc20000801000-0xffffc20000806000   20480 alloc_large_system_hash+0x127/0x246 pages\u003d4 vmalloc\n0xffffc20000806000-0xffffc20000c07000 4198400 alloc_large_system_hash+0x127/0x246 pages\u003d1024 vmalloc vpages\n0xffffc20000c07000-0xffffc20000c0a000   12288 alloc_large_system_hash+0x127/0x246 pages\u003d2 vmalloc\n0xffffc20000c0a000-0xffffc20000c0c000    8192 acpi_os_map_memory+0x13/0x1c phys\u003dcff68000 ioremap\n0xffffc20000c0c000-0xffffc20000c0f000   12288 acpi_os_map_memory+0x13/0x1c phys\u003dcff64000 ioremap\n0xffffc20000c10000-0xffffc20000c15000   20480 acpi_os_map_memory+0x13/0x1c phys\u003dcff65000 ioremap\n0xffffc20000c16000-0xffffc20000c18000    8192 acpi_os_map_memory+0x13/0x1c phys\u003dcff69000 ioremap\n0xffffc20000c18000-0xffffc20000c1a000    8192 acpi_os_map_memory+0x13/0x1c phys\u003dfed1f000 ioremap\n0xffffc20000c1a000-0xffffc20000c1c000    8192 acpi_os_map_memory+0x13/0x1c phys\u003dcff68000 ioremap\n0xffffc20000c1c000-0xffffc20000c1e000    8192 acpi_os_map_memory+0x13/0x1c phys\u003dcff68000 ioremap\n0xffffc20000c1e000-0xffffc20000c20000    8192 acpi_os_map_memory+0x13/0x1c phys\u003dcff68000 ioremap\n0xffffc20000c20000-0xffffc20000c22000    8192 acpi_os_map_memory+0x13/0x1c phys\u003dcff68000 ioremap\n0xffffc20000c22000-0xffffc20000c24000    8192 acpi_os_map_memory+0x13/0x1c phys\u003dcff68000 ioremap\n0xffffc20000c24000-0xffffc20000c26000    8192 acpi_os_map_memory+0x13/0x1c phys\u003de0081000 ioremap\n0xffffc20000c26000-0xffffc20000c28000    8192 acpi_os_map_memory+0x13/0x1c phys\u003de0080000 ioremap\n0xffffc20000c28000-0xffffc20000c2d000   20480 alloc_large_system_hash+0x127/0x246 pages\u003d4 vmalloc\n0xffffc20000c2d000-0xffffc20000c31000   16384 tcp_init+0xd5/0x31c pages\u003d3 vmalloc\n0xffffc20000c31000-0xffffc20000c34000   12288 alloc_large_system_hash+0x127/0x246 pages\u003d2 vmalloc\n0xffffc20000c34000-0xffffc20000c36000    8192 init_vdso_vars+0xde/0x1f1\n0xffffc20000c36000-0xffffc20000c38000    8192 pci_iomap+0x8a/0xb4 phys\u003dd8e00000 ioremap\n0xffffc20000c38000-0xffffc20000c3a000    8192 usb_hcd_pci_probe+0x139/0x295 [usbcore] phys\u003dd8e00000 ioremap\n0xffffc20000c3a000-0xffffc20000c3e000   16384 sys_swapon+0x509/0xa15 pages\u003d3 vmalloc\n0xffffc20000c40000-0xffffc20000c61000  135168 e1000_probe+0x1c4/0xa32 phys\u003dd8a20000 ioremap\n0xffffc20000c61000-0xffffc20000c6a000   36864 _xfs_buf_map_pages+0x8e/0xc0 vmap\n0xffffc20000c6a000-0xffffc20000c73000   36864 _xfs_buf_map_pages+0x8e/0xc0 vmap\n0xffffc20000c73000-0xffffc20000c7c000   36864 _xfs_buf_map_pages+0x8e/0xc0 vmap\n0xffffc20000c7c000-0xffffc20000c7f000   12288 e1000e_setup_tx_resources+0x29/0xbe pages\u003d2 vmalloc\n0xffffc20000c80000-0xffffc20001481000 8392704 pci_mmcfg_arch_init+0x90/0x118 phys\u003de0000000 ioremap\n0xffffc20001481000-0xffffc20001682000 2101248 alloc_large_system_hash+0x127/0x246 pages\u003d512 vmalloc\n0xffffc20001682000-0xffffc20001e83000 8392704 alloc_large_system_hash+0x127/0x246 pages\u003d2048 vmalloc vpages\n0xffffc20001e83000-0xffffc20002204000 3674112 alloc_large_system_hash+0x127/0x246 pages\u003d896 vmalloc vpages\n0xffffc20002204000-0xffffc2000220d000   36864 _xfs_buf_map_pages+0x8e/0xc0 vmap\n0xffffc2000220d000-0xffffc20002216000   36864 _xfs_buf_map_pages+0x8e/0xc0 vmap\n0xffffc20002216000-0xffffc2000221f000   36864 _xfs_buf_map_pages+0x8e/0xc0 vmap\n0xffffc2000221f000-0xffffc20002228000   36864 _xfs_buf_map_pages+0x8e/0xc0 vmap\n0xffffc20002228000-0xffffc20002231000   36864 _xfs_buf_map_pages+0x8e/0xc0 vmap\n0xffffc20002231000-0xffffc20002234000   12288 e1000e_setup_rx_resources+0x35/0x122 pages\u003d2 vmalloc\n0xffffc20002240000-0xffffc20002261000  135168 e1000_probe+0x1c4/0xa32 phys\u003dd8a60000 ioremap\n0xffffc20002261000-0xffffc2000270c000 4894720 sys_swapon+0x509/0xa15 pages\u003d1194 vmalloc vpages\n0xffffffffa0000000-0xffffffffa0022000  139264 module_alloc+0x4f/0x55 pages\u003d33 vmalloc\n0xffffffffa0022000-0xffffffffa0029000   28672 module_alloc+0x4f/0x55 pages\u003d6 vmalloc\n0xffffffffa002b000-0xffffffffa0034000   36864 module_alloc+0x4f/0x55 pages\u003d8 vmalloc\n0xffffffffa0034000-0xffffffffa003d000   36864 module_alloc+0x4f/0x55 pages\u003d8 vmalloc\n0xffffffffa003d000-0xffffffffa0049000   49152 module_alloc+0x4f/0x55 pages\u003d11 vmalloc\n0xffffffffa0049000-0xffffffffa0050000   28672 module_alloc+0x4f/0x55 pages\u003d6 vmalloc\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b27d05b6e21249d2338be26dfcbe8f8d8ff8a5b",
      "tree": "c5413d5f64efed1aa84bfa0ab718f1e2a2f6f9cb",
      "parents": [
        "19fc3f0acde32636529969570055c7e2a744787c"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Apr 28 02:12:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:19 2008 -0700"
      },
      "message": "mm: move cache_line_size() to \u003clinux/cache.h\u003e\n\nNot all architectures define cache_line_size() so as suggested by Andrew move\nthe private implementations in mm/slab.c and mm/slob.c to \u003clinux/cache.h\u003e.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nReviewed-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dd1a239f6f2d4d3eedd318583ec319aa145b324c",
      "tree": "aff4224c96b5e2e67588c3946858a724863eeaf9",
      "parents": [
        "54a6eb5c4765aa573a030ceeba2c14e3d2ea5706"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Apr 28 02:12:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:18 2008 -0700"
      },
      "message": "mm: have zonelist contains structs with both a zone pointer and zone_idx\n\nFiltering zonelists requires very frequent use of zone_idx().  This is costly\nas it involves a lookup of another structure and a substraction operation.  As\nthe zone_idx is often required, it should be quickly accessible.  The node idx\ncould also be stored here if it was found that accessing zone-\u003enode is\nsignificant which may be the case on workloads where nodemasks are heavily\nused.\n\nThis patch introduces a struct zoneref to store a zone pointer and a zone\nindex.  The zonelist then consists of an array of these struct zonerefs which\nare looked up as necessary.  Helpers are given for accessing the zone index as\nwell as the node index.\n\n[kamezawa.hiroyu@jp.fujitsu.com: Suggested struct zoneref instead of embedding information in pointers]\n[hugh@veritas.com: mm-have-zonelist: fix memcg ooms]\n[hugh@veritas.com: just return do_try_to_free_pages]\n[hugh@veritas.com: do_try_to_free_pages gfp_mask redundant]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54a6eb5c4765aa573a030ceeba2c14e3d2ea5706",
      "tree": "547176a090beb787722a153cf2b8b942dc0e68db",
      "parents": [
        "18ea7e710d2452fa726814a406779188028cf1bf"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Apr 28 02:12:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:18 2008 -0700"
      },
      "message": "mm: use two zonelist that are filtered by GFP mask\n\nCurrently a node has two sets of zonelists, one for each zone type in the\nsystem and a second set for GFP_THISNODE allocations.  Based on the zones\nallowed by a gfp mask, one of these zonelists is selected.  All of these\nzonelists consume memory and occupy cache lines.\n\nThis patch replaces the multiple zonelists per-node with two zonelists.  The\nfirst contains all populated zones in the system, ordered by distance, for\nfallback allocations when the target/preferred node has no free pages.  The\nsecond contains all populated zones in the node suitable for GFP_THISNODE\nallocations.\n\nAn iterator macro is introduced called for_each_zone_zonelist() that interates\nthrough each zone allowed by the GFP flags in the selected zonelist.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "180c06efce691f2b721dd0d965079827bdd7ee03",
      "tree": "6d5dbde8f341544bbd212e9d376af1e7880a4229",
      "parents": [
        "ea01ea937dcae2caa146dea1918cccf2f16ed3c4"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Apr 28 02:12:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:17 2008 -0700"
      },
      "message": "hotplug-memory: make online_page() common\n\nAll architectures use an effectively identical definition of online_page(), so\njust make it common code.  x86-64, ia64, powerpc and sh are actually\nidentical; x86-32 is slightly different.\n\nx86-32\u0027s differences arise because it puts its hotplug pages in the highmem\nzone.  We can handle this in the generic code by inspecting the page to see if\nits in highmem, and update the totalhigh_pages count appropriately.  This\nleaves init_32.c:free_new_highpage with a single caller, so I folded it into\nadd_one_highpage_init.\n\nI also removed an incorrect comment referring to the NUMA case; any NUMA\ndetails have already been dealt with by the time online_page() is called.\n\n[akpm@linux-foundation.org: fix indenting]\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nAcked-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamez.hiroyu@jp.fujitsu.com\u003e\nTested-by: KAMEZAWA Hiroyuki \u003ckamez.hiroyu@jp.fujitsu.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f022bfd58253099102218db5249220a7f4787114",
      "tree": "21409f8c6c1fefb370b86c2b6d86d94802147d61",
      "parents": [
        "86cf02f8eaea1b09e102e0f432fc137dc5cf4407"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 21 15:42:28 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:15:16 2008 -0700"
      },
      "message": "x86: PAT fix\n\nAdrian Bunk noticed the following Coverity report:\n\n\u003e Commit e7f260a276f2c9184fe753732d834b1f6fbe9f17\n\u003e (x86: PAT use reserve free memtype in mmap of /dev/mem)\n\u003e added the following gem to arch/x86/mm/pat.c:\n\u003e\n\u003e \u003c--  snip  --\u003e\n\u003e\n\u003e ...\n\u003e int phys_mem_access_prot_allowed(struct file *file, unsigned long pfn,\n\u003e                                 unsigned long size, pgprot_t *vma_prot)\n\u003e {\n\u003e         u64 offset \u003d ((u64) pfn) \u003c\u003c PAGE_SHIFT;\n\u003e         unsigned long flags \u003d _PAGE_CACHE_UC_MINUS;\n\u003e         unsigned long ret_flags;\n\u003e ...\n\u003e ...  (nothing that touches ret_flags)\n\u003e ...\n\u003e         if (flags !\u003d _PAGE_CACHE_UC_MINUS) {\n\u003e                 retval \u003d reserve_memtype(offset, offset + size, flags, NULL);\n\u003e         } else {\n\u003e                 retval \u003d reserve_memtype(offset, offset + size, -1, \u0026ret_flags);\n\u003e         }\n\u003e\n\u003e         if (retval \u003c 0)\n\u003e                 return 0;\n\u003e\n\u003e         flags \u003d ret_flags;\n\u003e\n\u003e         if (pfn \u003c\u003d max_pfn_mapped \u0026\u0026\n\u003e             ioremap_change_attr((unsigned long)__va(offset), size, flags) \u003c 0) {\n\u003e                 free_memtype(offset, offset + size);\n\u003e                 printk(KERN_INFO\n\u003e                 \"%s:%d /dev/mem ioremap_change_attr failed %s for %Lx-%Lx\\n\",\n\u003e                         current-\u003ecomm, current-\u003epid,\n\u003e                         cattr_name(flags),\n\u003e                         offset, offset + size);\n\u003e                 return 0;\n\u003e         }\n\u003e\n\u003e         *vma_prot \u003d __pgprot((pgprot_val(*vma_prot) \u0026 ~_PAGE_CACHE_MASK) |\n\u003e                              flags);\n\u003e         return 1;\n\u003e }\n\u003e\n\u003e \u003c--  snip  --\u003e\n\u003e\n\u003e If (flags !\u003d _PAGE_CACHE_UC_MINUS) we pass garbage from the stack to\n\u003e ioremap_change_attr() and/or __pgprot().\n\u003e\n\u003e Spotted by the Coverity checker.\n\nthe fix simplifies the code as we get rid of the \u0027ret_flags\u0027\ncomplication.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "86cf02f8eaea1b09e102e0f432fc137dc5cf4407",
      "tree": "a36231469b316b4d13d23980ea4f5fb08e224009",
      "parents": [
        "064922a805ec7aadfafdd27aa6b4908d737c3c1d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 11:59:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 11:59:30 2008 -0700"
      },
      "message": "x86 PAT: tone down debugging messages some more\n\nIngo already fixed one of these at my request (in \"x86 PAT: tone down\ndebugging messages\", commit 1ebcc654f010d4a63f3ebf8ddd2cab5a709b1824),\nbut there was another one he missed.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42cadc86008aae0fd9ff31642dc01ed50723cf32",
      "tree": "b05d4c8f0561bad5a0183a89fb23ce4c8ee1653c",
      "parents": [
        "fba5c1af5c4fd6645fe62ea84ccde0981282cf66",
        "66c0b394f08fd89236515c1c84485ea712a157be"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 10:13:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 10:13:52 2008 -0700"
      },
      "message": "Merge branch \u0027kvm-updates-2.6.26\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm\n\n* \u0027kvm-updates-2.6.26\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (147 commits)\n  KVM: kill file-\u003ef_count abuse in kvm\n  KVM: MMU: kvm_pv_mmu_op should not take mmap_sem\n  KVM: SVM: remove selective CR0 comment\n  KVM: SVM: remove now obsolete FIXME comment\n  KVM: SVM: disable CR8 intercept when tpr is not masking interrupts\n  KVM: SVM: sync V_TPR with LAPIC.TPR if CR8 write intercept is disabled\n  KVM: export kvm_lapic_set_tpr() to modules\n  KVM: SVM: sync TPR value to V_TPR field in the VMCB\n  KVM: ppc: PowerPC 440 KVM implementation\n  KVM: Add MAINTAINERS entry for PowerPC KVM\n  KVM: ppc: Add DCR access information to struct kvm_run\n  ppc: Export tlb_44x_hwater for KVM\n  KVM: Rename debugfs_dir to kvm_debugfs_dir\n  KVM: x86 emulator: fix lea to really get the effective address\n  KVM: x86 emulator: fix smsw and lmsw with a memory operand\n  KVM: x86 emulator: initialize src.val and dst.val for register operands\n  KVM: SVM: force a new asid when initializing the vmcb\n  KVM: fix kvm_vcpu_kick vs __vcpu_run race\n  KVM: add ioctls to save/store mpstate\n  KVM: Rename VCPU_MP_STATE_* to KVM_MP_STATE_*\n  ...\n"
    },
    {
      "commit": "960b3991698872f68f09d51f4c2794ad484fe1fd",
      "tree": "a5b2d84dfb0f7009538c1c07ca5e244da2be3956",
      "parents": [
        "1336028b9a1fb33537eab8caec66e812eb8cad63"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Apr 16 17:19:06 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:45 2008 +0300"
      },
      "message": "KVM: MMU: kvm_pv_mmu_op should not take mmap_sem\n\nkvm_pv_mmu_op should not take mmap_sem. All gfn_to_page() callers down\nin the MMU processing will take it if necessary, so as it is it can\ndeadlock.\n\nApparently a leftover from the days before slots_lock.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1336028b9a1fb33537eab8caec66e812eb8cad63",
      "tree": "bd9aa8ff8f72cf6cbd109e5bf0c2206ef2374bd3",
      "parents": [
        "aaf697e4e02bf6f7dd6105877bc58ebdbf612d66"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 16 17:01:05 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:44 2008 +0300"
      },
      "message": "KVM: SVM: remove selective CR0 comment\n\nThere is not selective cr0 intercept bug. The code in the comment sets the\nCR0.PG bit. But KVM sets the CR4.PG bit for SVM always to implement the paged\nreal mode. So the \u0027mov %eax,%cr0\u0027 instruction does not change the CR0.PG bit.\nSelective CR0 intercepts only occur when a bit is actually changed. So its the\nright behavior that there is no intercept on this instruction.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "aaf697e4e02bf6f7dd6105877bc58ebdbf612d66",
      "tree": "9ffe449b454b11cc5fe88c17cc406e3740794512",
      "parents": [
        "aaacfc9ae225e88695e610a35627d2256dc08633"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 16 16:51:19 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:43 2008 +0300"
      },
      "message": "KVM: SVM: remove now obsolete FIXME comment\n\nWith the usage of the V_TPR field this comment is now obsolete.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "aaacfc9ae225e88695e610a35627d2256dc08633",
      "tree": "b8cbde694378ab340b4cc3ee2442ae87b9bb6096",
      "parents": [
        "d7bf8221a3037d0d0760a1ccf1833bda03213abf"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 16 16:51:18 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:43 2008 +0300"
      },
      "message": "KVM: SVM: disable CR8 intercept when tpr is not masking interrupts\n\nThis patch disables the intercept of CR8 writes if the TPR is not masking\ninterrupts. This reduces the total number CR8 intercepts to below 1 percent of\nwhat we have without this patch using Windows 64 bit guests.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d7bf8221a3037d0d0760a1ccf1833bda03213abf",
      "tree": "04735d97c44d77f39e874e55b814e88ad9fb612c",
      "parents": [
        "ec7cf6903ffced20098e2bcc27a184172836dfb9"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 16 16:51:17 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:42 2008 +0300"
      },
      "message": "KVM: SVM: sync V_TPR with LAPIC.TPR if CR8 write intercept is disabled\n\nIf the CR8 write intercept is disabled the V_TPR field of the VMCB needs to be\nsynced with the TPR field in the local apic.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ec7cf6903ffced20098e2bcc27a184172836dfb9",
      "tree": "b1252baf58aa0a4ff32078b519830e449476bcb5",
      "parents": [
        "649d68643ebf02f31859ffbb16676aa44c72e6e9"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 16 16:51:16 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:41 2008 +0300"
      },
      "message": "KVM: export kvm_lapic_set_tpr() to modules\n\nThis patch exports the kvm_lapic_set_tpr() function from the lapic code to\nmodules. It is required in the kvm-amd module to optimize CR8 intercepts.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "649d68643ebf02f31859ffbb16676aa44c72e6e9",
      "tree": "df28701a2ea2854765d41ba54ae8b3cb56ad0b47",
      "parents": [
        "bbf45ba57eaec56569918a8bab96ab653bd45ec1"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 16 16:51:15 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:40 2008 +0300"
      },
      "message": "KVM: SVM: sync TPR value to V_TPR field in the VMCB\n\nThis patch adds syncing of the lapic.tpr field to the V_TPR field of the VMCB.\nWith this change we can safely remove the CR8 read intercept.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "bbf45ba57eaec56569918a8bab96ab653bd45ec1",
      "tree": "63c53b1c1d93ec6559c7695c16b2345238e270f5",
      "parents": [
        "513014b717203d1d689652d0fda86eee959a6a8a"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Wed Apr 16 23:28:09 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:39 2008 +0300"
      },
      "message": "KVM: ppc: PowerPC 440 KVM implementation\n\nThis functionality is definitely experimental, but is capable of running\nunmodified PowerPC 440 Linux kernels as guests on a PowerPC 440 host. (Only\ntested with 440EP \"Bamboo\" guests so far, but with appropriate userspace\nsupport other SoC/board combinations should work.)\n\nSee Documentation/powerpc/kvm_440.txt for technical details.\n\n[stephen: build fix]\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f9b7aab35cc6c3542203354d9fc4ec8572074abc",
      "tree": "ab8164dcfa5d49a4db66581af247a4140beae35a",
      "parents": [
        "16286d082d99cb41e16938fa6ba84604229f4b77"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Mon Apr 14 23:46:37 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:35 2008 +0300"
      },
      "message": "KVM: x86 emulator: fix lea to really get the effective address\n\nWe never hit this, since there is currently no reason to emulate lea.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "16286d082d99cb41e16938fa6ba84604229f4b77",
      "tree": "4320f07eea5e48e617c03d732b178d9d99f81f41",
      "parents": [
        "66b85505736dbd3a3a0ed5ae38c12bb218b231c0"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Mon Apr 14 14:40:50 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:34 2008 +0300"
      },
      "message": "KVM: x86 emulator: fix smsw and lmsw with a memory operand\n\nlmsw and smsw were implemented only with a register operand.  Extend them\nto support a memory operand as well.  Fixes Windows running some display\ncompatibility test on AMD hosts.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "66b85505736dbd3a3a0ed5ae38c12bb218b231c0",
      "tree": "1515cb412b64efc4b45db4e861943f211f8688f2",
      "parents": [
        "a79d2f1805da02d7837ec2240f0093c53272fb3a"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Mon Apr 14 23:27:07 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:33 2008 +0300"
      },
      "message": "KVM: x86 emulator: initialize src.val and dst.val for register operands\n\nThis lets us treat the case where mod \u003d\u003d 3 in the same manner as other cases.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a79d2f1805da02d7837ec2240f0093c53272fb3a",
      "tree": "351da350fd28c3fe31c1b527876ee6603a8436cf",
      "parents": [
        "e9571ed54b2a290d61b98ad6f369f963159fe6da"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Mon Apr 14 13:10:21 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:32 2008 +0300"
      },
      "message": "KVM: SVM: force a new asid when initializing the vmcb\n\nShutdown interception clears the vmcb, leaving the asid at zero (which is\nillegal.  so force a new asid on vmcb initialization.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e9571ed54b2a290d61b98ad6f369f963159fe6da",
      "tree": "8767ba834196c08da817e545542ff5a681df96e8",
      "parents": [
        "62d9f0dbc92d7e398fde53fc6021338393522e68"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Apr 11 15:01:22 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:32 2008 +0300"
      },
      "message": "KVM: fix kvm_vcpu_kick vs __vcpu_run race\n\nThere is a window open between testing of pending IRQ\u0027s\nand assignment of guest_mode in __vcpu_run.\n\nInjection of IRQ\u0027s can race with __vcpu_run as follows:\n\nCPU0                                CPU1\nkvm_x86_ops-\u003erun()\nvcpu-\u003eguest_mode \u003d 0                SET_IRQ_LINE ioctl\n..\nkvm_x86_ops-\u003einject_pending_irq\nkvm_cpu_has_interrupt()\n\n                                    apic_test_and_set_irr()\n                                    kvm_vcpu_kick\n                                    if (vcpu-\u003eguest_mode)\n                                        send_ipi()\n\nvcpu-\u003eguest_mode \u003d 1\n\nSo move guest_mode\u003d1 assignment before -\u003einject_pending_irq, and make\nsure that it won\u0027t reorder after it.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "62d9f0dbc92d7e398fde53fc6021338393522e68",
      "tree": "028e62807ead3db11f15694323743b90c8211ef8",
      "parents": [
        "a45352908b88d383bc40e1e4d1a6cc5bbcefc895"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Apr 11 13:24:45 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:16 2008 +0300"
      },
      "message": "KVM: add ioctls to save/store mpstate\n\nSo userspace can save/restore the mpstate during migration.\n\n[avi: export the #define constants describing the value]\n[christian: add s390 stubs]\n[avi: ditto for ia64]\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a45352908b88d383bc40e1e4d1a6cc5bbcefc895",
      "tree": "be0f519e05f8df4409b595928338b2939ed64f6a",
      "parents": [
        "3d80840d96127401ba6aeadd813c3a15b84e70fe"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 13 17:54:35 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:04:13 2008 +0300"
      },
      "message": "KVM: Rename VCPU_MP_STATE_* to KVM_MP_STATE_*\n\nWe wish to export it to userspace, so move it into the kvm namespace.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3d80840d96127401ba6aeadd813c3a15b84e70fe",
      "tree": "b3e083c651f09fee362d88f0d1fc140194f2431d",
      "parents": [
        "3564990af1b9f77a63692c1079e9c41af229f066"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Apr 11 14:53:26 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:04:11 2008 +0300"
      },
      "message": "KVM: hlt emulation should take in-kernel APIC/PIT timers into account\n\nTimers that fire between guest hlt and vcpu_block\u0027s add_wait_queue() are\nignored, possibly resulting in hangs.\n\nAlso make sure that atomic_inc and waitqueue_active tests happen in the\nspecified order, otherwise the following race is open:\n\nCPU0                                        CPU1\n                                            if (waitqueue_active(wq))\nadd_wait_queue()\nif (!atomic_read(pit_timer-\u003epending))\n    schedule()\n                                            atomic_inc(pit_timer-\u003epending)\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3564990af1b9f77a63692c1079e9c41af229f066",
      "tree": "5420c89cbab3f70db4efbb0c4042cfb42a707115",
      "parents": [
        "d4c9ff2d1b78e385471b3f4d80c0596909926ef7"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 09 16:04:32 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:23 2008 +0300"
      },
      "message": "KVM: SVM: do not intercept task switch with NPT\n\nWhen KVM uses NPT there is no reason to intercept task switches. This patch\nremoves the intercept for it in that case.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d4c9ff2d1b78e385471b3f4d80c0596909926ef7",
      "tree": "5551c0f6c56439df39ca434115840f4e36cee2ea",
      "parents": [
        "048354c8e6bf95e7347f623d8a0da5b89e216405"
      ],
      "author": {
        "name": "Feng(Eric) Liu",
        "email": "eric.e.liu@intel.com",
        "time": "Thu Apr 10 08:47:53 2008 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:22 2008 +0300"
      },
      "message": "KVM: Add kvm trace userspace interface\n\nThis interface allows user a space application to read the trace of kvm\nrelated events through relayfs.\n\nSigned-off-by: Feng (Eric) Liu \u003ceric.e.liu@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "048354c8e6bf95e7347f623d8a0da5b89e216405",
      "tree": "3586c81e8277892b6255256abebcd6ca3fc85b27",
      "parents": [
        "7732a8d19bdc6ae18f68f9adb47d11c82a3a86cd"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Apr 11 02:51:52 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:21 2008 +0300"
      },
      "message": "KVM: ia64: Stub out kvmtrace\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7732a8d19bdc6ae18f68f9adb47d11c82a3a86cd",
      "tree": "dde426704b4484be957980a58eab527cd169ecef",
      "parents": [
        "2714d1d3d6be882b97cd0125140fccf9976a460a"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Apr 11 02:50:40 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:20 2008 +0300"
      },
      "message": "KVM: s390: Stub out kvmtrace\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2714d1d3d6be882b97cd0125140fccf9976a460a",
      "tree": "57b654cafff076ae95b62b7763113b1ef8511eb5",
      "parents": [
        "53371b5098543ab09dcb0c7ce31da887dbe58c62"
      ],
      "author": {
        "name": "Feng (Eric) Liu",
        "email": "eric.e.liu@intel.com",
        "time": "Thu Apr 10 15:31:10 2008 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:19 2008 +0300"
      },
      "message": "KVM: Add trace markers\n\nTrace markers allow userspace to trace execution of a virtual machine\nin order to monitor its performance.\n\nSigned-off-by: Feng (Eric) Liu \u003ceric.e.liu@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "53371b5098543ab09dcb0c7ce31da887dbe58c62",
      "tree": "5453a27cb8909c3604f81d4cc8811542b3f48d10",
      "parents": [
        "6394b6494c0a352a2db3ea3e891ba7aeea7c1441"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 09 14:15:30 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:18 2008 +0300"
      },
      "message": "KVM: SVM: add intercept for machine check exception\n\nTo properly forward a MCE occured while the guest is running to the host, we\nhave to intercept this exception and call the host handler by hand. This is\nimplemented by this patch.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "6394b6494c0a352a2db3ea3e891ba7aeea7c1441",
      "tree": "71c4d3e7cda2adcdfd3717bc40aa4e2b89c87e53",
      "parents": [
        "ec077263b2bb841d973d82342b7fbc07bbad4246"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 09 14:15:29 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:18 2008 +0300"
      },
      "message": "KVM: SVM: align shadow CR4.MCE with host\n\nThis patch aligns the host version of the CR4.MCE bit with the CR4 active in\nthe guest. This is necessary to get MCE exceptions when the guest is running.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ec077263b2bb841d973d82342b7fbc07bbad4246",
      "tree": "f39213fad32b5b56d3ef8a120201bba32dee237f",
      "parents": [
        "258ac8e066622df3fef94c8adf32596faae5ab71"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 09 14:15:28 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:17 2008 +0300"
      },
      "message": "KVM: SVM: indent svm_set_cr4 with tabs instead of spaces\n\nThe svm_set_cr4 function is indented with spaces. This patch replaces\nthem with tabs.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "35149e2129fe34fc8cb5917e1ecf5156b0fa3415",
      "tree": "b67cb16fa6054769ee476fce99a32601b126af10",
      "parents": [
        "fdae862f91728aec6dd8fd62cd2398868c906b6b"
      ],
      "author": {
        "name": "Anthony Liguori",
        "email": "aliguori@us.ibm.com",
        "time": "Wed Apr 02 14:46:56 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:15 2008 +0300"
      },
      "message": "KVM: MMU: Don\u0027t assume struct page for x86\n\nThis patch introduces a gfn_to_pfn() function and corresponding functions like\nkvm_release_pfn_dirty().  Using these new functions, we can modify the x86\nMMU to no longer assume that it can always get a struct page for any given gfn.\n\nWe don\u0027t want to eliminate gfn_to_page() entirely because a number of places\nassume they can do gfn_to_page() and then kmap() the results.  When we support\nIO memory, gfn_to_page() will fail for IO pages although gfn_to_pfn() will\nsucceed.\n\nThis does not implement support for avoiding reference counting for reserved\nRAM or for IO memory.  However, it should make those things pretty straight\nforward.\n\nSince we\u0027re only introducing new common symbols, I don\u0027t think it will break\nthe non-x86 architectures but I haven\u0027t tested those.  I\u0027ve tested Intel,\nAMD, NPT, and hugetlbfs with Windows and Linux guests.\n\n[avi: fix overflow when shifting left pfns by adding casts]\n\nSigned-off-by: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "b693919ca983e9eb989d89dac5493ef3c5e98e77",
      "tree": "b740dace0c0912a8013f6c67bd53b8dcb3a06bb9",
      "parents": [
        "ad86b6c36bbb9c1cac610f1b8a310d87eafea778"
      ],
      "author": {
        "name": "Xiantao Zhang",
        "email": "xiantao.zhang@intel.com",
        "time": "Fri Mar 28 14:58:47 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:13 2008 +0300"
      },
      "message": "KVM: ia64: Enable kvm build for ia64\n\nUpdate the related Makefile and KConfig for kvm build\n\nSigned-off-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ad86b6c36bbb9c1cac610f1b8a310d87eafea778",
      "tree": "279c330a425e08760172bb8a20b5c88cd1118959",
      "parents": [
        "827fa691e41a538bbe941d9c988e07e6abea1648"
      ],
      "author": {
        "name": "Xiantao Zhang",
        "email": "xiantao.zhang@intel.com",
        "time": "Tue Apr 01 14:59:30 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:12 2008 +0300"
      },
      "message": "KVM: ia64: Add kvm sal/pal virtulization support\n\nSome sal/pal calls would be traped to kvm for virtulization\nfrom guest firmware.\n\nSigned-off-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "827fa691e41a538bbe941d9c988e07e6abea1648",
      "tree": "a9f9edce467438b2c63748cef7aab7b821ef506f",
      "parents": [
        "d62998a681f4688605895bb7068d76d25132e3a2"
      ],
      "author": {
        "name": "Xiantao Zhang",
        "email": "xiantao.zhang@intel.com",
        "time": "Tue Apr 01 14:58:42 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:11 2008 +0300"
      },
      "message": "KVM: ia64: Add guest interruption injection support\n\nprocess.c mainly handle interruption injection, and some faults handling.\n\nSigned-off-by: Anthony Xu \u003canthony.xu@intel.com\u003e\nSigned-off-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d62998a681f4688605895bb7068d76d25132e3a2",
      "tree": "ce5f144e3e3bdbc1c7356540a4eb43568f3c07e6",
      "parents": [
        "7fc86bd9c0830651826d88c65b6aad55086a6e01"
      ],
      "author": {
        "name": "Xiantao Zhang",
        "email": "xiantao.zhang@intel.com",
        "time": "Tue Apr 01 14:57:53 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:10 2008 +0300"
      },
      "message": "KVM: ia64: Generate offset values for assembly code use\n\nasm-offsets.c will generate offset values used for assembly code\nfor some fileds of special structures.\n\nSigned-off-by: Anthony Xu \u003canthony.xu@intel.com\u003e\nSigned-off-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7fc86bd9c0830651826d88c65b6aad55086a6e01",
      "tree": "6e8ce1fd335bfcc36f9fa1a072248a38361bd2cd",
      "parents": [
        "60a07bb9baa83e17d4b540a2f371661ecc353c6c"
      ],
      "author": {
        "name": "Xiantao Zhang",
        "email": "xiantao.zhang@intel.com",
        "time": "Tue Apr 01 14:57:09 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:09 2008 +0300"
      },
      "message": "KVM: ia64: Add optimization for some virtulization faults\n\noptvfault.S Add optimization for some performance-critical\nvirtualization faults.\n\nSigned-off-by: Anthony Xu \u003canthony.xu@intel.com\u003e\nSigned-off-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "60a07bb9baa83e17d4b540a2f371661ecc353c6c",
      "tree": "c524470535fcd8218fa9daaf78edd2f271df9142",
      "parents": [
        "a793537a970584720347293935a4bb6323791a05"
      ],
      "author": {
        "name": "Xiantao Zhang",
        "email": "xiantao.zhang@intel.com",
        "time": "Tue Apr 01 16:14:28 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:09 2008 +0300"
      },
      "message": "KVM: ia64: Add processor virtulization support\n\nvcpu.c provides processor virtualization logic for kvm.\n\nSigned-off-by: Anthony Xu \u003canthony.xu@intel.com\u003e\nSigned-off-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a793537a970584720347293935a4bb6323791a05",
      "tree": "a17a226b399872cf6bc4c0e4f89171a1bf38726c",
      "parents": [
        "e30af4ce7fea3d3a470f8f9996c53564f34e4754"
      ],
      "author": {
        "name": "Xiantao Zhang",
        "email": "xiantao.zhang@intel.com",
        "time": "Tue Apr 01 14:54:42 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:08 2008 +0300"
      },
      "message": "KVM: ia64: Add trampoline for guest/host mode switch\n\ntrampoline code targets for guest/host world switch.\n\nSigned-off-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e30af4ce7fea3d3a470f8f9996c53564f34e4754",
      "tree": "ccd4cf534ff6590c28d2ba43a666585733620f78",
      "parents": [
        "fbd4b5621c8db767f78c89d1ac708ac4bb276caf"
      ],
      "author": {
        "name": "Xiantao Zhang",
        "email": "xiantao.zhang@intel.com",
        "time": "Tue Apr 01 14:53:32 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:07 2008 +0300"
      },
      "message": "KVM: ia64: Add mmio decoder for kvm/ia64\n\nmmio.c includes mmio decoder, and related mmio logics.\n\nSigned-off-by: Anthony Xu \u003cAnthony.xu@intel.com\u003e\nSigned-off-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "fbd4b5621c8db767f78c89d1ac708ac4bb276caf",
      "tree": "d37c58f7b43579e03091c49adaef9d1dce13499b",
      "parents": [
        "964cd94a2ae3b20f9da9bd43b31aac32c4fe9aee"
      ],
      "author": {
        "name": "Xiantao Zhang",
        "email": "xiantao.zhang@intel.com",
        "time": "Tue Apr 01 14:52:19 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:06 2008 +0300"
      },
      "message": "KVM: ia64: Add interruption vector table for vmm\n\nvmm_ivt.S includes an ivt for vmm use.\n\nSigned-off-by: Anthony Xu \u003canthony.xu@intel.com\u003e\nSigned-off-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "964cd94a2ae3b20f9da9bd43b31aac32c4fe9aee",
      "tree": "c9d6b5c3af1b6a1d8f48e1aac4484a6a8d2ee9fa",
      "parents": [
        "bb46fb4af160ec7ae6e5102a79a3b2518eaee7af"
      ],
      "author": {
        "name": "Xiantao Zhang",
        "email": "xiantao.zhang@intel.com",
        "time": "Tue Apr 01 14:50:59 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:05 2008 +0300"
      },
      "message": "KVM: ia64: Add TLB virtulization support\n\nvtlb.c includes tlb/VHPT virtulization.\n\nSigned-off-by: Anthony Xu \u003canthony.xu@intel.com\u003e\nSigned-off-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "bb46fb4af160ec7ae6e5102a79a3b2518eaee7af",
      "tree": "4ca14e2a5675b7edf8980bd5ae1b220f6445c7ff",
      "parents": [
        "a4f500381ac91969fa4f8b0a4e39e76dbf00a913"
      ],
      "author": {
        "name": "Xiantao Zhang",
        "email": "xiantao.zhang@intel.com",
        "time": "Tue Apr 01 14:49:24 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:04 2008 +0300"
      },
      "message": "KVM: ia64: VMM module interfaces\n\nvmm.c adds the interfaces with kvm/module, and initialize global data area.\n\nSigned-off-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a4f500381ac91969fa4f8b0a4e39e76dbf00a913",
      "tree": "943377eb26c82400e6b8abcb7c0a9f1eb0ff2486",
      "parents": [
        "b024b79322aad213cd2d4f30c23a6c626a0d5b31"
      ],
      "author": {
        "name": "Xiantao Zhang",
        "email": "xiantao.zhang@intel.com",
        "time": "Tue Apr 01 16:00:24 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:03 2008 +0300"
      },
      "message": "KVM: ia64: Add header files for kvm/ia64\n\nkvm_minstate.h : Marcos about Min save routines.\nlapic.h: apic structure definition.\nvcpu.h : routions related to vcpu virtualization.\nvti.h  : Some macros or routines for VT support on Itanium.\n\nSigned-off-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "b024b79322aad213cd2d4f30c23a6c626a0d5b31",
      "tree": "e7c87b054bd2ff4c0539f908a938e6521469d846",
      "parents": [
        "1a9c1ac46990194f6b6ddc591c24e385e611fa25"
      ],
      "author": {
        "name": "Xiantao Zhang",
        "email": "xiantao.zhang@intel.com",
        "time": "Tue Apr 01 15:29:29 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:03 2008 +0300"
      },
      "message": "KVM: ia64: Add kvm arch-specific core code for kvm/ia64\n\nkvm_ia64.c is created to handle kvm ia64-specific core logic.\n\nSigned-off-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f603f0731f43421403160f5f8b12e90f2e51f064",
      "tree": "5e8bbc51d2a7be8b58e310689cebee2a6881f128",
      "parents": [
        "7e8e6ab48d78147f69c1ba2d6a362f8d33254468"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Apr 04 15:12:40 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:59 2008 +0300"
      },
      "message": "KVM: s390: rename stfl to kvm_stfl\n\nTemporarily rename this function to avoid merge conflicts and/or\ndependencies. This function will be removed as soon as git-s390\nand kvm.git are finally upstream.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7e8e6ab48d78147f69c1ba2d6a362f8d33254468",
      "tree": "760391ea70e033a7b2551663430da3f737e3db59",
      "parents": [
        "bed1d1dfc4a458d82bcd258082638cbba860190d"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Apr 04 15:12:35 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:58 2008 +0300"
      },
      "message": "KVM: s390: Fix incorrect return value\n\nkvm_arch_vcpu_ioctl_run currently incorrectly always returns 0.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "bed1d1dfc4a458d82bcd258082638cbba860190d",
      "tree": "344f9cbf54082161e54ba77164f55aec695b9403",
      "parents": [
        "fcd6dbac9267c1c06a205ad8bb4bd027c0ace7f7"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Apr 04 14:56:44 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:58 2008 +0300"
      },
      "message": "KVM: MMU: prepopulate guest pages after write-protecting\n\nZdenek reported a bug where a looping \"dmsetup status\" eventually hangs\non SMP guests.\n\nThe problem is that kvm_mmu_get_page() prepopulates the shadow MMU\nbefore write protecting the guest page tables. By doing so, it leaves a\nwindow open where the guest can mark a pte as present while the host has\nshadow cached such pte as \"notrap\". Accesses to such address will fault\nin the guest without the host having a chance to fix the situation.\n\nFix by moving the write protection before the pte prefetch.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "fcd6dbac9267c1c06a205ad8bb4bd027c0ace7f7",
      "tree": "a9645557d1d20d344f21ab464137a64896598d58",
      "parents": [
        "d39f13b0da7fa7f705fbe6c80995205d0380bc7a"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Apr 03 12:02:21 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:57 2008 +0300"
      },
      "message": "KVM: MMU: Only mark_page_accessed() if the page was accessed by the guest\n\nIf the accessed bit is not set, the guest has never accessed this page\n(at least through this spte), so there\u0027s no need to mark the page\naccessed.  This provides more accurate data for the eviction algortithm.\n\nNoted by Andrea Arcangeli.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3d45830c2b11a9d756faae161742b7d1ec417f7e",
      "tree": "5c0fcbb7d3191d114cc7ef9049815caf4f242a85",
      "parents": [
        "3ee16c814511cd58f956b47b9c7654f57f674688"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Mar 25 11:26:13 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:54 2008 +0300"
      },
      "message": "KVM: Free apic access page on vm destruction\n\nNoticed by Marcelo Tosatti.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3ee16c814511cd58f956b47b9c7654f57f674688",
      "tree": "38eb024cd6292c85b57a8ea7b2a761e174db3884",
      "parents": [
        "3200f405a1e8e06c8634f11d33614455baa4e6be"
      ],
      "author": {
        "name": "Izik Eidus",
        "email": "izike@qumranet.com",
        "time": "Sun Mar 30 15:17:21 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:53 2008 +0300"
      },
      "message": "KVM: MMU: allow the vm to shrink the kvm mmu shadow caches\n\nAllow the Linux memory manager to reclaim memory in the kvm shadow cache.\n\nSigned-off-by: Izik Eidus \u003cizike@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3200f405a1e8e06c8634f11d33614455baa4e6be",
      "tree": "806116d2495dd7fd93b5c0db98a72fe4fa854787",
      "parents": [
        "25c5f225beda4fbea878ed8b6203ab4ecc7de2d1"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "marcelo@kvack.org",
        "time": "Sat Mar 29 20:17:59 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:52 2008 +0300"
      },
      "message": "KVM: MMU: unify slots_lock usage\n\nUnify slots_lock acquision around vcpu_run(). This is simpler and less\nerror-prone.\n\nAlso fix some callsites that were not grabbing the lock properly.\n\n[avi: drop slots_lock while in guest mode to avoid holding the lock\n      for indefinite periods]\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "25c5f225beda4fbea878ed8b6203ab4ecc7de2d1",
      "tree": "b15dc6e9a311c556a9c5ed1ccbc0ed0830d24b23",
      "parents": [
        "e976a2b997fc4ad70ccc53acfe62811c4aaec851"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Fri Mar 28 13:18:56 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:52 2008 +0300"
      },
      "message": "KVM: VMX: Enable MSR Bitmap feature\n\nMSR Bitmap controls whether the accessing of an MSR causes VM Exit.\nEliminating exits on automatically saved and restored MSRs yields a\nsmall performance gain.\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "fa5877439d5a062d91c3abd5a690483bbdb4268e",
      "tree": "0bd9c1794134d891678e3602ba78a6facec39d78",
      "parents": [
        "85f8fffe3c2ab13f13526c46b5471fc22e98ccfe"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Tue Mar 25 18:47:44 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:50 2008 +0300"
      },
      "message": "s390: KVM guest: detect when running on kvm\n\nThis patch adds functionality to detect if the kernel runs under the KVM\nhypervisor. A macro MACHINE_IS_KVM is exported for device drivers. This\nallows drivers to skip device detection if the systems runs non-virtualized.\nWe also define a preferred console to avoid having the ttyS0, which is a line\nmode only console.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "77b455f1bcfa0fddb31b8e6f9f2adc246acb4216",
      "tree": "f16f4479739b1de7752c12363efbf82034258a5b",
      "parents": [
        "e28acfea5dd9dbc67c2594cbefc140129dbd0e3f"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue Mar 25 18:47:36 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:47 2008 +0300"
      },
      "message": "KVM: s390: add kvm to kconfig on s390\n\nThis patch adds the virtualization submenu and the kvm option to the kernel\nconfig. It also defines HAVE_KVM for 64bit kernels.\n\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e28acfea5dd9dbc67c2594cbefc140129dbd0e3f",
      "tree": "2f66c3afcf18fd938bae1460f1c5d35ccbf75550",
      "parents": [
        "5288fbf0ef041ba0e8b4dcb2df4536b5e3a48b32"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue Mar 25 18:47:34 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:46 2008 +0300"
      },
      "message": "KVM: s390: intercepts for diagnose instructions\n\nThis patch introduces interpretation of some diagnose instruction intercepts.\nDiagnose is our classic architected way of doing a hypercall. This patch\nfeatures the following diagnose codes:\n- vm storage size, that tells the guest about its memory layout\n- time slice end, which is used by the guest to indicate that it waits\n  for a lock and thus cannot use up its time slice in a useful way\n- ipl functions, which a guest can use to reset and reboot itself\n\nIn order to implement ipl functions, we also introduce an exit reason that\ncauses userspace to perform various resets on the virtual machine. All resets\nare described in the principles of operation book, except KVM_S390_RESET_IPL\nwhich causes a reboot of the machine.\n\nAcked-by: Martin Schwidefsky \u003cmartin.schwidefsky@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "5288fbf0ef041ba0e8b4dcb2df4536b5e3a48b32",
      "tree": "6f81a87294c9026ac91a84e5a94e55e565002d3b",
      "parents": [
        "453423dce2785b8e22077e3b3eeecb4f60fe3470"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue Mar 25 18:47:31 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:46 2008 +0300"
      },
      "message": "KVM: s390: interprocessor communication via sigp\n\nThis patch introduces in-kernel handling of _some_ sigp interprocessor\nsignals (similar to ipi).\nkvm_s390_handle_sigp() decodes the sigp instruction and calls individual\nhandlers depending on the operation requested:\n- sigp sense tries to retrieve information such as existence or running state\n  of the remote cpu\n- sigp emergency sends an external interrupt to the remove cpu\n- sigp stop stops a remove cpu\n- sigp stop store status stops a remote cpu, and stores its entire internal\n  state to the cpus lowcore\n- sigp set arch sets the architecture mode of the remote cpu. setting to\n  ESAME (s390x 64bit) is accepted, setting to ESA/S390 (s390, 31 or 24 bit) is\n  denied, all others are passed to userland\n- sigp set prefix sets the prefix register of a remote cpu\n\nFor implementation of this, the stop intercept indication starts to get reused\non purpose: a set of action bits defines what to do once a cpu gets stopped:\nACTION_STOP_ON_STOP  really stops the cpu when a stop intercept is recognized\nACTION_STORE_ON_STOP stores the cpu status to lowcore when a stop intercept is\n                     recognized\n\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "453423dce2785b8e22077e3b3eeecb4f60fe3470",
      "tree": "afe9d502d7fa07d5b59175dfb990f818e0642720",
      "parents": [
        "ba5c1e9b6ceebdc39343cc03eb39f077abd3c571"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue Mar 25 18:47:29 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:45 2008 +0300"
      },
      "message": "KVM: s390: intercepts for privileged instructions\n\nThis patch introduces in-kernel handling of some intercepts for privileged\ninstructions:\n\nhandle_set_prefix()        sets the prefix register of the local cpu\nhandle_store_prefix()      stores the content of the prefix register to memory\nhandle_store_cpu_address() stores the cpu number of the current cpu to memory\nhandle_skey()              just decrements the instruction address and retries\nhandle_stsch()             delivers condition code 3 \"operation not supported\"\nhandle_chsc()              same here\nhandle_stfl()              stores the facility list which contains the\n                           capabilities of the cpu\nhandle_stidp()             stores cpu type/model/revision and such\nhandle_stsi()              stores information about the system topology\n\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ba5c1e9b6ceebdc39343cc03eb39f077abd3c571",
      "tree": "ab07e763ad7d9aad2ef189def5537e73a50c7503",
      "parents": [
        "8f2abe6a1e525e878bdf58f68ccd146d543fde84"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Tue Mar 25 18:47:26 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:44 2008 +0300"
      },
      "message": "KVM: s390: interrupt subsystem, cpu timer, waitpsw\n\nThis patch contains the s390 interrupt subsystem (similar to in kernel apic)\nincluding timer interrupts (similar to in-kernel-pit) and enabled wait\n(similar to in kernel hlt).\n\nIn order to achieve that, this patch also introduces intercept handling\nfor instruction intercepts, and it implements load control instructions.\n\nThis patch introduces an ioctl KVM_S390_INTERRUPT which is valid for both\nthe vm file descriptors and the vcpu file descriptors. In case this ioctl is\nissued against a vm file descriptor, the interrupt is considered floating.\nFloating interrupts may be delivered to any virtual cpu in the configuration.\n\nThe following interrupts are supported:\nSIGP STOP       - interprocessor signal that stops a remote cpu\nSIGP SET PREFIX - interprocessor signal that sets the prefix register of a\n                  (stopped) remote cpu\nINT EMERGENCY   - interprocessor interrupt, usually used to signal need_reshed\n                  and for smp_call_function() in the guest.\nPROGRAM INT     - exception during program execution such as page fault, illegal\n                  instruction and friends\nRESTART         - interprocessor signal that starts a stopped cpu\nINT VIRTIO      - floating interrupt for virtio signalisation\nINT SERVICE     - floating interrupt for signalisations from the system\n                  service processor\n\nstruct kvm_s390_interrupt, which is submitted as ioctl parameter when injecting\nan interrupt, also carrys parameter data for interrupts along with the interrupt\ntype. Interrupts on s390 usually have a state that represents the current\noperation, or identifies which device has caused the interruption on s390.\n\nkvm_s390_handle_wait() does handle waitpsw in two flavors: in case of a\ndisabled wait (that is, disabled for interrupts), we exit to userspace. In case\nof an enabled wait we set up a timer that equals the cpu clock comparator value\nand sleep on a wait queue.\n\n[christian: change virtio interrupt to 0x2603]\n\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "8f2abe6a1e525e878bdf58f68ccd146d543fde84",
      "tree": "5f52959474a16847c740fb8668ebd9d6cbc75d07",
      "parents": [
        "b0c632db637d68ad39d9f97f452ce176253f5f4e"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue Mar 25 18:47:23 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:43 2008 +0300"
      },
      "message": "KVM: s390: sie intercept handling\n\nThis path introduces handling of sie intercepts in three flavors: Intercepts\nare either handled completely in-kernel by kvm_handle_sie_intercept(),\nor passed to userspace with corresponding data in struct kvm_run in case\nkvm_handle_sie_intercept() returns -ENOTSUPP.\nIn case of partial execution in kernel with the need of userspace support,\nkvm_handle_sie_intercept() may choose to set up struct kvm_run and return\n-EREMOTE.\n\nThe trivial intercept reasons are handled in this patch:\nhandle_noop() just does nothing for intercepts that don\u0027t require our support\n  at all\nhandle_stop() is called when a cpu enters stopped state, and it drops out to\n  userland after updating our vcpu state\nhandle_validity() faults in the cpu lowcore if needed, or passes the request\n  to userland\n\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "b0c632db637d68ad39d9f97f452ce176253f5f4e",
      "tree": "770d68c17cbcabc1543d1e9125669130fcf4fee4",
      "parents": [
        "8a88ac6183975c73c65b45f365f6f3b875c1348b"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Mar 25 18:47:20 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:42 2008 +0300"
      },
      "message": "KVM: s390: arch backend for the kvm kernel module\n\nThis patch contains the port of Qumranet\u0027s kvm kernel module to IBM zSeries\n (aka s390x, mainframe) architecture. It uses the mainframe\u0027s virtualization\ninstruction SIE to run virtual machines with up to 64 virtual CPUs each.\nThis port is only usable on 64bit host kernels, and can only run 64bit guest\nkernels. However, running 31bit applications in guest userspace is possible.\n\nThe following source files are introduced by this patch\narch/s390/kvm/kvm-s390.c    similar to arch/x86/kvm/x86.c, this implements all\n                            arch callbacks for kvm. __vcpu_run calls back into\n                            sie64a to enter the guest machine context\narch/s390/kvm/sie64a.S      assembler function sie64a, which enters guest\n                            context via SIE, and switches world before and after                            that\ninclude/asm-s390/kvm_host.h contains all vital data structures needed to run\n                            virtual machines on the mainframe\ninclude/asm-s390/kvm.h      defines kvm_regs and friends for user access to\n                            guest register content\narch/s390/kvm/gaccess.h     functions similar to uaccess to access guest memory\narch/s390/kvm/kvm-s390.h    header file for kvm-s390 internals, extended by\n                            later patches\n\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "402b08622d9ac6e32e25289573272e0f21bb58a7",
      "tree": "40d7386154cef85c9bfd2bd862db025933820776",
      "parents": [
        "37817f2982d0f559f90cecc66e150dd9d2c2df05"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Tue Mar 25 18:47:10 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:40 2008 +0300"
      },
      "message": "s390: KVM preparation: provide hook to enable pgstes in user pagetable\n\nThe SIE instruction on s390 uses the 2nd half of the page table page to\nvirtualize the storage keys of a guest. This patch offers the s390_enable_sie\nfunction, which reorganizes the page tables of a single-threaded process to\nreserve space in the page table:\ns390_enable_sie makes sure that the process is single threaded and then uses\ndup_mm to create a new mm with reorganized page tables. The old mm is freed\nand the process has now a page status extended field after every page table.\n\nCode that wants to exploit pgstes should SELECT CONFIG_PGSTE.\n\nThis patch has a small common code hit, namely making dup_mm non-static.\n\nEdit (Carsten): I\u0027ve modified Martin\u0027s patch, following Jeremy Fitzhardinge\u0027s\nreview feedback. Now we do have the prototype for dup_mm in\ninclude/linux/sched.h. Following Martin\u0027s suggestion, s390_enable_sie() does now\ncall task_lock() to prevent race against ptrace modification of mm_users.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "37817f2982d0f559f90cecc66e150dd9d2c2df05",
      "tree": "45114b5720d7a13bdbe48cc6a75dc6de03d6fcd2",
      "parents": [
        "2e4d2653497856b102c90153f970c9e344ba96c6"
      ],
      "author": {
        "name": "Izik Eidus",
        "email": "izike@qumranet.com",
        "time": "Mon Mar 24 23:14:53 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:39 2008 +0300"
      },
      "message": "KVM: x86: hardware task switching support\n\nThis emulates the x86 hardware task switch mechanism in software, as it is\nunsupported by either vmx or svm.  It allows operating systems which use it,\nlike freedos, to run as kvm guests.\n\nSigned-off-by: Izik Eidus \u003cizike@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2e4d2653497856b102c90153f970c9e344ba96c6",
      "tree": "8a1929d5caa1f9436c25a104f75403fb2b3e5e2f",
      "parents": [
        "4c9fc8ef501790732ed035585b491756b75ea4c6"
      ],
      "author": {
        "name": "Izik Eidus",
        "email": "izike@qumranet.com",
        "time": "Mon Mar 24 19:38:34 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:38 2008 +0300"
      },
      "message": "KVM: x86: add functions to get the cpl of vcpu\n\nSigned-off-by: Izik Eidus \u003cizike@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "4c9fc8ef501790732ed035585b491756b75ea4c6",
      "tree": "5d5fd13456178c756170a6dabbec99c52eeeb6be",
      "parents": [
        "268fe02ae058c0c5e84ad678d67e5d7b013e664f"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Mon Mar 24 18:15:14 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:37 2008 +0300"
      },
      "message": "KVM: VMX: Add module option to disable flexpriority\n\nUseful for debugging.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "268fe02ae058c0c5e84ad678d67e5d7b013e664f",
      "tree": "325cc9f186bcf921082af0d3cc22467a74bb5da2",
      "parents": [
        "0b49ea8659fd3b5005823e02d2d0a775521770e5"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Mar 23 18:36:30 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:36 2008 +0300"
      },
      "message": "KVM: no longer EXPERIMENTAL\n\nLong overdue.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "0b49ea8659fd3b5005823e02d2d0a775521770e5",
      "tree": "8ae968a018fac99eb923714e77ae87e02fe11d51",
      "parents": [
        "855149aaa90016c576a0e684361a34f8047307d0"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Mar 23 15:06:23 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:35 2008 +0300"
      },
      "message": "KVM: MMU: Introduce and use spte_to_page()\n\nEncapsulate the pte mask\u0027n\u0027shift in a function.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "855149aaa90016c576a0e684361a34f8047307d0",
      "tree": "bfca7a0e52e4a4e7857a2e9fc0ff9f98e9f26dfa",
      "parents": [
        "69a9f69bb24d6d3dbf3d2ba542ddceeda40536d5"
      ],
      "author": {
        "name": "Izik Eidus",
        "email": "izike@qumranet.com",
        "time": "Thu Mar 20 18:17:24 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:34 2008 +0300"
      },
      "message": "KVM: MMU: fix dirty bit setting when removing write permissions\n\nWhen mmu_set_spte() checks if a page related to spte should be release as\ndirty or clean, it check if the shadow pte was writeble, but in case\nrmap_write_protect() is called called it is possible for shadow ptes that were\nwriteble to become readonly and therefor mmu_set_spte will release the pages\nas clean.\n\nThis patch fix this issue by marking the page as dirty inside\nrmap_write_protect().\n\nSigned-off-by: Izik Eidus \u003cizike@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "947da53830690cbd77d7f2b625d0df1f161ffd54",
      "tree": "32db5b7e97b5df34ada31ac9de8f3250b90dfd55",
      "parents": [
        "97646202bc3f190dfcb48a3d506ea2445717d392"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Mar 18 11:05:52 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:33 2008 +0300"
      },
      "message": "KVM: MMU: Set the accessed bit on non-speculative shadow ptes\n\nIf we populate a shadow pte due to a fault (and not speculatively due to a\npte write) then we can set the accessed bit on it, as we know it will be\nset immediately on the next guest instruction.  This saves a read-modify-write\noperation.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1e977aa12dd4f80688b1f243762212e75c6d7fe8",
      "tree": "572941849e9d63c0de7233d2352d346dc097be49",
      "parents": [
        "3c62c62502bea24448d4e82aa1f33c7dbca61a32"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Mar 17 16:08:40 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:31 2008 +0300"
      },
      "message": "x86: KVM guest: disable clock before rebooting.\n\nThis patch writes 0 (actually, what really matters is that the\nLSB is cleared) to the system time msr before shutting down\nthe machine for kexec.\n\nWithout it, we can have a random memory location being written\nwhen the guest comes back\n\nIt overrides the functions shutdown, used in the path of kernel_kexec() (sys.c)\nand crash_shutdown, used in the path of crash_kexec() (kexec.c)\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3c62c62502bea24448d4e82aa1f33c7dbca61a32",
      "tree": "d317c2ce20be6fa75404c0b65c8169ad0b491a10",
      "parents": [
        "ed23dc6f5bc950ebbe683dd0bed1d5878230c171"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Mar 17 16:08:39 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:30 2008 +0300"
      },
      "message": "x86: make native_machine_shutdown non-static\n\nit will allow external users to call it. It is mainly\nuseful for routines that will override its machine_ops\nfield for its own special purposes, but want to call the\nnormal shutdown routine after they\u0027re done\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ed23dc6f5bc950ebbe683dd0bed1d5878230c171",
      "tree": "7a25b86c600b5429196dd56d684ea72d3e0be63c",
      "parents": [
        "096d14a3b57e4a87d27be09cc64b4f84660acd08"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Mar 17 16:08:38 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:29 2008 +0300"
      },
      "message": "x86: allow machine_crash_shutdown to be replaced\n\nThis patch a llows machine_crash_shutdown to\nbe replaced, just like any of the other functions\nin machine_ops\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "096d14a3b57e4a87d27be09cc64b4f84660acd08",
      "tree": "73408f02e84397483a88fb8855fc5c5cb6687bd3",
      "parents": [
        "1da8a77bdc294acdc37e8504926383b86f72d6be"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Feb 22 12:21:38 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:28 2008 +0300"
      },
      "message": "x86: KVM guest: hypercall batching\n\nBatch pte updates and tlb flushes in lazy MMU mode.\n\n[avi:\n - adjust to mmu_op\n - helper for getting para_state without debug warnings]\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1da8a77bdc294acdc37e8504926383b86f72d6be",
      "tree": "d4a65e134a8d087ef23ba6ece6788bf15e1740b6",
      "parents": [
        "2f333bcb4edd8daef99dabe4e7df8277af73cff1"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Feb 22 12:21:37 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:28 2008 +0300"
      },
      "message": "x86: KVM guest: hypercall based pte updates and TLB flushes\n\nHypercall based pte updates are faster than faults, and also allow use\nof the lazy MMU mode to batch operations.\n\nDon\u0027t report the feature if two dimensional paging is enabled.\n\n[avi:\n - guest/host split\n - fix 32-bit truncation issues\n - adjust to mmu_op\n - adjust to -\u003erelease_*() renamed\n - add -\u003erelease_pud()]\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2f333bcb4edd8daef99dabe4e7df8277af73cff1",
      "tree": "c984466e7756e0910bf470a094558b52bd10df33",
      "parents": [
        "9f81128591ca1e9907f2e7a7b195e33232167d60"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Feb 22 12:21:37 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:27 2008 +0300"
      },
      "message": "KVM: MMU: hypercall based pte updates and TLB flushes\n\nHypercall based pte updates are faster than faults, and also allow use\nof the lazy MMU mode to batch operations.\n\nDon\u0027t report the feature if two dimensional paging is enabled.\n\n[avi:\n - one mmu_op hypercall instead of one per op\n - allow 64-bit gpa on hypercall\n - don\u0027t pass host errors (-ENOMEM) to guest]\n\n[akpm: warning fix on i386]\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "9f81128591ca1e9907f2e7a7b195e33232167d60",
      "tree": "2abca5f4181f3bc0570bab60d85b473a595f1285",
      "parents": [
        "0cf1bfd2737f41e59f974a61eab11af206d2042a"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Mar 02 14:06:05 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:26 2008 +0300"
      },
      "message": "KVM: Provide unlocked version of emulator_write_phys()\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "0cf1bfd2737f41e59f974a61eab11af206d2042a",
      "tree": "4edd67efa000f4cb94ef834daa21ac07c2016989",
      "parents": [
        "a28e4f5a621289fe0d9c8a461b0c256f9e17f3bc"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Feb 22 12:21:36 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:25 2008 +0300"
      },
      "message": "x86: KVM guest: add basic paravirt support\n\nAdd basic KVM paravirt support. Avoid vm-exits on IO delays.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a28e4f5a621289fe0d9c8a461b0c256f9e17f3bc",
      "tree": "dfa62426cf55dfb2fad66e924eab34e9840bff12",
      "parents": [
        "308b0f239e8d6754b8b903d279e5b5b987e257ac"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Feb 22 12:21:36 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:24 2008 +0300"
      },
      "message": "KVM: add basic paravirt support\n\nAdd basic KVM paravirt support. Avoid vm-exits on IO delays.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    }
  ],
  "next": "308b0f239e8d6754b8b903d279e5b5b987e257ac"
}
