From: Fabiano Rosas <farosas@linux.ibm.com>
To: "Lucas Mateus Castro (alqotel)" <lucas.araujo@eldorado.org.br>,
qemu-devel@nongnu.org, qemu-ppc@nongnu.org
Cc: bruno.larsen@eldorado.org.br,
"Lucas Mateus Castro \(alqotel\)" <lucas.araujo@eldorado.org.br>,
david@gibson.dropbear.id.au
Subject: Re: [RFC PATCH v2 0/2] hw/ppc: code motion to compile without TCG
Date: Mon, 03 May 2021 19:21:11 -0300 [thread overview]
Message-ID: <87sg331mso.fsf@linux.ibm.com> (raw)
In-Reply-To: <20210430184047.81653-1-lucas.araujo@eldorado.org.br>
"Lucas Mateus Castro (alqotel)" <lucas.araujo@eldorado.org.br> writes:
> After the feedback from v1 I reworked the patch with suggested ideas and
> this version has less duplicated code and is overall simpler.
>
> This patch series is still a WIP, there are still 2 main problems I am
> trying to solve, I'll mention them in their respective patches.
>
> The aim of these patches is to progress toward enabling disable-tcg on
> PPC by solving errors in hw/ppc with that option.
>
> As a WIP comments are welcome.
>
> Lucas Mateus Castro (alqotel) (2):
> target/ppc: Moved functions out of mmu-hash64
> hw/ppc: Moved TCG code to spapr_hcall_tcg
>
> hw/ppc/meson.build | 3 +
> hw/ppc/spapr.c | 1 +
> hw/ppc/spapr_caps.c | 1 +
> hw/ppc/spapr_cpu_core.c | 1 +
> hw/ppc/spapr_hcall.c | 301 ++--------------------------------
> hw/ppc/spapr_hcall_tcg.c | 343 +++++++++++++++++++++++++++++++++++++++
> hw/ppc/spapr_rtas.c | 1 +
> target/ppc/meson.build | 1 +
> target/ppc/mmu-hash64.c | 81 +--------
> target/ppc/mmu-hash64.h | 6 -
> target/ppc/mmu-misc.c | 86 ++++++++++
> target/ppc/mmu-misc.h | 22 +++
> 12 files changed, 478 insertions(+), 369 deletions(-)
> create mode 100644 hw/ppc/spapr_hcall_tcg.c
> create mode 100644 target/ppc/mmu-misc.c
> create mode 100644 target/ppc/mmu-misc.h
This is the list of hypercalls registered with spapr_register_hypercall
and whether they are implemented by KVM HV, KVM PR or none. I also list
whether the KVM hcall uses the QEMU implementation as a fallback. Maybe
it will be helpful to this discussion.
(This is from just looking at the code, so take it with a grain of salt)
H_ADD_LOGICAL_LAN_BUFFER - not impl. by KVM
H_CHANGE_LOGICAL_LAN_MAC - not impl. by KVM
H_ENABLE_CRQ - not impl. by KVM
H_FREE_CRQ - not impl. by KVM
H_FREE_LOGICAL_LAN - not impl. by KVM
H_GET_CPU_CHARACTERISTICS - not impl. by KVM
H_GET_TERM_CHAR - not impl. by KVM
H_HOME_NODE_ASSOCIATIVITY - not impl. by KVM
H_INT_ESB - not impl. by KVM
H_INT_GET_QUEUE_INFO - not impl. by KVM
H_INT_GET_SOURCE_CONFIG - not impl. by KVM
H_INT_GET_SOURCE_INFO - not impl. by KVM
H_INT_RESET - not impl. by KVM
H_INT_SET_QUEUE_CONFIG - not impl. by KVM
H_INT_SET_SOURCE_CONFIG - not impl. by KVM
H_INT_SYNC - not impl. by KVM
H_JOIN - not impl. by KVM
H_LOGICAL_CACHE_LOAD - not impl. by KVM
H_LOGICAL_CACHE_STORE - not impl. by KVM
H_LOGICAL_DCBF - not impl. by KVM
H_LOGICAL_ICBI - not impl. by KVM
H_MULTICAST_CTRL - not impl. by KVM
H_PUT_TERM_CHAR - not impl. by KVM
H_REGISTER_LOGICAL_LAN - not impl. by KVM
H_REGISTER_PROC_TBL - not impl. by KVM
H_REG_CRQ - not impl. by KVM
H_RESIZE_HPT_COMMIT - not impl. by KVM
H_RESIZE_HPT_PREPARE - not impl. by KVM
H_SCM_BIND_MEM - not impl. by KVM
H_SCM_READ_METADATA - not impl. by KVM
H_SCM_UNBIND_ALL - not impl. by KVM
H_SCM_WRITE_METADATA - not impl. by KVM
H_SEND_CRQ - not impl. by KVM
H_SEND_LOGICAL_LAN - not impl. by KVM
H_SET_SPRG0 - not impl. by KVM
H_SIGNAL_SYS_RESET - not impl. by KVM
H_VIO_SIGNAL - not impl. by KVM
H_CAS - not impl. by KVM | called by SLOF only
H_LOGICAL_MEMOP - not impl. by KVM | called by SLOF only
H_TPM_COMM - not impl. by KVM | called by UV only
H_UPDATE_DT - not impl. by KVM | called by SLOF only
H_INT_GET_OS_REPORTING_LINE - not impl. by KVM | not called by linux/SLOF/UV
H_INT_GET_QUEUE_CONFIG - not impl. by KVM | not called by linux/SLOF/UV
H_INT_SET_OS_REPORTING_LINE - not impl. by KVM | not called by linux/SLOF/UV
H_SCM_UNBIND_MEM - not impl. by KVM | not called by linux/SLOF/UV
H_GET_TCE - HV | not impl. by PR | QEMU fallback
H_SET_MODE - HV | not impl. by PR | QEMU fallback
H_CONFER - HV | not impl. by PR
H_PAGE_INIT - HV | not impl. by PR
H_PROD - HV | not impl. by PR
H_RANDOM - HV | not impl. by PR
H_READ - HV | not impl. by PR
H_REGISTER_VPA - HV | not impl. by PR
H_SET_DABR - HV | not impl. by PR
H_SET_XDABR - HV | not impl. by PR
H_CPPR - HV | PR | QEMU fallback
H_EOI - HV | PR | QEMU fallback
H_IPI - HV | PR | QEMU fallback
H_IPOLL - HV | PR | QEMU fallback
H_LOGICAL_CI_LOAD - HV | PR | QEMU fallback
H_LOGICAL_CI_STORE - HV | PR | QEMU fallback
H_PUT_TCE - HV | PR | QEMU fallback
H_PUT_TCE_INDIRECT - HV | PR | QEMU fallback
H_RTAS - HV | PR | QEMU fallback
H_STUFF_TCE - HV | PR | QEMU fallback
H_XIRR - HV | PR | QEMU fallback
H_XIRR_X - HV | PR | QEMU fallback
H_BULK_REMOVE - HV | PR
H_CEDE - HV | PR
H_ENTER - HV | PR
H_PROTECT - HV | PR
H_REMOVE - HV | PR
H_CLEAN_SLB - never called/implemented, added along with H_REGISTER_PROC_TBL
H_INVALIDATE_PID - never called/implemented, added along with H_REGISTER_PROC_TBL
PS: we could perhaps use this information to annotate
qemu/include/spapr.h. I can send a patch if people find it useful.
next prev parent reply other threads:[~2021-05-03 22:51 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-30 18:40 [RFC PATCH v2 0/2] hw/ppc: code motion to compile without TCG Lucas Mateus Castro (alqotel)
2021-04-30 18:40 ` [RFC PATCH v2 1/2] target/ppc: Moved functions out of mmu-hash64 Lucas Mateus Castro (alqotel)
2021-04-30 20:19 ` Fabiano Rosas
2021-05-03 4:24 ` David Gibson
2021-05-05 17:30 ` Lucas Mateus Martins Araujo e Castro
2021-05-06 2:03 ` David Gibson
2021-04-30 18:40 ` [RFC PATCH v2 2/2] hw/ppc: Moved TCG code to spapr_hcall_tcg Lucas Mateus Castro (alqotel)
2021-04-30 23:38 ` Fabiano Rosas
2021-05-03 4:35 ` David Gibson
2021-05-03 4:34 ` David Gibson
2021-05-04 18:14 ` Lucas Mateus Martins Araujo e Castro
2021-05-05 4:58 ` David Gibson
2021-04-30 18:54 ` [RFC PATCH v2 0/2] hw/ppc: code motion to compile without TCG no-reply
2021-05-03 22:21 ` Fabiano Rosas [this message]
2021-05-04 14:43 ` Bruno Piazera Larsen
2021-05-04 15:57 ` Lucas Mateus Martins Araujo e Castro
2021-05-05 4:42 ` David Gibson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87sg331mso.fsf@linux.ibm.com \
--to=farosas@linux.ibm.com \
--cc=bruno.larsen@eldorado.org.br \
--cc=david@gibson.dropbear.id.au \
--cc=lucas.araujo@eldorado.org.br \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).