All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 0/9] Support disable/enable CPU features for AArch64
@ 2020-08-13 10:26 Peng Liang
  2020-08-13 10:26 ` [RFC 1/9] target/arm: convert isar regs to array Peng Liang
                   ` (12 more replies)
  0 siblings, 13 replies; 28+ messages in thread
From: Peng Liang @ 2020-08-13 10:26 UTC (permalink / raw)
  To: qemu-arm, qemu-devel
  Cc: peter.maydell, drjones, zhang.zhanghailiang, mst, cohuck,
	xiexiangyou, Peng Liang, pbonzini

QEMU does not support disable/enable CPU features in AArch64 for now.
This patch series add support for CPU features in AArch64.

Firstly, we change the isar struct in ARMCPU to an array for
convenience.  Secondly, we add support to configure CPU feautres in
AArch64 and make sure that the ID registers can be synchronized to KVM
so that guest can read the value we configure.  Thirdly, we add a
mechanism to solve the dependency relationship of some CPU features.
Last, we add a KVM_CAP_ARM_CPU_FEATURE to check whether KVM supports to
set CPU features in AArch64.

Also export CPU features to the result of qmp query-cpu-model-expansion
so that libvirt can get the supported CPU features.

Update the ID fields to ARMv8.6 and add some CPU features according to
the new ID fields.

With related KVM patch set[1], we can disable/enable CPU features in
AArch64.

[1] https://patchwork.kernel.org/cover/11711693/

Peng Liang (9):
  target/arm: convert isar regs to array
  target/arm: parse cpu feature related options
  target/arm: register CPU features for property
  target/arm: Allow ID registers to synchronize to KVM
  target/arm: introduce CPU feature dependency mechanism
  target/arm: introduce KVM_CAP_ARM_CPU_FEATURE
  target/arm: Add CPU features to query-cpu-model-expansion
  target/arm: Update ID fields
  target/arm: Add more CPU features

 hw/intc/armv7m_nvic.c     |  48 +--
 linux-headers/linux/kvm.h |   1 +
 target/arm/cpu.c          | 753 ++++++++++++++++++++++++++++++++------
 target/arm/cpu.h          | 245 +++++++------
 target/arm/cpu64.c        | 271 +++++++++-----
 target/arm/cpu_tcg.c      | 250 ++++++-------
 target/arm/helper.c       |  85 +++--
 target/arm/internals.h    |  15 +-
 target/arm/kvm.c          |  38 ++
 target/arm/kvm64.c        |  86 +++--
 target/arm/kvm_arm.h      |  10 +
 target/arm/monitor.c      |   2 +
 12 files changed, 1267 insertions(+), 537 deletions(-)

-- 
2.18.4



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

end of thread, other threads:[~2020-08-15 18:12 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-13 10:26 [RFC 0/9] Support disable/enable CPU features for AArch64 Peng Liang
2020-08-13 10:26 ` [RFC 1/9] target/arm: convert isar regs to array Peng Liang
2020-08-13 10:42   ` Philippe Mathieu-Daudé
2020-08-13 16:11     ` Richard Henderson
2020-08-13 10:26 ` [RFC 2/9] target/arm: parse cpu feature related options Peng Liang
2020-08-13 12:21   ` Andrew Jones
2020-08-15  2:19     ` Peng Liang
2020-08-15  6:51       ` Andrew Jones
2020-08-13 10:26 ` [RFC 3/9] target/arm: register CPU features for property Peng Liang
2020-08-13 12:34   ` Andrew Jones
2020-08-13 10:26 ` [RFC 4/9] target/arm: Allow ID registers to synchronize to KVM Peng Liang
2020-08-13 10:26 ` [RFC 5/9] target/arm: introduce CPU feature dependency mechanism Peng Liang
2020-08-13 12:48   ` Andrew Jones
2020-08-15  2:19     ` Peng Liang
2020-08-15  6:59       ` Andrew Jones
2020-08-13 10:26 ` [RFC 6/9] target/arm: introduce KVM_CAP_ARM_CPU_FEATURE Peng Liang
2020-08-13 11:00   ` Cornelia Huck
2020-08-15  2:19     ` Peng Liang
2020-08-13 10:26 ` [RFC 7/9] target/arm: Add CPU features to query-cpu-model-expansion Peng Liang
2020-08-13 12:56   ` Andrew Jones
2020-08-15  2:19     ` Peng Liang
2020-08-15  7:02       ` Andrew Jones
2020-08-13 10:26 ` [RFC 8/9] target/arm: Update ID fields Peng Liang
2020-08-13 10:26 ` [RFC 9/9] target/arm: Add more CPU features Peng Liang
2020-08-13 14:10 ` [RFC 0/9] Support disable/enable CPU features for AArch64 Andrew Jones
2020-08-13 16:30 ` no-reply
2020-08-13 16:34 ` no-reply
2020-08-13 16:38 ` no-reply

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.