Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

arch/x86/coco/sev/vc-handle.c handle_vc_boot_ghcb() -> vc_ghcb_invalidate()

Type Parameter Key Value
NOCHECK_CALL

arch/x86/coco/sev/vc-handle.c vc_raw_handle_exception() -> vc_ghcb_invalidate()

Type Parameter Key Value
DATA_SOURCE 0 ghcb r __sev_get_ghcb
BIT_INFO 0 ghcb 0x0,0x1fffffffffffffff
BIT_INFO 0 ghcb 0x0,0x1fffffffffffffff
PREEMPT_ADD
NOCHECK_CALL

arch/x86/coco/sev/core.c get_jump_table_addr() -> vc_ghcb_invalidate()

Type Parameter Key Value
DATA_SOURCE 0 ghcb r __sev_get_ghcb
BIT_INFO 0 ghcb 0x0,0x1fffffffffffffff
BIT_INFO 0 ghcb 0x0,0x1fffffffffffffff
NOCHECK_CALL
LOCK2 flags

arch/x86/coco/sev/core.c savic_ghcb_msr_read() -> vc_ghcb_invalidate()

Type Parameter Key Value
DATA_SOURCE 0 ghcb r __sev_get_ghcb
BIT_INFO 0 ghcb 0x0,0x1fffffffffffffff
BIT_INFO 0 ghcb 0x0,0x1fffffffffffffff
NOCHECK_CALL
LOCK2 _T->flags

arch/x86/coco/sev/core.c savic_ghcb_msr_write() -> vc_ghcb_invalidate()

Type Parameter Key Value
DATA_SOURCE 0 ghcb r __sev_get_ghcb
BIT_INFO 0 ghcb 0x0,0x1fffffffffffffff
BIT_INFO 0 ghcb 0x0,0x1fffffffffffffff
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->flags

arch/x86/coco/sev/core.c savic_register_gpa() -> vc_ghcb_invalidate()

Type Parameter Key Value
DATA_SOURCE 0 ghcb r __sev_get_ghcb
BIT_INFO 0 ghcb 0x0,0x1fffffffffffffff
BIT_INFO 0 ghcb 0x0,0x1fffffffffffffff
NOCHECK_CALL
LOCK2 _T->flags

arch/x86/coco/sev/core.c savic_unregister_gpa() -> vc_ghcb_invalidate()

Type Parameter Key Value
DATA_SOURCE 0 ghcb r __sev_get_ghcb
BIT_INFO 0 ghcb 0x0,0x1fffffffffffffff
BIT_INFO 0 ghcb 0x0,0x1fffffffffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->flags
HALF_LOCKED2 flags
HALF_LOCKED2 irq

arch/x86/coco/sev/core.c sev_es_ap_hlt_loop() -> vc_ghcb_invalidate()

Type Parameter Key Value
DATA_SOURCE 0 ghcb r __sev_get_ghcb
BIT_INFO 0 ghcb 0x0,0x1fffffffffffffff
BIT_INFO 0 ghcb 0x0,0x1fffffffffffffff
NOCHECK_CALL
LOCK2 irq

arch/x86/coco/sev/core.c snp_issue_guest_request() -> vc_ghcb_invalidate()

Type Parameter Key Value
PARAM_VALUE 0 ghcb 1-u64max
DATA_SOURCE 0 ghcb r __sev_get_ghcb
BIT_INFO 0 ghcb 0x0,0x1fffffffffffffff
BIT_INFO 0 ghcb 0x0,0x1fffffffffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->lock
LOCK2 flags

arch/x86/coco/sev/core.c vmgexit_ap_control() -> vc_ghcb_invalidate()

Type Parameter Key Value
DATA_SOURCE 0 ghcb r __sev_get_ghcb
BIT_INFO 0 ghcb 0x0,0x1fffffffffffffff
BIT_INFO 0 ghcb 0x0,0x1fffffffffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
HALF_LOCKED2 irq

arch/x86/coco/sev/core.c vmgexit_psc() -> vc_ghcb_invalidate()

Type Parameter Key Value
PARAM_VALUE 0 ghcb 1-u64max
DATA_SOURCE 0 ghcb $0
BIT_INFO 0 ghcb 0x0,0x7fffffffffffffff
BIT_INFO 0 ghcb 0x0,0x7fffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
HALF_LOCKED2 global &mem_enc_lock

arch/x86/coco/sev/noinstr.c __sev_es_nmi_complete() -> vc_ghcb_invalidate()

Type Parameter Key Value
DATA_SOURCE 0 ghcb r __sev_get_ghcb
BIT_INFO 0 ghcb 0x0,0x1fffffffffffffff
BIT_INFO 0 ghcb 0x0,0x1fffffffffffffff
NOCHECK_CALL

arch/x86/coco/sev/noinstr.c __sev_put_ghcb() -> vc_ghcb_invalidate()

Type Parameter Key Value
PARAM_VALUE 0 ghcb 0
BUF_SIZE 0 ghcb 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 _T->flags
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq

arch/x86/coco/sev/svsm.c svsm_perform_ghcb_protocol() -> vc_ghcb_invalidate()

Type Parameter Key Value
PARAM_VALUE 0 ghcb 1-u64max
DATA_SOURCE 0 ghcb $0
BIT_INFO 0 ghcb 0x0,0x7fffffffffffffff
BIT_INFO 0 ghcb 0x0,0x7fffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags