[PATCH v4 0/2] target/loongarch: Add loongson binary translation feature

Bibo Mao posted 2 patches 2 months, 2 weeks ago
There is a newer version of this series
target/loongarch/cpu.c                |  24 ++++++
target/loongarch/cpu.h                |  18 ++++
target/loongarch/kvm/kvm.c            | 117 +++++++++++++++++++++++++-
target/loongarch/loongarch-qmp-cmds.c |   2 +-
target/loongarch/machine.c            |  24 ++++++
5 files changed, 183 insertions(+), 2 deletions(-)
[PATCH v4 0/2] target/loongarch: Add loongson binary translation feature
Posted by Bibo Mao 2 months, 2 weeks ago
Loongson Binary Translation (LBT) is used to accelerate binary
translation. LBT feature is added in kvm mode, not supported in TCG
mode since it is not emulated.

Here lbt=on/off property is added to parse command line to
enable/disable lbt feature. Also fix registers relative lbt are saved
and restored during migration.

---
v3 ... v4:
  1. Verify and enable LBT feature in function kvm_arch_init_vcpu()
     rather than loongarch_cpu_post_init(), since LBT feature is only
     effective in kvm mode and function kvm_feature_supported() can be
     defined as static.
  2. Define structure elment ftop in structure LoongArchBT as uint32_t
     to keep consist with kernel and real HW.

v2 ... v3:
  1. Property lbt is added only if kvm is enabled
  2. Use feature variable lbt with OnOffAuto type, rather than feature
     bitmap flags default_features and forced_features

v1 ... v2:
  1. Add LBT register saving and restoring in vmstate
  2. Add two pseudo feature flags: default_features and forced_features
---
Bibo Mao (2):
  target/loongarch: Add loongson binary translation feature
  target/loongarch: Implement lbt registers save/restore function

 target/loongarch/cpu.c                |  24 ++++++
 target/loongarch/cpu.h                |  18 ++++
 target/loongarch/kvm/kvm.c            | 117 +++++++++++++++++++++++++-
 target/loongarch/loongarch-qmp-cmds.c |   2 +-
 target/loongarch/machine.c            |  24 ++++++
 5 files changed, 183 insertions(+), 2 deletions(-)


base-commit: e638d685ec2a0700fb9529cbd1b2823ac4120c53
-- 
2.39.3