svc_smccc_hvc(9)
svc_smccc_hvc(9) π§π
okay bestie, welcome to the Kernel API Manual, section 9 β this is the svc_smccc_hvc(9) page, and itβs giving hypervisor call between normal and secure world. πβ¨ no cap, thatβs the whole plot.
π NAME π
svc_smccc_hvc β hypervisor call between normal and secure world. literally the normal world and the secure world having a supervised lilβ chat through the hypervisor. π«Ά
β¨ SYNOPSIS β¨
void svc_smccc_hvc (unsigned long a0 , unsigned long a1 , unsigned long a2 , unsigned long a3 , unsigned long a4 , unsigned long a5 , unsigned long a6 , unsigned long a7 , struct arm_smccc_res *res );
it returns void, so donβt go looking for a return value, bestie β the results come back through res. π
π«Ά ARGUMENTS π«Ά
okay so hereβs the register lineup: eight unsigned long args, all called a0 through a7, plus one result struct. no mystery, no cap:
a0β argument passed in registers 0. πa1β argument passed in registers 1. β¨a2β argument passed in registers 2. πa3β argument passed in registers 3. πa4β argument passed in registers 4. π¦a5β argument passed in registers 5. πΈa6β argument passed in registers 6. π«Άa7β argument passed in registers 7. π₯resβ result values from register 0 to 3. π this is where the tea gets returned.
π SEE ALSO π
bestie, if you want the whole Stratix10 SVC extended universe, itβs right here. first the kernel file, then every single cross-reference β yes, all of them, periodt:
- Kernel file
./drivers/firmware/stratix10-svc.c SVC_NUM_DATA_IN_FIFO(9)struct stratix10_svc(9)struct stratix10_svc_sh_memory(9)struct stratix10_svc_data_mem(9)struct stratix10_svc_data(9)struct stratix10_svc_async_handler(9)struct stratix10_async_chan(9)struct stratix10_async_ctrl(9)struct stratix10_svc_chan(9)struct stratix10_svc_controller(9)svc_pa_to_va(9)svc_thread_cmd_data_claim(9)svc_thread_cmd_config_status(9)svc_thread_recv_status_ok(9)svc_normal_to_secure_thread(9)svc_normal_to_secure_shm_thread(9)svc_get_sh_memory(9)svc_create_memory_pool(9)svc_smccc_smc(9)svc_smccc_1_2_full(9)get_invoke_func(9)stratix10_svc_request_channel_byname(9)stratix10_svc_add_async_client(9)stratix10_svc_remove_async_client(9)stratix10_svc_async_send(9)stratix10_svc_async_prepare_response(9)stratix10_svc_async_poll(9)stratix10_svc_async_done(9)stratix10_svc_async_init(9)stratix10_svc_async_exit(9)stratix10_svc_free_channel(9)stratix10_svc_send(9)stratix10_svc_done(9)stratix10_svc_allocate_memory(9)stratix10_svc_free_memory(9)
and thatβs the page, bestie! source: ./drivers/firmware; date: October 2026; page/version: svc_smccc_hvc(9). mwah πβ¨
π¦ 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