Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 17 files:

Smatch caller information:

arch/x86/hyperv/hv_vtl.c hv_vtl_bringup_vcpu() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 15
PARAM_VALUE 1 input 4096-ptr_max
PARAM_VALUE 2 output 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq_flags
HALF_LOCKED2 global &cpuhp_state_mutex
HALF_LOCKED2 irq

arch/x86/hyperv/hv_vtl.c hv_vtl_bringup_vcpu() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 153
PARAM_VALUE 1 input 4096-ptr_max
PARAM_VALUE 2 output 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq_flags
HALF_LOCKED2 global &cpuhp_state_mutex
HALF_LOCKED2 irq

arch/x86/hyperv/nested.c hv_do_rep_hypercall_ex() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 0-1152921504606846975
PARAM_VALUE 1 input 4096-ptr_max
PARAM_VALUE 2 output 0
DATA_SOURCE 1 input $4
DATA_SOURCE 2 output $5
BIT_INFO 0 control 0xb0,0xfffffff000000b0
BIT_INFO 0 control 0xb0,0xfffffff000000b0
PREEMPT_ADD
LOCK2 &kvm_arch->hv_root_tdp_lock
LOCK2 flags
TYPE_LOCK (struct kvm_arch)->hv_root_tdp_lock

arch/x86/hyperv/nested.c hyperv_flush_guest_mapping() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 175
PARAM_VALUE 1 input 4096-ptr_max
PARAM_VALUE 2 output 0
PREEMPT_ADD
LOCK2 flags
HALF_LOCKED2 &kvm_arch->hv_root_tdp_lock

arch/x86/hyperv/hv_apic.c hv_do_rep_hypercall_ex() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 0-1152921504606846975
PARAM_VALUE 1 input 4096-ptr_max
PARAM_VALUE 2 output 0
DATA_SOURCE 1 input $4
DATA_SOURCE 2 output $5
BIT_INFO 0 control 0x15,0xfff0001ffffffff
BIT_INFO 0 control 0x15,0xfff0001ffffffff
TASK_NOT_RUNNING
LOCK2 flags

drivers/hv/hv_balloon.c hv_do_rep_hypercall_ex() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 0-1152921504606846975
PARAM_VALUE 1 input 4096-ptr_max
PARAM_VALUE 2 output 0
DATA_SOURCE 1 input $4
DATA_SOURCE 2 output $5
BIT_INFO 0 control 0x8003,0xfffffffffffffff
BIT_INFO 0 control 0x8003,0xfffffffffffffff
LOCK2 &pool->lock
LOCK2 flags

drivers/pci/controller/pci-hyperv.c hv_irq_retarget_interrupt() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 0,2-u32max
PARAM_VALUE 1 input 4096-ptr_max
PARAM_VALUE 2 output 0
CAPPED_DATA 0 control 1
BIT_INFO 0 control 0x7e,0xfffe007e
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
HALF_LOCKED2 &desc->lock
HALF_LOCKED2 _T->flags

drivers/pci/controller/pci-hyperv.c hv_pci_read_mmio() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 262
PARAM_VALUE 1 input 4096-ptr_max
PARAM_VALUE 2 output 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 2 output unit_byte
LOCK2 &hbus->config_lock
HALF_LOCKED2 flags
TYPE_LOCK (struct hv_pcibus_device)->config_lock

drivers/pci/controller/pci-hyperv.c hv_pci_write_mmio() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 263
PARAM_VALUE 1 input 4096-ptr_max
PARAM_VALUE 2 output 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &hbus->config_lock
HALF_LOCKED2 flags
TYPE_LOCK (struct hv_pcibus_device)->config_lock

drivers/hv/hv_common.c get_vtl() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 4294967376
PARAM_VALUE 1 input 4096-ptr_max
LOCK2 flags

drivers/hv/hv_common.c hv_get_partition_id() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 70
PARAM_VALUE 1 input 0
LOCK2 flags

drivers/hv/hv_common.c hv_query_ext_cap() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 32769
PARAM_VALUE 1 input 0
PARAM_VALUE 2 output 3218556096547938304
BUF_SIZE 2 output 8
RX_PATH
TASK_NOT_RUNNING

arch/x86/hyperv/irqdomain.c hv_do_rep_hypercall_ex() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 0-1152921504606846975
PARAM_VALUE 1 input 4096-ptr_max
DATA_SOURCE 1 input $4
DATA_SOURCE 2 output $5
BIT_INFO 0 control 0x7c,0xfff0001fffe007c
BIT_INFO 0 control 0x7c,0xfff0001fffe007c
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
HALF_LOCKED2 global &ioapic_lock
HALF_LOCKED2 irq

arch/x86/hyperv/irqdomain.c hv_unmap_interrupt() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 125
PARAM_VALUE 1 input 4096-ptr_max
PARAM_VALUE 2 output 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags

arch/x86/hyperv/mmu.c hv_do_rep_hypercall_ex() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 0-1152921504606846975
PARAM_VALUE 1 input 4096-ptr_max
PARAM_VALUE 2 output 0
DATA_SOURCE 1 input $4
DATA_SOURCE 2 output $5
BIT_INFO 0 control 0x0,0xffffffffffe001f
BIT_INFO 0 control 0x0,0xffffffffffe001f
LOCK2 flags

arch/x86/hyperv/mmu.c hyperv_flush_tlb_multi() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 2
PARAM_VALUE 1 input 4096-ptr_max
PARAM_VALUE 2 output 0
LOCK2 flags

arch/x86/hyperv/mmu.c hyperv_flush_tlb_multi() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 2
PARAM_VALUE 1 input 4096-ptr_max
PARAM_VALUE 2 output 0
LOCK2 flags

drivers/hv/hv.c hv_post_message() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 92,2147483740
PARAM_VALUE 1 input 4096-ptr_max
PARAM_VALUE 2 output 0
BIT_INFO 0 control 0x5c,0xffffffff
BIT_INFO 0 control 0x5c,0xffffffff
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
HALF_LOCKED2 global &vmbus_connection.channel_mutex
HALF_LOCKED2 sk

arch/x86/hyperv/ivm.c hv_do_rep_hypercall_ex() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 0-1152921504606846975
PARAM_VALUE 1 input 4096-ptr_max
PARAM_VALUE 2 output 0
DATA_SOURCE 1 input $4
DATA_SOURCE 2 output $5
BIT_INFO 0 control 0xdb,0xfffffff000000db
BIT_INFO 0 control 0xdb,0xfffffff000000db
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
HALF_LOCKED2 global &mem_enc_lock
HALF_LOCKED2 irq

arch/x86/hyperv/ivm.c hv_snp_boot_ap() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 153
PARAM_VALUE 1 input 3311770557760868352
PARAM_VALUE 2 output 0
BUF_SIZE 1 input 4096
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
HALF_LOCKED2 global &cpuhp_state_mutex
HALF_LOCKED2 irq

arch/x86/hyperv/hv_init.c hv_apicid_to_vp_index() -> hv_do_hypercall()

Type Parameter Key Value
PARAM_VALUE 0 control 4294967450
PARAM_VALUE 1 input 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq_flags
HALF_LOCKED2 global &cpuhp_state_mutex
HALF_LOCKED2 irq