STRUCT KVMPPC_GS_MSG_OPS(9)
π struct kvmppc_gs_msg_ops(9) β guest state message behavior, explained bestie to bestie
okay so picture this: you're in the kernel API manual, section 9, and you've stumbled onto struct kvmppc_gs_msg_ops. That's the man page name, that's the whole vibe. It's a struct full of function pointers that tells a guest state message how to behave β like the personality settings for your message. Lowkey iconic. Let's get into it π
β¨ SYNOPSIS β¨
here's the whole shape of it, character for character, no cap:
struct kvmppc_gs_msg_ops {
size_t (*get_size)(struct kvmppc_gs_msg *gsm);
int (*fill_info)(struct kvmppc_gs_buff *gsb, struct kvmppc_gs_msg *gsm);
int (*refresh_info)(struct kvmppc_gs_msg *gsm, struct kvmppc_gs_buff *gsb);
};
three little function pointers, and honestly? they're the whole main character energy of this struct π«Ά
πΈ Members πΈ
get_sizeβ this one hands you the maximum size required for the message data. it's giving "how much room do I need, bestie" energy. max size, required, for the message data. periodt πfill_infoβ serializes to the guest state buffer format. so it takes your stuff and turns it into guest-state-buffer-shaped stuff. slay β¨refresh_infoβ deserializes from the guest state buffer format. the reverse direction, the come-back-home move. (the page fr fr spells itdserializes, we love a typo era, no shade π )
π SEE ALSO π
literally the entire extended friend group, all from the kernel file ./arch/powerpc/include/asm/guest-state-buffer.h:
struct kvmppc_gs_part_table(9)struct kvmppc_gs_proc_table(9)struct kvmppc_gs_buff_info(9)struct kvmppc_gs_header(9)struct kvmppc_gs_elem(9)struct kvmppc_gs_buff(9)struct kvmppc_gs_bitmap(9)struct kvmppc_gs_parser(9)struct kvmppc_gs_msg(9)kvmppc_gsb_header(9)kvmppc_gsb_data(9)kvmppc_gsb_len(9)kvmppc_gsb_capacity(9)kvmppc_gsb_paddress(9)kvmppc_gsb_nelems(9)kvmppc_gsb_reset(9)kvmppc_gsb_data_len(9)kvmppc_gsb_data_cap(9)kvmppc_gsb_for_each_elem(9)kvmppc_gse_iden(9)kvmppc_gse_len(9)kvmppc_gse_total_len(9)kvmppc_gse_total_size(9)kvmppc_gse_data(9)kvmppc_gse_ok(9)kvmppc_gse_next(9)kvmppc_gse_for_each_elem(9)kvmppc_gse_put_be32(9)kvmppc_gse_put_u32(9)kvmppc_gse_put_be64(9)kvmppc_gse_put_u64(9)__kvmppc_gse_put_reg(9)kvmppc_gse_put_vector128(9)kvmppc_gse_put_part_table(9)kvmppc_gse_put_proc_table(9)kvmppc_gse_put_buff_info(9)kvmppc_gse_get_be32(9)kvmppc_gse_get_u32(9)kvmppc_gse_get_be64(9)kvmppc_gse_get_u64(9)kvmppc_gse_get_vector128(9)kvmppc_gsbm_zero(9)kvmppc_gsbm_fill(9)kvmppc_gsbm_for_each(9)kvmppc_gsp_for_each(9)kvmppc_gsm_for_each(9)kvmppc_gsm_include(9)kvmppc_gsm_includes(9)kvmppc_gsb_receive_data(9)kvmppc_gsb_send_data(9)
like, fifty entries. the way that list just keeps going π go read them all, iykyk.
real talk: every one of these is a page in section 9 of this here kernel API manual, and they all live in ./arch/powerpc/include/asm/guest-state-buffer.h. don't sleep on the header file π
and that's the page!! π one struct, three function pointers, one legendary SEE ALSO list. this gem comes to you from the source path ./arch/powerpc/include/asm, dated October 2026, and it's page struct kvmppc_gs_msg_ops(9) of the Kernel API Manual. go be iconic with your guest state messages, bestie π¦β¨π
π¦ 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