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.
It depends LBT support on kvm side, and it is listed at
https://lore.kernel.org/kvm/20240527074644.836699-1-maobibo@loongson.cn/
---
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 | 53 ++++++++++++++++++
target/loongarch/cpu.h | 18 +++++++
target/loongarch/kvm/kvm.c | 78 +++++++++++++++++++++++++++
target/loongarch/kvm/kvm_loongarch.h | 16 ++++++
target/loongarch/loongarch-qmp-cmds.c | 2 +-
target/loongarch/machine.c | 24 +++++++++
6 files changed, 190 insertions(+), 1 deletion(-)
base-commit: 3b2fe44bb7f605f179e5e7feb2c13c2eb3abbb80
--
2.39.3