All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-arm] [PATCH v6 00/14] More fully implement ARM PMUv3
@ 2018-10-10 20:37 ` Aaron Lindsay
  0 siblings, 0 replies; 106+ messages in thread
From: Aaron Lindsay @ 2018-10-10 20:37 UTC (permalink / raw)
  To: qemu-arm, Peter Maydell, Alistair Francis, Wei Huang,
	Peter Crosthwaite
  Cc: Aaron Lindsay, Michael Spradling, qemu-devel, Digant Desai

The ARM PMU implementation currently contains a basic cycle counter, but
it is often useful to gather counts of other events, filter them based
on execution mode, and/or be notified on counter overflow. These patches
flesh out the implementations of various PMU registers including
PM[X]EVCNTR and PM[X]EVTYPER, add a struct definition to represent
arbitrary counter types, implement mode filtering, send interrupts on
counter overflow, and add instruction, cycle, and software increment
events.

Since v5 [1] I have:
* Taken a first pass at addressing migration
* Restructured the list of supported events, and ensured they're all
  initialized 
* Fixed aliasing for PMOVSSET
* Added ARM_CP_IO for PMINTENCLR and PMINTENCLR_EL1
* Addressed a few non-code issues (comment style, patch staging,
  spelling, etc.)

[1] - https://lists.gnu.org/archive/html/qemu-devel/2018-06/msg06830.html

Aaron Lindsay (14):
  target/arm: Mark PMINTENCLR and PMINTENCLR_EL1 accesses as possibly
    doing IO
  target/arm: Mask PMOVSR writes based on supported counters
  migration: Add post_save function to VMStateDescription
  target/arm: Swap PMU values before/after migrations
  target/arm: Reorganize PMCCNTR accesses
  target/arm: Filter cycle counter based on PMCCFILTR_EL0
  target/arm: Allow AArch32 access for PMCCFILTR
  target/arm: Implement PMOVSSET
  target/arm: Add array for supported PMU events, generate PMCEID[01]
  target/arm: Finish implementation of PM[X]EVCNTR and PM[X]EVTYPER
  target/arm: PMU: Add instruction and cycle events
  target/arm: PMU: Set PMCR.N to 4
  target/arm: Implement PMSWINC
  target/arm: Send interrupts on PMU counter overflow

 docs/devel/migration.rst    |   9 +-
 include/migration/vmstate.h |   1 +
 migration/vmstate.c         |  10 +-
 target/arm/cpu.c            |  28 +-
 target/arm/cpu.h            |  68 +++-
 target/arm/cpu64.c          |   2 -
 target/arm/helper.c         | 781 ++++++++++++++++++++++++++++++++----
 target/arm/machine.c        |  19 +
 8 files changed, 817 insertions(+), 101 deletions(-)

-- 
2.19.1


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

end of thread, other threads:[~2018-10-18 19:56 UTC | newest]

Thread overview: 106+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-10 20:37 [Qemu-arm] [PATCH v6 00/14] More fully implement ARM PMUv3 Aaron Lindsay
2018-10-10 20:37 ` [Qemu-devel] " Aaron Lindsay
2018-10-10 20:37 ` [Qemu-arm] [PATCH v6 01/14] target/arm: Mark PMINTENCLR and PMINTENCLR_EL1 accesses as possibly doing IO Aaron Lindsay
2018-10-10 20:37   ` [Qemu-devel] " Aaron Lindsay
2018-10-15 19:19   ` Richard Henderson
2018-10-10 20:37 ` [Qemu-arm] [PATCH v6 02/14] target/arm: Mask PMOVSR writes based on supported counters Aaron Lindsay
2018-10-10 20:37   ` [Qemu-devel] " Aaron Lindsay
2018-10-15 19:27   ` [Qemu-arm] " Richard Henderson
2018-10-15 19:27     ` Richard Henderson
2018-10-10 20:37 ` [Qemu-arm] [PATCH v6 03/14] migration: Add post_save function to VMStateDescription Aaron Lindsay
2018-10-10 20:37   ` [Qemu-devel] " Aaron Lindsay
2018-10-15 19:36   ` Richard Henderson
2018-10-15 19:36     ` Richard Henderson
2018-10-16  8:21     ` Dr. David Alan Gilbert
2018-10-16  8:21       ` Dr. David Alan Gilbert
2018-10-16 13:55       ` Aaron Lindsay
2018-10-16 13:55         ` Aaron Lindsay
2018-10-16 14:06         ` [Qemu-arm] " Dr. David Alan Gilbert
2018-10-16 14:06           ` Dr. David Alan Gilbert
2018-10-16 14:41           ` [Qemu-arm] " Aaron Lindsay
2018-10-16 14:41             ` Aaron Lindsay
2018-10-16 14:43             ` [Qemu-arm] " Dr. David Alan Gilbert
2018-10-16 14:43               ` Dr. David Alan Gilbert
2018-10-17 12:07           ` [Qemu-arm] " Juan Quintela
2018-10-17 12:07             ` [Qemu-devel] " Juan Quintela
2018-10-17 12:05     ` [Qemu-arm] " Juan Quintela
2018-10-17 12:05       ` [Qemu-devel] " Juan Quintela
2018-10-10 20:37 ` [Qemu-arm] [PATCH v6 04/14] target/arm: Swap PMU values before/after migrations Aaron Lindsay
2018-10-10 20:37   ` [Qemu-devel] " Aaron Lindsay
2018-10-15 19:45   ` [Qemu-arm] " Richard Henderson
2018-10-15 19:45     ` Richard Henderson
2018-10-15 20:44     ` [Qemu-arm] " Aaron Lindsay
2018-10-15 20:44       ` Aaron Lindsay
2018-10-10 20:37 ` [Qemu-arm] [PATCH v6 05/14] target/arm: Reorganize PMCCNTR accesses Aaron Lindsay
2018-10-10 20:37   ` [Qemu-devel] " Aaron Lindsay
2018-10-15 19:50   ` [Qemu-arm] " Richard Henderson
2018-10-15 19:50     ` Richard Henderson
2018-10-15 20:19     ` [Qemu-arm] " Richard Henderson
2018-10-15 20:19       ` Richard Henderson
2018-10-15 20:30       ` Aaron Lindsay
2018-10-15 20:30         ` Aaron Lindsay
2018-10-15 20:47         ` [Qemu-arm] " Richard Henderson
2018-10-15 20:47           ` Richard Henderson
2018-10-15 20:29     ` [Qemu-arm] " Aaron Lindsay
2018-10-15 20:29       ` Aaron Lindsay
2018-10-10 20:37 ` [Qemu-arm] [PATCH v6 06/14] target/arm: Filter cycle counter based on PMCCFILTR_EL0 Aaron Lindsay
2018-10-10 20:37   ` [Qemu-devel] " Aaron Lindsay
2018-10-15 20:51   ` [Qemu-arm] " Richard Henderson
2018-10-15 20:51     ` Richard Henderson
     [not found]     ` <20181016122542.GM3671@okra.localdomain>
2018-10-16 15:26       ` [Qemu-arm] " Aaron Lindsay
2018-10-16 15:26         ` Aaron Lindsay
2018-10-10 20:37 ` [Qemu-arm] [PATCH v6 07/14] target/arm: Allow AArch32 access for PMCCFILTR Aaron Lindsay
2018-10-10 20:37   ` [Qemu-devel] " Aaron Lindsay
2018-10-15 21:06   ` [Qemu-arm] " Richard Henderson
2018-10-15 21:06     ` Richard Henderson
2018-10-10 20:37 ` [Qemu-arm] [PATCH v6 08/14] target/arm: Implement PMOVSSET Aaron Lindsay
2018-10-10 20:37   ` [Qemu-devel] " Aaron Lindsay
2018-10-15 21:26   ` Richard Henderson
2018-10-10 20:37 ` [Qemu-devel] [PATCH v6 09/14] target/arm: Add array for supported PMU events, generate PMCEID[01] Aaron Lindsay
2018-10-10 20:37   ` Aaron Lindsay
2018-10-15 21:35   ` [Qemu-arm] " Richard Henderson
2018-10-15 21:35     ` Richard Henderson
2018-10-16  9:55     ` [Qemu-arm] " Aaron Lindsay
2018-10-16  9:55       ` Aaron Lindsay
2018-10-10 20:37 ` [Qemu-arm] [PATCH v6 10/14] target/arm: Finish implementation of PM[X]EVCNTR and PM[X]EVTYPER Aaron Lindsay
2018-10-10 20:37   ` [Qemu-devel] " Aaron Lindsay
2018-10-17  0:02   ` [Qemu-arm] " Richard Henderson
2018-10-17  0:02     ` Richard Henderson
2018-10-10 20:37 ` [Qemu-devel] [PATCH v6 11/14] target/arm: PMU: Add instruction and cycle events Aaron Lindsay
2018-10-10 20:37   ` Aaron Lindsay
2018-10-17  0:04   ` [Qemu-arm] " Richard Henderson
2018-10-17  0:04     ` Richard Henderson
2018-10-17 19:47     ` Aaron Lindsay
2018-10-17 19:47       ` Aaron Lindsay
2018-10-17 21:12       ` Richard Henderson
2018-10-17 21:12         ` Richard Henderson
2018-10-18 16:20         ` [Qemu-arm] " Aaron Lindsay
2018-10-18 16:20           ` Aaron Lindsay
2018-10-10 20:37 ` [Qemu-arm] [PATCH v6 12/14] target/arm: PMU: Set PMCR.N to 4 Aaron Lindsay
2018-10-10 20:37   ` [Qemu-devel] " Aaron Lindsay
2018-10-17  0:09   ` [Qemu-arm] " Richard Henderson
2018-10-17  0:09     ` Richard Henderson
2018-10-17 19:20     ` Aaron Lindsay
2018-10-17 19:20       ` Aaron Lindsay
2018-10-17 19:34       ` [Qemu-arm] " Richard Henderson
2018-10-17 19:34         ` Richard Henderson
2018-10-17 20:25         ` [Qemu-arm] " Aaron Lindsay
2018-10-17 20:25           ` Aaron Lindsay
2018-10-17 21:14           ` [Qemu-arm] " Richard Henderson
2018-10-17 21:14             ` Richard Henderson
2018-10-18 10:20             ` [Qemu-arm] " Peter Maydell
2018-10-18 10:20               ` Peter Maydell
2018-10-18 19:55             ` [Qemu-arm] " Aaron Lindsay
2018-10-18 19:55               ` Aaron Lindsay
2018-10-10 20:37 ` [Qemu-devel] [PATCH v6 13/14] target/arm: Implement PMSWINC Aaron Lindsay
2018-10-10 20:37   ` Aaron Lindsay
2018-10-17  0:15   ` [Qemu-arm] " Richard Henderson
2018-10-17  0:15     ` Richard Henderson
2018-10-10 20:37 ` [Qemu-arm] [PATCH v6 14/14] target/arm: Send interrupts on PMU counter overflow Aaron Lindsay
2018-10-10 20:37   ` [Qemu-devel] " Aaron Lindsay
2018-10-16 12:01 ` [Qemu-devel] [PATCH v6 00/14] More fully implement ARM PMUv3 Peter Maydell
2018-10-16 12:01   ` Peter Maydell
2018-10-16 12:46   ` [Qemu-arm] " Aaron Lindsay
2018-10-16 12:46     ` [Qemu-devel] " Aaron Lindsay
2018-10-16 17:29     ` [Qemu-arm] " Richard Henderson
2018-10-16 17:29       ` [Qemu-devel] " Richard Henderson

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.