)]}'
{
  "commit": "7dc176bce49c61551b513508def136d5bb632b72",
  "tree": "465316199814f3411c52ed844a70d98da5f93c46",
  "parents": [
    "9bc1a1d817670702f642633a325da346047f7508"
  ],
  "author": {
    "name": "Peter Maydell",
    "email": "peter.maydell@linaro.org",
    "time": "Tue Apr 08 16:51:11 2014 +0100"
  },
  "committer": {
    "name": "Peter Maydell",
    "email": "peter.maydell@linaro.org",
    "time": "Tue Apr 08 18:37:45 2014 +0100"
  },
  "message": "hw/pci-host/prep: Don\u0027t reverse IO accesses on bigendian hosts\n\nThe raven_io_read() and raven_io_write() functions pass and\nreturn values in little-endian format (since the IO op struct\nis marked DEVICE_LITTLE_ENDIAN); however they were storing the\nvalues in the buffer to pass to address_space_read/write()\nin host-endian order, which meant that on big-endian hosts\nthe values were inadvertently reversed. Use the *_le_p()\naccessors instead so that we are consistent regardless of\nhost endianness.\n\nStrictly speaking the byte order of the buffer for\naddress_space_rw() is target byte order (which for PPC\nwill be BE) but it doesn\u0027t actually matter as long as we\nare consistent about the marking on the IO op struct and\nwhich stl_*_p().\n\nThis bug was probably introduced due to confusion caused by\nthe two different versions of ldl_p() and friends:\n bswap.h defines versions meaning \"host endianness access\"\n cpu-all.h defines versions meaning \"target endianness access\"\nAs a target-independent source file prep.c gets the bswap.h\nversions; the very similar looking code in ioport.c is\ncompiled per-target and gets the cpu-all.h versions.\n\nSigned-off-by: Peter Maydell \u003cpeter.maydell@linaro.org\u003e\nMessage-id: 1396972271-22660-1-git-send-email-peter.maydell@linaro.org\nReviewed-by: Richard Henderson \u003crth@twiddle.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d3e746c0f81cb0445c32e165be39c23ebdc0a78e",
      "old_mode": 33188,
      "old_path": "hw/pci-host/prep.c",
      "new_id": "40145408ef56d4b71e428db6b226ce6d8d46fb1b",
      "new_mode": 33188,
      "new_path": "hw/pci-host/prep.c"
    }
  ]
}
