)]}'
{
  "commit": "feeef57ca0466e39e1fc99d154ec25e27d59e83f",
  "tree": "437004dc0bac41ca417c077c0a73396447f4e168",
  "parents": [
    "ea87cc5e3cec916ebf3f7bd320ea585913121ad3"
  ],
  "author": {
    "name": "Gautam Menghani",
    "email": "gautam@linux.ibm.com",
    "time": "Mon Jun 29 10:56:01 2026 +0530"
  },
  "committer": {
    "name": "Harsh Prateek Bora",
    "email": "harshpb@linux.ibm.com",
    "time": "Fri Jul 03 10:07:21 2026 +0530"
  },
  "message": "target/ppc: Expose the TB offset of the guest in QEMU monitor\n\nWhen debugging issues in KVM guests, it is sometimes helpful to have a\nunified trace log of both guest and host to see where things are going\nwrong. Expose the TB (timebase) offset through QEMU monitor to enable\ncapturing of unified log.\n\nThe below steps can be then used for KVM guests to get a unified log:\n1. In host\ntrace-cmd record -e kvm_hv:kvm_guest_enter -e kvm_hv:kvm_guest_exit \\\n    -C ppc-tb -o trace_host.dat\n\n2. In guest\ntrace-cmd record -e powerpc:hcall_entry -e powerpc:hcall_exit -C ppc-tb \\\n    --ts-offset \u003cTB offset from QEMU monitor\u003e -o trace_guest.dat\n\n  NOTE: The TB offset would be reported as a negative number in QEMU\n  monitor. For this step, the minus sign must be ignored.\n\n3. Transfer the guest logs to the host with scp/rsync\n\n4. Unify the logs\ntrace-cmd report -i trace_host.dat -i trace_guest.dat \u003e combined_log\n\nIn case of TCG guests, the TB offset would be\nreported as 0 since the offset logic is not applicable in this case.\n\nTested-by: Amit Machhiwal \u003camachhiw@linux.ibm.com\u003e\nReviewed-by: Amit Machhiwal \u003camachhiw@linux.ibm.com\u003e\nReviewed-by: Vaibhav Jain \u003cvaibhav@linux.ibm.com\u003e\nSigned-off-by: Gautam Menghani \u003cgautam@linux.ibm.com\u003e\nTested-by: Sneh Shikha Yadav \u003csyadav@linux.ibm.com\u003e\nLink: https://lore.kernel.org/qemu-devel/20260629052602.78276-1-gautam@linux.ibm.com\nSigned-off-by: Harsh Prateek Bora \u003charshpb@linux.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a512d4fa647875262e7e3d135b6a8abae5798a11",
      "old_mode": 33188,
      "old_path": "hw/ppc/ppc.c",
      "new_id": "b123b4cc1cce7852c7821cf3d3bced347ef998ab",
      "new_mode": 33188,
      "new_path": "hw/ppc/ppc.c"
    },
    {
      "type": "modify",
      "old_id": "057c54bbb814bc12581fc6c9255570c842f35604",
      "old_mode": 33188,
      "old_path": "target/ppc/cpu.h",
      "new_id": "cbd5964b1acdae315d3766f1e065bbc3524b635f",
      "new_mode": 33188,
      "new_path": "target/ppc/cpu.h"
    },
    {
      "type": "modify",
      "old_id": "a02187ce5afbd58f02eaca07662776501a4f5016",
      "old_mode": 33188,
      "old_path": "target/ppc/cpu_init.c",
      "new_id": "8cab5e12b6e6b91e8600b70db5ffb665e3cc5e6c",
      "new_mode": 33188,
      "new_path": "target/ppc/cpu_init.c"
    }
  ]
}
