pmt_telem_read32(9)
π pmt_telem_read32 β Kernel API Manual β¨
okay bestie, welcome to the pmt_telem_read32(9) page, straight out of the Kernel API Manual π this one's a little telemetry girly and she's literally so straightforward, you're gonna eat this up π
πΈ NAME πΈ
pmt_telem_read32 β read qwords from counter sram using sample id π¦
β¨ SYNOPSIS β¨
int pmt_telem_read32 (struct telem_endpoint *ep , u32 id , u32 *data ,
u32 count );
π«Ά ARGUMENTS π«Ά
epβ the telemetry endpoint you're reading from, bestie πidβ the beginning sample id of the metric(s) you want to read, like the starting point of the vibe check β¨dataβ an allocated dword buffer, she's where the good stuff lands πΎcountβ how many dwords you're asking for, no cap π’
π DESCRIPTION π
So here's the tea: callers must ensure reads are aligned β οΈ like, that's on you, not on the function, okay?
And the big one π β when the call returns -ENODEV, that means the device has been removed, and callers should unregister the telemetry endpoint. periodt. don't leave her registered, that's not the move π
π₯ RETURN π₯
0β Success π slay, it worked-ENODEVβ the device is not present π she's gone-EINVALβ the offset is out bounds π yeah that's a miss-EPIPEβ the device was removed during the read π± data was written but should be considered invalid, so do not trust it, fr fr
π SEE ALSO π
- Kernel file
./drivers/platform/x86/intel/pmt/telemetry.hπ pmt_telem_get_next_endpoint(9)pmt_telem_register_endpoint(9)pmt_telem_unregister_endpoint(9)pmt_telem_get_endpoint_info(9)pmt_telem_find_and_register_endpoint(9)pmt_telem_read(9)
okay that's the whole page, you understood it perfectly π
this lives in ./drivers/platform/x86/intel/pmt, dated October 2026, and yeah the page is literally called pmt_telem_read32(9) in case you forgot already π§ go read some telemetry bestie, you got this π
π¦ 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