STRUCT XE_GUC_LOG_SNAPSHOT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct xe_guc_log_snapshot(9) ✨

okay so this is a kernel API manual page, bestie, and it's literally all about struct xe_guc_log_snapshot β€” no cap, that's the name. Think of it as a lil time capsule πŸŽ€: a capture of the GuC log plus a bunch of extra state that's lowkey super useful for decoding that log later. iykyk.


🌸 SYNOPSIS 🌸

struct xe_guc_log_snapshot {
    size_t size;
    void **copy;
    int num_chunks;
    u64 ktime;
    u64 stamp;
    u32 level;
    struct xe_uc_fw_version ver_found;
    struct xe_uc_fw_version ver_want;
    const char *path;
 };

πŸ’– Members πŸ’–

  • size β€” the size, in bytes, of the copy allocation. yes it's giving "how much room did we set aside" ✨
  • copy β€” the host memory copy of the log buffer, saved for dumping later, and it's split up into chunks 🧩
  • num_chunks β€” literally the number of chunks inside copy. keeping count, periodt.
  • ktime β€” the kernel time at which the snapshot was taken ⏰ (main character timestamp energy)
  • stamp β€” the GuC timestamp of when the snapshot got taken. two timestamps, two vibes πŸ¦‹
  • level β€” the GuC log verbosity level. how chatty is this log, fr fr
  • ver_found β€” the GuC firmware version. the one we actually got πŸ’…
  • ver_want β€” the GuC firmware version that the driver expected. the one we were hoping for 😭 (sometimes they don't match, and that's a whole thing)
  • path β€” the path of the GuC firmware blob. where the firmware lives 🏠

πŸ¦‹ SEE ALSO πŸ¦‹

  • Kernel file ./drivers/gpu/drm/xe/xe_guc_log_types.h
  • struct xe_guc_log(9)

ngl bestie, this struct is just a snapshot plus receipts β€” if you're decoding a GuC log, all this extra state is gonna be your bestie. obsessed. πŸ’œ

and that's the page!! 🌈 source lives at ./drivers/gpu/drm/xe, the date on it is October 2026, and the whole thing is filed under struct xe_guc_log_snapshot(9) β€” slay, go decode some logs 🫢✨

πŸ“¦ where this page comes from