hgcm_call_preprocess(9)
π hgcm_call_preprocess β the kernel API manual page, bestie edition π
Okay so we're doing hgcm_call_preprocess(9) today β it's a section 9 kernel API page, the kind that lives down in ./drivers/virt/vboxguest, and honestly? It's giving prep work. It's the function that rolls up its sleeves before the actual HGCM call happens. π
β¨ NAME β¨
hgcm_call_preprocess β it preprocesses the HGCM call, no cap. That means it validates the parameters, allocates the bounce buffers, and figures out how much extra storage we need for the page lists. Three jobs, one function, main character energy fr fr. π
πΈ SYNOPSIS πΈ
int hgcm_call_preprocess (const struct vmmdev_hgcm_function_parameter
*src_parm , u32 parm_count , void ***bounce_bufs_ret , size_t *extra );
π¦ ARGUMENTS π¦
src_parmβ a pointer to the source function call parameters. Like, the original ones, before anything gets touched. π«Άparm_countβ the number of function call parameters. Count 'em, bestie. β¨bounce_bufs_retβ where to return the allocated bouncebuffer array. Yeah, the triple-pointer. It's a lot. It's iconic. Don't question it. πextraβ where to return the extra request space needed for physical page lists. This is the "how much more room do we need" out-parameter. π¦
π₯ RETURN π₯
0 or a negative errno value. That's it, that's the whole vibe check β zero means slay, negative means something went sideways. π
π SEE ALSO π
- Kernel file
./drivers/virt/vboxguest/vboxguest_utils.cβ go read the source, iykyk π§ hgcm_call_linear_addr_type_to_pagelist_flags(9)hgcm_call_init_call(9)hgcm_cancel_call(9)vbg_hgcm_do_call(9)hgcm_call_copy_back_result(9)
and that's the page!! β this lil beauty comes from ./drivers/virt/vboxguest, it's dated October 2026, and it's filed under hgcm_call_preprocess(9). mwah, go preprocess something ππ
π¦ 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