)]}'
{
  "commit": "331dae1bc184986038fba62504bb129563f53143",
  "tree": "e0a04ab9105d9bfc7275c06992c960624297307e",
  "parents": [
    "3b55e5c7224f81fef04d2f3139b2bebb542ad1a4"
  ],
  "author": {
    "name": "Vladimir Kondratiev",
    "email": "vladimir.kondratiev@mobileye.com",
    "time": "Mon Feb 23 16:55:00 2026 +0200"
  },
  "committer": {
    "name": "Anup Patel",
    "email": "anup@brainfault.org",
    "time": "Wed Feb 25 18:49:03 2026 +0530"
  },
  "message": "platform: generic: mips eyeq7h: prohibit accessing memory beyond DRAM\n\nSBI code arranges domain PMP regions in a way that last entry is\nall-inclusive \"0..~0 RWX\" and the rest of entries are not programmed.\nThis causes a problem for the eyeq7h.\n\nCPU can issue speculative prefetches to non-existent addresses. If this\naccess goes to the system NOC, it is mis-interpreted as an access\nviolation and error is reported, forcing system reset.\n\nTo prevent such a speculative transaction to leave a CPU cluster,\nblock it using PMP, by restricting memory region to physically present\nmemory. To achieve this, on early init:\n\n- update flags for the last all-inclusive \"0..~0 RWX\" entry to be\n  inaccessible MMIO. MMIO serves to set up PMA attributes to uncached\n  non-prefetchable, preventing transactions to reach system NOC\n- add an all-permissive entry matching DRAM.\n\nResulting memory regions:\n\nDomain0 Region00            : 0x0000000800100000-0x000000080013ffff M: (F,R,X) S/U: ()\nDomain0 Region01            : 0x0000000800100000-0x00000008001fffff M: (F,R,W) S/U: ()\nDomain0 Region02            : 0x0000000048700000-0x000000004870ffff M: (I,R,W) S/U: ()\nDomain0 Region03            : 0x0000000067480000-0x000000006748ffff M: (I,R,W) S/U: ()\nDomain0 Region04            : 0x0000000067500000-0x000000006750ffff M: (I,R,W) S/U: ()\nDomain0 Region05            : 0x0000000048740000-0x000000004875ffff M: (I,R,W) S/U: ()\nDomain0 Region06            : 0x00000000674c0000-0x00000000674dffff M: (I,R,W) S/U: ()\nDomain0 Region07            : 0x0000000067540000-0x000000006755ffff M: (I,R,W) S/U: ()\nDomain0 Region08            : 0x0000000000000000-0x000000007fffffff M: (I,R,W) S/U: (R,W)\nDomain0 Region09            : 0x0000000800000000-0x00000008ffffffff M: () S/U: (R,W,X)\nDomain0 Region10            : 0x0000001000000000-0x0000001fffffffff M: (I) S/U: (R,W)\nDomain0 Region11            : 0x0000000000000000-0xffffffffffffffff M: (I) S/U: ()\n\nHere Region09 covers DRAM, region 11 set to non-accessible\nuncached no-prefetch for the entire address range\n\nSigned-off-by: Vladimir Kondratiev \u003cvladimir.kondratiev@mobileye.com\u003e\nReviewed-by: Anup Patel \u003canup@brainfault.org\u003e\nLink: https://lore.kernel.org/r/20260223-for-upstream-eyeq7h-v3-21-621d004d1a21@mobileye.com\nSigned-off-by: Anup Patel \u003canup@brainfault.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "04ab5286ed95284f737b7a1dd0ba035d42e58949",
      "old_mode": 33188,
      "old_path": "platform/generic/mips/eyeq7h.c",
      "new_id": "f09ec5f0fae4abec29ec9c15080411b0da7bbbde",
      "new_mode": 33188,
      "new_path": "platform/generic/mips/eyeq7h.c"
    }
  ]
}
