Lines Matching refs:tx

411 	const struct pkvm_mem_transition	tx;  member
475 const struct pkvm_mem_transition *tx) in host_request_owned_transition() argument
477 u64 size = tx->nr_pages * PAGE_SIZE; in host_request_owned_transition()
478 u64 addr = tx->initiator.addr; in host_request_owned_transition()
480 *completer_addr = tx->initiator.host.completer_addr; in host_request_owned_transition()
485 const struct pkvm_mem_transition *tx) in host_request_unshare() argument
487 u64 size = tx->nr_pages * PAGE_SIZE; in host_request_unshare()
488 u64 addr = tx->initiator.addr; in host_request_unshare()
490 *completer_addr = tx->initiator.host.completer_addr; in host_request_unshare()
495 const struct pkvm_mem_transition *tx) in host_initiate_share() argument
497 u64 size = tx->nr_pages * PAGE_SIZE; in host_initiate_share()
498 u64 addr = tx->initiator.addr; in host_initiate_share()
500 *completer_addr = tx->initiator.host.completer_addr; in host_initiate_share()
505 const struct pkvm_mem_transition *tx) in host_initiate_unshare() argument
507 u64 size = tx->nr_pages * PAGE_SIZE; in host_initiate_unshare()
508 u64 addr = tx->initiator.addr; in host_initiate_unshare()
510 *completer_addr = tx->initiator.host.completer_addr; in host_initiate_unshare()
534 static bool __hyp_ack_skip_pgtable_check(const struct pkvm_mem_transition *tx) in __hyp_ack_skip_pgtable_check() argument
537 tx->initiator.id != PKVM_ID_HOST); in __hyp_ack_skip_pgtable_check()
540 static int hyp_ack_share(u64 addr, const struct pkvm_mem_transition *tx, in hyp_ack_share() argument
543 u64 size = tx->nr_pages * PAGE_SIZE; in hyp_ack_share()
548 if (__hyp_ack_skip_pgtable_check(tx)) in hyp_ack_share()
554 static int hyp_ack_unshare(u64 addr, const struct pkvm_mem_transition *tx) in hyp_ack_unshare() argument
556 u64 size = tx->nr_pages * PAGE_SIZE; in hyp_ack_unshare()
558 if (__hyp_ack_skip_pgtable_check(tx)) in hyp_ack_unshare()
565 static int hyp_complete_share(u64 addr, const struct pkvm_mem_transition *tx, in hyp_complete_share() argument
568 void *start = (void *)addr, *end = start + (tx->nr_pages * PAGE_SIZE); in hyp_complete_share()
575 static int hyp_complete_unshare(u64 addr, const struct pkvm_mem_transition *tx) in hyp_complete_unshare() argument
577 u64 size = tx->nr_pages * PAGE_SIZE; in hyp_complete_unshare()
585 const struct pkvm_mem_transition *tx = &share->tx; in check_share() local
589 switch (tx->initiator.id) { in check_share()
591 ret = host_request_owned_transition(&completer_addr, tx); in check_share()
600 switch (tx->completer.id) { in check_share()
602 ret = hyp_ack_share(completer_addr, tx, share->completer_prot); in check_share()
613 const struct pkvm_mem_transition *tx = &share->tx; in __do_share() local
617 switch (tx->initiator.id) { in __do_share()
619 ret = host_initiate_share(&completer_addr, tx); in __do_share()
628 switch (tx->completer.id) { in __do_share()
630 ret = hyp_complete_share(completer_addr, tx, share->completer_prot); in __do_share()
661 const struct pkvm_mem_transition *tx = &share->tx; in check_unshare() local
665 switch (tx->initiator.id) { in check_unshare()
667 ret = host_request_unshare(&completer_addr, tx); in check_unshare()
676 switch (tx->completer.id) { in check_unshare()
678 ret = hyp_ack_unshare(completer_addr, tx); in check_unshare()
689 const struct pkvm_mem_transition *tx = &share->tx; in __do_unshare() local
693 switch (tx->initiator.id) { in __do_unshare()
695 ret = host_initiate_unshare(&completer_addr, tx); in __do_unshare()
704 switch (tx->completer.id) { in __do_unshare()
706 ret = hyp_complete_unshare(completer_addr, tx); in __do_unshare()
741 .tx = { in __pkvm_host_share_hyp()
774 .tx = { in __pkvm_host_unshare_hyp()