)]}'
{
  "commit": "2e5061e40af88070984e3769eafb5a06022375fd",
  "tree": "2964cc88a68f826fc8e025d145f692e1e78740e0",
  "parents": [
    "8fc63658681f32e6e29f6d1138de933d7272e0ec"
  ],
  "author": {
    "name": "Heiko Carstens",
    "email": "heiko.carstens@de.ibm.com",
    "time": "Wed Apr 30 13:38:45 2008 +0200"
  },
  "committer": {
    "name": "Martin Schwidefsky",
    "email": "schwidefsky@de.ibm.com",
    "time": "Wed Apr 30 13:38:47 2008 +0200"
  },
  "message": "[S390] Convert machine feature detection code to C.\n\nFrom: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nFrom: Carsten Otte \u003ccotte@de.ibm.com\u003e\n\nThis lets us use defines for the magic bits in machine flags instead\nof using plain numbers all over the place.\nIn addition on newer machines features/facilities are indicated by the\nresult of the stfl instruction. So we use these bits instead of trying\nto execute new instructions and check wether we get an exception or\nnot.\nAlso the mvpg instruction is always available when in zArch mode,\nwhereas the idte instruction is only available in zArch mode. This\nresults in some minor optimizations.\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: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "68ec4083bf73910641d32334494c809318ae7c17",
      "old_mode": 33188,
      "old_path": "arch/s390/kernel/early.c",
      "new_id": "bd188f6bd0e2f0f7ed471d5036d99807edbd9ce5",
      "new_mode": 33188,
      "new_path": "arch/s390/kernel/early.c"
    },
    {
      "type": "modify",
      "old_id": "dc364c1419af068666e09f1e5aea0e99fe2961c1",
      "old_mode": 33188,
      "old_path": "arch/s390/kernel/head31.S",
      "new_id": "a816e2de32b957ce24af24a2e0f45163e3d8e4da",
      "new_mode": 33188,
      "new_path": "arch/s390/kernel/head31.S"
    },
    {
      "type": "modify",
      "old_id": "79dccd206a6ea48122374b73783dfb13f005a113",
      "old_mode": 33188,
      "old_path": "arch/s390/kernel/head64.S",
      "new_id": "9c2c6f7d37e7e4f8fbf990074e42429b4e183305",
      "new_mode": 33188,
      "new_path": "arch/s390/kernel/head64.S"
    },
    {
      "type": "modify",
      "old_id": "024180e25e852d75d76f2e27e8705d4d2bcb0dff",
      "old_mode": 33188,
      "old_path": "arch/s390/kernel/setup.c",
      "new_id": "694c6546ce64d9fd517c81096a511e51eaa3fdf5",
      "new_mode": 33188,
      "new_path": "arch/s390/kernel/setup.c"
    },
    {
      "type": "modify",
      "old_id": "aaf4b518b940870701e409f2d9816cc9fcc757f7",
      "old_mode": 33188,
      "old_path": "include/asm-s390/setup.h",
      "new_id": "3a9e458fd8c3391457f7585519bbb79c2473bdf1",
      "new_mode": 33188,
      "new_path": "include/asm-s390/setup.h"
    },
    {
      "type": "modify",
      "old_id": "8376b195a1b685818858ef7b9576c38a9e873f62",
      "old_mode": 33188,
      "old_path": "include/asm-s390/smp.h",
      "new_id": "ae89cf2478fcabee3a0e4acf1834465286a9224e",
      "new_mode": 33188,
      "new_path": "include/asm-s390/smp.h"
    },
    {
      "type": "modify",
      "old_id": "79bdbf4b33a70b6ffea3d9913af40f5f7a1f3498",
      "old_mode": 33188,
      "old_path": "include/asm-s390/system.h",
      "new_id": "c819ae25a8425ddfd72136dda4d674bf0f8b0ac1",
      "new_mode": 33188,
      "new_path": "include/asm-s390/system.h"
    }
  ]
}
