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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.