tree 8d9dc585219f06480e092939f0a9b1412b764b4f
parent f91c530c2b8b898590f20e29cf5a5bb9d5597f21
author Vincent Donnefort <vdonnefort@google.com> 1720692111 +0100
committer Keir Fraser <keirf@google.com> 1734452892 +0000

ANDROID: KVM: arm64: Allow trace_hyp_printk() in pKVM modules

trace_hyp_printk() is a pKVM hyp event that allows to use a format
string and up to 4 arguments. e.g.

  trace_hyp_printk("foobar: a=%d b=%d c=%d d=%d", a, b, c, d);

Make it accessible to pKVM modules.

Module authors have to define the underlying tracing function for the
event __hyp_printk and to redirect it to the newly introduced pKVM ops
tracing_mod_hyp_printk():

  void trace___hyp_printk(u8 fmt_id, u64 a, u64 b, u64 c, u64 d)
  {
	  pkvm_ops->tracing_mod_hyp_printk(fmt_id, a, b, c, d);
  }

Where pkvm_ops is a pointer to the struct pkvm_ops.

Bug: 357781595
Bug: 268495982
Change-Id: I86af9de92e20b069d6bc29f77a9234ca76a18c16
Signed-off-by: Vincent Donnefort <vdonnefort@google.com>
