All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 00/35] AArch64 system mode: system register rework
@ 2014-01-31 15:45 Peter Maydell
  2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 01/35] target-arm: Fix raw read and write functions on AArch64 registers Peter Maydell
                   ` (36 more replies)
  0 siblings, 37 replies; 83+ messages in thread
From: Peter Maydell @ 2014-01-31 15:45 UTC (permalink / raw)
  To: qemu-devel
  Cc: Rob Herring, Peter Crosthwaite, patches, Michael Matz,
	Alexander Graf, Claudio Fontana, Dirk Mueller, Will Newton,
	Laurent Desnogues, Alex Bennée, kvmarm, Christoffer Dall,
	Richard Henderson

This is version two of a patchset which makes a start on AArch64
system emulation by tackling system registers.

The major changes here since v1 are that I've added a set of
patches which rework the reginfo struct to use a separate accessfn
rather than having readfn and writenfn possibly return EXCP_UDEF.
This was suggested by Peter Crosthwaite in the previous round and
I think it is a big improvement.

For correct syndrome information the next step will be that
the translate.c/translate-a64.c code passes helper_access_check_cp_reg()
a prototype syndrome so it can eventually be used by the exception
entry code; but I'm still working on the syndrome register support
code, and anyway this series is already pretty long.

Review appreciated, especially for the early patches in the
series and for the accessfn refactoring, so I can start to
feed these patches into target-arm.next.

thanks
-- PMM

Peter Maydell (35):
  target-arm: Fix raw read and write functions on AArch64 registers
  target-arm/kvm-consts.h: Define QEMU constants for known KVM CPUs
  target-arm: Define names for SCTLR bits
  target-arm: Restrict check_ap() use of S and R bits to v6 and earlier
  target-arm: Remove unused ARMCPUState sr substruct
  target-arm: Log bad system register accesses with LOG_UNIMP
  target-arm: Add exception level to the AArch64 TB flags
  target-arm: A64: Implement store-exclusive for system mode
  target-arm: A64: Implement MSR (immediate) instructions
  target-arm: Stop underdecoding ARM946 PRBS registers
  target-arm: Split cpreg access checks out from read/write functions
  target-arm: Convert performance monitor reginfo to accesfn
  target-arm: Convert generic timer reginfo to accessfn
  target-arm: Convert miscellaneous reginfo structs to accessfn
  target-arm: Drop success/fail return from cpreg read and write
    functions
  target-arm: Remove unnecessary code now read/write fns can't fail
  target-arm: Remove failure status return from read/write_raw_cp_reg
  target-arm: Fix incorrect type for value argument to write_raw_cp_reg
  target-arm: A64: Make cache ID registers visible to AArch64
  target-arm: Implement AArch64 CurrentEL sysreg
  target-arm: Implement AArch64 MIDR_EL1
  target-arm: Implement AArch64 DAIF system register
  target-arm: Implement AArch64 cache invalidate/clean ops
  target-arm: Implement AArch64 TLB invalidate ops
  target-arm: Implement AArch64 dummy MDSCR_EL1
  target-arm: Implement AArch64 memory attribute registers
  target-arm: Implement AArch64 SCTLR_EL1
  target-arm: Implement AArch64 TCR_EL1
  target-arm: Implement AArch64 VBAR_EL1
  target-arm: Implement AArch64 TTBR*
  target-arm: Implement AArch64 MPIDR
  target-arm: Implement AArch64 generic timers
  target-arm: Implement AArch64 ID and feature registers
  target-arm: Implement AArch64 dummy breakpoint and watchpoint
    registers
  target-arm: Implement AArch64 OSLAR_EL1 sysreg as WI

 hw/arm/pxa2xx.c            |   38 +-
 hw/arm/pxa2xx_pic.c        |   11 +-
 target-arm/cpu-qom.h       |   10 +
 target-arm/cpu.c           |   12 +-
 target-arm/cpu.h           |  153 +++++--
 target-arm/cpu64.c         |    1 +
 target-arm/helper.c        | 1093 +++++++++++++++++++++++++++-----------------
 target-arm/helper.h        |    3 +
 target-arm/kvm-consts.h    |   16 +-
 target-arm/op_helper.c     |   65 ++-
 target-arm/translate-a64.c |  119 ++++-
 target-arm/translate.c     |   28 +-
 12 files changed, 1025 insertions(+), 524 deletions(-)

-- 
1.8.5

^ permalink raw reply	[flat|nested] 83+ messages in thread

end of thread, other threads:[~2014-02-14 23:08 UTC | newest]

Thread overview: 83+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-31 15:45 [Qemu-devel] [PATCH v2 00/35] AArch64 system mode: system register rework Peter Maydell
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 01/35] target-arm: Fix raw read and write functions on AArch64 registers Peter Maydell
2014-01-31 15:56   ` Rob Herring
2014-01-31 16:06     ` Peter Maydell
2014-01-31 16:38       ` Peter Maydell
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 02/35] target-arm/kvm-consts.h: Define QEMU constants for known KVM CPUs Peter Maydell
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 03/35] target-arm: Define names for SCTLR bits Peter Maydell
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 04/35] target-arm: Restrict check_ap() use of S and R bits to v6 and earlier Peter Maydell
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 05/35] target-arm: Remove unused ARMCPUState sr substruct Peter Maydell
2014-02-05  6:03   ` Peter Crosthwaite
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 06/35] target-arm: Log bad system register accesses with LOG_UNIMP Peter Maydell
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 07/35] target-arm: Add exception level to the AArch64 TB flags Peter Maydell
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 08/35] target-arm: A64: Implement store-exclusive for system mode Peter Maydell
2014-02-11 18:43   ` Peter Maydell
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 09/35] target-arm: A64: Implement MSR (immediate) instructions Peter Maydell
2014-02-05  6:23   ` Peter Crosthwaite
2014-02-05 10:55     ` Peter Maydell
2014-02-14 16:41     ` Peter Maydell
2014-02-14 23:07       ` Peter Crosthwaite
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 10/35] target-arm: Stop underdecoding ARM946 PRBS registers Peter Maydell
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 11/35] target-arm: Split cpreg access checks out from read/write functions Peter Maydell
2014-02-09  2:50   ` Peter Crosthwaite
2014-02-09 12:02     ` Peter Maydell
2014-02-11  6:13       ` Peter Crosthwaite
2014-02-11  6:13   ` Peter Crosthwaite
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 12/35] target-arm: Convert performance monitor reginfo to accesfn Peter Maydell
2014-02-05  6:59   ` Peter Crosthwaite
2014-02-05 11:01     ` Peter Maydell
2014-02-06  0:05       ` Alistair Francis
2014-02-09  2:59       ` Peter Crosthwaite
2014-02-09 12:04         ` Peter Maydell
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 13/35] target-arm: Convert generic timer reginfo to accessfn Peter Maydell
2014-02-09  3:05   ` Peter Crosthwaite
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 14/35] target-arm: Convert miscellaneous reginfo structs " Peter Maydell
2014-02-09  3:09   ` Peter Crosthwaite
2014-02-09 12:09     ` Peter Maydell
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 15/35] target-arm: Drop success/fail return from cpreg read and write functions Peter Maydell
2014-02-09  3:27   ` Peter Crosthwaite
2014-02-09 12:15     ` Peter Maydell
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 16/35] target-arm: Remove unnecessary code now read/write fns can't fail Peter Maydell
2014-02-09  3:29   ` Peter Crosthwaite
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 17/35] target-arm: Remove failure status return from read/write_raw_cp_reg Peter Maydell
2014-02-09  3:32   ` Peter Crosthwaite
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 18/35] target-arm: Fix incorrect type for value argument to write_raw_cp_reg Peter Maydell
2014-02-05  7:07   ` Peter Crosthwaite
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 19/35] target-arm: A64: Make cache ID registers visible to AArch64 Peter Maydell
2014-02-07  7:35   ` Hu Tao
2014-02-07 10:27     ` Peter Maydell
2014-02-11  8:38       ` Hu Tao
2014-02-09  2:15   ` Peter Crosthwaite
2014-02-09 11:52     ` Peter Maydell
2014-02-09 21:01       ` Peter Crosthwaite
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 20/35] target-arm: Implement AArch64 CurrentEL sysreg Peter Maydell
2014-02-09  2:17   ` Peter Crosthwaite
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 21/35] target-arm: Implement AArch64 MIDR_EL1 Peter Maydell
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 22/35] target-arm: Implement AArch64 DAIF system register Peter Maydell
2014-02-09  2:20   ` Peter Crosthwaite
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 23/35] target-arm: Implement AArch64 cache invalidate/clean ops Peter Maydell
2014-02-06 11:45   ` Peter Maydell
2014-02-09  2:22   ` Peter Crosthwaite
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 24/35] target-arm: Implement AArch64 TLB invalidate ops Peter Maydell
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 25/35] target-arm: Implement AArch64 dummy MDSCR_EL1 Peter Maydell
2014-02-09  2:27   ` Peter Crosthwaite
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 26/35] target-arm: Implement AArch64 memory attribute registers Peter Maydell
2014-02-09  2:31   ` Peter Crosthwaite
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 27/35] target-arm: Implement AArch64 SCTLR_EL1 Peter Maydell
2014-02-09  2:32   ` Peter Crosthwaite
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 28/35] target-arm: Implement AArch64 TCR_EL1 Peter Maydell
2014-02-09  2:35   ` Peter Crosthwaite
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 29/35] target-arm: Implement AArch64 VBAR_EL1 Peter Maydell
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 30/35] target-arm: Implement AArch64 TTBR* Peter Maydell
2014-02-09  2:38   ` Peter Crosthwaite
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 31/35] target-arm: Implement AArch64 MPIDR Peter Maydell
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 32/35] target-arm: Implement AArch64 generic timers Peter Maydell
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 33/35] target-arm: Implement AArch64 ID and feature registers Peter Maydell
2014-02-09  2:42   ` Peter Crosthwaite
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 34/35] target-arm: Implement AArch64 dummy breakpoint and watchpoint registers Peter Maydell
2014-02-09  2:44   ` Peter Crosthwaite
2014-01-31 15:45 ` [Qemu-devel] [PATCH v2 35/35] target-arm: Implement AArch64 OSLAR_EL1 sysreg as WI Peter Maydell
2014-02-09  2:44   ` Peter Crosthwaite
2014-02-11  6:11 ` [Qemu-devel] [PATCH v2 00/35] AArch64 system mode: system register rework Peter Crosthwaite
2014-02-11  9:05   ` Peter Maydell
2014-02-11 17:12 ` Peter Maydell

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.