Merge branch 'fix-cpumap-version' into 'master'

cpu_map : sync_qemu_models : fix versionned models

See merge request libvirt/libvirt!258
This commit is contained in:
Alexandre Derumier 2024-04-03 12:27:51 +00:00
commit f529a1360d

View File

@ -429,9 +429,10 @@ def expand_model(model):
"""Expand a qemu cpu model description that has its feature split up into """Expand a qemu cpu model description that has its feature split up into
different fields and may have differing versions into several libvirt- different fields and may have differing versions into several libvirt-
friendly cpu models.""" friendly cpu models."""
name = model.pop(".name")
result = { result = {
"name": model.pop(".name"), "name": name,
"vendor": translate_vendor(model.pop(".vendor")), "vendor": translate_vendor(model.pop(".vendor")),
"features": set(), "features": set(),
"extra": dict()} "extra": dict()}
@ -454,7 +455,8 @@ def expand_model(model):
for version in versions: for version in versions:
result = copy.deepcopy(result) result = copy.deepcopy(result)
result["name"] = version.pop(".alias", result["name"]) version_num = version.pop(".version", '1')
result["name"] = name + "-v" + version_num
props = version.pop(".props", dict()) props = version.pop(".props", dict())
for k, v in props: for k, v in props:
@ -475,6 +477,11 @@ def expand_model(model):
yield result yield result
alias = version.pop(".alias", None)
if alias:
result = copy.deepcopy(result)
result["name"] = alias
yield result
def output_model(f, model): def output_model(f, model):
if model["extra"]: if model["extra"]: