STRUCT PS3_LPM_PRIV(9)
๐ธ NAME ๐ธ
hiii bestie ๐ this is the page for struct ps3_lpm_priv(9) from the Kernel API Manual, and she is literally the private lpm device data struct. Private lpm device data. no cap.
๐ฆ SYNOPSIS ๐ฆ
struct ps3_lpm_priv {
atomic_t open;
u64 rights;
u64 node_id;
u64 pu_id;
u64 lpm_id;
u64 outlet_id;
u64 tb_count;
void *tb_cache;
u64 tb_cache_size;
void *tb_cache_internal;
struct ps3_lpm_shadow_regs shadow;
struct ps3_system_bus_device *sbd;
};
๐ Members ๐
openโ anatomic_tvariable that tells you the lpm driver has been opened. honestly iconic little open/closed vibe check โจrightsโ the lpm rights granted by the system policy module. it's a logical OR ofenum ps3_lpm_rights๐ฅnode_idโ the node id of a BE processor whose performance monitor this lpar has the right to use. she's got permission, periodt.pu_idโ the lv1 id of the logical PU.lpm_idโ the lv1 id of this lpm instance.outlet_idโ the outlet created by lv1 for this lpm instance.tb_countโ the number of bytes of data held in the lv1 trace buffer. literally counting the bytes ๐tb_cacheโ kernel buffer to receive the data from the lv1 trace buffer. must be128byte aligned. yes, alignment matters, bestie.tb_cache_sizeโ size of the kerneltb_cachebuffer. must be128byte aligned too ๐tb_cache_internalโ an unaligned buffer allocated by this driver to be used for the trace buffer cache whenps3_lpm_openis called with aNULLtb_cacheargument. otherwise unused. she's on standby ๐ฆshadowโ processor register shadow of typestruct ps3_lpm_shadow_regs.sbdโ thestruct ps3_system_bus_deviceattached to this driver.
โจ DESCRIPTION โจ
okay so, the trace buffer is a buffer that gets allocated and used internally to the lv1 hypervisor to collect trace data.
the trace buffer cache is a guest buffer whose whole job is accepting the trace data from the trace buffer. that's the tea โ๐
๐ฎ SEE ALSO ๐ฎ
bestie, go peek at the kernel file ./drivers/ps3/ps3-lpm.c and then these absolute icons:
struct ps3_lpm_shadow_regs(9)ps3_read_phys_ctr(9)ps3_write_phys_ctr(9)ps3_read_ctr(9)ps3_write_ctr(9)ps3_read_pm07_control(9)ps3_write_pm07_control(9)ps3_read_pm(9)ps3_write_pm(9)ps3_get_ctr_size(9)ps3_set_ctr_size(9)ps3_enable_pm(9)ps3_disable_pm(9)ps3_lpm_copy_tb(9)ps3_lpm_copy_tb_to_user(9)ps3_get_and_clear_pm_interrupts(9)ps3_enable_pm_interrupts(9)ps3_lpm_open(9)ps3_lpm_close(9)
kisses from ./drivers/ps3 ๐ dated October 2026, and this whole page is about struct ps3_lpm_priv(9) ๐ซถโจ
๐ฆ 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