)]}'
{
  "commit": "8fb3713d2e43576c61dbd0424bda18b718f97041",
  "tree": "8d4d1d7411a2cc1181dc751a8d9c56300ab3e93c",
  "parents": [
    "0ecb6caf0f888a8e7a6870132d5272ec6c7dd1c4"
  ],
  "author": {
    "name": "Nicolas Pitre",
    "email": "npitre@baylibre.com",
    "time": "Tue Jul 28 13:09:19 2026 -0400"
  },
  "committer": {
    "name": "Fabio Baltieri",
    "email": "fabio.baltieri@gmail.com",
    "time": "Wed Aug 19 17:09:07 2026 +0100"
  },
  "message": "arch: arm64: mmu: keep page table diagnostics printable before the MMU\n\nThe page table helpers run before the MMU is enabled, while the tables\nare being built, and again at run time from arch_mem_map(). In the first\nphase neither the logging subsystem nor printk()\u0027s spinlock is usable,\nbecause the atomics under them need the shareable memory attributes the\nMMU provides, so a diagnostic there faults instead of printing. That is\nwhere this started: a page table failure during early bring-up produced\nsilence.\n\nTest the MMU and pick the path accordingly. mmu_is_enabled() reads\nSCTLR_EL1 and tests M, which compiles to an mrs and a tbz. With the MMU\non the messages take the ordinary LOG_*() path, keeping level filtering,\ntimestamps, the backends and serialized output. With it off they degrade\nto an unlocked printk() to the character hook.\n\nGating on the log core\u0027s own Z_LOG_CONST_LEVEL_CHECK() keeps the\nbuild-time level filtering: a filtered-out level drops both branches and\nits arguments. Verified on qemu_cortex_a53, where the INF format string\nis in the binary with CONFIG_KERNEL_LOG_LEVEL_INF and gone with\nCONFIG_KERNEL_LOG_LEVEL_ERR.\n\nErrors here precede a k_panic() and must appear with logging compiled out\ntoo, so they keep this file\u0027s existing printk() fallback.\n\nSigned-off-by: Nicolas Pitre \u003cnpitre@baylibre.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2c50b8f883d6125d329a21a916c5e353310288ef",
      "old_mode": 33188,
      "old_path": "arch/arm64/core/mmu.c",
      "new_id": "866d6c7302c2d7eabe52cdee4c29c3e0bc0b6d05",
      "new_mode": 33188,
      "new_path": "arch/arm64/core/mmu.c"
    },
    {
      "type": "modify",
      "old_id": "363f2ac6a051be8732fc261a7c80b5af7f7bd89b",
      "old_mode": 33188,
      "old_path": "arch/arm64/core/mmu.h",
      "new_id": "4bc8bdc2f4d30bef75c59bd098c89811e29e4826",
      "new_mode": 33188,
      "new_path": "arch/arm64/core/mmu.h"
    }
  ]
}
