)]}'
{
  "commit": "536788fe2d28e11db6aeda74207d95d750fb761f",
  "tree": "73df2d3a46c542c71d3a84c20c8fd1ce617386a3",
  "parents": [
    "2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4"
  ],
  "author": {
    "name": "Jeff Dike",
    "email": "jdike@addtoit.com",
    "time": "Fri Feb 08 04:22:07 2008 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Fri Feb 08 09:22:42 2008 -0800"
  },
  "message": "uml: runtime host VMSPLIT detection\n\nCalculate TASK_SIZE at run-time by figuring out the host\u0027s VMSPLIT - this is\nneeded on i386 if UML is to run on hosts with varying VMSPLITs without\nrecompilation.\n\nTASK_SIZE is now defined in terms of a variable, task_size.  This gets rid of\nan include of pgtable.h from processor.h, which can cause include loops.\n\nOn i386, task_size is calculated early in boot by probing the address space in\na binary search to figure out where the boundary between usable and non-usable\nmemory is.  This tries to make sure that a page that is considered to be in\nuserspace is, or can be made, read-write.  I\u0027m concerned about a system-global\nVDSO page in kernel memory being hit and considered to be a userspace page.\n\nOn x86_64, task_size is just the old value of CONFIG_TOP_ADDR.\n\nA bunch of config variable are gone now.  CONFIG_TOP_ADDR is directly replaced\nby TASK_SIZE.  NEST_LEVEL is gone since the relocation of the stubs makes it\nirrelevant.  All the HOST_VMSPLIT stuff is gone.  All references to these in\narch/um/Makefile are also gone.\n\nI noticed and fixed a missing extern in os.h when adding os_get_task_size.\n\nNote: This has been revised to fix the 32-bit UML on 64-bit host bug that\nMiklos ran into.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "99e51d059a02286bb0a80fc25c05f48f64d10058",
      "old_mode": 33188,
      "old_path": "arch/um/Kconfig",
      "new_id": "dba8e05f028794540313535b0a06499d7f3271ae",
      "new_mode": 33188,
      "new_path": "arch/um/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "e75264603d24cee82385be42a9de13d66512310a",
      "old_mode": 33188,
      "old_path": "arch/um/Kconfig.i386",
      "new_id": "3cd8a04d66d8101d629780d7c84e6ef9b5c903f0",
      "new_mode": 33188,
      "new_path": "arch/um/Kconfig.i386"
    },
    {
      "type": "modify",
      "old_id": "b438f0e14271b85f075e3c55e023bb63e05b3956",
      "old_mode": 33188,
      "old_path": "arch/um/Kconfig.x86_64",
      "new_id": "6533b349f06190eb31ea7960ad9e65fbc36475b8",
      "new_mode": 33188,
      "new_path": "arch/um/Kconfig.x86_64"
    },
    {
      "type": "modify",
      "old_id": "cb4af9bf20747bf06b572c669589e1dd0d543c87",
      "old_mode": 33188,
      "old_path": "arch/um/Makefile",
      "new_id": "dbeab15e7bb7c160db7dda887a4c9d14982f742c",
      "new_mode": 33188,
      "new_path": "arch/um/Makefile"
    },
    {
      "type": "modify",
      "old_id": "86db2862f2226eea9fc6a94f0220bb8db0a48dff",
      "old_mode": 33188,
      "old_path": "arch/um/defconfig",
      "new_id": "59215bc264ef8340a0e00ede70e4f0276f64ee29",
      "new_mode": 33188,
      "new_path": "arch/um/defconfig"
    },
    {
      "type": "modify",
      "old_id": "606bb5c7fdf6a2714d68111cf96c0c7a72eed012",
      "old_mode": 33188,
      "old_path": "arch/um/include/as-layout.h",
      "new_id": "cac542d8ff70783d10a153b6dd342852004cdf25",
      "new_mode": 33188,
      "new_path": "arch/um/include/as-layout.h"
    },
    {
      "type": "modify",
      "old_id": "0b6b6273330392122c82dc1e9b845f5d03bff3b2",
      "old_mode": 33188,
      "old_path": "arch/um/include/os.h",
      "new_id": "32c799e3a495729cad00c48f7bc5da0cd03b925c",
      "new_mode": 33188,
      "new_path": "arch/um/include/os.h"
    },
    {
      "type": "modify",
      "old_id": "76a62c0cb2bc89692e72df74a096df83f33487e5",
      "old_mode": 33188,
      "old_path": "arch/um/kernel/exec.c",
      "new_id": "f5d7f4569ba726f51fc92ef1b3b7e0ccdcb4e230",
      "new_mode": 33188,
      "new_path": "arch/um/kernel/exec.c"
    },
    {
      "type": "modify",
      "old_id": "468aba990dbd1652add865bb88f1006ece3a7d16",
      "old_mode": 33188,
      "old_path": "arch/um/kernel/um_arch.c",
      "new_id": "a6c1dd1cf5a17a7806401e7b6fb97c3e2ceacd26",
      "new_mode": 33188,
      "new_path": "arch/um/kernel/um_arch.c"
    },
    {
      "type": "modify",
      "old_id": "a841262c594a442acdbe3bfaaef6dc0ffdd7d136",
      "old_mode": 33188,
      "old_path": "arch/um/os-Linux/sys-i386/Makefile",
      "new_id": "b4bc6ac4f30bc5f5781a7a901a8b1665e81b9923",
      "new_mode": 33188,
      "new_path": "arch/um/os-Linux/sys-i386/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "48d211b3d9a1d2a3455f61deab7de81fc05f0bdb",
      "new_mode": 33188,
      "new_path": "arch/um/os-Linux/sys-i386/task_size.c"
    },
    {
      "type": "modify",
      "old_id": "a42a4ef02e1e5e7f33ef6df81dbbaa20a9618e5a",
      "old_mode": 33188,
      "old_path": "arch/um/os-Linux/sys-x86_64/Makefile",
      "new_id": "a44a47f8f57b85c43d58c07916dcbfb98f983e8c",
      "new_mode": 33188,
      "new_path": "arch/um/os-Linux/sys-x86_64/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fad6f57f8ee3568d89ae8603238d5c734e19cb3a",
      "new_mode": 33188,
      "new_path": "arch/um/os-Linux/sys-x86_64/task_size.c"
    },
    {
      "type": "modify",
      "old_id": "89a87c18b927f75d6b1ee486b83996deba4f754b",
      "old_mode": 33188,
      "old_path": "include/asm-um/fixmap.h",
      "new_id": "9d2be52b865526586c93a79f1a14d4d7515b820c",
      "new_mode": 33188,
      "new_path": "include/asm-um/fixmap.h"
    },
    {
      "type": "modify",
      "old_id": "7a1624cdaf7e8be1552831ac2efe7cc435026ab4",
      "old_mode": 33188,
      "old_path": "include/asm-um/processor-generic.h",
      "new_id": "bed668824b5f94529c8d28e7209078d181f87d4b",
      "new_mode": 33188,
      "new_path": "include/asm-um/processor-generic.h"
    }
  ]
}
