)]}'
{
  "commit": "b8d43285a4db12156c40ba6fdbd8002c383fcbca",
  "tree": "d0b18b66b55e9cbd14d182bfaa617f09ded2fdd5",
  "parents": [
    "fcf83ab103dce6d2951f24f48e30820e7dbb3622"
  ],
  "author": {
    "name": "Mikhail Ilyin",
    "email": "m.ilin@samsung.com",
    "time": "Mon Mar 16 12:30:47 2015 +0000"
  },
  "committer": {
    "name": "Peter Maydell",
    "email": "peter.maydell@linaro.org",
    "time": "Mon Mar 16 12:30:47 2015 +0000"
  },
  "message": "linux-user: Access correct register for get/set_tls syscalls on ARM TZ CPUs\n\nWhen support was added for TrustZone to ARM CPU emulation, we failed\nto correctly update the support for the linux-user implementation of\nthe get/set_tls syscalls. This meant that accesses to the TPIDRURO\nregister via the syscalls were always using the non-secure copy of\nthe register even if native MRC/MCR accesses were using the secure\nregister. This inconsistency caused most binaries to segfault on startup\nif the CPU type was explicitly set to one of the TZ-enabled ones like\ncortex-a15. (The default \"any\" CPU doesn\u0027t have TZ enabled and so is\nnot affected.)\n\nUse access_secure_reg() to determine whether we should be using\nthe secure or the nonsecure copy of TPIDRURO when emulating these\nsyscalls.\n\nSigned-off-by: Mikhail Ilyin \u003cm.ilin@samsung.com\u003e\nMessage-id: 1426505198-2411-1-git-send-email-m.ilin@samsung.com\n[PMM: rewrote commit message to more clearly explain the issue\n and its consequences.]\nSigned-off-by: Peter Maydell \u003cpeter.maydell@linaro.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d8a534d7b180fbb0876c974f7fda14fa7b97cece",
      "old_mode": 33188,
      "old_path": "linux-user/arm/target_cpu.h",
      "new_id": "6832262e3965dc00faa6d7d11eaf5978a103f4c9",
      "new_mode": 33188,
      "new_path": "linux-user/arm/target_cpu.h"
    },
    {
      "type": "modify",
      "old_id": "6bd23af2bae3ccc5640f7397cd9c3960f5efa25a",
      "old_mode": 33188,
      "old_path": "linux-user/main.c",
      "new_id": "6e446de4dd566eb0f05703b5e3a8fffa6fc246c8",
      "new_mode": 33188,
      "new_path": "linux-user/main.c"
    }
  ]
}
