xe_print_blob_ascii85(9)
π xe_print_blob_ascii85(9) β bestie's edition
okay so you're in the Kernel API Manual for xe_print_blob_ascii85(9), and honestly? this one's a lil niche but it slaps. it's all about dumping a BLOB somewhere useful, but in ASCII85. yes, the encoding. we're fancy now π
β¨ NAME β¨
xe_print_blob_ascii85 β print a BLOB to some useful location in ASCII85 π
π¦ SYNOPSIS π¦
void xe_print_blob_ascii85 (struct drm_printer *p , const char *prefix ,
char suffix , const void *blob , size_t offset , size_t size );
like, that's the whole vibe. six args, one function, zero chill.
πΈ ARGUMENTS πΈ
pβ the printer object you're outputting to. it's the main character here, everything goes through it fr.prefixβ an optional prefix you can slap onto the output string. cute lil intro, if you will π«Άsuffixβ an optional suffix added at the end. but bestie listen:0disables it and it does not get added to the output. that's actually iconic when you're making multiple calls to dump data topβ no weird little trailing characters ruining your day β¨blobβ the Binary Large OBject you're dumping out. the star of the show πoffsetβ offset in bytes to skip from the front of the BLOB. must be a multiple ofsizeof(u32). not optional, not negotiable, that's just the rules πsizeβ the size in bytes of the BLOB. also must be a multiple ofsizeof(u32). matching energy, we love consistency π
β DESCRIPTION β
so the output gets split into multiple calls to drm_puts, and that's on purpose β some print targets, like dmesg, literally cannot handle arbitrarily long lines. like, they will simply perish π these targets may also add newlines, which is exactly what dmesg does: each drm_puts call creates a separate line. so yeah, that's why your output looks the way it does. no cap.
and there's a scheduler yield call in there too π§ β it prevents the 'task has been stuck for 120s' kernel hang check feature from firing when you're printing to a slow target, like dmesg over a serial port. basically it's the function going "girl, breathe, i'm still working on it" so the kernel doesn't panic-nap on you π
lowkey important: the multiple-call split and that yield exist for real reasons. don't go thinking you can just yeet it into one long line. π ββοΈ
π₯ SEE ALSO π₯
- Kernel file
./drivers/gpu/drm/xe/xe_devcoredump.cXe device coredump(9) xe_devcoredump_read(9)xe_devcoredump(9)
go read those next, iykyk π
and that's the whole page, bestie π this one lives in ./drivers/gpu/drm/xe, dated October 2026, and it's xe_print_blob_ascii85(9) all the way down. slay, stay encoded, bye πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms