Skip to content

hw/ppc/spapr: Add "Processor Register Hypervisor Resource Access" H-calls

Thomas Huth qemu-devel 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest4 patches 3 repliesIn review
  2. v14 patches 6 repliesSuperseded

Changes in v2 from the cover letter

- Don't use set_spr() and set cpu->env.spr[] directly instead
- Completely reworked the H_PAGE_INIT patch to map the source and target pages for higher speed, and to be able to flush now the caches if requested.

[1] http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=760a7364f27d974d

[2] https://members.openpowerfoundation.org/document/dl/469

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4hw/ppc/spapr: Add h_set_sprg0 hypercallhw/ppc/spapr_hcall.c+13 -20 replies
2/4hw/ppc/spapr: Implement h_set_dabrhw/ppc/spapr_hcall.c+20 -50 replies
3/4hw/ppc/spapr: Implement the h_set_xdabr hypercallhw/ppc/spapr_hcall.c+22 -00 replies
4/4hw/ppc/spapr: Implement the h_page_init hypercallhw/ppc/spapr_hcall.c target-ppc/kvm_ppc.h+92 -21 reply

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [Qemu-devel] [PATCH v2 0/4] hw/ppc/spapr: Add "Processor Register Hypervisor Resource Access" H-calls

While we were recently debugging a problem with the H_SET_DABR call [1], I noticed that some hypercalls from the chapter 14.5.4.3 ("Processor Register Hypervisor Resource Access") from the LoPAPR spec [2] are still missing in QEMU.
So here's are some patches that implement these hypercalls. Linux apparently does not depend on these hypercalls yet (otherwise somebody would have noticed this earlier), but the hypercalls are rather simple, so I think the implementations are quite straight-forward and easy to read.

v2:
- Don't use set_spr() and set cpu->env.spr[] directly instead
- Completely reworked the H_PAGE_INIT patch to map the source and target pages for higher speed, and to be able to flush now the caches if requested.

[1] http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=760a7364f27d974d

[2] https://members.openpowerfoundation.org/document/dl/469

Thomas Huth (4):
hw/ppc/spapr: Add h_set_sprg0 hypercall hw/ppc/spapr: Implement h_set_dabr hw/ppc/spapr: Implement the h_set_xdabr hypercall hw/ppc/spapr: Implement the h_page_init hypercall

 hw/ppc/spapr_hcall.c | 132 ++++++++++++++++++++++++++++++++++++++++++++++++---
 target-ppc/kvm_ppc.h |  24 +++++++++-
 2 files changed, 147 insertions(+), 9 deletions(-)
Signature · 1 line
1.8.3.1