kvmppc_gsp_for_each(9)
π kvmppc_gsp_for_each β NAME
okay so kvmppc_gsp_for_each is the macro that walks the <guest state IDs, guest state element> pairs for you, one iconic little duo at a time β¨ (yes bestie, that's a literal kvmppc_gsp_for_each(9) moment, it's the Kernel API Manual, section 9, we're fancy here)
π SYNOPSIS
kvmppc_gsp_for_each (gsp , iden , gse );
that's the whole vibe β three things in, no return value drama π
πΈ ARGUMENTS
gspβ the guest state buffer bitmap, aka the main character that knows which guest state IDs even matter π«Άidenβ the current guest state ID, like the "you are here" sticker on the loop β¨gseβ the guest state element you're currently looking at, the prize inside the loop iteration π
π¦ SEE ALSO
okay this list is long but every single one is required reading, no skipping, iykyk ππ
- the kernel file itself:
./arch/powerpc/include/asm/guest-state-buffer.hβ literally the source of truth, go look π
and then the struct squad, all (9):
- 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_ops(9) - struct
kvmppc_gs_msg(9)
now the gsb crowd (buffer-core besties) π§:
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)
then the gse girlies (element-core behavior) π:
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)
the put-ers (yes, all of them, every single flavor) π :
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)
the get-ers (matching set, slay symmetry) β:
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)
the bitmap + msg loopers π:
kvmppc_gsbm_zero(9)kvmppc_gsbm_fill(9)kvmppc_gsbm_for_each(9)kvmppc_gsm_for_each(9)kvmppc_gsm_include(9)kvmppc_gsm_includes(9)
and finally the data movers, the send/receive icons π:
not me ending with the sign-off but like, credit where it's due bestie: this gem lives over in./arch/powerpc/include/asm, dated October 2026, and it's filed underkvmppc_gsp_for_each(9)in the Kernel API Manual. periodt. π
π¦ 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