All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: "Patch Tracking" <patches@linaro.org>,
	"Alexander Graf" <agraf@suse.de>,
	"qemu-devel@nongnu.org Developers" <qemu-devel@nongnu.org>,
	"Greg Bellows" <greg.bellows@linaro.org>,
	"Laurent Desnogues" <laurent.desnogues@gmail.com>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"kvmarm@lists.cs.columbia.edu" <kvmarm@lists.cs.columbia.edu>,
	"Christoffer Dall" <christoffer.dall@linaro.org>,
	"Richard Henderson" <rth@twiddle.net>
Subject: Re: [Qemu-devel] [PATCH v6 00/37] AArch64 system emulation
Date: Fri, 11 Apr 2014 08:43:31 +1000	[thread overview]
Message-ID: <CAEgOgz5dbd_4o-66edtYtkwg=KZqtL5JuVXRTq7w71fRUCVtAQ@mail.gmail.com> (raw)
In-Reply-To: <1397146536-30116-1-git-send-email-peter.maydell@linaro.org>

On Fri, Apr 11, 2014 at 2:14 AM, Peter Maydell <peter.maydell@linaro.org> wrote:
> Here's v5 of the AArch64 system emulation patchset.
> Still missing/TODO:
>  * SMP support (needs PSCI emulation in QEMU; being prototyped)
>  * save/restore (I have a patch which adds this but I think it will
>    look better if we consolidate AArch32 cpsr and AArch64 pstate
>    handling)
> but both of these I think are best done once this main series
> is committed to master.
>
> The changes v5->v6 are pretty minor, and these patches have
> been kicking around onlist for a long time, so I plan to
> put these in a pull request pretty much as soon as we reopen
> trunk after 2.0 releases. Last chance for review!
>

Ill do another sweep before the end of the week and review those Ive
skipped over so far for completeness.

Regards,
Peter

>
> Changes v5->v6:
>  * add extract64() when putting together 32-bit CBAR value
>  * be consistent about int vs bool for 1 bit fields in the
>    syn_insn_abort/syn_data_abort functions
>  * added some FIXMEs about inaccurate syndrome info for A32/T32
>    Neon unallocated insns when FP is disabled
>  * decided that using a15mpcore_priv in the virt machine is actually
>    the best approach, and added a suitable comment
> Changes v4->v5:
>  * new patches:
>    + MVFR registers
>    + various extra system registers
>    + don't expose wildcards for ARMv8
>    + make A15's CBAR R/O
>    + support interprocessing in set_pc
>  * minor tweaks per review (I haven't always taken the review
>    suggestion; see mail threads on the previous version of the
>    patch series)
>  * DC ZVA: use helper_ret_stb_mmu
>            make tlb_vaddr_to_host take param for access type
>  * NB: I didn't make gen_exception and gen_exception_internal shared
>    in patch 5: I think keeping the A64 and A32 decoders independent
>    is preferable
>  * have syn_insn_abort and syn_data_abort set the syndrome bit
>    for 'exception to same level' rather than making caller do it
> Changes v3->v4:
>  * reviewed patches from bottom of stack got committed to master
>  * new patches at top of stack
>  * addressed review issues on v8 mmu translation patch and DAIF patch
>
> thanks
> -- PMM
>
>
> Peter Maydell (33):
>   target-arm: Split out private-to-target functions into internals.h
>   target-arm: Implement AArch64 DAIF system register
>   target-arm: Define exception record for AArch64 exceptions
>   target-arm: Provide correct syndrome information for cpreg access
>     traps
>   target-arm: Add support for generating exceptions with syndrome
>     information
>   target-arm: A64: Correctly fault FP/Neon if CPACR.FPEN set
>   target-arm: A64: Add assertion that FP access was checked
>   target-arm: Fix VFP enables for AArch32 EL0 under AArch64 EL1
>   target-arm: Don't mention PMU in debug feature register
>   target-arm: A64: Implement DC ZVA
>   target-arm: Use dedicated CPU state fields for ARM946 access bit
>     registers
>   target-arm: Add AArch64 ELR_EL1 register.
>   target-arm: Implement SP_EL0, SP_EL1
>   target-arm: Implement AArch64 SPSR_EL1
>   target-arm: Move arm_log_exception() into internals.h
>   target-arm: Implement ARMv8 MVFR registers
>   target-arm: Add Cortex-A57 processor
>   hw/arm/virt: Add support for Cortex-A57
>   target-arm: Implement AArch64 views of AArch32 ID registers
>   target-arm: Implement AArch64 view of CONTEXTIDR
>   target-arm: Implement AArch64 view of ACTLR
>   target-arm: Implement ISR_EL1 register
>   target-arm: Remove THUMB2EE feature from AArch64 'any' CPU
>   target-arm: Don't expose wildcard ID register definitions for ARMv8
>   target-arm: Replace wildcarded cpreg definitions with precise ones for
>     ARMv8
>   target-arm: Implement auxiliary fault status registers
>   target-arm: Implement AArch64 address translation operations
>   target-arm: Implement RVBAR register
>   target-arm: Implement Cortex-A57 implementation-defined system
>     registers
>   target-arm: Implement CBAR for Cortex-A57
>   target-arm: Make Cortex-A15 CBAR read-only
>   target-arm: Handle the CPU being in AArch32 mode in the AArch64 set_pc
>   target-arm: Dump 32-bit CPU state if 64 bit CPU is in AArch32
>
> Rob Herring (4):
>   target-arm: Provide syndrome information for MMU faults
>   target-arm: Add v8 mmu translation support
>   target-arm: Implement AArch64 views of fault status and data registers
>   target-arm: Implement AArch64 EL1 exception handling
>
>  hw/arm/virt.c               |   8 +
>  include/exec/softmmu_exec.h |  52 +++
>  linux-user/main.c           |  56 ++-
>  target-arm/cpu-qom.h        |  10 +-
>  target-arm/cpu.c            |  30 +-
>  target-arm/cpu.h            |  81 +++--
>  target-arm/cpu64.c          | 115 ++++++-
>  target-arm/helper-a64.c     |  75 ++++
>  target-arm/helper.c         | 809 +++++++++++++++++++++++++++++++++-----------
>  target-arm/helper.h         |   7 +-
>  target-arm/internals.h      | 267 +++++++++++++++
>  target-arm/kvm32.c          |  19 +-
>  target-arm/kvm64.c          |  71 +++-
>  target-arm/machine.c        |  13 +-
>  target-arm/op_helper.c      |  92 ++++-
>  target-arm/translate-a64.c  | 441 +++++++++++++++++++++---
>  target-arm/translate.c      | 195 ++++++++---
>  target-arm/translate.h      |  23 +-
>  18 files changed, 1987 insertions(+), 377 deletions(-)
>  create mode 100644 target-arm/internals.h
>
> --
> 1.9.1
>
>

      parent reply	other threads:[~2014-04-10 22:43 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-10 16:14 [Qemu-devel] [PATCH v6 00/37] AArch64 system emulation Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 01/37] target-arm: Split out private-to-target functions into internals.h Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 02/37] target-arm: Implement AArch64 DAIF system register Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 03/37] target-arm: Define exception record for AArch64 exceptions Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 04/37] target-arm: Provide correct syndrome information for cpreg access traps Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 05/37] target-arm: Add support for generating exceptions with syndrome information Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 06/37] target-arm: Provide syndrome information for MMU faults Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 07/37] target-arm: A64: Correctly fault FP/Neon if CPACR.FPEN set Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 08/37] target-arm: A64: Add assertion that FP access was checked Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 09/37] target-arm: Fix VFP enables for AArch32 EL0 under AArch64 EL1 Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 10/37] target-arm: Add v8 mmu translation support Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 11/37] target-arm: Don't mention PMU in debug feature register Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 12/37] target-arm: A64: Implement DC ZVA Peter Maydell
2014-04-10 17:22   ` Richard Henderson
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 13/37] target-arm: Use dedicated CPU state fields for ARM946 access bit registers Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 14/37] target-arm: Implement AArch64 views of fault status and data registers Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 15/37] target-arm: Add AArch64 ELR_EL1 register Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 16/37] target-arm: Implement SP_EL0, SP_EL1 Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 17/37] target-arm: Implement AArch64 SPSR_EL1 Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 18/37] target-arm: Move arm_log_exception() into internals.h Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 19/37] target-arm: Implement AArch64 EL1 exception handling Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 20/37] target-arm: Implement ARMv8 MVFR registers Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 21/37] target-arm: Add Cortex-A57 processor Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 22/37] hw/arm/virt: Add support for Cortex-A57 Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 23/37] target-arm: Implement AArch64 views of AArch32 ID registers Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 24/37] target-arm: Implement AArch64 view of CONTEXTIDR Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 25/37] target-arm: Implement AArch64 view of ACTLR Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 26/37] target-arm: Implement ISR_EL1 register Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 27/37] target-arm: Remove THUMB2EE feature from AArch64 'any' CPU Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 28/37] target-arm: Don't expose wildcard ID register definitions for ARMv8 Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 29/37] target-arm: Replace wildcarded cpreg definitions with precise ones " Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 30/37] target-arm: Implement auxiliary fault status registers Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 31/37] target-arm: Implement AArch64 address translation operations Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 32/37] target-arm: Implement RVBAR register Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 33/37] target-arm: Implement Cortex-A57 implementation-defined system registers Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 34/37] target-arm: Implement CBAR for Cortex-A57 Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 35/37] target-arm: Make Cortex-A15 CBAR read-only Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 36/37] target-arm: Handle the CPU being in AArch32 mode in the AArch64 set_pc Peter Maydell
2014-04-10 16:15 ` [Qemu-devel] [PATCH v6 37/37] target-arm: Dump 32-bit CPU state if 64 bit CPU is in AArch32 Peter Maydell
2014-04-10 22:43 ` Peter Crosthwaite [this message]

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='CAEgOgz5dbd_4o-66edtYtkwg=KZqtL5JuVXRTq7w71fRUCVtAQ@mail.gmail.com' \
    --to=peter.crosthwaite@xilinx.com \
    --cc=agraf@suse.de \
    --cc=alex.bennee@linaro.org \
    --cc=christoffer.dall@linaro.org \
    --cc=greg.bellows@linaro.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=laurent.desnogues@gmail.com \
    --cc=patches@linaro.org \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    /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.