mbox series

[0/3] ppc: Implement ISA 3.00 tlbie[l]

Message ID 20220520173346.20807-1-leandro.lupori@eldorado.org.br (mailing list archive)
Headers show
Series ppc: Implement ISA 3.00 tlbie[l] | expand

Message

Leandro Lupori May 20, 2022, 5:33 p.m. UTC
Add support for ISA 3.00 tlbie/tlbiel instructions, with
RIC, PRS and R operands.

Also, for Radix MMU, add support for the TLB invalidation of a
single page. Flush by PID/LPID, or based in process/partition
scope is not supported, because it would make using the
generic QEMU TLB implementation hard. In these cases, all
entries are flushed.

Leandro Lupori (3):
  target/ppc: Move tlbie to decode tree
  target/ppc: Move tlbiel to decode tree
  target/ppc: Implement ISA 3.00 tlbie[l]

 target/ppc/cpu_init.c                        |   4 +-
 target/ppc/helper.h                          |  18 +++
 target/ppc/insn32.decode                     |   8 +
 target/ppc/mmu_helper.c                      | 154 +++++++++++++++++++
 target/ppc/translate.c                       |  64 +-------
 target/ppc/translate/storage-ctrl-impl.c.inc | 102 ++++++++++++
 6 files changed, 286 insertions(+), 64 deletions(-)
 create mode 100644 target/ppc/translate/storage-ctrl-impl.c.inc

Comments

Cédric Le Goater May 21, 2022, 5:28 a.m. UTC | #1
On 5/20/22 19:33, Leandro Lupori wrote:
> Add support for ISA 3.00 tlbie/tlbiel instructions, with
> RIC, PRS and R operands.
> 
> Also, for Radix MMU, add support for the TLB invalidation of a
> single page. Flush by PID/LPID, or based in process/partition
> scope is not supported, because it would make using the
> generic QEMU TLB implementation hard. In these cases, all
> entries are flushed.

Adding Nick.

Thanks,

C.

> 
> Leandro Lupori (3):
>    target/ppc: Move tlbie to decode tree
>    target/ppc: Move tlbiel to decode tree
>    target/ppc: Implement ISA 3.00 tlbie[l]
> 
>   target/ppc/cpu_init.c                        |   4 +-
>   target/ppc/helper.h                          |  18 +++
>   target/ppc/insn32.decode                     |   8 +
>   target/ppc/mmu_helper.c                      | 154 +++++++++++++++++++
>   target/ppc/translate.c                       |  64 +-------
>   target/ppc/translate/storage-ctrl-impl.c.inc | 102 ++++++++++++
>   6 files changed, 286 insertions(+), 64 deletions(-)
>   create mode 100644 target/ppc/translate/storage-ctrl-impl.c.inc
>