)]}'
{
  "commit": "f39cf1cd5c0221b9069a094bcb71039a2e9f8111",
  "tree": "65fb4f2b03c6e66e62eda23572327fdfae052c3e",
  "parents": [
    "e5d0c804eea7c2fbe680b1ecd66435a94a9819e3"
  ],
  "author": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Mon Jun 29 12:37:08 2026 +0100"
  },
  "committer": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Mon Jun 29 12:37:08 2026 +0100"
  },
  "message": "[s390x] Add time source based on the architectural Time-of-Day clock\n\nThe S/390 architecture provides instructions to read the Time-of-Day\n(TOD) clock, which increments at a well-defined rate regardless of the\nunderlying physical clock speed, and has an epoch that starts from\nzero at the beginning of the 20th century.\n\nUse this clock to provide both interval timing (i.e. udelay() and\ncurrticks()) and the wall-clock time source.  For short interval\ntiming, we choose to save on code size by treating one millisecond as\n1024 microseconds.\n\nSigned-off-by: Michael Brown \u003cmcb30@ipxe.org\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "93687af5156c58e639db33d69cc43d0419c7b315",
      "new_mode": 33188,
      "new_path": "src/arch/s390x/core/tod.c"
    },
    {
      "type": "modify",
      "old_id": "a26f337522556637a643e8825ae9b0bfcd3ed734",
      "old_mode": 33188,
      "old_path": "src/arch/s390x/include/bits/errfile.h",
      "new_id": "843d3a4a739d2bd7f1956e4639b005001a20b7c6",
      "new_mode": 33188,
      "new_path": "src/arch/s390x/include/bits/errfile.h"
    },
    {
      "type": "modify",
      "old_id": "8e7013a771d2daa3ac457e5c3d148bb0fd7c694e",
      "old_mode": 33188,
      "old_path": "src/arch/s390x/include/ipxe/facility.h",
      "new_id": "079ca4bf748f279677f488ce8650e5f284062564",
      "new_mode": 33188,
      "new_path": "src/arch/s390x/include/ipxe/facility.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "55c7ff5a71003659c1577dfbb46e52f0f97e0075",
      "new_mode": 33188,
      "new_path": "src/arch/s390x/include/ipxe/tod.h"
    },
    {
      "type": "modify",
      "old_id": "12b806129425a41e15010b7101b949528ce1b7d3",
      "old_mode": 33188,
      "old_path": "src/config/config_timer.c",
      "new_id": "620558da7ca9615fde3f138890ed7b6a8947e742",
      "new_mode": 33188,
      "new_path": "src/config/config_timer.c"
    }
  ]
}
