From patchwork Wed May 7 23:14:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierrick Bouvier X-Patchwork-Id: 888120 Delivered-To: patch@linaro.org Received: by 2002:a5d:4683:0:b0:38f:210b:807b with SMTP id u3csp624757wrq; Wed, 7 May 2025 16:16:06 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUCTTJPGELJhzOgUkldpbb9Q0NS1fT1Pyoc+Q/OqCS9JhxaqUnHFyE/FvypQrI8i/3w/NG+Kg==@linaro.org X-Google-Smtp-Source: AGHT+IEBWoCGgjCRtR25ckLCb+XekBXf+KT46RXnKiEaLG+RVyHoODWJP9pWG4aUT2y9vEM6UFUW X-Received: by 2002:a05:6102:2b8b:b0:4c4:df56:6a2b with SMTP id ada2fe7eead31-4dc73790635mr4056399137.4.1746659766259; Wed, 07 May 2025 16:16:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746659766; cv=none; d=google.com; s=arc-20240605; b=Bfda93Bs0soo/A1dX3D1sMIrDNQJvqXOpCFtkPWJmtYH08PUgafz7Ab9bH781FXbue ukoFt1+a4/HK00c5qWbV8idEgDWOp0F7yvXb+3WlWfezxOzaUb4hUIGj/z/nwkGua+vk thAA/AgVlrjE59hs+4dYU/wBKaMcujM1HIIHUBZZBL48sjRiZbZxuTKcHcLurxynzJ9f EXL64zHnT1DtvqoS/CmIQ8PlIUkl7oEukfLBO2muNzDVKFL52nbvbPqynOYePdw17bOH g2UMclvwBkSgaDN7fpd/jiHtdy6WZH9Ki1pQsdp8w9tsYpUjpjOodDE/XXj3KOQuwUuk nN8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=PktLga2mkUHG38EkDlv7DyiIOAqfi9auOds2cIP2UXM=; fh=C3ex6Ep0JlVVkO8k9Lw7rcozgcHcGXw85BZvhIOfcrk=; b=P3CBp35Nwvqth2Ju3aEHFH/ZVZElwRGIELrYIFIhnDiwYkZpOSm/6NT5ZU8F/mtJvg lc3W8LcYmQAZ+bYYXHqXTWQbQNFur5XWI+26a+8ZJl4G2BHDBqeQybg1dX4CRR6LiBMa xJWVsn41u4d3Sw+W1PWATZuGIrDYaIhkniO1uh0pxucXd/fq9hZ5Bw39ajtkzzoGR5ZA yf+VsX4Ko2onLWL6W1H7+UUMRDmOivIflDLcVlZ8nGNDONYvSmYiq4fvLZd8dmkl19FM zxpjjKrcGR45Y1VtcLthuT2/mlqy7Ilb7gG3D0qfK1rN8E2Q0HeLBwYdxg/N28MEyLg6 Jv6g==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=tQIFC7r7; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id ada2fe7eead31-4db1c629ca5si2041705137.22.2025.05.07.16.16.06 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 May 2025 16:16:06 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=tQIFC7r7; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uCnyc-0000dc-Fu; Wed, 07 May 2025 19:14:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uCnya-0000dN-CF for qemu-devel@nongnu.org; Wed, 07 May 2025 19:14:56 -0400 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uCnyX-00079O-RP for qemu-devel@nongnu.org; Wed, 07 May 2025 19:14:56 -0400 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-22e70a9c6bdso7291415ad.3 for ; Wed, 07 May 2025 16:14:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746659692; x=1747264492; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PktLga2mkUHG38EkDlv7DyiIOAqfi9auOds2cIP2UXM=; b=tQIFC7r7Q322xg7WlAAr2akaCKHIk7K1u0MfAapmNwtR69yVotd+mBNFf3DWo8aDZx 1mobB97LLChTk4d/vrfXzUQsL/k5yYAXbCYPCxmpl3mJ3bN9X0xD6EKbkIrpQ4mZ7pZm qJY7OjuchLFhncz2pTDRX/22hWe4PDbAoWhzWTj4aCW1hF7632j+K1djC12zWhRwhc7b oF0RSybgQocFHYZrjhmmYbDza2bI06GUcYQpi5Gva04UjWMJQheTPaKkhj4019AcpgwQ jfwXsbK2b7JzyL11MdQ2j+jmqvbQxnVZyOAZn77ujtrW+H90HoFXU72pC/3Vrfw1fe4i CcdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746659692; x=1747264492; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PktLga2mkUHG38EkDlv7DyiIOAqfi9auOds2cIP2UXM=; b=QF+Sf2qYKRSW/cLfgWU6EHe+Qm9DUkhb+Ou6mbqTLi1tiuEizn5rC5IxCoh4wo3mwH BxJyx+gYW7GVMSQyss6V1eSvxMbTllHQ7POvpddrhkhPp4uM9RL7xQ28QrKHBpr7ItsU M/nbnkoqlOAYdkj3HkguLR2rfsJHF3bd6xfyi2vdKHLm8hPbl8hVtDsq0MXcM27a0nOQ 1OzEwcnaHMNtVxIGHv+ph6AVyZaL9iHw5aBIijI4yBQBPrf+cczOBsxqtBKXEHlAl6JO RoGtqOmBRBnHnik+9OMDJRtQJmQSOAUAUqXK2t7fUHnqkySHEn7UZaGS1qCLsHvkQ4Dk +yRw== X-Gm-Message-State: AOJu0Yy/WYoG9rctlV+LZmcJr6G3HQYNLv4JzIEqmF4lEkf8DGjSC9S+ DO4dW9fpOZNOmLg9/rnyBFrAxu09RPCLyfraPwAXRVnAKHP2rbsjmcvmusbtfWPDaes5EMF57+m iZxBeQg== X-Gm-Gg: ASbGncsFRtZhY3O0KEX3T9teN9LbBLCtgIyaxDuxtdThZUwPUjHUwGueORf45IAR+Eg pDNl/KUR/QTu3BcZE35/jWasDIFWPhf3CxOV+g1l7fb4q3uImSd5noL2OZIlZBvIOiah4MKbBCE ddzBhoZe6JLe41/6WFyi9aE9opCi2zuxnNucDACzZTdrMNew9vvbhuHQ2JtPWhwOFlcPFP3kB/E 91E5gMX/b+QL2HAPyJXL2OFdbp9zENCmVIkrMWxhF/h/JMljlIBFi7luvZ3vy4f/sG7cJv0y9av AUHxNVLmbXfyiGFUosUwv9ncjH0ddugmlHRJg7GN X-Received: by 2002:a17:903:188:b0:223:65a9:ab86 with SMTP id d9443c01a7336-22e5ea5514cmr84187935ad.12.1746659692156; Wed, 07 May 2025 16:14:52 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e421a7dafsm40103205ad.69.2025.05.07.16.14.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 16:14:51 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , alex.bennee@linaro.org, stefanha@redhat.com, peter.maydell@linaro.org, Markus Armbruster , richard.henderson@linaro.org, pbonzini@redhat.com, jsnow@redhat.com, philmd@linaro.org, berrange@redhat.com, thuth@redhat.com, Michael Roth Subject: [PATCH 01/13] qapi: introduce 'runtime_if' for QAPI json Date: Wed, 7 May 2025 16:14:31 -0700 Message-ID: <20250507231442.879619-2-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250507231442.879619-1-pierrick.bouvier@linaro.org> References: <20250507231442.879619-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::636; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x636.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_FILL_THIS_FORM_SHORT=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org This new entry can be used in QAPI json to specify a runtime conditional to expose any entry, similar to existing 'if', that applies at compile time, thanks to ifdef. The element is always defined in C, but not exposed through the schema and visit functions, thus being hidden for a QMP consumer. QAPISchemaIfCond is extended to parse this information. A first version was tried duplicating this, but this proved to be much more boilerplate than needed to pass information through all function calls. 'if' and 'runtime_if' can be combined elegantly on a single item, allowing to restrict an element to be present based on compile time defines, and runtime checks at the same time. Note: This commit only adds parsing of runtime_if, and does not hide anything yet. For review: - I don't really like "runtime_if" name. What would make sense, IMHO, is to rename existing 'if' to 'ifdef', and reuse 'if' for 'runtime_if'. Since it requires invasive changes, I would prefer to get agreement before wasting time in case you prefer any other naming convention. Let me know what you'd like. - As mentioned in second paragraph, I think our best implementation would be to extend existing QAPISchemaIfCond, as it's really complicated to extend all call sites if we have another new object. - No tests/doc added at this time, as I prefer to wait that we decide about naming and proposed approach first. Signed-off-by: Pierrick Bouvier --- scripts/qapi/common.py | 16 +++++++++++- scripts/qapi/expr.py | 9 ++++--- scripts/qapi/gen.py | 56 +++++++++++++++++++++++++++++++++++++++++- scripts/qapi/schema.py | 44 ++++++++++++++++++++++++--------- 4 files changed, 107 insertions(+), 18 deletions(-) diff --git a/scripts/qapi/common.py b/scripts/qapi/common.py index d7c8aa3365c..0e8e2abeb58 100644 --- a/scripts/qapi/common.py +++ b/scripts/qapi/common.py @@ -229,6 +229,8 @@ def gen_infix(operator: str, operands: Sequence[Any]) -> str: def cgen_ifcond(ifcond: Optional[Union[str, Dict[str, Any]]]) -> str: return gen_ifcond(ifcond, 'defined(%s)', '!%s', ' && ', ' || ') +def cgen_runtime_ifcond(ifcond: Optional[Union[str, Dict[str, Any]]]) -> str: + return gen_ifcond(ifcond, '%s', '!%s', ' && ', ' || ') def docgen_ifcond(ifcond: Optional[Union[str, Dict[str, Any]]]) -> str: # TODO Doc generated for conditions needs polish @@ -242,7 +244,6 @@ def gen_if(cond: str) -> str: #if %(cond)s ''', cond=cond) - def gen_endif(cond: str) -> str: if not cond: return '' @@ -250,6 +251,19 @@ def gen_endif(cond: str) -> str: #endif /* %(cond)s */ ''', cond=cond) +def gen_runtime_if(cond: str) -> str: + if not cond: + return '' + return mcgen(''' +if (%(cond)s) { +''', cond=cond) + +def gen_runtime_endif(cond: str) -> str: + if not cond: + return '' + return mcgen(''' +} /* (%(cond)s) */ +''', cond=cond) def must_match(pattern: str, string: str) -> Match[str]: match = re.match(pattern, string) diff --git a/scripts/qapi/expr.py b/scripts/qapi/expr.py index cae0a083591..5ae26395964 100644 --- a/scripts/qapi/expr.py +++ b/scripts/qapi/expr.py @@ -392,7 +392,8 @@ def check_type_implicit(value: Optional[object], permit_underscore=permissive) if c_name(key, False) == 'u' or c_name(key, False).startswith('has_'): raise QAPISemError(info, "%s uses reserved name" % key_source) - check_keys(arg, info, key_source, ['type'], ['if', 'features']) + check_keys(arg, info, key_source, ['type'], ['if', 'features', + 'runtime_if']) check_if(arg, info, key_source) check_features(arg.get('features'), info) check_type_name_or_array(arg['type'], info, key_source) @@ -642,7 +643,7 @@ def check_exprs(exprs: List[QAPIExpression]) -> List[QAPIExpression]: elif meta == 'union': check_keys(expr, info, meta, ['union', 'base', 'discriminator', 'data'], - ['if', 'features']) + ['if', 'runtime_if', 'features']) normalize_members(expr.get('base')) normalize_members(expr['data']) check_union(expr) @@ -659,8 +660,8 @@ def check_exprs(exprs: List[QAPIExpression]) -> List[QAPIExpression]: elif meta == 'command': check_keys(expr, info, meta, ['command'], - ['data', 'returns', 'boxed', 'if', 'features', - 'gen', 'success-response', 'allow-oob', + ['data', 'returns', 'boxed', 'if', 'runtime_if', + 'features', 'gen', 'success-response', 'allow-oob', 'allow-preconfig', 'coroutine']) normalize_members(expr.get('data')) check_command(expr) diff --git a/scripts/qapi/gen.py b/scripts/qapi/gen.py index d3c56d45c89..5082eb331f4 100644 --- a/scripts/qapi/gen.py +++ b/scripts/qapi/gen.py @@ -109,6 +109,37 @@ def _wrap_ifcond(ifcond: QAPISchemaIfCond, before: str, after: str) -> str: return out +def _wrap_runtime_ifcond(ifcond: QAPISchemaIfCond, before: str, after: str) -> str: + if before == after: + return after # suppress empty #if ... #endif + + assert after.startswith(before) + out = before + added = after[len(before):] + if added[0] == '\n': + out += '\n' + added = added[1:] + out += ifcond.gen_runtime_if() + out += added + out += ifcond.gen_runtime_endif() + return out + + +def _wrap_runtime_ifcond(ifcond: QAPISchemaIfCond, before: str, after: str) -> str: + if before == after: + return after # suppress empty #if ... #endif + + assert after.startswith(before) + out = before + added = after[len(before):] + if added[0] == '\n': + out += '\n' + added = added[1:] + out += ifcond.gen_runtime_if() + out += added + out += ifcond.gen_runtime_endif() + return out + def build_params(arg_type: Optional[QAPISchemaObjectType], boxed: bool, extra: Optional[str] = None) -> str: @@ -137,12 +168,17 @@ class QAPIGenCCode(QAPIGen): def __init__(self, fname: str): super().__init__(fname) self._start_if: Optional[Tuple[QAPISchemaIfCond, str, str]] = None + self._start_runtime_if: Optional[Tuple[QAPISchemaIfCond, str, str]] = None def start_if(self, ifcond: QAPISchemaIfCond) -> None: assert self._start_if is None self._start_if = (ifcond, self._body, self._preamble) - def end_if(self) -> None: + def start_runtime_if(self, ifcond: QAPISchemaIfCond) -> None: + assert self._start_runtime_if is None + self._start_runtime_if = (ifcond, self._body, self._preamble) + + def end_if(self, runtime: bool = False) -> None: assert self._start_if is not None self._body = _wrap_ifcond(self._start_if[0], self._start_if[1], self._body) @@ -150,8 +186,18 @@ def end_if(self) -> None: self._start_if[2], self._preamble) self._start_if = None + def end_runtime_if(self, runtime: bool = False) -> None: + assert self._start_runtime_if is not None + self._body = _wrap_runtime_ifcond(self._start_runtime_if[0], + self._start_runtime_if[1], self._body) + self._preamble = _wrap_runtime_ifcond(self._start_runtime_if[0], + self._start_runtime_if[2], + self._preamble) + self._start_runtime_if = None + def get_content(self) -> str: assert self._start_if is None + assert self._start_runtime_if is None return super().get_content() @@ -231,6 +277,14 @@ def ifcontext(ifcond: QAPISchemaIfCond, *args: QAPIGenCCode) -> Iterator[None]: for arg in args: arg.end_if() +@contextmanager +def runtime_ifcontext(ifcond: QAPISchemaIfCond, + *args: QAPIGenCCode) -> Iterator[None]: + for arg in args: + arg.start_runtime_if(ifcond) + yield + for arg in args: + arg.end_runtime_if() class QAPISchemaMonolithicCVisitor(QAPISchemaVisitor): def __init__(self, diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py index cbe3b5aa91e..533d0dfe088 100644 --- a/scripts/qapi/schema.py +++ b/scripts/qapi/schema.py @@ -36,9 +36,12 @@ POINTER_SUFFIX, c_name, cgen_ifcond, + cgen_runtime_ifcond, docgen_ifcond, - gen_endif, gen_if, + gen_endif, + gen_runtime_if, + gen_runtime_endif, ) from .error import QAPIError, QAPISemError, QAPISourceError from .expr import check_exprs @@ -50,8 +53,10 @@ class QAPISchemaIfCond: def __init__( self, ifcond: Optional[Union[str, Dict[str, object]]] = None, + runtime_ifcond: Optional[Union[str, Dict[str, object]]] = None, ) -> None: self.ifcond = ifcond + self.runtime_ifcond = runtime_ifcond def _cgen(self) -> str: return cgen_ifcond(self.ifcond) @@ -65,8 +70,17 @@ def gen_endif(self) -> str: def docgen(self) -> str: return docgen_ifcond(self.ifcond) + def _cgen_runtime(self) -> str: + return cgen_runtime_ifcond(self.runtime_ifcond) + + def gen_runtime_if(self) -> str: + return gen_runtime_if(self._cgen_runtime()) + + def gen_runtime_endif(self) -> str: + return gen_runtime_endif(self._cgen_runtime()) + def is_present(self) -> bool: - return bool(self.ifcond) + return bool(self.ifcond) or bool(self.runtime_ifcond) class QAPISchemaEntity: @@ -1281,13 +1295,15 @@ def _make_features( self._feature_dict[feat.name] = feat return [QAPISchemaFeature(f['name'], info, - QAPISchemaIfCond(f.get('if'))) + QAPISchemaIfCond(f.get('if'), + f.get('runtime_if'))) for f in features] def _make_enum_member( self, name: str, ifcond: Optional[Union[str, Dict[str, Any]]], + runtime_ifcond: Optional[Union[str, Dict[str, Any]]], features: Optional[List[Dict[str, Any]]], info: Optional[QAPISourceInfo], ) -> QAPISchemaEnumMember: @@ -1299,6 +1315,7 @@ def _make_enum_members( self, values: List[Dict[str, Any]], info: Optional[QAPISourceInfo] ) -> List[QAPISchemaEnumMember]: return [self._make_enum_member(v['name'], v.get('if'), + v.get('runtime_if'), v.get('features'), info) for v in values] @@ -1338,7 +1355,7 @@ def _def_enum_type(self, expr: QAPIExpression) -> None: name = expr['enum'] data = expr['data'] prefix = expr.get('prefix') - ifcond = QAPISchemaIfCond(expr.get('if')) + ifcond = QAPISchemaIfCond(expr.get('if'), expr.get('runtime_if')) info = expr.info features = self._make_features(expr.get('features'), info) self._def_definition(QAPISchemaEnumType( @@ -1369,7 +1386,8 @@ def _make_members( info: QAPISourceInfo, ) -> List[QAPISchemaObjectTypeMember]: return [self._make_member(key, value['type'], - QAPISchemaIfCond(value.get('if')), + QAPISchemaIfCond(value.get('if'), + value.get('runtime_if')), value.get('features'), info) for (key, value) in data.items()] @@ -1378,7 +1396,7 @@ def _def_struct_type(self, expr: QAPIExpression) -> None: base = expr.get('base') data = expr['data'] info = expr.info - ifcond = QAPISchemaIfCond(expr.get('if')) + ifcond = QAPISchemaIfCond(expr.get('if'), expr.get('runtime_if')) features = self._make_features(expr.get('features'), info) self._def_definition(QAPISchemaObjectType( name, info, expr.doc, ifcond, features, base, @@ -1404,7 +1422,7 @@ def _def_union_type(self, expr: QAPIExpression) -> None: data = expr['data'] assert isinstance(data, dict) info = expr.info - ifcond = QAPISchemaIfCond(expr.get('if')) + ifcond = QAPISchemaIfCond(expr.get('if'), expr.get('runtime_if')) features = self._make_features(expr.get('features'), info) if isinstance(base, dict): base = self._make_implicit_object_type( @@ -1412,7 +1430,8 @@ def _def_union_type(self, expr: QAPIExpression) -> None: 'base', self._make_members(base, info)) variants = [ self._make_variant(key, value['type'], - QAPISchemaIfCond(value.get('if')), + QAPISchemaIfCond(value.get('if'), + value.get('runtime_if')), info) for (key, value) in data.items()] members: List[QAPISchemaObjectTypeMember] = [] @@ -1426,12 +1445,13 @@ def _def_alternate_type(self, expr: QAPIExpression) -> None: name = expr['alternate'] data = expr['data'] assert isinstance(data, dict) - ifcond = QAPISchemaIfCond(expr.get('if')) + ifcond = QAPISchemaIfCond(expr.get('if'), expr.get('runtime_if')) info = expr.info features = self._make_features(expr.get('features'), info) variants = [ self._make_variant(key, value['type'], - QAPISchemaIfCond(value.get('if')), + QAPISchemaIfCond(value.get('if'), + value.get('runtime_if')), info) for (key, value) in data.items()] tag_member = QAPISchemaObjectTypeMember('type', info, 'QType', False) @@ -1450,7 +1470,7 @@ def _def_command(self, expr: QAPIExpression) -> None: allow_oob = expr.get('allow-oob', False) allow_preconfig = expr.get('allow-preconfig', False) coroutine = expr.get('coroutine', False) - ifcond = QAPISchemaIfCond(expr.get('if')) + ifcond = QAPISchemaIfCond(expr.get('if'), expr.get('runtime_if')) info = expr.info features = self._make_features(expr.get('features'), info) if isinstance(data, dict): @@ -1469,7 +1489,7 @@ def _def_event(self, expr: QAPIExpression) -> None: name = expr['event'] data = expr.get('data') boxed = expr.get('boxed', False) - ifcond = QAPISchemaIfCond(expr.get('if')) + ifcond = QAPISchemaIfCond(expr.get('if'), expr.get('runtime_if')) info = expr.info features = self._make_features(expr.get('features'), info) if isinstance(data, dict): From patchwork Wed May 7 23:14:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierrick Bouvier X-Patchwork-Id: 888125 Delivered-To: patch@linaro.org Received: by 2002:a5d:4683:0:b0:38f:210b:807b with SMTP id u3csp625159wrq; Wed, 7 May 2025 16:17:17 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUDZuZR7W/t65t6MDJmJFfVRAY4QjinMarFAa5JXpMUnTewhDyHkvUr4hMyzyOeiogppnV4Sg==@linaro.org X-Google-Smtp-Source: AGHT+IHc4MdRChJFS50EwSl/6ojSV/Y7Dy04+VEA+gFe73U6hGO6gxks4Oi9/N2dxfp0su7BmVJH X-Received: by 2002:ad4:5b84:0:b0:6e8:fa72:be49 with SMTP id 6a1803df08f44-6f542a02006mr63646616d6.12.1746659837140; Wed, 07 May 2025 16:17:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746659837; cv=none; d=google.com; s=arc-20240605; b=hPH1XHgB86ZYXLhp5v3/ctSfZmT/x8DpzYOwUb82GsqqM4DaP1vBg6OYSh8wb3ydw/ Mii5LYNelkxiZb2ZFFWtIVjivPjhfwdjEKSpq+jlLC9JgxjXfUScp/T8InzXKuWh47SX j3gIWvWmY/of0ZxFLS3mximktmEh0ijREZJkYs4MVW1bqDNbwwKFGyHEkj6pPfmIh950 GLHov1IG/6/3q/PFc5GwLaqCHv+6jlFKXRa/7QX4H+9gsCL5whMW9nQIT5tNUij/ZqVo 6ApTZqI4OKgUwBENMWI+or0Ov5rnVzQegO/Qvn2YJ5dYMp4w472jqCy8dtx04NICJY50 C11Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=hmVgZ2T/BR9KDwjoUJTnrLXEqdGiV/GeYJSs5v9aKiI=; fh=C3ex6Ep0JlVVkO8k9Lw7rcozgcHcGXw85BZvhIOfcrk=; b=Ifyew/Lq0mUFwqPxrgzUpE8Bb9OBseuxanWaXyjXfs2DQ+U3+Q1JqVirZs2ToZ94eQ Gg2yz3WV6CJk2ArI4sHdgFXOEo7jPmeHNaPpyF3s4HGcsKbY+cMjpj4CKRz0t38DkPQW t+RJTi/jLw+C/VGAa0hjB7KlOA5cNGBP2I65TBd4I1jxMtmVpTZlMiZOBt3dB3CLPGn3 8/8AqfqL1Imn686Gu8puHdKUTmZ763jCeAvSGYHWs8FOqrxD2qDHVn8T1x6zqEqQ5S8c zu3TqD8s1Yq56hRMh7wUbAQN8jqB7CdKV0CbZtl7CCezko8TQ9AXQdm2gy5WcWEFMnNz Vqkw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=fXmHNQ9n; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6f54278ca43si28860216d6.190.2025.05.07.16.17.16 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 May 2025 16:17:17 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=fXmHNQ9n; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uCnye-0000eY-1x; Wed, 07 May 2025 19:15:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uCnyc-0000dg-1S for qemu-devel@nongnu.org; Wed, 07 May 2025 19:14:58 -0400 Received: from mail-pg1-x533.google.com ([2607:f8b0:4864:20::533]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uCnyY-00079W-OR for qemu-devel@nongnu.org; Wed, 07 May 2025 19:14:57 -0400 Received: by mail-pg1-x533.google.com with SMTP id 41be03b00d2f7-b0b2d0b2843so229821a12.2 for ; Wed, 07 May 2025 16:14:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746659693; x=1747264493; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hmVgZ2T/BR9KDwjoUJTnrLXEqdGiV/GeYJSs5v9aKiI=; b=fXmHNQ9nUXJt/3Ai9Da6fTB5b+Jw8UZz7YPehttkWh7TdDu0xNhvgJ40XYFVMa+u8F MZnONw04g3Su6CSFbgx+aus65C21k+UCTiX3vfrC58AXYw7xzXQ2SdqmSQxZfn83ZuOx 4EdA1i8I0uBP4MtNc5ruVPCaOAZaJSwqGF5eKVmQ4wlnFs48yeTke8jLK050OUQtC+IQ IDoPRCg1/CWBOTxJkM3AqIDLOGD197orkcUTsRbt2kFrDq0uXge+e07HRwDOep5ujnkT StIXJk1NWqtwnYyFHaPWJOdkIq+EbhL1XbFmLywAcZK8CQpYIBLm2exdPoEJyY6OKM52 HXTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746659693; x=1747264493; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hmVgZ2T/BR9KDwjoUJTnrLXEqdGiV/GeYJSs5v9aKiI=; b=Twkk7ntKYAlVpIhFO2gZKwEQXd1/9jy/A+S85jD1TVwokOd+ten7owqLmJLg82VNzZ w9J36bG062ZKx2IrDJuZ6cSnYa8sndQV0Bn0LpbtVkmis5tzssc1lwIRw/fqDozy2/x/ vmqv4PlEaNzsDohqZuqmXUG1IFrF+YqX3UrlznDuSXS5Pleg4TKTHHf8BHc9uiujUXkD OonuManvNe/JBmRAmpBuhqfjnCWI/T8mXz57YIwFl5umIqa/NCMLBttIU49vIk6nQEcO eQZgjUsvlsl/cd81tffe7Q504X4a8CjiFsAwcCLxG+f81mpWqqivwv23aKaNZT6PFUKs wdLA== X-Gm-Message-State: AOJu0YzrcGuEOaph/iKaiFuBJvBEQ2Nl94HXOldcNa85mbBsoZNSaUpw +WXAn2/8z14VrSqO+5+e/xDgP304WtjECxchd1buZK75LVtewtVTbXSFI4kBqcH5PjG+vQ61jKr dFhgzDA== X-Gm-Gg: ASbGncvsKtDX3Im4U+txRNlOrIga5/oLZt6VQh0Gk1XUZqCxoUvNM43CZV9t+7E2cdB j1w0Y/vD3hy8q8T5qULz0TS39qmb+0WV7I3OPIVqGAFdhIV7nLRNmuukZLi1TL4GmrGYySAZ7Ps kPFDdVHkPpyFN5EePVNFBTZi8fP4O5obPTtGBE2tzeBsplwud5hDG4QzGipFxhYxV4pPskms2Lg IaNK5L7D8fMEK58jJbOzLReXDyn95XsXvJhjBWqGVro9aCPCzCFma5t1I6eadb3Zp9SxUcKy4Q/ Q80HKLuBXsWSquVXVHORu8IbK7qbOFW8iF4+IscnKPc2bJtjmtc= X-Received: by 2002:a17:903:22cd:b0:224:26fd:82e5 with SMTP id d9443c01a7336-22e5ee1d5a3mr77165335ad.48.1746659693218; Wed, 07 May 2025 16:14:53 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e421a7dafsm40103205ad.69.2025.05.07.16.14.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 16:14:52 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , alex.bennee@linaro.org, stefanha@redhat.com, peter.maydell@linaro.org, Markus Armbruster , richard.henderson@linaro.org, pbonzini@redhat.com, jsnow@redhat.com, philmd@linaro.org, berrange@redhat.com, thuth@redhat.com, Michael Roth Subject: [PATCH 02/13] qapi/introspect: generate schema as a QObject directly Date: Wed, 7 May 2025 16:14:32 -0700 Message-ID: <20250507231442.879619-3-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250507231442.879619-1-pierrick.bouvier@linaro.org> References: <20250507231442.879619-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::533; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pg1-x533.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Instead of defining a const QLitObject, we implement a function to directly return the QObject associated. The benefit is that we can now have a non static definition for the QLitObject, and so we can assign it using non static initializer. This will be used in next commits to initialize a .hidden field per element, at runtime. Signed-off-by: Pierrick Bouvier --- monitor/qmp-cmds-control.c | 2 +- tests/unit/test-qobject-input-visitor.c | 6 +++--- scripts/qapi/introspect.py | 9 ++++++--- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/monitor/qmp-cmds-control.c b/monitor/qmp-cmds-control.c index 150ca9f5cb6..1d52d4ca8e9 100644 --- a/monitor/qmp-cmds-control.c +++ b/monitor/qmp-cmds-control.c @@ -203,7 +203,7 @@ static SchemaInfoList *zap_deprecated(SchemaInfoList *schema) SchemaInfoList *qmp_query_qmp_schema(Error **errp) { - QObject *obj = qobject_from_qlit(&qmp_schema_qlit); + QObject *obj = qmp_schema_qobject(); Visitor *v = qobject_input_visitor_new(obj); SchemaInfoList *schema = NULL; diff --git a/tests/unit/test-qobject-input-visitor.c b/tests/unit/test-qobject-input-visitor.c index 84bdcdf702e..5d961325f95 100644 --- a/tests/unit/test-qobject-input-visitor.c +++ b/tests/unit/test-qobject-input-visitor.c @@ -1184,10 +1184,10 @@ static void test_visitor_in_fail_alternate(TestInputVisitorData *data, } static void do_test_visitor_in_qmp_introspect(TestInputVisitorData *data, - const QLitObject *qlit) + QObject *qlit) { g_autoptr(SchemaInfoList) schema = NULL; - QObject *obj = qobject_from_qlit(qlit); + QObject *obj = qlit; Visitor *v; v = qobject_input_visitor_new(obj); @@ -1202,7 +1202,7 @@ static void do_test_visitor_in_qmp_introspect(TestInputVisitorData *data, static void test_visitor_in_qmp_introspect(TestInputVisitorData *data, const void *unused) { - do_test_visitor_in_qmp_introspect(data, &test_qmp_schema_qlit); + do_test_visitor_in_qmp_introspect(data, test_qmp_schema_qobject()); } int main(int argc, char **argv) diff --git a/scripts/qapi/introspect.py b/scripts/qapi/introspect.py index 89ee5d5f176..e0269bef0ce 100644 --- a/scripts/qapi/introspect.py +++ b/scripts/qapi/introspect.py @@ -193,15 +193,18 @@ def visit_end(self) -> None: for typ in self._used_types: typ.visit(self) # generate C - name = c_name(self._prefix, protect=False) + 'qmp_schema_qlit' + name = c_name(self._prefix, protect=False) + 'qmp_schema_qobject' self._genh.add(mcgen(''' #include "qobject/qlit.h" -extern const QLitObject %(c_name)s; +QObject *%(c_name)s(void); ''', c_name=c_name(name))) self._genc.add(mcgen(''' -const QLitObject %(c_name)s = %(c_string)s; +QObject *%(c_name)s(void) { + const QLitObject res = %(c_string)s; + return qobject_from_qlit(&res); +} ''', c_name=c_name(name), c_string=_tree_to_qlit(self._trees))) From patchwork Wed May 7 23:14:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierrick Bouvier X-Patchwork-Id: 888126 Delivered-To: patch@linaro.org Received: by 2002:a5d:4683:0:b0:38f:210b:807b with SMTP id u3csp625163wrq; Wed, 7 May 2025 16:17:17 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVSp7s0ByT3N0+yhLCeMlIdcDLHPmd33YMzQwDk0HBEMbcWNrkrDNL/Lrno9+/mWrB6LMEAaw==@linaro.org X-Google-Smtp-Source: AGHT+IGM3ebrG8E/XV4CVZ6dlvNjfTzzfHrP1/JOSBVVLsRUJDuhk1Ju6i3s0hFuwMm0vPN58upA X-Received: by 2002:a05:620a:472c:b0:7c9:2537:be51 with SMTP id af79cd13be357-7caf738a136mr730549185a.24.1746659837280; Wed, 07 May 2025 16:17:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746659837; cv=none; d=google.com; s=arc-20240605; b=N3xXodXbC9F7qYvBCqvpCLbY1zlq9XKiUMr3WbbkDMgVGe7nPd4pY0sV5/97P2+3Pe XWKRERC0hcQVDLOH9WddCrhtpfD4Wfn0dMRMYq0CeQ16BKjPLK4KTzA2Hz8hCiKIKRpz jkKdffgTmM1iCowd6zdo40T6eoYRSauKogGhFshx1x0IGlEFpUUdGZ9aNuUQHXYXHA4Z DRqUoDPR16E0onk4/hIVu2DEvtkpDsAnRjHn3Xeq5BsF8uHAKeX34kHJTDA9M+cwWPhS AIj1nzRWJkpEDrGAcl2QU03Wj1PqX7czDZlU/dTYb8QoXzj1OXrcUwAnopWMgWwZmS6D cEKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=VhiIRKHyUZ235NNHNWt0hyw55Q2IbZusuEz+nlETwVY=; fh=C3ex6Ep0JlVVkO8k9Lw7rcozgcHcGXw85BZvhIOfcrk=; b=GS6fyntsoPzkzXeyrZPvL+sEUm08lMdqnvsTUnVgSfA18FhifxjomJjGMHJ5t8N/CQ 7anOf5Vnp2Q8oFGFHLu0xIAKb9uISS2ft4N34yawoyJMtkh8bGWXTou4a0pgnq/SjPhW T3LkgBBr9z6Rm8CcJzNWIMJI8QFvU1okanfQ/LC/IDgcJPpX8L7ve6wEk8veBKVufTtK KVNNHe3xdt39t7rmdEjtJgKdQXePQMXPrqNjkr878x7+POxZbUsdqmmDhAqPzrXKc14S FlAPmpPTcYilxsmhhm2SZeFetaO+j0dQyu5kQ+I4TpRKk+0QqRUDKWEaKJshXBL8yUkA nCoA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ibhAnEEx; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7caf75b1005si303969785a.417.2025.05.07.16.17.17 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 May 2025 16:17:17 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ibhAnEEx; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uCnye-0000fD-O2; Wed, 07 May 2025 19:15:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uCnyb-0000dZ-SY for qemu-devel@nongnu.org; Wed, 07 May 2025 19:14:57 -0400 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uCnyZ-00079d-Mp for qemu-devel@nongnu.org; Wed, 07 May 2025 19:14:57 -0400 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-22fa28c761dso623645ad.2 for ; Wed, 07 May 2025 16:14:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746659694; x=1747264494; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=VhiIRKHyUZ235NNHNWt0hyw55Q2IbZusuEz+nlETwVY=; b=ibhAnEExR+slNbfTHAu2MEO4MhH1ZGVJok4kpnYuh+/56dsWq6YbLSkEH7Kh9swdCn uzNqj5w4YiXFwJISHw+ivXOj3dNlV9kdG+4+PYfxsCUsaGYGhHESKydi7YwELD3HJv7V UZzFXk0sCzrFuekzi5E2bEQ7WKouCaJfrDD+RbkzadKJc/4R6fwQ54kJOxqwXkZg97a3 MPrviia1WymUziV1DjoaWYAy2btVxN0oTOQA7gDhZeM26EGanwU6MJMnP1i+5YU9HqUg a9ovw5YLpXO+bQEF4fNwPUZx6ACVZmkRWTXKpaGjywzk1o6jbgn1trMvbn+DwjfqDz5o dZhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746659694; x=1747264494; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=VhiIRKHyUZ235NNHNWt0hyw55Q2IbZusuEz+nlETwVY=; b=jm4zZhcGFBolFGZcemfk7F/rZPd/anzzkNc7N71gDwDdlu4LalGwCPPR1UHetjd0nv QtAB5HxOShQRJmutfj+dXokhy9tlaE2GbVpJRPRLepeXAdKSGj0J3OcrfgZbPDuGl5yQ TpecA6DgzGx+0jnzrqpcTaUPxREjQ+mYvszEvgTKKFguI5uiP/7PjMdRQGsa8T022Rb8 DGrrRIDf5DM5EVUTctz8D7JlH3wBlC3HgyF9mM41v2rJNDAJVnzFRsL4jasZCnj+Fg+g GUIIYgE9mKfijLL1ITbRJX2XCxCrJb9cDGEIGaRVHmZITDTUZJ7zIixdFZaNZXqY9XTB 6nmw== X-Gm-Message-State: AOJu0YwwkCGhXA6KCKas3bsvf2j2hLnPFLgCLEB6hrYVEjtZOU0OWYXu JCzZjPwEdGKm8LBoMU1ENm5L5hggL0/N/2tKSOFqvrTmZqB/soEjfov5b3BFEH+ZPq2mSc2i4Mf lp9Dj1g== X-Gm-Gg: ASbGncs3B7fh8//6+zGT6GLEkmyS8SMeVJ81jysaDx0ct/UOAAUI3sRV3tkuZGxuavN VKi/Jgx18XYHQP8u80ijk0wKNN3KzsUsagmGCEAv/Xj1bf2WcZ1huTlEzUj0Qxe4Lltkh0eUYMT EjN7vHE747rZvFDPnpykKoJjV6sOVGG1DaYf3c/UMmMUbOJm4QiH4JG7O+gcqqdizVMFgpqnHMO 5cTgJKvQnLBtJI4j89fllh41RfOCNlz9rBZgIQys+8dpYKkvViEV9iTNo2LkJh5NGCQVCyyEbvF JT/Tw7Fg2jT2WtxLU0ZBToQ0gk5GuB6pjzi9x8+6 X-Received: by 2002:a17:902:fc4e:b0:22f:a48f:7a99 with SMTP id d9443c01a7336-22fa48f7dd7mr1053085ad.26.1746659694154; Wed, 07 May 2025 16:14:54 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e421a7dafsm40103205ad.69.2025.05.07.16.14.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 16:14:53 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , alex.bennee@linaro.org, stefanha@redhat.com, peter.maydell@linaro.org, Markus Armbruster , richard.henderson@linaro.org, pbonzini@redhat.com, jsnow@redhat.com, philmd@linaro.org, berrange@redhat.com, thuth@redhat.com, Michael Roth Subject: [PATCH 03/13] qobject/qlit: allow to hide dict or list entries Date: Wed, 7 May 2025 16:14:33 -0700 Message-ID: <20250507231442.879619-4-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250507231442.879619-1-pierrick.bouvier@linaro.org> References: <20250507231442.879619-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::62d; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x62d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org We add a new .hidden field to qlit entries, which gets ignored when creating the associated QObject. By default .hidden is 0, so it means the entry is visible. This way, only potentially hidden elements need to be assigned. Signed-off-by: Pierrick Bouvier --- include/qobject/qlit.h | 12 ++++++++++++ qobject/qlit.c | 10 ++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/include/qobject/qlit.h b/include/qobject/qlit.h index c0676d5daf2..3b66c22013c 100644 --- a/include/qobject/qlit.h +++ b/include/qobject/qlit.h @@ -28,25 +28,37 @@ struct QLitObject { QLitDictEntry *qdict; QLitObject *qlist; } value; + bool hidden; }; struct QLitDictEntry { const char *key; QLitObject value; + bool hidden; }; #define QLIT_QNULL \ { .type = QTYPE_QNULL } #define QLIT_QBOOL(val) \ { .type = QTYPE_QBOOL, .value.qbool = (val) } +#define QLIT_QBOOL_HIDDEN(val, cond) \ + { .type = QTYPE_QBOOL, .value.qbool = (val), .hidden = (cond) } #define QLIT_QNUM(val) \ { .type = QTYPE_QNUM, .value.qnum = (val) } +#define QLIT_QNUM_HIDDEN(val, cond) \ + { .type = QTYPE_QNUM, .value.qnum = (val), .hidden = (cond) } #define QLIT_QSTR(val) \ { .type = QTYPE_QSTRING, .value.qstr = (val) } +#define QLIT_QSTR_HIDDEN(val, cond) \ + { .type = QTYPE_QSTRING, .value.qstr = (val), .hidden = (cond) } #define QLIT_QDICT(val) \ { .type = QTYPE_QDICT, .value.qdict = (val) } +#define QLIT_QDICT_HIDDEN(val, cond) \ + { .type = QTYPE_QDICT, .value.qdict = (val), .hidden = (cond) } #define QLIT_QLIST(val) \ { .type = QTYPE_QLIST, .value.qlist = (val) } +#define QLIT_QLIST_HIDDEN(val, cond) \ + { .type = QTYPE_QLIST, .value.qlist = (val), .hidden = (cond) } bool qlit_equal_qobject(const QLitObject *lhs, const QObject *rhs); diff --git a/qobject/qlit.c b/qobject/qlit.c index a44f47eaa57..7b372c5ebaa 100644 --- a/qobject/qlit.c +++ b/qobject/qlit.c @@ -90,6 +90,8 @@ bool qlit_equal_qobject(const QLitObject *lhs, const QObject *rhs) QObject *qobject_from_qlit(const QLitObject *qlit) { + g_assert(!qlit->hidden); + switch (qlit->type) { case QTYPE_QNULL: return QOBJECT(qnull()); @@ -102,7 +104,9 @@ QObject *qobject_from_qlit(const QLitObject *qlit) QLitDictEntry *e; for (e = qlit->value.qdict; e->key; e++) { - qdict_put_obj(qdict, e->key, qobject_from_qlit(&e->value)); + if (!e->hidden) { + qdict_put_obj(qdict, e->key, qobject_from_qlit(&e->value)); + } } return QOBJECT(qdict); } @@ -111,7 +115,9 @@ QObject *qobject_from_qlit(const QLitObject *qlit) QLitObject *e; for (e = qlit->value.qlist; e->type != QTYPE_NONE; e++) { - qlist_append_obj(qlist, qobject_from_qlit(e)); + if (!e->hidden) { + qlist_append_obj(qlist, qobject_from_qlit(e)); + } } return QOBJECT(qlist); } From patchwork Wed May 7 23:14:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierrick Bouvier X-Patchwork-Id: 888123 Delivered-To: patch@linaro.org Received: by 2002:a5d:4683:0:b0:38f:210b:807b with SMTP id u3csp625127wrq; Wed, 7 May 2025 16:17:12 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXHptxRu1LJQahQ9kprHVA/zxb/YOc6DLru7kbNMGZnLhqXdx6HxN5xZcybXZrOyVCB8PWaKg==@linaro.org X-Google-Smtp-Source: AGHT+IEz8SpVEySHxlS8HPBXP37uqBz2HAZP3krrAbjq2r2uqbnjws4cn8e9wjzl5TnUDQG+R2YQ X-Received: by 2002:a05:620a:4611:b0:7c9:3085:f848 with SMTP id af79cd13be357-7ccf9e04b09mr212457485a.13.1746659831802; Wed, 07 May 2025 16:17:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746659831; cv=none; d=google.com; s=arc-20240605; b=cIL5RuclqjDcvS68ZDMoNcPjGcj7tMXP4XN/U2QkkEXP+9rvSbXoBKpoYgggyoxCTs XcslkbK9GXasP7tEuTbNNuwADrmB4G1p5jd5tgKLa088zOK/0+wgPcjjVlysX56tKZ/j FyQQ+eT6wNOJp2QX2sD0D/M+eHwyRNlXR/xstypl3biFLj4HaChURtqpQgOtAt7W1aF6 bQRKWgDGSEl90u7DHm4pJsZjvKi6212mtdEuHAOQepw/hB0t99/6JIG2go7/OADIkmLG Ev310E7jA/da2/ysGxeyWHRsxBXWfP33XWhp5TBcOe1i17ihHmTzWE3MjOPnosN6p6Jb RfSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=yjuelvnUp/HIq2Hd0vs1lGHg7jiDZ3rbSTbY7lWyET0=; fh=C3ex6Ep0JlVVkO8k9Lw7rcozgcHcGXw85BZvhIOfcrk=; b=BE0h1iFQMAb92GEdubph/f9padDd21ACcO70wDIbK5E1QIpYmaqHGEMg96frC34uFG D4cGvmS44RiTtUb8ZdeJ+TMzO9LTM6lQwEo6CVnkLbzceGu7KPFodDNR36co9h76twS2 xTvCxU7jISBd9UnBMatITNcAYOA5v61Hyeboem7LFp12yO6wu38+dvITkKfunG/J7g6/ C5KPL33ODApsSfMLZlHzf3lbzS2qfoz8oLb3+4lAdB/ba87HXoZjpSRzWiBTiGgunkEk zukCoPccJKE4LmfSX/cTTPCoTI6c8C2bPtJw3YKQHTpXZROSRXEuiy5BFCauNI1q2Ou4 9gKw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=OctKyx66; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7caf7596143si323536285a.305.2025.05.07.16.17.11 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 May 2025 16:17:11 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=OctKyx66; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uCnyg-0000gv-S3; Wed, 07 May 2025 19:15:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uCnyc-0000dp-AL for qemu-devel@nongnu.org; Wed, 07 May 2025 19:14:58 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uCnya-00079h-DN for qemu-devel@nongnu.org; Wed, 07 May 2025 19:14:58 -0400 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-22e730c05ddso4224435ad.2 for ; Wed, 07 May 2025 16:14:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746659695; x=1747264495; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=yjuelvnUp/HIq2Hd0vs1lGHg7jiDZ3rbSTbY7lWyET0=; b=OctKyx66STKS0eLIAbWqeLxjBXg3BxiofjY0z9ptfjm8yJu+snI56JV9vwYEesRhur 475q+BgW2GMZWdFUEk3qxpUFo+CVextbO9N/UR3vdKNLcAERsXzD+/gD9XmzQ4AHrgHK /Mo521ifAsJYDYk8cqTsUtOEIMjcelcue7H6TkRCqN4WTbEwXWTOpk1hZ0ZpGGqUn/wl Pq09Kq1h/lPhUtdNyjKKmUZizd73xqYAyS00avvT69eviiiiPiRDzaWSqAQs3smvxMDX ISieEcxvHfm8ml/KYVnni5SE9bP9hd0MJJEzPQcIZk5eoXgiQ/tofHYzPOQGtTlZktVw XUdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746659695; x=1747264495; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yjuelvnUp/HIq2Hd0vs1lGHg7jiDZ3rbSTbY7lWyET0=; b=MPbttm8OgBxvev/0enSE0mST3JMeRXzqYFZzo74DhbM0s2idtGXBMLTubbFSB0wSfO WB2xgVbi7Vuc4lfWRnHOzESo+doN2hi+UtF/D4mj2wZxD5vLPeJNbc0N2yNjpD/sPtyZ IKTTu/jaMFza1P0Km5ImlDDdStt2oqBq7qYcgJDJMyKpVWryGnbFJizqzRPgUzjq93sH ZQA+KwK8+G/XeP+Xa34XyTHiwz1f0nUMrq1TLMDJrSmyxZajrPdMQT3LTavHazWZ9eJc Rx3Oa8BEkFqIZa/FRGvQQ0wPO03AMfaDyoGvowUwJpklQNkEfxhG+RQOYuLHd0BTYfs/ g9bA== X-Gm-Message-State: AOJu0Yyd7t3W+kfMZ19/yoTqfPd6qrqmANB4HSgr+ln08Q1y0U978MZZ JFWz4i+YJFJc0zSDdjRbr2Vj5+ALmRY1HDoG7VArSKktsoD0OK+gkU9LRor54MQyumkvInmX5/C P3u3ZKg== X-Gm-Gg: ASbGncuZnY0CdefnyeTLq83n6hP5nq/cQGHbd3gO2wRNAIiJak0JqhB5H3lqMaqnE6B 0oqPje14GyVGs76TTkTk0fOXtNdZ5YqXAlKiwJDrijBs5R4Yahn7jVJq+sbxwAqPaQmI+eEi62h ELJLPXBVi8foWVmpfGxly7Eg0hQC4vw0l6kRZ+uJqdqCN1CtSjTsx+GGv0KNHucRJc1O/53jItx 3gSl8jNtmBZE0JU31fkx7fUYwX3TsA5MB5cw4YdpxRdWLCcE6umH+39RQIU0ofxBsGwJH2NJvxd 9Y6B7PL4wM498spn6K8crZB4h0ogrCDAYnxhGIYl X-Received: by 2002:a17:902:cccc:b0:21f:4649:fd49 with SMTP id d9443c01a7336-22e8e441fccmr13039685ad.49.1746659695044; Wed, 07 May 2025 16:14:55 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e421a7dafsm40103205ad.69.2025.05.07.16.14.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 16:14:54 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , alex.bennee@linaro.org, stefanha@redhat.com, peter.maydell@linaro.org, Markus Armbruster , richard.henderson@linaro.org, pbonzini@redhat.com, jsnow@redhat.com, philmd@linaro.org, berrange@redhat.com, thuth@redhat.com, Michael Roth Subject: [PATCH 04/13] qapi/introspect: hide fields in schema Date: Wed, 7 May 2025 16:14:34 -0700 Message-ID: <20250507231442.879619-5-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250507231442.879619-1-pierrick.bouvier@linaro.org> References: <20250507231442.879619-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::62f; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x62f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org We know have a way to parse runtime conditionals in QAPI json, and hide qlit elements at runtime. So we can combine both to hide elements in our schema based on a conditional specified in json. Signed-off-by: Pierrick Bouvier --- scripts/qapi/introspect.py | 28 +++++++++++++++++++--------- scripts/qapi/schema.py | 3 +++ 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/scripts/qapi/introspect.py b/scripts/qapi/introspect.py index e0269bef0ce..c70b97a455d 100644 --- a/scripts/qapi/introspect.py +++ b/scripts/qapi/introspect.py @@ -94,7 +94,8 @@ class Annotated(Generic[_ValueT]): def _tree_to_qlit(obj: JSONValue, level: int = 0, - dict_value: bool = False) -> str: + dict_value: bool = False, + hidden_cond: str = '') -> str: """ Convert the type tree into a QLIT C string, recursively. @@ -120,7 +121,11 @@ def indent(level: int) -> str: ret += indent(level) + f"/* {obj.comment} */\n" if obj.ifcond.is_present(): ret += obj.ifcond.gen_if() - ret += _tree_to_qlit(obj.value, level) + hidden_cond = obj.ifcond.get_runtime_cond() + # reverse runtime_if + if hidden_cond: + hidden_cond = '!(' + hidden_cond + ')' + ret += _tree_to_qlit(obj.value, level, hidden_cond=hidden_cond) if obj.ifcond.is_present(): ret += '\n' + obj.ifcond.gen_endif() return ret @@ -129,30 +134,35 @@ def indent(level: int) -> str: if not dict_value: ret += indent(level) + macro_suffix = '' + if hidden_cond: + macro_suffix = '_HIDDEN' + hidden_cond = ', (' + hidden_cond + ')' + # Scalars: if obj is None: ret += 'QLIT_QNULL' elif isinstance(obj, str): - ret += f"QLIT_QSTR({to_c_string(obj)})" + ret += f"QLIT_QSTR{macro_suffix}({to_c_string(obj)}{hidden_cond})" elif isinstance(obj, bool): - ret += f"QLIT_QBOOL({str(obj).lower()})" + ret += f"QLIT_QBOOL{macro_suffix}({str(obj).lower()}{hidden_cond})" # Non-scalars: elif isinstance(obj, list): - ret += 'QLIT_QLIST(((QLitObject[]) {\n' + ret += 'QLIT_QLIST' + macro_suffix + '(((QLitObject[]) {\n' for value in obj: ret += _tree_to_qlit(value, level + 1).strip('\n') + '\n' ret += indent(level + 1) + '{}\n' - ret += indent(level) + '}))' + ret += indent(level) + '})' + hidden_cond + ')' elif isinstance(obj, dict): - ret += 'QLIT_QDICT(((QLitDictEntry[]) {\n' + ret += 'QLIT_QDICT' + macro_suffix + '(((QLitDictEntry[]) {\n' for key, value in sorted(obj.items()): ret += indent(level + 1) + "{{ {:s}, {:s} }},\n".format( to_c_string(key), - _tree_to_qlit(value, level + 1, dict_value=True) + _tree_to_qlit(value, level + 1, dict_value=True), ) ret += indent(level + 1) + '{}\n' - ret += indent(level) + '}))' + ret += indent(level) + '})' + hidden_cond + ')' else: raise NotImplementedError( f"type '{type(obj).__name__}' not implemented" diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py index 533d0dfe088..7767893f979 100644 --- a/scripts/qapi/schema.py +++ b/scripts/qapi/schema.py @@ -79,6 +79,9 @@ def gen_runtime_if(self) -> str: def gen_runtime_endif(self) -> str: return gen_runtime_endif(self._cgen_runtime()) + def get_runtime_cond(self) -> str: + return self._cgen_runtime() + def is_present(self) -> bool: return bool(self.ifcond) or bool(self.runtime_ifcond) From patchwork Wed May 7 23:14:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierrick Bouvier X-Patchwork-Id: 888124 Delivered-To: patch@linaro.org Received: by 2002:a5d:4683:0:b0:38f:210b:807b with SMTP id u3csp625140wrq; Wed, 7 May 2025 16:17:15 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXCJXVCnkI3ED/LdgVvAZ667e+gQYUP0/b0f3LL6tXLhNshz7hwbH76r+Az8l7aBUtG4BUILw==@linaro.org X-Google-Smtp-Source: AGHT+IEgsP0pbKe1GlZaJCnbZnLv5dVr+sV4FYpg02E48ClK0LxMb0TXq9y/1lGnf2e2fVLgJ0yQ X-Received: by 2002:a05:620a:f06:b0:7c5:a681:1b42 with SMTP id af79cd13be357-7ccf994f634mr234001885a.3.1746659835123; Wed, 07 May 2025 16:17:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746659835; cv=none; d=google.com; s=arc-20240605; b=aLMEaIRaAQCUU3Mt/Y763LfPCgPpoanCnOm8SG5AK326PvDpX9Ylhspq51itPolXFC A6ra6su2t4kx85UGteN/0Rg0OxOhAHdx7wzSzCzt6/80KNAh8rFx3PKb6E4hyubNMS8O FGx6yFHbJacrLl6GaZWOqImjiVnjSZyZDKHBSmB+f0vKM1IruTDAe0+0zLk7S7hVHY4O /u7es4eC7CeFX55zB3yGsuIbyuH44Dewb2y8bn3AUX/P15zC/4cUad7AdtLQA6tBV2mO fE3YgXctAD/iDQ12i/flIgUIeKV98CmdEPo4HqkxEq1kJ99Nh6SG4pXED6tQrY8L7uXH 4GKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=aZudU7n7UwZvkcprmejls7vry6Hzgg8Kb406bPV2gNA=; fh=C3ex6Ep0JlVVkO8k9Lw7rcozgcHcGXw85BZvhIOfcrk=; b=Zw5HVT3Box3PspCX97TNR19UHIGxoNndpCPZytk8VtozeQUiEi10iFS04cebT/NUki Pgr5+AXkTNt3zs2Ntzj58byNqLm2NQEn/Z4OG1OIetumb5fhyNzzhahRDlQqciWjhhvE SiRSKpf3n/L3+5gaWNVRS1TqvM8zn4S6OrbEgNLBIpH3Yj+3bMFvL1lMEXyf72veYEra HisQD1wgve1HCVjtAn7bdhf56ubQsk3vvCXtYOY6iGTmVgBhQpAc1iqu1BfBb37OQCOY 9mKiPTvpALpZXsd+mDXWSxtEPab8NrtUvH010ZSdWAVKNr2ABsenX5PdAChYcrWDEmSA Q+Dg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=fljX8bV8; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7caf75ae0a0si305041785a.409.2025.05.07.16.17.14 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 May 2025 16:17:15 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=fljX8bV8; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uCnyi-0000hq-Cb; Wed, 07 May 2025 19:15:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uCnyd-0000eM-6r for qemu-devel@nongnu.org; Wed, 07 May 2025 19:14:59 -0400 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uCnyb-00079t-6Z for qemu-devel@nongnu.org; Wed, 07 May 2025 19:14:58 -0400 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-22e09f57ed4so16930525ad.0 for ; Wed, 07 May 2025 16:14:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746659696; x=1747264496; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=aZudU7n7UwZvkcprmejls7vry6Hzgg8Kb406bPV2gNA=; b=fljX8bV8U1/L8/Z9/te4VejOK1qsp2kVbIzEGmUprzgzxkjdSCvW06qrLHkLp2KlpT T/nXNgn2z4hCiZM/ONatT0gr5sojvUqVLcxEWTx4JljGu5D2Cyvk4RF40xNa8MzCdHor vyJ0xWTQKKKZtHnnCtYXrCr5ebQXmf9KgSaCUbCbstafxyT95xPc7b6cH+YRRyMnzO6d +0d6lmv8cUpJS7g1wh9XwZRviAczGO3tPz6RoFFzTvs4p6BLINftPV3e5jtyf0mpEq1t 9Mp9lEPHT08fkzc+uInIxxuurkNuEB9MZtmRItKyuFMRtNwrDEPQ+rjhxsLzU/baKuqP 4KEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746659696; x=1747264496; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=aZudU7n7UwZvkcprmejls7vry6Hzgg8Kb406bPV2gNA=; b=cbheIT1j2lsTdVVUVLjs/oOpnYH2mMlgNG8ygILQk2TWJuXoYtx+Jrf7HV81eorTJv xaRfS+vp0dpSANMHdE9RqHxapc2Fh54KDpFv8uVRjFKMAKjURk4CUPX2hRvnwUHMKRHA iCyb97JKTvwq3QEUp6iJEcLds7f7oFVLWiYJi2HvCUGQkYkZtwJUBUDhTczAVcFfieEs f/j2ecvJHtmnvs6epFkNHv6NQYgKKDotUlAZH9sog5iHwHgbrYEwt3QoC9gyhcQKUuyl HDBdk0cCF55xwMcO/+EZvd83viXN47B5kmNPjB6aK/FXdGKqNZznE9+8Ri+hi22V1Fqf kVpg== X-Gm-Message-State: AOJu0YxRx/8m6hk4rD0PI6Dp7dZuZshQB+wok8MArWihtkSJ9VCaaYJd Qy8gkHTsmDcKQBJfk7mv3k0O/FLg57gpcFhfZUbpSsbmqg+XSY2XxEf86B1WvPWwAdRwvPad2nr eFtXSzA== X-Gm-Gg: ASbGnctjWHIbzHtrH+4SPRWccdkJ42Qzw+6fQKGHyRw4T/OsZQgOgBB1RA7oPV7dzv4 GwvW8Mih13e/SRLRzXhJpzryKJm8fPtokHc8qLjueAJkIF03HxpzZOoebU7TgNCBYXICVav60Sr QdmeX407EZcrIVLkZU596SNY8j3A9G/mx7VqbBtLcuXHxfEx63zzP+mg04Z/fxLVjusd0VXds4p jeRHgu5RiOdpj2kRmtgqaBdsYQvIt9doTwvKlXcrppP8tJIRKxyn+pedWZbPQebux7NvkkNAAfj caT85FU2SiM4I5CzmhNFyV35Mg1Za9b8OGu94KLo X-Received: by 2002:a17:903:1a6b:b0:215:a2f4:d4ab with SMTP id d9443c01a7336-22e846c95e2mr15724075ad.7.1746659695912; Wed, 07 May 2025 16:14:55 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e421a7dafsm40103205ad.69.2025.05.07.16.14.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 16:14:55 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , alex.bennee@linaro.org, stefanha@redhat.com, peter.maydell@linaro.org, Markus Armbruster , richard.henderson@linaro.org, pbonzini@redhat.com, jsnow@redhat.com, philmd@linaro.org, berrange@redhat.com, thuth@redhat.com, Michael Roth Subject: [PATCH 05/13] qapi/commands: register commands conditionally Date: Wed, 7 May 2025 16:14:35 -0700 Message-ID: <20250507231442.879619-6-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250507231442.879619-1-pierrick.bouvier@linaro.org> References: <20250507231442.879619-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::62c; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x62c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Signed-off-by: Pierrick Bouvier --- scripts/qapi/commands.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/qapi/commands.py b/scripts/qapi/commands.py index 79142273828..7b172f7c081 100644 --- a/scripts/qapi/commands.py +++ b/scripts/qapi/commands.py @@ -27,6 +27,7 @@ build_params, gen_features, ifcontext, + runtime_ifcontext, ) from .schema import ( QAPISchema, @@ -406,9 +407,10 @@ def visit_command(self, self._gen_trace_events.add(gen_trace(name)) with self._temp_module('./init'): with ifcontext(ifcond, self._genh, self._genc): - self._genc.add(gen_register_command( - name, features, success_response, allow_oob, - allow_preconfig, coroutine)) + with runtime_ifcontext(ifcond, self._genh, self._genc): + self._genc.add(gen_register_command( + name, features, success_response, allow_oob, + allow_preconfig, coroutine)) def gen_commands(schema: QAPISchema, From patchwork Wed May 7 23:14:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierrick Bouvier X-Patchwork-Id: 888130 Delivered-To: patch@linaro.org Received: by 2002:a5d:4683:0:b0:38f:210b:807b with SMTP id u3csp625362wrq; Wed, 7 May 2025 16:17:53 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWKZUr+MZkpH/Wnw5aXeaFK+YmRku0KklHCk+ELpFBk/nOJtywugc0JC0o82HmnFhyRqiuv/A==@linaro.org X-Google-Smtp-Source: AGHT+IFPAYtn3kDe3PVeb5siaVgkUW7L/i4Wx5l5FbzqUtb/+lgzie/t3AC2XIdpPA23oa60WJZN X-Received: by 2002:a05:620a:25cc:b0:7c5:7a03:8467 with SMTP id af79cd13be357-7caf7415a0bmr900884785a.55.1746659873292; Wed, 07 May 2025 16:17:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746659873; cv=none; d=google.com; s=arc-20240605; b=MDtg4AlBOrYChPc01BTGc9bGKNuQbD7t3tDQvcwMId8/GrWQDf0UNiwIcS1SEai8ar TNGBm9HRUiBo/7mKFONbzRE71bxd0XEKNa3GGBzl8aXxCkj/Yf81EXFX1n6GN7SRxBF6 SlZmcRIUrzgMefjbMjK4drgZ6Lgp3638I9NhLUzAKaKtPKpOWVOJSU449LkUE5RMCLwb +mSNOZIe/gngXHPK6U/fOMoz6Yzj2xA5nH+CfzQtYc/FWy4wwfIx1Hzp4DKh/F5VeYxQ EoZcPAGHXd5s38RzKTxsLiAFE4t7nRlS692Cp7X19D6iJd/2kit7nm3xkXOHLhBZqVKt qZ3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=KhAM5TzWr84Jlzb5Lb6xETas9izeZHd6MMPISYifZW8=; fh=C3ex6Ep0JlVVkO8k9Lw7rcozgcHcGXw85BZvhIOfcrk=; b=IgOa5dacZ4DRDqsERHn1Cf/oXop/EaW2eBFTDM0HFfzFXpAWEqoi5e0LTxswYxyOpt xWqTMJAwKYzHGTK/PY6Fjy4zNfxE1jXV3Ka8gOCmalk81PtG1yrppgS7kJqM0ndK7a6P 3lPA8fAbCVO0EkN8oYZIDwn2emJldjErxhVhKHTCQyM0qcO9026/RHzRyBznotZs4znB PwVIFDW2zp12arVjXD/ChZkIGuwHE1YsE/32B6r80tfXe35TxPKvMITZfCoV1s8eUX9f vMbQX2F9PamkKCzXac3fjEGCnnMJL0aSDg1bCXS0REWsoP8ZxCxgjmMCi+yzwaCuDrG/ 5RYg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=i0zJrJ28; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7caf7594763si324792285a.308.2025.05.07.16.17.53 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 May 2025 16:17:53 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=i0zJrJ28; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uCnyj-0000ip-P7; Wed, 07 May 2025 19:15:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uCnyd-0000eR-Jk for qemu-devel@nongnu.org; Wed, 07 May 2025 19:14:59 -0400 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uCnyb-0007A3-Vi for qemu-devel@nongnu.org; Wed, 07 May 2025 19:14:59 -0400 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-2241053582dso7311445ad.1 for ; Wed, 07 May 2025 16:14:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746659697; x=1747264497; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KhAM5TzWr84Jlzb5Lb6xETas9izeZHd6MMPISYifZW8=; b=i0zJrJ28vh+Gc9l4Xc5q17Xgc9jg6vJkUGB+HlgYlKIznO1e+7UxhZFmdqUcBGkmzC cURx90F4Mn8/hGGDFEjxGTFzN8D59nY7Xk3u3QrahDXRZj8aMEGd2gQnx8twRmZboxsI hrH7jWhy0QZkf528Rv4M9WS2mm0+ehNegYX/Qy24PbRGf3mDStNLahQgvJgwfu2o4035 YPSaw6diV1BZdXz0tE3Mno76g99hava21FhrMhRCGfj7fAolyabJOROs/ofVvxX33GD2 1P6Wfpts/+rlSO0ZrhgFjISUatw7ZjrxSOpXBv7BhR5mRlbl5H1ZXycxRHMHKXzgoFcC gzxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746659697; x=1747264497; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KhAM5TzWr84Jlzb5Lb6xETas9izeZHd6MMPISYifZW8=; b=GJWCrPd5M6Ok2Yc15uqdlleZWC9BoHSn9cQMW7xN4BG0O5ust2Ap51lAhjcGznts+x LTnQ0beycBZ/ULCoZVe1Z9e537fNpOs9fkhWML8tdRxluLVNW/fBVllq0OzTy6uRTotq Opadr5CrzWdhFrQ1RDvbV2iR69tVl6oeK3n6hpghmCQ5VSZO3ndOd5G0TpU8miT4UgBR aLO9UGVZPSXOJfMNlC6s8nmFaoRp5JURLT+QJ7tV6Da8d2VqYdTflqXBBkkW1/Aewjl5 3Agm3N6QuDXrlDj3FQPhlOrdYYyL5m/xTuMg7Im+zU23L/T2+P1VQestw27RlPorV3X2 UXhQ== X-Gm-Message-State: AOJu0Yz7hxqQCPNfSu6f2NOHqzbed5n+EUDProGIHVvZnWohrqAcrknK nVzMlkuGn7DO09DjKyXztYU+dsrRwB1dP3j+qWB9jYCOOFNpKnMo0DwSlWhTfG4BGsJY1GPkRe7 PevE+pg== X-Gm-Gg: ASbGncsiSAZyDuDgt5woSoNpn/zK/IKhyAP1ThqqQXw56elPFGa3M0nJM+fwVYgnbC/ UwD3BkrHFX7pa5poBPejno4h+8JT1wiF1aXAtIyukwDkZYYST8QubrhtxX55Yp0dWHu+fF6RV/G FsF/wibmaRywVShhupL2/7Nmp3FP5pa5E/SY71FZh3vW/H931Nb2cXPKDEpealDbbGfW/ptxzbE oIWVmYf3Zf+6oyGX7+FgQGkhJCEOsrs5mY3yKbESX+60n/Z8lX5MHtgV+7ZlDaKx15r382lA3Uj K5xdnGulBld+xCIVaeDwhtLcFcD17P1CGrguwcfX X-Received: by 2002:a17:903:4410:b0:22e:56f4:e187 with SMTP id d9443c01a7336-22e5ec9d666mr74958625ad.22.1746659696800; Wed, 07 May 2025 16:14:56 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e421a7dafsm40103205ad.69.2025.05.07.16.14.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 16:14:56 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , alex.bennee@linaro.org, stefanha@redhat.com, peter.maydell@linaro.org, Markus Armbruster , richard.henderson@linaro.org, pbonzini@redhat.com, jsnow@redhat.com, philmd@linaro.org, berrange@redhat.com, thuth@redhat.com, Michael Roth Subject: [PATCH 06/13] qapi/visit: hide fields in JSON marshalling Date: Wed, 7 May 2025 16:14:36 -0700 Message-ID: <20250507231442.879619-7-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250507231442.879619-1-pierrick.bouvier@linaro.org> References: <20250507231442.879619-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::636; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x636.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org We modify gen_visit_object_members to hide elements based on the specified conditional. This allows to hide those elements in input/output json, even though they still exist in C code. Signed-off-by: Pierrick Bouvier --- scripts/qapi/visit.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/qapi/visit.py b/scripts/qapi/visit.py index 36e240967b6..82caf8c5f0b 100644 --- a/scripts/qapi/visit.py +++ b/scripts/qapi/visit.py @@ -90,6 +90,7 @@ def gen_visit_object_members(name: str, for memb in members: ret += memb.ifcond.gen_if() + ret += memb.ifcond.gen_runtime_if() if memb.optional: has = 'has_' + c_name(memb.name) if memb.need_has(): @@ -126,6 +127,7 @@ def gen_visit_object_members(name: str, ret += mcgen(''' } ''') + ret += memb.ifcond.gen_runtime_endif() ret += memb.ifcond.gen_endif() if branches: From patchwork Wed May 7 23:14:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Pierrick Bouvier X-Patchwork-Id: 888118 Delivered-To: patch@linaro.org Received: by 2002:a5d:4683:0:b0:38f:210b:807b with SMTP id u3csp624640wrq; Wed, 7 May 2025 16:15:45 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUu/c6CVxRNMesg107CW/oL6CN0NSa8BggX0DwMBxobwbK2xkbFQ9odjP+VNtdrGlFqnXSrPQ==@linaro.org X-Google-Smtp-Source: AGHT+IEKlaMUAnvGdXars+s7tmgY3+/HqNcIRhbx+/s+wUlXYwxEW7FsNSw1i0kmSyvIX5sNQGOC X-Received: by 2002:a05:6102:2c02:b0:4bb:e14a:944b with SMTP id ada2fe7eead31-4dc738a88ccmr4390056137.20.1746659744932; Wed, 07 May 2025 16:15:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746659744; cv=none; d=google.com; s=arc-20240605; b=MXpMRL4EM+2FpvJq3rI39N+YHuM62mmATP5lqAqTyVqF5Uq2fs2vey6wJcfQBfz0zf KKVYSv7o3il26XZO59F6HPSidWBLtYjee0JjIvZkA10Lbyqq94Cq3clXHZdW26qOO2KW W86Z1sYA83LnhLCHkJSvYp05TEws93FIycYVQfNZHwS5iBuXWBbvyhi1CaA2dTTDcCzz to51U8TBQoDilhmaUEdpayhIuU5D0GgCxffwLMEJq25kF0qA9Suil0hjNTay4DhO8Xu8 gZTKR9wQBSCduCyRL3VsUQYHekHcRjM0g8SgxtJHhp1zqK/l5RZZE4r7huyoTkC/8YRd MvzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=QGmrC9Lpdjuz6pj+NV/O+8IjV/h+/Pk7pyNiZqlJEW0=; fh=C3ex6Ep0JlVVkO8k9Lw7rcozgcHcGXw85BZvhIOfcrk=; b=hY+b+yynPEPg29JEhKds8gtm0jqJnfzAW43wSw/zd2iCuB4zdES0iA0FaY3EeF4GId nprNE4EGx8c7ne4GaHpkIS+3n5L7ss0CRGBiUm9WOO9T8lRW+VZ3/aVNULNxUSgK+oPp 4DgnDhgxbZ7S3r/VZtzznDETtquNl1WYq56twKaqnfsTkHzRbhr8osf3/I3A9JJF/9Ib pc6r0YpIikOuGXmc/9iWXNwm6XZeWnbpo4s66oVr+LJEjnTBEgzJ+GiIQSAu5pjyCS1+ jZfu0ONVkirnIHkTkjMY2d5pgb9sOvZ/0f5wSj6vJYRl8w4X0QOhDHGC5Js4rZn+yIZZ ijDA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=eyBRZDOb; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id ada2fe7eead31-4ddb31aaa05si45006137.225.2025.05.07.16.15.44 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 May 2025 16:15:44 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=eyBRZDOb; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uCnyh-0000hV-Tf; Wed, 07 May 2025 19:15:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uCnye-0000fJ-O0 for qemu-devel@nongnu.org; Wed, 07 May 2025 19:15:00 -0400 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uCnyd-0007AR-0h for qemu-devel@nongnu.org; Wed, 07 May 2025 19:15:00 -0400 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-22c33677183so4516875ad.2 for ; Wed, 07 May 2025 16:14:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746659697; x=1747264497; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QGmrC9Lpdjuz6pj+NV/O+8IjV/h+/Pk7pyNiZqlJEW0=; b=eyBRZDObxziNIhXqd0qHGWpxIxAU72VjVm/DVVx47QLC2mTqopv4Kt1k/+niwuI2Ns 0tg9QrIh3PjmGvaJRF+P62Ars4JpY74lgvHK2gGPQak6/wVlLszzfFHoOv1jM0KdTjgC FJ3ynU7aEKOdOMhuhgJ/HsJstsFrG7i/1pNxuYhAs8GfXM8jAU7CdS34z7pcYIj9TYD6 niBqtMUCxWqmkg+bdHsk+oLzh6M/uvDHbtIaUHg67xaMrfznRl1m06MQ7bPeicAzkl+i 0Qt0The++7p5OLTwN/iV+vH2tbveXXndQrxpHRFcR2SYojwoUFELcKrfgN3nd0Y1c61P Aj5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746659697; x=1747264497; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QGmrC9Lpdjuz6pj+NV/O+8IjV/h+/Pk7pyNiZqlJEW0=; b=Cg+PpMVVEyKTVnncynSGt9mXyjXGK0JIuufPWlDEj7gZTtGaShUygkqrsiPAY8HEZ3 4dBLJXdZrmqqHLyXmruxVpeBOckUQKuPNA93zw9NGfaBRIpuL1zJTjBLYApEiRVi5xav xTXSYA+4om1OCJnHK29k7A6bdPeHxhhZr1CGiJ0dMFoITAGDmgd1rdECCelAENDf+VWD BmfkxtM4vU0RWdWgUYOBxcYgfErPsK7EnEtPHDPZegvBA1I6mGiNPn+D1eX2SdYWN8NI ZY9vh6ToqvrMQE55TM+w8zQ7RMCi7zFUoHQZUKdAA7OtIWfFGiFOlNjJ/uESVZfo9pnL e6XA== X-Gm-Message-State: AOJu0YwfK0rE8JoxpbH5UYcmMgvfJZJcJ47hG2+bU6oL6seRZgg28tXP WxtMF0SMCPV4cKk6nkdRaKRMB7xGhpULVEvTRqD7UryJVepXSVzqFVutz5ujVQ/B0JjsZjSLiqX LA+bePA== X-Gm-Gg: ASbGncvsCPAKP18skToB2CbGTUNVyi6uNmkzHw5Rj2SxsBgXrvY+pKn8AwJlTvoLvfm Ueb3jWxyD2iTAv1EUnruQ0RcdDeQoEFJxUQLkkSGx3e+XEdNk2zmyUZ5Mgusqf8cO+WkeH7JoTf AJl2RgSpPDxB3HPF+4UwpJtbyLy4dhhbDCyWYBzybOzFk5Tya3kEpRzwMis7atotWXgdrqK5KAQ QAjfY1nD9Op9BrW+sJrRDQyIyxmRuUk0TA30owgsjtAnN72pRaFi3lGP8rwwIFy8X0ZRXM5/PMG gKISpuxWMsgYnPi5zPf7QgiMDvUYI+PEFPiHXCk3 X-Received: by 2002:a17:902:e743:b0:21f:61a9:be7d with SMTP id d9443c01a7336-22e5edfa34bmr75155445ad.49.1746659697678; Wed, 07 May 2025 16:14:57 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e421a7dafsm40103205ad.69.2025.05.07.16.14.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 16:14:57 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , alex.bennee@linaro.org, stefanha@redhat.com, peter.maydell@linaro.org, Markus Armbruster , richard.henderson@linaro.org, pbonzini@redhat.com, jsnow@redhat.com, philmd@linaro.org, berrange@redhat.com, thuth@redhat.com, Michael Roth Subject: [PATCH 07/13] qapi: add access to qemu/target-info.h Date: Wed, 7 May 2025 16:14:37 -0700 Message-ID: <20250507231442.879619-8-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250507231442.879619-1-pierrick.bouvier@linaro.org> References: <20250507231442.879619-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::632; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x632.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Add a default include qemu/target-info.h in QAPI generated code. This allows runtime conditionals to use any function defined in this header. Signed-off-by: Pierrick Bouvier Reviewed-by: Philippe Mathieu-Daudé --- scripts/qapi/commands.py | 2 ++ scripts/qapi/introspect.py | 1 + scripts/qapi/visit.py | 2 ++ 3 files changed, 5 insertions(+) diff --git a/scripts/qapi/commands.py b/scripts/qapi/commands.py index 7b172f7c081..7776c84fe64 100644 --- a/scripts/qapi/commands.py +++ b/scripts/qapi/commands.py @@ -319,6 +319,7 @@ def _begin_user_module(self, name: str) -> None: visit = self._module_basename('qapi-visit', name) self._genc.add(mcgen(''' #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" @@ -354,6 +355,7 @@ def visit_begin(self, schema: QAPISchema) -> None: c_prefix=c_name(self._prefix, protect=False))) self._genc.add(mcgen(''' #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "%(prefix)sqapi-commands.h" #include "%(prefix)sqapi-init-commands.h" #include "%(prefix)sqapi-features.h" diff --git a/scripts/qapi/introspect.py b/scripts/qapi/introspect.py index c70b97a455d..a16d6bad012 100644 --- a/scripts/qapi/introspect.py +++ b/scripts/qapi/introspect.py @@ -190,6 +190,7 @@ def __init__(self, prefix: str, unmask: bool): self._name_map: Dict[str, str] = {} self._genc.add(mcgen(''' #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "%(prefix)sqapi-introspect.h" ''', diff --git a/scripts/qapi/visit.py b/scripts/qapi/visit.py index 82caf8c5f0b..6836eb8ed60 100644 --- a/scripts/qapi/visit.py +++ b/scripts/qapi/visit.py @@ -342,6 +342,7 @@ def __init__(self, prefix: str): def _begin_builtin_module(self) -> None: self._genc.preamble_add(mcgen(''' #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi/qapi-builtin-visit.h" ''')) @@ -356,6 +357,7 @@ def _begin_user_module(self, name: str) -> None: visit = self._module_basename('qapi-visit', name) self._genc.preamble_add(mcgen(''' #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "%(visit)s.h" #include "%(prefix)sqapi-features.h" From patchwork Wed May 7 23:14:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierrick Bouvier X-Patchwork-Id: 888128 Delivered-To: patch@linaro.org Received: by 2002:a5d:4683:0:b0:38f:210b:807b with SMTP id u3csp625177wrq; Wed, 7 May 2025 16:17:19 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWwumKMj7i69nyCVNpsJA2Nm/dBasXZClEP99PcPtwXNCtgWjeRvbOo+GGC0ub/Ew1IX2j3fg==@linaro.org X-Google-Smtp-Source: AGHT+IHj0NiwQFWIfTep+CLJwCAUQF9zlSTyuj0YUfsw/dtjfTCSlQ0FZJyyvsdJS9xrypEY9tg4 X-Received: by 2002:a05:6214:27e5:b0:6f5:106a:270e with SMTP id 6a1803df08f44-6f54c4ac0a7mr16403036d6.44.1746659839099; Wed, 07 May 2025 16:17:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746659839; cv=none; d=google.com; s=arc-20240605; b=dDh5zkByp+XnTmdaGd5DD0H59Aj4LGODw16QrX+gj+FQc/cIPv23tu6cq/OChXQJUT OFc9isE9b/ea0medkT55FwlrKt95CNBK0oKBxYV4GpkZKlGOnw+zOUni4olvfpdvsnGv htZoZcFJJY4kuXqP8hyuOMecU6O1BtlReyVso7PPIYu+v3Pv4oBCNe+GxK0cjBKAe4UY bBHff8/UGRI4j5T1T8Wg0A3o26dhiERfmgo70S4h2SJ0wQEBv3LvXhURq0juhmlaOG4j S96gdIGpJFOlXCmACeybfAXxlW51bNIzcIaxPRzSUI+vnu5vmMB1oPQpqUt+LE0r9ul7 gikg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=7AD0wBkIB6INtnwcEFWKK+z4tJ5aOGPeiDtfz2k1oSg=; fh=C3ex6Ep0JlVVkO8k9Lw7rcozgcHcGXw85BZvhIOfcrk=; b=bkVaMH2JgqIJ8cq7CZOqsS8KjHI6B+3H83rH47yMDsDMtxWuYG0TJaC9MZbtP3+tgK fhq2DgIgg9N7kbQ71bv8+SbHai2YyQuPD8ydF2CcluX0aRWRZqg+K8rO38aeB/hNE8A3 krE7W197410sGtBaYfT7aLQp35MDgDlCUA1d4P18QaIcT/GF6f4b5aUaxb+MelYJ+V7A 0rPJCUu1SYnnPoAE+bK2dPXYT96zVgxqUrZL9O68YBpY5m72Pvg+0AM5kOfY07evftvL AF6Dkk1BSHH+15wZWHQjxgRoJyMYjg0pnAFAo2dhgMik5f87mmUwZHtk7sRGdjjO+2gy ebwQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=UW3dIm98; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6f5427f5ef5si32275396d6.394.2025.05.07.16.17.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 May 2025 16:17:19 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=UW3dIm98; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uCnyj-0000iF-Ey; Wed, 07 May 2025 19:15:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uCnyf-0000gQ-TU for qemu-devel@nongnu.org; Wed, 07 May 2025 19:15:01 -0400 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uCnyd-0007Ai-SD for qemu-devel@nongnu.org; Wed, 07 May 2025 19:15:01 -0400 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-22e6344326dso4944775ad.1 for ; Wed, 07 May 2025 16:14:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746659698; x=1747264498; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7AD0wBkIB6INtnwcEFWKK+z4tJ5aOGPeiDtfz2k1oSg=; b=UW3dIm98PBw35sXFTNGIRrAaqzPv76CJou4gKKQHfQjfFUNqchPdvStDbjycr2m8e1 DcYY95iPQ8JdsBjn7fOuGQhbHb1LhxEhJJAjlFq1TFK+FAC3sUd+nFTOsPxvemlvws8f xRuDcSZDUHEON6JDKnHtuNlJaay5lwyvS8pqWTdG5CaQ9Wyv2TLPrpRSvrF/6Iq+6WKV wK6thHYDMwdDos4zdpRNPXHResc7xirrP8+7CAEsAgWDJ14w3RwN9Y8Gt6YjH411C6BT +rv9Kzu0neNLMxx4qHcH36k+WhYrNQde/ZEBFw6ljGTORXdKcAy6LD/HWSetbi2SE5lg 7G8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746659698; x=1747264498; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7AD0wBkIB6INtnwcEFWKK+z4tJ5aOGPeiDtfz2k1oSg=; b=inH1bEb7RTnAB+w2p0/6UETgQHwbZ/iNoDXPRB3ZqQ4g+8PrmYshs9SuyjKtT2dcMA 6VzOKfCH5txAc+Ki1OwkK2OyZtFnTr3mua3PaHvZSin+ObQMfSjRNqZlPPidLZMrOC6w A+H5RL6YlzB7A7TYR+ywUE47fhLOxniqHUVMkvTBoK0mddJyWoJab26YEqDcl6cBxArl esxsaQ2l7O7ZGQgCLT+X6Ta/s28Qv6l+A1/8522NAmqRXEENuMSKxjUcsV9FZEJxSQG7 DGUesjgEnbjfsO7nOSZvV5aG+Mo6bqsMCU6EORChqiS95ISNfGR8IGRAABbmqkYUF5y/ zJ3w== X-Gm-Message-State: AOJu0Yyan9CMfoPRlZt0oGB354+LxdDj7al7ea9Zg9EmGU8YGefVLmG9 eTsiw0JGrzr4YMyR4D3BwAF1uV22UUMU11GkN0VD1Yx6HDCpI7bUUcO8eDNq65W9fvJ+YBwN0+m fWP+Upw== X-Gm-Gg: ASbGncsTBWdc9R4A1lqXFlVvIQQzUKr1lVSRyATvvmtpVQxMJ1B2mkZ/RYYh8Zi0qm4 0Tue8292Y8xToaF8uR1yz3pHNZZkl+kQ9BYcSWntODPef1KS10i6/kjfx1QaAlj3YoNDDzZHsIk HR43kYc2FLW+sKvfstNvOKno3H5jpEm2M4OA4Yv02lBrL5n6WQb8R8Jt2sMkRM0RM1Atta7nUzz xli3cMSZQd8aPCw5PIrxxP5HLyHyEZce/86p/eobka7Gg48fdP/59Dq+o3HGU9fT6Lp18a3ztQO SXSKlz5dzoRp1Thk9xB1gbUq/HYcmN0kvfi57ZZN X-Received: by 2002:a17:902:c94f:b0:21a:8300:b9d5 with SMTP id d9443c01a7336-22e861d5e25mr16823395ad.23.1746659698562; Wed, 07 May 2025 16:14:58 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e421a7dafsm40103205ad.69.2025.05.07.16.14.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 16:14:58 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , alex.bennee@linaro.org, stefanha@redhat.com, peter.maydell@linaro.org, Markus Armbruster , richard.henderson@linaro.org, pbonzini@redhat.com, jsnow@redhat.com, philmd@linaro.org, berrange@redhat.com, thuth@redhat.com, Michael Roth Subject: [PATCH 08/13] qemu/target-info: implement missing helpers Date: Wed, 7 May 2025 16:14:38 -0700 Message-ID: <20250507231442.879619-9-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250507231442.879619-1-pierrick.bouvier@linaro.org> References: <20250507231442.879619-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::62e; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x62e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Add runtime helpers for target and config queries. Note: This will be reimplemented later [1] using proper information in TargetInfo. Meanwhile, just add a simple implementation. [1] https://patchew.org/QEMU/20250424222112.36194-1-philmd@linaro.org/20250424222112.36194-19-philmd@linaro.org/ Signed-off-by: Pierrick Bouvier --- meson.build | 2 +- include/qemu/target-info.h | 14 +++++ target-info.c | 117 +++++++++++++++++++++++++++++++++++++ 3 files changed, 132 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 6b235b291dc..7094832c3e2 100644 --- a/meson.build +++ b/meson.build @@ -3822,7 +3822,7 @@ endif common_ss.add(pagevary) specific_ss.add(files('page-target.c', 'page-vary-target.c')) -common_ss.add(files('target-info.c')) +specific_ss.add(files('target-info.c')) specific_ss.add(files('target-info-stub.c')) subdir('backends') diff --git a/include/qemu/target-info.h b/include/qemu/target-info.h index 850a2958b9c..d9c0df10c53 100644 --- a/include/qemu/target-info.h +++ b/include/qemu/target-info.h @@ -38,4 +38,18 @@ const char *target_machine_typename(void); */ const char *target_cpu_type(void); +bool target_i386(void); +bool target_x86_64(void); +bool target_arm(void); +bool target_aarch64(void); +bool target_s390x(void); +bool target_mips(void); +bool target_mips64(void); +bool target_loongarch64(void); +bool target_riscv32(void); +bool target_riscv64(void); +bool target_ppc(void); +bool target_ppc64(void); +bool target_has_kvm(void); + #endif diff --git a/target-info.c b/target-info.c index 16fdca7aaaf..f2bdae18f4f 100644 --- a/target-info.c +++ b/target-info.c @@ -29,3 +29,120 @@ const char *target_machine_typename(void) { return target_info()->machine_typename; } + +bool target_i386(void) +{ +#ifdef TARGET_I386 + return true; +#else + return false; +#endif +} + +bool target_x86_64(void) +{ +#ifdef TARGET_X86_64 + return true; +#else + return false; +#endif +} + +bool target_arm(void) +{ +#ifdef TARGET_ARM + return true; +#else + return false; +#endif +} + +bool target_aarch64(void) +{ +#ifdef TARGET_AARCH64 + return true; +#else + return false; +#endif +} + +bool target_s390x(void) +{ +#ifdef TARGET_S390X + return true; +#else + return false; +#endif +} + +bool target_mips(void) +{ +#ifdef TARGET_MIPS + return true; +#else + return false; +#endif +} + +bool target_mips64(void) +{ +#ifdef TARGET_MIPS64 + return true; +#else + return false; +#endif +} + +bool target_loongarch64(void) +{ +#ifdef TARGET_LOONGARCH64 + return true; +#else + return false; +#endif +} + +bool target_riscv32(void) +{ +#ifdef TARGET_RISCV32 + return true; +#else + return false; +#endif +} + +bool target_riscv64(void) +{ +#ifdef TARGET_RISCV64 + return true; +#else + return false; +#endif +} + +bool target_ppc(void) +{ +#ifdef TARGET_PPC + return true; +#else + return false; +#endif +} + +bool target_ppc64(void) +{ +#ifdef TARGET_ppc64 + return true; +#else + return false; +#endif +} + +bool target_has_kvm(void) +{ +#ifdef CONFIG_KVM + return true; +#else + return false; +#endif +} From patchwork Wed May 7 23:14:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Pierrick Bouvier X-Patchwork-Id: 888121 Delivered-To: patch@linaro.org Received: by 2002:a5d:4683:0:b0:38f:210b:807b with SMTP id u3csp624780wrq; Wed, 7 May 2025 16:16:11 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWKiwm3Wbgs8Kos2iglLKxOuo+ndi3nCFDIHal88VyFS57en06lbju3f7osLz1P6DZ411/4vQ==@linaro.org X-Google-Smtp-Source: AGHT+IGV425QnbO4feEzJr1Q/DVFJZG6318RznQsTiNVk0btC0D75sy3LG6V7GWJTrXhndf6Gxfi X-Received: by 2002:a05:6214:caa:b0:6f5:402e:6bb2 with SMTP id 6a1803df08f44-6f54c3e4097mr14848216d6.22.1746659771656; Wed, 07 May 2025 16:16:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746659771; cv=none; d=google.com; s=arc-20240605; b=Jsz6Rihn2YDlABTjYpMc5VmaFL0H5UflJMnEugjBWEhgcaoCR0uqwxyWGegSfSHpJo /vg4I0ZUuezE3ftWfuYfZ4WhR+1kvHMFK4CYPWyNb/nHyzYPrPfw/+5byk2XQs54+X/5 YGgBpDDNbPeOxOrnnHRXCLuUE2JwP1e0KGlf98P/aQR2NQQrwQDBnm/b6k8vJb7peyxR dNpC0JJGpbCdI5nu4xhQTqZKZrHDf9sP01IeLUYVo5kVIIy5vWsT5oadjl8qFjZUSl6x zxvdeDxoRmw5OVOKyONHKJxD3eLKQekXyyx/kJkIAIZCrcpApCyjABD/ISj97PAnK7zR SWLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=GQFNYs+5MBLEhk/YpwGvftpZAYeWxZFFM99PsEI42kc=; fh=C3ex6Ep0JlVVkO8k9Lw7rcozgcHcGXw85BZvhIOfcrk=; b=DpGCaItuFt4DFrDKBm+0eiU27MG3SAL/yYULO3iz2j0g/4uDp3S1Y57Ye0/XZdkxFx RgdmTSCCvCEaDpn55OjgEWRbCxX9GYFStvo57KrnV7JGW0XM/Pn67ZyUXRWobo3VFngl Xs45kjoA74xXoaKtrS0YvI2P15yudfDrfR0VYSijFDKJHHTipcAZlCxk1N03WIIB7T1z spNmgQujLExfmK6bt74Clh11u9sJn/Dj1QeR4VicBx/m7ownN2H9W1wqR+pLGZX2PqZA iuwJVpxOJkuSAHQFvUswiD7CLkt72SEaK/6QZYKVNP97HKSLxuL17ulHGccNeumoIBQi /ysQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=T6oEGNuD; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6f54278bf09si30573376d6.182.2025.05.07.16.16.11 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 May 2025 16:16:11 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=T6oEGNuD; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uCnyl-0000jX-Dm; Wed, 07 May 2025 19:15:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uCnyh-0000hX-RO for qemu-devel@nongnu.org; Wed, 07 May 2025 19:15:04 -0400 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uCnye-0007Aw-Tq for qemu-devel@nongnu.org; Wed, 07 May 2025 19:15:03 -0400 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-2264aefc45dso6270645ad.0 for ; Wed, 07 May 2025 16:15:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746659699; x=1747264499; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=GQFNYs+5MBLEhk/YpwGvftpZAYeWxZFFM99PsEI42kc=; b=T6oEGNuDa5xqFlDDTr9rHQBB6+3cOEoeGgJN5z84UvIq1fQWnHlvURZcj0zfO++Qfb F12daF1cI1gzaELysnhKoHQYtlkf6nIO4oYQaznaUCou97LiAQBhQI9Ij4+MPxU9qwvw /bag4OUFRUs3bSvRgDU9me3Co8I5Ofubby6Y98tr7u8bkG8p1MU4MKETu4yQOdijGoM7 BImvsvZ6pckMpLIPHDOe44Nz+qOsvqgASqG+me7LvVZG8HpdLuyqGaw2l4lW2d5qZfH4 IX/xtxGtQko1+XDkE5dEnmuRvkDcUN56wW6YGdxG/Zk+3C3ePgle4iFYeQBZqiqGh2Pp e1xA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746659699; x=1747264499; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GQFNYs+5MBLEhk/YpwGvftpZAYeWxZFFM99PsEI42kc=; b=tpdYLyKbUGxPjE38UKlIHV31yzExlB/yc4U5ZrRfhD0QB8cXWi8BPTAS2kVfdWrkTi X2g69F8jcwGea9ue6m7Znt7dHM38hiIXo7/BhDlbPBP8z6wiXgQITcVvpSP+xDxBsc9p oR8QX9siawoGWYcfzoLGYrnfPz80euEsou9ICHk0R3CPU8aOD1JcwnAC9sAHi6sEcY9t SSF5Xg9W4OkniGWWYOCRKX8YGYfsq52g2g6OjbIqS+heqfIFpAlGN0R9VRR9DI0xpeif JZyz8eb2LDT54pLaDWKvbS7JDaSBurn8quwFDpT+plV9WRGHHJlEB6XS7/Sbs4cDC/Ft Feog== X-Gm-Message-State: AOJu0Yy08/ixty0R8uvloLr/yyWjHUEFHQWW9eq+Ywg+V/HuYMtRDXJ0 K1wrGV07FAcUTwNSzxIbDbhha9IxT7n5RRgIKg+lXZtMLqLDubIcfklDe7NPin1IXGBd17Ll/Jz s+LqHow== X-Gm-Gg: ASbGncuJhgerMg3IG01AVudtz2S448rrWujxhHTo+u8kM3NTqRXB3oReri5a8xLmb8B wErtDlUTVjPCH8Zb341JKgZ9S+2iVn2/16+ChVWTiAsxQyIhQOvEubROYeQZYafFsuepHqArMx0 gNcKFIfR/S9rYMY7av6x3CaN+KlGFXG+2ITK9KvItFbTXT+1AgQzchSahaBTs5p74ojMNMU/MAq Z2P7oTdQ+KKuzpsQEIi3z6dD9fGO9FkW/nNDGNiPqLeH4xgy60t9N805wQat+Ms9ChKvMu9AZD5 dIzj0hjDFXuSvYISQQmgGu/G+lTkaUZt6vHYHNeC X-Received: by 2002:a17:902:d487:b0:227:ac2a:2472 with SMTP id d9443c01a7336-22e865f7ea1mr17243255ad.28.1746659699493; Wed, 07 May 2025 16:14:59 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e421a7dafsm40103205ad.69.2025.05.07.16.14.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 16:14:59 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , alex.bennee@linaro.org, stefanha@redhat.com, peter.maydell@linaro.org, Markus Armbruster , richard.henderson@linaro.org, pbonzini@redhat.com, jsnow@redhat.com, philmd@linaro.org, berrange@redhat.com, thuth@redhat.com, Michael Roth Subject: [PATCH 09/13] qapi: transform target specific 'if' in runtime checks Date: Wed, 7 May 2025 16:14:39 -0700 Message-ID: <20250507231442.879619-10-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250507231442.879619-1-pierrick.bouvier@linaro.org> References: <20250507231442.879619-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::632; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x632.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Signed-off-by: Pierrick Bouvier Reviewed-by: Philippe Mathieu-Daudé --- qapi/machine-target.json | 84 ++++++++++++++++++++++++---------------- qapi/misc-target.json | 48 ++++++++++++----------- scripts/qapi/expr.py | 9 +++-- 3 files changed, 81 insertions(+), 60 deletions(-) diff --git a/qapi/machine-target.json b/qapi/machine-target.json index 541f93eeb78..6174b7291ca 100644 --- a/qapi/machine-target.json +++ b/qapi/machine-target.json @@ -96,7 +96,7 @@ ## { 'struct': 'CpuModelBaselineInfo', 'data': { 'model': 'CpuModelInfo' }, - 'if': 'TARGET_S390X' } + 'runtime_if': 'target_s390x()' } ## # @CpuModelCompareInfo: @@ -120,7 +120,7 @@ { 'struct': 'CpuModelCompareInfo', 'data': { 'result': 'CpuModelCompareResult', 'responsible-properties': ['str'] }, - 'if': 'TARGET_S390X' } + 'runtime_if': 'target_s390x()' } ## # @query-cpu-model-comparison: @@ -179,7 +179,7 @@ { 'command': 'query-cpu-model-comparison', 'data': { 'modela': 'CpuModelInfo', 'modelb': 'CpuModelInfo' }, 'returns': 'CpuModelCompareInfo', - 'if': 'TARGET_S390X' } + 'runtime_if': 'target_s390x()' } ## # @query-cpu-model-baseline: @@ -235,7 +235,7 @@ 'data': { 'modela': 'CpuModelInfo', 'modelb': 'CpuModelInfo' }, 'returns': 'CpuModelBaselineInfo', - 'if': 'TARGET_S390X' } + 'runtime_if': 'target_s390x()' } ## # @CpuModelExpansionInfo: @@ -256,12 +256,15 @@ { 'struct': 'CpuModelExpansionInfo', 'data': { 'model': 'CpuModelInfo', 'deprecated-props' : { 'type': ['str'], - 'if': 'TARGET_S390X' } }, - 'if': { 'any': [ 'TARGET_S390X', - 'TARGET_I386', - 'TARGET_ARM', - 'TARGET_LOONGARCH64', - 'TARGET_RISCV' ] } } + 'runtime_if': 'target_s390x()'} }, + 'runtime_if': { 'any': [ 'target_s390x()', + 'target_i386()', + 'target_x86_64()', + 'target_arm()', + 'target_aarch64()', + 'target_loongarch64()', + 'target_riscv32()', + 'target_riscv64()' ] } } ## # @query-cpu-model-expansion: @@ -311,11 +314,14 @@ 'data': { 'type': 'CpuModelExpansionType', 'model': 'CpuModelInfo' }, 'returns': 'CpuModelExpansionInfo', - 'if': { 'any': [ 'TARGET_S390X', - 'TARGET_I386', - 'TARGET_ARM', - 'TARGET_LOONGARCH64', - 'TARGET_RISCV' ] } } + 'runtime_if': { 'any': [ 'target_s390x()', + 'target_i386()', + 'target_x86_64()', + 'target_arm()', + 'target_aarch64()', + 'target_loongarch64()', + 'target_riscv32()', + 'target_riscv64()' ] } } ## # @CpuDefinitionInfo: @@ -378,13 +384,18 @@ 'typename': 'str', '*alias-of' : 'str', 'deprecated' : 'bool' }, - 'if': { 'any': [ 'TARGET_PPC', - 'TARGET_ARM', - 'TARGET_I386', - 'TARGET_S390X', - 'TARGET_MIPS', - 'TARGET_LOONGARCH64', - 'TARGET_RISCV' ] } } + 'runtime_if': { 'any': [ 'target_ppc()', + 'target_ppc64()', + 'target_arm()', + 'target_aarch64()', + 'target_i386()', + 'target_x86_64()', + 'target_s390x()', + 'target_mips()', + 'target_mips64()', + 'target_loongarch64()', + 'target_riscv32()', + 'target_riscv64()' ] } } ## # @query-cpu-definitions: @@ -396,13 +407,18 @@ # Since: 1.2 ## { 'command': 'query-cpu-definitions', 'returns': ['CpuDefinitionInfo'], - 'if': { 'any': [ 'TARGET_PPC', - 'TARGET_ARM', - 'TARGET_I386', - 'TARGET_S390X', - 'TARGET_MIPS', - 'TARGET_LOONGARCH64', - 'TARGET_RISCV' ] } } + 'runtime_if': { 'any': [ 'target_ppc()', + 'target_ppc64()', + 'target_arm()', + 'target_aarch64()', + 'target_i386()', + 'target_x86_64()', + 'target_s390x()', + 'target_mips()', + 'target_mips64()', + 'target_loongarch64()', + 'target_riscv32()', + 'target_riscv64()' ] } } ## # @S390CpuPolarization: @@ -414,7 +430,7 @@ ## { 'enum': 'S390CpuPolarization', 'data': [ 'horizontal', 'vertical' ], - 'if': 'TARGET_S390X' + 'runtime_if': 'target_s390x()' } ## @@ -453,7 +469,7 @@ '*dedicated': 'bool' }, 'features': [ 'unstable' ], - 'if': { 'all': [ 'TARGET_S390X' , 'CONFIG_KVM' ] } + 'runtime_if': { 'all': [ 'target_s390x()' , 'target_has_kvm()' ] } } ## @@ -489,7 +505,7 @@ { 'event': 'CPU_POLARIZATION_CHANGE', 'data': { 'polarization': 'S390CpuPolarization' }, 'features': [ 'unstable' ], - 'if': { 'all': [ 'TARGET_S390X', 'CONFIG_KVM' ] } + 'runtime_if': { 'all': [ 'target_s390x()' , 'target_has_kvm()' ] } } ## @@ -503,7 +519,7 @@ ## { 'struct': 'CpuPolarizationInfo', 'data': { 'polarization': 'S390CpuPolarization' }, - 'if': { 'all': [ 'TARGET_S390X', 'CONFIG_KVM' ] } + 'runtime_if': { 'all': [ 'target_s390x()' , 'target_has_kvm()' ] } } ## @@ -519,5 +535,5 @@ ## { 'command': 'query-s390x-cpu-polarization', 'returns': 'CpuPolarizationInfo', 'features': [ 'unstable' ], - 'if': { 'all': [ 'TARGET_S390X', 'CONFIG_KVM' ] } + 'runtime_if': { 'all': [ 'target_s390x()' , 'target_has_kvm()' ] } } diff --git a/qapi/misc-target.json b/qapi/misc-target.json index 42e4a7417dc..54500533e5b 100644 --- a/qapi/misc-target.json +++ b/qapi/misc-target.json @@ -17,7 +17,7 @@ # <- { "return": {} } ## { 'command': 'rtc-reset-reinjection', - 'if': 'TARGET_I386' } + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } ## # @SevState: @@ -45,7 +45,7 @@ { 'enum': 'SevState', 'data': ['uninit', 'launch-update', 'launch-secret', 'running', 'send-update', 'receive-update' ], - 'if': 'TARGET_I386' } + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } ## # @SevGuestType: @@ -60,7 +60,7 @@ ## { 'enum': 'SevGuestType', 'data': [ 'sev', 'sev-snp' ], - 'if': 'TARGET_I386' } + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } ## # @SevGuestInfo: @@ -76,7 +76,7 @@ { 'struct': 'SevGuestInfo', 'data': { 'policy': 'uint32', 'handle': 'uint32' }, - 'if': 'TARGET_I386' } + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } ## # @SevSnpGuestInfo: @@ -89,7 +89,7 @@ ## { 'struct': 'SevSnpGuestInfo', 'data': { 'snp-policy': 'uint64' }, - 'if': 'TARGET_I386' } + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } ## # @SevInfo: @@ -121,7 +121,7 @@ 'data': { 'sev': 'SevGuestInfo', 'sev-snp': 'SevSnpGuestInfo' }, - 'if': 'TARGET_I386' } + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } ## @@ -141,7 +141,7 @@ # "handle" : 1 } } ## { 'command': 'query-sev', 'returns': 'SevInfo', - 'if': 'TARGET_I386' } + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } ## # @SevLaunchMeasureInfo: @@ -153,7 +153,7 @@ # Since: 2.12 ## { 'struct': 'SevLaunchMeasureInfo', 'data': {'data': 'str'}, - 'if': 'TARGET_I386' } + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } ## # @query-sev-launch-measure: @@ -170,7 +170,7 @@ # <- { "return": { "data": "4l8LXeNlSPUDlXPJG5966/8%YZ" } } ## { 'command': 'query-sev-launch-measure', 'returns': 'SevLaunchMeasureInfo', - 'if': 'TARGET_I386' } + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } ## # @SevCapability: @@ -197,7 +197,7 @@ 'cpu0-id': 'str', 'cbitpos': 'int', 'reduced-phys-bits': 'int'}, - 'if': 'TARGET_I386' } + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } ## # @query-sev-capabilities: @@ -217,7 +217,7 @@ # "cbitpos": 47, "reduced-phys-bits": 1}} ## { 'command': 'query-sev-capabilities', 'returns': 'SevCapability', - 'if': 'TARGET_I386' } + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } ## # @sev-inject-launch-secret: @@ -234,7 +234,7 @@ ## { 'command': 'sev-inject-launch-secret', 'data': { 'packet-header': 'str', 'secret': 'str', '*gpa': 'uint64' }, - 'if': 'TARGET_I386' } + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } ## # @SevAttestationReport: @@ -248,7 +248,7 @@ ## { 'struct': 'SevAttestationReport', 'data': { 'data': 'str'}, - 'if': 'TARGET_I386' } + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } ## # @query-sev-attestation-report: @@ -272,7 +272,7 @@ { 'command': 'query-sev-attestation-report', 'data': { 'mnonce': 'str' }, 'returns': 'SevAttestationReport', - 'if': 'TARGET_I386' } + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } ## # @GICCapability: @@ -297,7 +297,7 @@ 'data': { 'version': 'int', 'emulated': 'bool', 'kernel': 'bool' }, - 'if': 'TARGET_ARM' } + 'runtime_if': { 'any': [ 'target_arm()', 'target_aarch64()' ] } } ## # @query-gic-capabilities: @@ -316,7 +316,7 @@ # { "version": 3, "emulated": false, "kernel": true } ] } ## { 'command': 'query-gic-capabilities', 'returns': ['GICCapability'], - 'if': 'TARGET_ARM' } + 'runtime_if': { 'any': [ 'target_arm()', 'target_aarch64()' ] } } ## # @SGXEPCSection: @@ -356,7 +356,7 @@ 'sgx2': 'bool', 'flc': 'bool', 'sections': ['SGXEPCSection']}, - 'if': 'TARGET_I386' } + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } ## # @query-sgx: @@ -375,7 +375,8 @@ # "sections": [{"node": 0, "size": 67108864}, # {"node": 1, "size": 29360128}]} } ## -{ 'command': 'query-sgx', 'returns': 'SGXInfo', 'if': 'TARGET_I386' } +{ 'command': 'query-sgx', 'returns': 'SGXInfo', + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } ## # @query-sgx-capabilities: @@ -394,7 +395,8 @@ # "section" : [{"node": 0, "size": 67108864}, # {"node": 1, "size": 29360128}]} } ## -{ 'command': 'query-sgx-capabilities', 'returns': 'SGXInfo', 'if': 'TARGET_I386' } +{ 'command': 'query-sgx-capabilities', 'returns': 'SGXInfo', + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } ## @@ -418,7 +420,7 @@ ## { 'enum': 'EvtchnPortType', 'data': ['closed', 'unbound', 'interdomain', 'pirq', 'virq', 'ipi'], - 'if': 'TARGET_I386' } + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } ## # @EvtchnInfo: @@ -449,7 +451,7 @@ 'target': 'uint16', 'pending': 'bool', 'masked': 'bool'}, - 'if': 'TARGET_I386' } + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } ## @@ -488,7 +490,7 @@ ## { 'command': 'xen-event-list', 'returns': ['EvtchnInfo'], - 'if': 'TARGET_I386' } + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } ## # @xen-event-inject: @@ -506,4 +508,4 @@ ## { 'command': 'xen-event-inject', 'data': { 'port': 'uint32' }, - 'if': 'TARGET_I386' } + 'runtime_if': { 'any': [ 'target_i386()', 'target_x86_64()' ] } } diff --git a/scripts/qapi/expr.py b/scripts/qapi/expr.py index 5ae26395964..f31f28ecb10 100644 --- a/scripts/qapi/expr.py +++ b/scripts/qapi/expr.py @@ -638,7 +638,8 @@ def check_exprs(exprs: List[QAPIExpression]) -> List[QAPIExpression]: if meta == 'enum': check_keys(expr, info, meta, - ['enum', 'data'], ['if', 'features', 'prefix']) + ['enum', 'data'], ['if', 'runtime_if', 'features', + 'prefix']) check_enum(expr) elif meta == 'union': check_keys(expr, info, meta, @@ -654,7 +655,8 @@ def check_exprs(exprs: List[QAPIExpression]) -> List[QAPIExpression]: check_alternate(expr) elif meta == 'struct': check_keys(expr, info, meta, - ['struct', 'data'], ['base', 'if', 'features']) + ['struct', 'data'], ['base', 'if', 'runtime_if', + 'features']) normalize_members(expr['data']) check_struct(expr) elif meta == 'command': @@ -667,7 +669,8 @@ def check_exprs(exprs: List[QAPIExpression]) -> List[QAPIExpression]: check_command(expr) elif meta == 'event': check_keys(expr, info, meta, - ['event'], ['data', 'boxed', 'if', 'features']) + ['event'], ['data', 'boxed', 'if', 'runtime_if', + 'features']) normalize_members(expr.get('data')) check_event(expr) else: From patchwork Wed May 7 23:14:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierrick Bouvier X-Patchwork-Id: 888129 Delivered-To: patch@linaro.org Received: by 2002:a5d:4683:0:b0:38f:210b:807b with SMTP id u3csp625212wrq; Wed, 7 May 2025 16:17:25 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXbyxo8Idu4KnkGvlPAhsbzlrGvJovzT96AB/mK5n975epgEZhtSnLc7OzsQXIEAzaB0A6cvw==@linaro.org X-Google-Smtp-Source: AGHT+IE7u5+vAjBJ8c3sShqIuvOTDqnfEPBew9SpUOioLht2Vc1KiyQqu/XhxLhvHj47w17kqhmE X-Received: by 2002:a05:6214:1d2a:b0:6f5:4a84:a14b with SMTP id 6a1803df08f44-6f54c48503bmr21617366d6.34.1746659845390; Wed, 07 May 2025 16:17:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746659845; cv=none; d=google.com; s=arc-20240605; b=lz56hDVqrYfp+QwlbqQB3DQY0tRnaqIroUlAjZ6B+1zTxqGQDNiDVM+R/VYyPmGSve XPXLKOZgKc3Xgm8k960aPBdrsfHsyOLj+w6g/QWdvkLJTEwQqry6c9N5la/vEqtWAPg/ 5snY6aO84+mezXSHWiQG13862bE2sfrPzC6yPUMiHsswI38xXx7ut46KkDLTMd4vXNiH 9DaSkK2UmPQxap/A0d9jdQu6ehal45l4dGZ50gZJOJA/sKL9MG/Lf7Tm4ROJhfgnjzI2 bja8P8KOzLgwXiQ61XY6jiWo1rPXlplmCOjpEH9ptyg9J0RJttkfv6C+drjkUzn48Wn8 hL3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=jPYvM/Yfcpm+cjpevJkSeWtzrQnOVm30pMe7ne9zBMA=; fh=C3ex6Ep0JlVVkO8k9Lw7rcozgcHcGXw85BZvhIOfcrk=; b=hH5LA/AFipks2X2NIRWnt9IxANjFp9e+01dQPzwgyli6QlJ1zvL7/C2vXBRqjw6jNL wJpU0WjswdhCawnYM5fyxCIBdcSPi/6o+IqO5faLLbkIHUr2ngYCw5EjkgcsfTtAu3PE 3RdDz1zMYUmC8ByhEKDaaSWvw5hHv5JVNa/FlPsdvGOfNUWjnqyKYeeaQP/p4Sx6UyBG KaUrkyVZ8SLh/gO2NCj93z9L1bqE5AlajdVa+hw4WrpUN8DhpWw44UVi/fppDuV9pEBa IuLwitZsHYmDFjlgVPq2zLFmeTCNI/fsuSmyDWrhAQPPC7IWDjlW28Xgo3qKKRGLQEJg 2cwA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=pZknOLXa; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6f54278c4cbsi30217526d6.229.2025.05.07.16.17.25 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 May 2025 16:17:25 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=pZknOLXa; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uCnyj-0000iD-GW; Wed, 07 May 2025 19:15:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uCnyh-0000hQ-Gk for qemu-devel@nongnu.org; Wed, 07 May 2025 19:15:03 -0400 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uCnyf-0007B5-LM for qemu-devel@nongnu.org; Wed, 07 May 2025 19:15:03 -0400 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-22e4d235811so6191155ad.2 for ; Wed, 07 May 2025 16:15:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746659700; x=1747264500; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jPYvM/Yfcpm+cjpevJkSeWtzrQnOVm30pMe7ne9zBMA=; b=pZknOLXa7L6Nf5pqGgQszSuXJ/LWxk+YGxHRrh13f2mdOtfM3HHHYOaSr5w4tf+Oiv AAK44zhjoCmV5FpsHFxmnHjTxU04nXsIlEgtoy2Pk0kR7mwSatVTrV3985NGiOHVfTSF yyV+fClvvhjjnKQDIrZDQaNMYh1JdTaLw6rgAFNd7et8iNmYc4Dzh11Pu800VY5lFITh 6csoZNtRUxtGbHMdv/TiW0fBGN2Jbw+jUELznLBDfO8oEhls/MJX787m7GknVFOE61eJ REWUAtaX6VZCv5CGIrioO97ESqLTAlXGJI3m2GtcLDgHXAbEgkwwaGnxxO8nsge0gDT+ F8VQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746659700; x=1747264500; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jPYvM/Yfcpm+cjpevJkSeWtzrQnOVm30pMe7ne9zBMA=; b=K1TVXcMf/9i4RFnxCMUfW/SnZMLqxRqh/UpLxQ+jdi21IkDf6G9RzGRikyaWsn1QAb Mo+fDuYGYAgUahAJl0gHF8davYS5lLkyZd2TAIB25C+CodCz3Z47UUs0n3/owlIIrhef +VT17iQYvhq7bVkskJbC0ars30+7LDinDaS3ah2t63oBdVWzXnkar0AaEUKUr7tc6NZ8 y5Vrhzk8So5a8XLuVIvERnSLPGLEk0NcXRJAR7Is4mdjKEgmLH+s2a6KUecjXMK/qj1i QlSXsLckDuMzYONzRlfJNsRPpEUXuHaUT3WkjdgdvzrqI0oaqSmeif4xzO1TgOs3c4yM r1gg== X-Gm-Message-State: AOJu0YzuKbEOU9gQHYCqR12dkm17TO2/oJMoAZM74kO/z7TKwvxoVMGl LaQ2lJHGvKlKMohjOx05M+akXR9nF5hMSSsfcPozqJl0y/buuC8Era767iIDqfmvAMl/G0Vj6SW q7h2wiA== X-Gm-Gg: ASbGncv/BnITn/iafRjhe1OcQ3MRbXjL6mGxZb/a9Vh8BxdSASStSsijj9czDWDFOrn 16WYdo7slpzVgvimKLSngnjGIqLFVmNAzRd7x0yAKsv13BnLn7QuloiSpkvef/MtATws0rvQ9FD ci9AKntieAOXNh9mJbvtPXs19tu5azUVyhXKKZo9FKbC5s7CuykXhTyR74sgvV+4moRS2OS1bbm 1dyv2Da0VmPlFohgCtvc9pmKT/PKX67bkngjtzPqYtRHs3m7fX9Fg+InQ/DOfWrvaVbB4k6/oUa 6RNG1nSPgLA8E6GkUM2/+KoxpeJWcJ65h9Q01wsy X-Received: by 2002:a17:903:3bcf:b0:224:24d5:f20a with SMTP id d9443c01a7336-22e8f0b62b7mr16441615ad.48.1746659700371; Wed, 07 May 2025 16:15:00 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e421a7dafsm40103205ad.69.2025.05.07.16.14.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 16:15:00 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , alex.bennee@linaro.org, stefanha@redhat.com, peter.maydell@linaro.org, Markus Armbruster , richard.henderson@linaro.org, pbonzini@redhat.com, jsnow@redhat.com, philmd@linaro.org, berrange@redhat.com, thuth@redhat.com, Michael Roth Subject: [PATCH 10/13] qapi: add weak stubs for target specific commands Date: Wed, 7 May 2025 16:14:40 -0700 Message-ID: <20250507231442.879619-11-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250507231442.879619-1-pierrick.bouvier@linaro.org> References: <20250507231442.879619-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::636; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x636.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org We are about to expose various target specific commands for all targets, so we need to stub not implemented qmp_* functions. MinGW does not support weak symbols without at least one strong definition, so we'll have to detail stubs per target. Sad. Signed-off-by: Pierrick Bouvier --- qapi/commands-weak-stubs.c | 38 ++++++++++++++++++++++++++++++++++++++ qapi/meson.build | 2 ++ 2 files changed, 40 insertions(+) create mode 100644 qapi/commands-weak-stubs.c diff --git a/qapi/commands-weak-stubs.c b/qapi/commands-weak-stubs.c new file mode 100644 index 00000000000..9734263c32e --- /dev/null +++ b/qapi/commands-weak-stubs.c @@ -0,0 +1,38 @@ +/* + * Weak symbols for target specific commands + * + * Copyright Linaro, 2025 + * + * This work is licensed under the terms of the GNU LGPL, version 2.1 or later. + * See the COPYING.LIB file in the top-level directory. + * + */ + +#include "qemu/osdep.h" +#include + +#define NOT_REACHABLE(symbol) \ +void __attribute__((weak)) symbol(void); \ +void __attribute__((weak)) symbol(void) { g_assert_not_reached(); } + +#define WEAK_STUB(command) \ +NOT_REACHABLE(qmp_marshal_##command) \ +NOT_REACHABLE(qmp_##command) + +WEAK_STUB(query_cpu_model_comparison); +WEAK_STUB(query_cpu_model_baseline); +WEAK_STUB(set_cpu_topology); +WEAK_STUB(query_s390x_cpu_polarization); +WEAK_STUB(rtc_reset_reinjection); +WEAK_STUB(query_sev); +WEAK_STUB(query_sev_launch_measure); +WEAK_STUB(query_sev_capabilities); +WEAK_STUB(sev_inject_launch_secret); +WEAK_STUB(query_sev_attestation_report); +WEAK_STUB(query_sgx); +WEAK_STUB(query_sgx_capabilities); +WEAK_STUB(xen_event_list); +WEAK_STUB(xen_event_inject); +WEAK_STUB(query_cpu_model_expansion); +WEAK_STUB(query_cpu_definitions); +WEAK_STUB(query_gic_capabilities); diff --git a/qapi/meson.build b/qapi/meson.build index eadde4db307..60fc958ec10 100644 --- a/qapi/meson.build +++ b/qapi/meson.build @@ -147,3 +147,5 @@ foreach output : qapi_specific_outputs + qapi_nonmodule_outputs specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: qapi_files[i]) i = i + 1 endforeach + +system_ss.add(files('commands-weak-stubs.c')) From patchwork Wed May 7 23:14:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Pierrick Bouvier X-Patchwork-Id: 888122 Delivered-To: patch@linaro.org Received: by 2002:a5d:4683:0:b0:38f:210b:807b with SMTP id u3csp625115wrq; Wed, 7 May 2025 16:17:08 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUm5AuEThVtxdoz5IZYZCc8znVb4Z41gzUDmI+lkMAITBsaWwOkxutxvBAU8Jg8763GVRymZg==@linaro.org X-Google-Smtp-Source: AGHT+IExA9r7BcbZiQb6SfZdvIBGwNsBSowAFgNPSha9RQnVOD32y5UNMo+hBqz7AJAzKM84AxqL X-Received: by 2002:ad4:5b84:0:b0:6d8:9d81:2107 with SMTP id 6a1803df08f44-6f54c3d146fmr18395576d6.20.1746659828635; Wed, 07 May 2025 16:17:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746659828; cv=none; d=google.com; s=arc-20240605; b=ZaQoOblJ5aTFuoYhlVt/P5bZf7+2jF+HzF85BwEs6g+DFVTZpS4cAsH7Tiyp85bPFF VU1LjDS7s9uZRlutghOS4Mjb0zPIj/zr//tNZpeFkamYHKZiFml2IXSST8Gk0zOZhgIc T++AL7EdhnXBHPVfjhM0kDGRN70wXJbni1XvKCl5/6BkB21xfgC4dHfnayKXGmyF5WIY RBY6c44l8xykGhsAqJrbXYlDohONdsP7RM3RL2INmuApyN1hzbOTQ2hC/WBlRFtX7qdd ZXZAZMcxmvtFOlAYQce6gSyWQo967AI16C5w9dL3y3cZuW33IAHFidFkGkj3EQaOFjMJ pfZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=0OQrmhMkBbkRAe+AcaFWJpAW3Ke/6y++HEbniG6kC24=; fh=C3ex6Ep0JlVVkO8k9Lw7rcozgcHcGXw85BZvhIOfcrk=; b=PzX9rumdWcmNutdixDhIFowwpFVhKMsEeEtlpt9Tzztvd2oDP68mmUBIUeA9X2JFA8 mLoBULW7a4wTot8+mPINTEgkcccHycAMxZ8es6cd36Ay+rE7Z18FpZqrR55l92J0YxyB ys43e4X4djyYECXN+cTgaUB4t369smeNEk5TbelPvgqF5MrFtzN2RVMcDxjsgo7v9cjw w0c2x1v8Cvvm1X2sOGr71PrPyWvAtX5LyzKxSmWCWexROUKZOq3yBBegTtR2VII6y9ja hRW430sjEvtH+Tr0/HPjyfY48GmYcN+GmzJLLmhaAQRYxWAzQCgDHOf62Vo0oclBlph9 ooNg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="TWFe/eB7"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6f54278bf2bsi30432506d6.170.2025.05.07.16.17.08 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 May 2025 16:17:08 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="TWFe/eB7"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uCnyl-0000jY-Dz; Wed, 07 May 2025 19:15:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uCnyj-0000iE-6n for qemu-devel@nongnu.org; Wed, 07 May 2025 19:15:05 -0400 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uCnyh-0007BW-DM for qemu-devel@nongnu.org; Wed, 07 May 2025 19:15:04 -0400 Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-2264aefc45dso6270915ad.0 for ; Wed, 07 May 2025 16:15:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746659701; x=1747264501; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0OQrmhMkBbkRAe+AcaFWJpAW3Ke/6y++HEbniG6kC24=; b=TWFe/eB7WTi0O55ObIAdj6hN2eiRF9yegOlUbqKRLOJ6iqVJftEi/p9QQDYOU2xTZ9 UjdfGUoNx/7Aag0SfVT4MAvLOqCwcoe8sJGmRUSwCIMWFjowTCtH0JDXMWdLSNDjC6xN tgqQwZMxVSUG69vCoPLa9UuSAqqWSLHurSa1NiEYOAbIUhGTvOi7F2A3LHoem5PwIIZK no6y2Lffk29W/1rht/IvMs+Uy4atWbhGZJo5kbQBvJkCOdr8O8MAW5Jkr1cPOkOiFO8K gYxQHU0fLBtlVd17oLgevhLREZ91vIvXUCi06j1Dn7dulaJwvWfXMU9h5J2nPbtMK/rq XscQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746659701; x=1747264501; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0OQrmhMkBbkRAe+AcaFWJpAW3Ke/6y++HEbniG6kC24=; b=jlvVLfUSgHYFFlG4QoWl9oRxCQSU8My9BzxSKlJhWR1baC/sz3A4iYF1RA1SOik5+p OWWESqVktMJpHG9/92wRvUQFm//XtR+p+hQUxyQYSCZ4RbTYAAroRK+6nx/7T+IKsMXG UH70uFxPUPoO6xiA/hg7y/jQ8gxyiXXV5IJN6p5uMzEZo7ZtRfjaPIfjZvFLevorfIqk zl/x4/bO/y/v93HvQS1RVJQDZlOuM8Iy4cU2sceGlZZySsfXeE23FaBS64a0EoQi1r1t +Ari+WqhtgpL/sGLK6ZMoEGobkX5/mODQZxxI6oxnJTHQGdKz6P2P4m8cWF0A2IBTv+8 i7Qg== X-Gm-Message-State: AOJu0YyC129nZsrCd/c6V00jT5iRrTZGKwn456TilmlYZ7WZnr8GZnj4 ndzorBs9RNEv6QznJUw6YyHB2Asz5amT8SMtVJJ6kN1ODdMbxpf/5Hh4pLXDqp32i3KRkzfNXVn yIIl+eg== X-Gm-Gg: ASbGncuXFea5cd3s5Lycc21lbv7/dXiZ0NioPeyfCJrXpFCtVTa5qp6N5HaD18+9kCj oCedY/cDKVzaR3OBgyxm9aOOrrw7eIvfQSWd9oJtZyrOg2Xcnpi1sxaBoHG1026SyjM+LI9j59h 2N/oekycTn0P+/t+zVjA/babTCY+hxulrxjXea/vd9edL7WAHdNAOVV0DGOjuBd8BbQO6E6q8UM 8JTha6sTa5oUJmhUpNWu/qUH4HAiLr5DiQO/6piqkyxQUAXtJqzHSEi3zc8ng9oIf1TQd66wiEK xhOS2Ow018uuAlXaQX2y0CrHtgLeuZPHIVkI0uae X-Received: by 2002:a17:903:287:b0:223:536d:f67b with SMTP id d9443c01a7336-22e8dc8f2f0mr17748245ad.38.1746659701254; Wed, 07 May 2025 16:15:01 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e421a7dafsm40103205ad.69.2025.05.07.16.15.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 16:15:00 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , alex.bennee@linaro.org, stefanha@redhat.com, peter.maydell@linaro.org, Markus Armbruster , richard.henderson@linaro.org, pbonzini@redhat.com, jsnow@redhat.com, philmd@linaro.org, berrange@redhat.com, thuth@redhat.com, Michael Roth Subject: [PATCH 11/13] qapi: make all generated files common Date: Wed, 7 May 2025 16:14:41 -0700 Message-ID: <20250507231442.879619-12-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250507231442.879619-1-pierrick.bouvier@linaro.org> References: <20250507231442.879619-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::62b; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x62b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Signed-off-by: Pierrick Bouvier Reviewed-by: Philippe Mathieu-Daudé --- qapi/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qapi/meson.build b/qapi/meson.build index 60fc958ec10..b8aa33ec9db 100644 --- a/qapi/meson.build +++ b/qapi/meson.build @@ -144,7 +144,7 @@ foreach output : qapi_specific_outputs + qapi_nonmodule_outputs if output.endswith('.trace-events') qapi_trace_events += qapi_files[i] endif - specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: qapi_files[i]) + system_ss.add(if_true: qapi_files[i]) i = i + 1 endforeach From patchwork Wed May 7 23:14:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierrick Bouvier X-Patchwork-Id: 888119 Delivered-To: patch@linaro.org Received: by 2002:a5d:4683:0:b0:38f:210b:807b with SMTP id u3csp624641wrq; Wed, 7 May 2025 16:15:45 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCW4UJ8Ki3yhQ+G6XBf4EpsIgtszviuOLmoltd2YRWvMCwI4FTHE8dueNlzaE+mn7iH7HiKeCw==@linaro.org X-Google-Smtp-Source: AGHT+IESiN+OH40CukK8ixo20yH6whwyvbm8A6cMjsAMOZeZSXGBBWWD3OvOEbMDDN0TdFkV+ueU X-Received: by 2002:ac8:5890:0:b0:48e:9e05:cede with SMTP id d75a77b69052e-4922795d397mr67864031cf.52.1746659744994; Wed, 07 May 2025 16:15:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746659744; cv=none; d=google.com; s=arc-20240605; b=Mc3sK1CRjUnmUeL/HLVpHmvc1P0NflE/7FFpsMOa84855LpGy5eURPkQj30W5yPcJk Xk7jEjIIiGLK+XYg3boBv5gd5sXKe2IdjAdAGZa0CaGHuQRXw/dvgTivBN+qLqUolkTq 7Gre2RQMyRWZEETuW6PqWKleGnjRy79l+l+sldWG4UOtqx//kyQnaAXzLxTsDD7m3SpA oEVFHUTQX4c2cIjZdb284/p6zJxQfZ0+U0dq3tV/r2BBdlfLnlKyuucHavygwiAvFqCf vNdILc9UmkGZ0C2at/tHMtPf42suzn3SCvIPR9UlPZrFwYPY5xKNl/z50+x7lAOfNXUC 49Uw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=tSW/JXELQWVl1oBMnbsYzBzqBXzXdfdQUa0WkEee6XM=; fh=C3ex6Ep0JlVVkO8k9Lw7rcozgcHcGXw85BZvhIOfcrk=; b=C46sZYOMLRIBO22r7qC7ESVrChFM8TzUus7YYETtgtIFVpWsxRkrI21et7SE/QKpYP Y1b47ltYD2TELVcHTLE+U3bnbaW7766mSDCfHfU0XjjemmW2sl43fQNM/6zGZETSX6ud I8oIhSyX1bpSKrrX463fbs1+M4Xn09xAoFgLWHBcPK4E9I6jIMiPW4F6MnxHn+6ekC8x KgUeiBTtT4H+ea4RDbLULc60c+MjagcmoTAWpbHhTnJPBRfryRSR2RpS171J/J3nsuSy TvvYQBZEPT2hQ5lhaj/PztLHF7ZCdTWyX1xxAkupiNwn+gK4HixKe6XsKSZ6xgyvPRio 966w==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="SbH/Meen"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-49220f82f94si29938261cf.127.2025.05.07.16.15.44 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 May 2025 16:15:44 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="SbH/Meen"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uCnyq-0000mK-Vp; Wed, 07 May 2025 19:15:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uCnyn-0000kD-Q3 for qemu-devel@nongnu.org; Wed, 07 May 2025 19:15:09 -0400 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uCnyi-0007HL-BZ for qemu-devel@nongnu.org; Wed, 07 May 2025 19:15:09 -0400 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-22e3b069f23so4363465ad.2 for ; Wed, 07 May 2025 16:15:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746659703; x=1747264503; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=tSW/JXELQWVl1oBMnbsYzBzqBXzXdfdQUa0WkEee6XM=; b=SbH/MeenbjohYLTYEVoLsgbgsRV+via2WW0fwwtYCixmdgP9a9SvZy2QyrvWOWJOh2 ypymYMJSjKbULuo82rmQim3/uS4Huo2Q5hEh86Cj0H4awRdMp6zFaznW2cRHZBRJkfKO ND7I0LjXDInfFO+KBsvABPj1gp15wRxG2eZOr5H4P4ktkpchoNgzAsT/c0JcFgxHxDoR bgr4ylqRjhnn3uHnoD4toO0wncanVNN63xMQ40W69of/2t+i9QSh+HUDwBDVL8kI8oTn ANX3cW7DdrILcsKJA91L5n1tbgD+eQhuEfVxCmA0STuqJiwx7jfkD3Qx8TXUYh1Z7EYB C7AQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746659703; x=1747264503; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tSW/JXELQWVl1oBMnbsYzBzqBXzXdfdQUa0WkEee6XM=; b=UENR7inc7dZRtRUxK0g42f9XmxZbNuOCs/ZCe9aswDNtiPHJ4TxDhGwjyLzxdRSml3 WxtlHYJYodbFqTVyXy+n/QY8jMyg4gR1JPjz0WXLVqOw/PTC1wc4wmj5so79oWrpnhoB cuM/Nbwp5tkK5DWZMvb8a1d6oYT1vJK0/4Ntjg9O9HKbgAA3vNsz/8z0fq44Y0MI/BMa 1ubneKteW5rhlCRspjAnVxW6o4D8nYjO0u+zNm/oZ9eHZNq5jP1XB4FN+O28NcCZCoFQ qxK710/6c4hxVMYxlcP7mmSNPB0ldbWj2rz+Auq8G+PZ6tZkeTEB9QeooTLYqMc/mwlt WfKg== X-Gm-Message-State: AOJu0YzMY9NyiWW+or+GgitDEiy+GPtGZbUAoGE1/ACatr3D0QluKikb ajqOR/Weac2E0kT3lHPiC+3JYrvczPURUAqdW3Q4QdD0VU1IV8PV+QseCVDJY/TGUDdAnxKs4Va rPVdaPw== X-Gm-Gg: ASbGnctActgyOBN7UjgCUePyxdJ4CtW83oM4/KK83G2C9V7Z3p36Z+UcD3pNAanBfbK 2PnFLFrVcCLv0hgE7uNUArGdoXycXUOjgqROdXVdVg02sEs8UPI+QVKh5O9D2IkLczznJ6c8vY4 Q5oKLb4is2NCg8QbdtuaCYKqiK7cV66s7GVoT7AmCrbOK+CNg/TmjbjWArOJcVnG1DIZXyRldF3 6rJc/Bk06q7bDUhO1hBPk/Ti9WA9S3c0CDD8JtolUzbUfMbNU8DrsYvFJ2AV5yHkjKVfp4EkGsg 5As/7D8+30GmNGhCsCPIlFZ+3acSKH+jpVuiQLA+ X-Received: by 2002:a17:902:d50f:b0:215:7421:262 with SMTP id d9443c01a7336-22e5ea7c56fmr90334955ad.12.1746659702272; Wed, 07 May 2025 16:15:02 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e421a7dafsm40103205ad.69.2025.05.07.16.15.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 16:15:01 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , alex.bennee@linaro.org, stefanha@redhat.com, peter.maydell@linaro.org, Markus Armbruster , richard.henderson@linaro.org, pbonzini@redhat.com, jsnow@redhat.com, philmd@linaro.org, berrange@redhat.com, thuth@redhat.com, Michael Roth Subject: [PATCH 13/13] [ANNEX] build/qapi: after series Date: Wed, 7 May 2025 16:14:42 -0700 Message-ID: <20250507231442.879619-13-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250507231442.879619-1-pierrick.bouvier@linaro.org> References: <20250507231442.879619-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::632; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x632.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org In this patch, you can see all the changes in generated QAPI code. Feel free to review inline if you want to highlight some parts. Signed-off-by: Pierrick Bouvier --- build/qapi/qapi-commands-machine-target.h | 12 - build/qapi/qapi-commands-misc-target.h | 22 -- build/qapi/qapi-events-machine-target.h | 2 - build/qapi/qapi-introspect.h | 2 +- build/qapi/qapi-types-machine-target.h | 58 ----- build/qapi/qapi-types-misc-target.h | 84 ------- build/qapi/qapi-visit-machine-target.h | 24 -- build/qapi/qapi-visit-misc-target.h | 36 --- build/qapi/qapi-builtin-visit.c | 1 + build/qapi/qapi-commands-acpi.c | 1 + build/qapi/qapi-commands-audio.c | 1 + build/qapi/qapi-commands-authz.c | 1 + build/qapi/qapi-commands-block-core.c | 1 + build/qapi/qapi-commands-block-export.c | 1 + build/qapi/qapi-commands-block.c | 1 + build/qapi/qapi-commands-char.c | 1 + build/qapi/qapi-commands-common.c | 1 + build/qapi/qapi-commands-compat.c | 1 + build/qapi/qapi-commands-control.c | 1 + build/qapi/qapi-commands-crypto.c | 1 + build/qapi/qapi-commands-cryptodev.c | 1 + build/qapi/qapi-commands-cxl.c | 1 + build/qapi/qapi-commands-dump.c | 1 + build/qapi/qapi-commands-ebpf.c | 1 + build/qapi/qapi-commands-error.c | 1 + build/qapi/qapi-commands-introspect.c | 1 + build/qapi/qapi-commands-job.c | 1 + build/qapi/qapi-commands-machine-common.c | 1 + build/qapi/qapi-commands-machine-target.c | 23 +- build/qapi/qapi-commands-machine.c | 1 + build/qapi/qapi-commands-migration.c | 1 + build/qapi/qapi-commands-misc-target.c | 37 +-- build/qapi/qapi-commands-misc.c | 1 + build/qapi/qapi-commands-net.c | 1 + build/qapi/qapi-commands-pci.c | 1 + build/qapi/qapi-commands-pragma.c | 1 + build/qapi/qapi-commands-qdev.c | 1 + build/qapi/qapi-commands-qom.c | 1 + build/qapi/qapi-commands-replay.c | 1 + build/qapi/qapi-commands-rocker.c | 1 + build/qapi/qapi-commands-run-state.c | 1 + build/qapi/qapi-commands-sockets.c | 1 + build/qapi/qapi-commands-stats.c | 1 + build/qapi/qapi-commands-tpm.c | 1 + build/qapi/qapi-commands-trace.c | 1 + build/qapi/qapi-commands-transaction.c | 1 + build/qapi/qapi-commands-uefi.c | 1 + build/qapi/qapi-commands-ui.c | 1 + build/qapi/qapi-commands-vfio.c | 1 + build/qapi/qapi-commands-virtio.c | 1 + build/qapi/qapi-commands-yank.c | 1 + build/qapi/qapi-commands.c | 1 + build/qapi/qapi-events-machine-target.c | 2 - build/qapi/qapi-init-commands.c | 69 ++--- build/qapi/qapi-introspect.c | 294 ++++++++-------------- build/qapi/qapi-types-machine-target.c | 14 -- build/qapi/qapi-types-misc-target.c | 28 --- build/qapi/qapi-visit-acpi.c | 1 + build/qapi/qapi-visit-audio.c | 1 + build/qapi/qapi-visit-authz.c | 1 + build/qapi/qapi-visit-block-core.c | 1 + build/qapi/qapi-visit-block-export.c | 1 + build/qapi/qapi-visit-block.c | 1 + build/qapi/qapi-visit-char.c | 1 + build/qapi/qapi-visit-common.c | 1 + build/qapi/qapi-visit-compat.c | 1 + build/qapi/qapi-visit-control.c | 1 + build/qapi/qapi-visit-crypto.c | 1 + build/qapi/qapi-visit-cryptodev.c | 1 + build/qapi/qapi-visit-cxl.c | 1 + build/qapi/qapi-visit-dump.c | 1 + build/qapi/qapi-visit-ebpf.c | 1 + build/qapi/qapi-visit-error.c | 1 + build/qapi/qapi-visit-introspect.c | 1 + build/qapi/qapi-visit-job.c | 1 + build/qapi/qapi-visit-machine-common.c | 1 + build/qapi/qapi-visit-machine-target.c | 29 +-- build/qapi/qapi-visit-machine.c | 1 + build/qapi/qapi-visit-migration.c | 1 + build/qapi/qapi-visit-misc-target.c | 37 +-- build/qapi/qapi-visit-misc.c | 1 + build/qapi/qapi-visit-net.c | 1 + build/qapi/qapi-visit-pci.c | 1 + build/qapi/qapi-visit-pragma.c | 1 + build/qapi/qapi-visit-qdev.c | 1 + build/qapi/qapi-visit-qom.c | 1 + build/qapi/qapi-visit-replay.c | 1 + build/qapi/qapi-visit-rocker.c | 1 + build/qapi/qapi-visit-run-state.c | 1 + build/qapi/qapi-visit-sockets.c | 1 + build/qapi/qapi-visit-stats.c | 1 + build/qapi/qapi-visit-tpm.c | 1 + build/qapi/qapi-visit-trace.c | 1 + build/qapi/qapi-visit-transaction.c | 1 + build/qapi/qapi-visit-uefi.c | 1 + build/qapi/qapi-visit-ui.c | 1 + build/qapi/qapi-visit-vfio.c | 1 + build/qapi/qapi-visit-virtio.c | 1 + build/qapi/qapi-visit-yank.c | 1 + build/qapi/qapi-visit.c | 1 + 100 files changed, 226 insertions(+), 630 deletions(-) diff --git a/build/qapi/qapi-commands-machine-target.h b/build/qapi/qapi-commands-machine-target.h index 4b9cd2616ba..3c1cc46e8fc 100644 --- a/build/qapi/qapi-commands-machine-target.h +++ b/build/qapi/qapi-commands-machine-target.h @@ -16,29 +16,17 @@ #include "qapi-commands-machine-common.h" #include "qapi-types-machine-target.h" -#if defined(TARGET_S390X) CpuModelCompareInfo *qmp_query_cpu_model_comparison(CpuModelInfo *modela, CpuModelInfo *modelb, Error **errp); void qmp_marshal_query_cpu_model_comparison(QDict *args, QObject **ret, Error **errp); -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) CpuModelBaselineInfo *qmp_query_cpu_model_baseline(CpuModelInfo *modela, CpuModelInfo *modelb, Error **errp); void qmp_marshal_query_cpu_model_baseline(QDict *args, QObject **ret, Error **errp); -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) CpuModelExpansionInfo *qmp_query_cpu_model_expansion(CpuModelExpansionType type, CpuModelInfo *model, Error **errp); void qmp_marshal_query_cpu_model_expansion(QDict *args, QObject **ret, Error **errp); -#endif /* defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) CpuDefinitionInfoList *qmp_query_cpu_definitions(Error **errp); void qmp_marshal_query_cpu_definitions(QDict *args, QObject **ret, Error **errp); -#endif /* defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) void qmp_set_cpu_topology(uint16_t core_id, bool has_socket_id, uint16_t socket_id, bool has_book_id, uint16_t book_id, bool has_drawer_id, uint16_t drawer_id, bool has_entitlement, S390CpuEntitlement entitlement, bool has_dedicated, bool dedicated, Error **errp); void qmp_marshal_set_cpu_topology(QDict *args, QObject **ret, Error **errp); -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) CpuPolarizationInfo *qmp_query_s390x_cpu_polarization(Error **errp); void qmp_marshal_query_s390x_cpu_polarization(QDict *args, QObject **ret, Error **errp); -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ #endif /* QAPI_COMMANDS_MACHINE_TARGET_H */ diff --git a/build/qapi/qapi-commands-misc-target.h b/build/qapi/qapi-commands-misc-target.h index 366711c22a2..8b449d314de 100644 --- a/build/qapi/qapi-commands-misc-target.h +++ b/build/qapi/qapi-commands-misc-target.h @@ -15,49 +15,27 @@ #include "qapi-types-misc-target.h" -#if defined(TARGET_I386) void qmp_rtc_reset_reinjection(Error **errp); void qmp_marshal_rtc_reset_reinjection(QDict *args, QObject **ret, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) SevInfo *qmp_query_sev(Error **errp); void qmp_marshal_query_sev(QDict *args, QObject **ret, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) SevLaunchMeasureInfo *qmp_query_sev_launch_measure(Error **errp); void qmp_marshal_query_sev_launch_measure(QDict *args, QObject **ret, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) SevCapability *qmp_query_sev_capabilities(Error **errp); void qmp_marshal_query_sev_capabilities(QDict *args, QObject **ret, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qmp_sev_inject_launch_secret(const char *packet_header, const char *secret, bool has_gpa, uint64_t gpa, Error **errp); void qmp_marshal_sev_inject_launch_secret(QDict *args, QObject **ret, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) SevAttestationReport *qmp_query_sev_attestation_report(const char *mnonce, Error **errp); void qmp_marshal_query_sev_attestation_report(QDict *args, QObject **ret, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_ARM) GICCapabilityList *qmp_query_gic_capabilities(Error **errp); void qmp_marshal_query_gic_capabilities(QDict *args, QObject **ret, Error **errp); -#endif /* defined(TARGET_ARM) */ -#if defined(TARGET_I386) SGXInfo *qmp_query_sgx(Error **errp); void qmp_marshal_query_sgx(QDict *args, QObject **ret, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) SGXInfo *qmp_query_sgx_capabilities(Error **errp); void qmp_marshal_query_sgx_capabilities(QDict *args, QObject **ret, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) EvtchnInfoList *qmp_xen_event_list(Error **errp); void qmp_marshal_xen_event_list(QDict *args, QObject **ret, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qmp_xen_event_inject(uint32_t port, Error **errp); void qmp_marshal_xen_event_inject(QDict *args, QObject **ret, Error **errp); -#endif /* defined(TARGET_I386) */ #endif /* QAPI_COMMANDS_MISC_TARGET_H */ diff --git a/build/qapi/qapi-events-machine-target.h b/build/qapi/qapi-events-machine-target.h index 95b65d92535..beba27a650c 100644 --- a/build/qapi/qapi-events-machine-target.h +++ b/build/qapi/qapi-events-machine-target.h @@ -17,8 +17,6 @@ #include "qapi/util.h" #include "qapi-types-machine-target.h" -#if defined(TARGET_S390X) && defined(CONFIG_KVM) void qapi_event_send_cpu_polarization_change(S390CpuPolarization polarization); -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ #endif /* QAPI_EVENTS_MACHINE_TARGET_H */ diff --git a/build/qapi/qapi-introspect.h b/build/qapi/qapi-introspect.h index 2ae03416453..e94f33abb2d 100644 --- a/build/qapi/qapi-introspect.h +++ b/build/qapi/qapi-introspect.h @@ -14,6 +14,6 @@ #include "qobject/qlit.h" -extern const QLitObject qmp_schema_qlit; +QObject *qmp_schema_qobject(void); #endif /* QAPI_INTROSPECT_H */ diff --git a/build/qapi/qapi-types-machine-target.h b/build/qapi/qapi-types-machine-target.h index e9a7ef113d9..1042a3672e4 100644 --- a/build/qapi/qapi-types-machine-target.h +++ b/build/qapi/qapi-types-machine-target.h @@ -42,39 +42,22 @@ typedef enum CpuModelCompareResult { extern const QEnumLookup CpuModelCompareResult_lookup; -#if defined(TARGET_S390X) typedef struct CpuModelBaselineInfo CpuModelBaselineInfo; -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) typedef struct CpuModelCompareInfo CpuModelCompareInfo; -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) typedef struct q_obj_query_cpu_model_comparison_arg q_obj_query_cpu_model_comparison_arg; -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) typedef struct q_obj_query_cpu_model_baseline_arg q_obj_query_cpu_model_baseline_arg; -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) typedef struct CpuModelExpansionInfo CpuModelExpansionInfo; -#endif /* defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) typedef struct q_obj_query_cpu_model_expansion_arg q_obj_query_cpu_model_expansion_arg; -#endif /* defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) typedef struct CpuDefinitionInfo CpuDefinitionInfo; -#endif /* defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) typedef struct CpuDefinitionInfoList CpuDefinitionInfoList; -#endif /* defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_S390X) typedef enum S390CpuPolarization { S390_CPU_POLARIZATION_HORIZONTAL, S390_CPU_POLARIZATION_VERTICAL, @@ -85,19 +68,12 @@ typedef enum S390CpuPolarization { qapi_enum_lookup(&S390CpuPolarization_lookup, (val)) extern const QEnumLookup S390CpuPolarization_lookup; -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) typedef struct q_obj_set_cpu_topology_arg q_obj_set_cpu_topology_arg; -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) typedef struct q_obj_CPU_POLARIZATION_CHANGE_arg q_obj_CPU_POLARIZATION_CHANGE_arg; -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) typedef struct CpuPolarizationInfo CpuPolarizationInfo; -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ struct CpuModelInfo { char *name; @@ -107,65 +83,44 @@ struct CpuModelInfo { void qapi_free_CpuModelInfo(CpuModelInfo *obj); G_DEFINE_AUTOPTR_CLEANUP_FUNC(CpuModelInfo, qapi_free_CpuModelInfo) -#if defined(TARGET_S390X) struct CpuModelBaselineInfo { CpuModelInfo *model; }; -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) void qapi_free_CpuModelBaselineInfo(CpuModelBaselineInfo *obj); G_DEFINE_AUTOPTR_CLEANUP_FUNC(CpuModelBaselineInfo, qapi_free_CpuModelBaselineInfo) -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) struct CpuModelCompareInfo { CpuModelCompareResult result; strList *responsible_properties; }; -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) void qapi_free_CpuModelCompareInfo(CpuModelCompareInfo *obj); G_DEFINE_AUTOPTR_CLEANUP_FUNC(CpuModelCompareInfo, qapi_free_CpuModelCompareInfo) -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) struct q_obj_query_cpu_model_comparison_arg { CpuModelInfo *modela; CpuModelInfo *modelb; }; -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) struct q_obj_query_cpu_model_baseline_arg { CpuModelInfo *modela; CpuModelInfo *modelb; }; -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) struct CpuModelExpansionInfo { CpuModelInfo *model; -#if defined(TARGET_S390X) strList *deprecated_props; -#endif /* defined(TARGET_S390X) */ }; -#endif /* defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) void qapi_free_CpuModelExpansionInfo(CpuModelExpansionInfo *obj); G_DEFINE_AUTOPTR_CLEANUP_FUNC(CpuModelExpansionInfo, qapi_free_CpuModelExpansionInfo) -#endif /* defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) struct q_obj_query_cpu_model_expansion_arg { CpuModelExpansionType type; CpuModelInfo *model; }; -#endif /* defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) struct CpuDefinitionInfo { char *name; bool has_migration_safe; @@ -177,14 +132,10 @@ struct CpuDefinitionInfo { char *alias_of; bool deprecated; }; -#endif /* defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) void qapi_free_CpuDefinitionInfo(CpuDefinitionInfo *obj); G_DEFINE_AUTOPTR_CLEANUP_FUNC(CpuDefinitionInfo, qapi_free_CpuDefinitionInfo) -#endif /* defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) struct CpuDefinitionInfoList { CpuDefinitionInfoList *next; CpuDefinitionInfo *value; @@ -192,9 +143,7 @@ struct CpuDefinitionInfoList { void qapi_free_CpuDefinitionInfoList(CpuDefinitionInfoList *obj); G_DEFINE_AUTOPTR_CLEANUP_FUNC(CpuDefinitionInfoList, qapi_free_CpuDefinitionInfoList) -#endif /* defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) struct q_obj_set_cpu_topology_arg { uint16_t core_id; bool has_socket_id; @@ -208,23 +157,16 @@ struct q_obj_set_cpu_topology_arg { bool has_dedicated; bool dedicated; }; -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) struct q_obj_CPU_POLARIZATION_CHANGE_arg { S390CpuPolarization polarization; }; -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) struct CpuPolarizationInfo { S390CpuPolarization polarization; }; -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) void qapi_free_CpuPolarizationInfo(CpuPolarizationInfo *obj); G_DEFINE_AUTOPTR_CLEANUP_FUNC(CpuPolarizationInfo, qapi_free_CpuPolarizationInfo) -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ #endif /* QAPI_TYPES_MACHINE_TARGET_H */ diff --git a/build/qapi/qapi-types-misc-target.h b/build/qapi/qapi-types-misc-target.h index 5d0c4db219d..d3cb640e7ea 100644 --- a/build/qapi/qapi-types-misc-target.h +++ b/build/qapi/qapi-types-misc-target.h @@ -15,7 +15,6 @@ #include "qapi/qapi-builtin-types.h" -#if defined(TARGET_I386) typedef enum SevState { SEV_STATE_UNINIT, SEV_STATE_LAUNCH_UPDATE, @@ -30,9 +29,7 @@ typedef enum SevState { qapi_enum_lookup(&SevState_lookup, (val)) extern const QEnumLookup SevState_lookup; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) typedef enum SevGuestType { SEV_GUEST_TYPE_SEV, SEV_GUEST_TYPE_SEV_SNP, @@ -43,61 +40,35 @@ typedef enum SevGuestType { qapi_enum_lookup(&SevGuestType_lookup, (val)) extern const QEnumLookup SevGuestType_lookup; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) typedef struct SevGuestInfo SevGuestInfo; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) typedef struct SevSnpGuestInfo SevSnpGuestInfo; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) typedef struct q_obj_SevInfo_base q_obj_SevInfo_base; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) typedef struct SevInfo SevInfo; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) typedef struct SevLaunchMeasureInfo SevLaunchMeasureInfo; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) typedef struct SevCapability SevCapability; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) typedef struct q_obj_sev_inject_launch_secret_arg q_obj_sev_inject_launch_secret_arg; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) typedef struct SevAttestationReport SevAttestationReport; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) typedef struct q_obj_query_sev_attestation_report_arg q_obj_query_sev_attestation_report_arg; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_ARM) typedef struct GICCapability GICCapability; -#endif /* defined(TARGET_ARM) */ -#if defined(TARGET_ARM) typedef struct GICCapabilityList GICCapabilityList; -#endif /* defined(TARGET_ARM) */ typedef struct SGXEPCSection SGXEPCSection; typedef struct SGXEPCSectionList SGXEPCSectionList; -#if defined(TARGET_I386) typedef struct SGXInfo SGXInfo; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) typedef enum EvtchnPortType { EVTCHN_PORT_TYPE_CLOSED, EVTCHN_PORT_TYPE_UNBOUND, @@ -112,44 +83,28 @@ typedef enum EvtchnPortType { qapi_enum_lookup(&EvtchnPortType_lookup, (val)) extern const QEnumLookup EvtchnPortType_lookup; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) typedef struct EvtchnInfo EvtchnInfo; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) typedef struct EvtchnInfoList EvtchnInfoList; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) typedef struct q_obj_xen_event_inject_arg q_obj_xen_event_inject_arg; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) struct SevGuestInfo { uint32_t policy; uint32_t handle; }; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qapi_free_SevGuestInfo(SevGuestInfo *obj); G_DEFINE_AUTOPTR_CLEANUP_FUNC(SevGuestInfo, qapi_free_SevGuestInfo) -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) struct SevSnpGuestInfo { uint64_t snp_policy; }; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qapi_free_SevSnpGuestInfo(SevSnpGuestInfo *obj); G_DEFINE_AUTOPTR_CLEANUP_FUNC(SevSnpGuestInfo, qapi_free_SevSnpGuestInfo) -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) struct q_obj_SevInfo_base { bool enabled; uint8_t api_major; @@ -158,9 +113,7 @@ struct q_obj_SevInfo_base { SevState state; SevGuestType sev_type; }; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) struct SevInfo { bool enabled; uint8_t api_major; @@ -173,25 +126,17 @@ struct SevInfo { SevSnpGuestInfo sev_snp; } u; }; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qapi_free_SevInfo(SevInfo *obj); G_DEFINE_AUTOPTR_CLEANUP_FUNC(SevInfo, qapi_free_SevInfo) -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) struct SevLaunchMeasureInfo { char *data; }; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qapi_free_SevLaunchMeasureInfo(SevLaunchMeasureInfo *obj); G_DEFINE_AUTOPTR_CLEANUP_FUNC(SevLaunchMeasureInfo, qapi_free_SevLaunchMeasureInfo) -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) struct SevCapability { char *pdh; char *cert_chain; @@ -199,53 +144,37 @@ struct SevCapability { int64_t cbitpos; int64_t reduced_phys_bits; }; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qapi_free_SevCapability(SevCapability *obj); G_DEFINE_AUTOPTR_CLEANUP_FUNC(SevCapability, qapi_free_SevCapability) -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) struct q_obj_sev_inject_launch_secret_arg { char *packet_header; char *secret; bool has_gpa; uint64_t gpa; }; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) struct SevAttestationReport { char *data; }; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qapi_free_SevAttestationReport(SevAttestationReport *obj); G_DEFINE_AUTOPTR_CLEANUP_FUNC(SevAttestationReport, qapi_free_SevAttestationReport) -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) struct q_obj_query_sev_attestation_report_arg { char *mnonce; }; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_ARM) struct GICCapability { int64_t version; bool emulated; bool kernel; }; -#endif /* defined(TARGET_ARM) */ -#if defined(TARGET_ARM) void qapi_free_GICCapability(GICCapability *obj); G_DEFINE_AUTOPTR_CLEANUP_FUNC(GICCapability, qapi_free_GICCapability) -#endif /* defined(TARGET_ARM) */ -#if defined(TARGET_ARM) struct GICCapabilityList { GICCapabilityList *next; GICCapability *value; @@ -253,7 +182,6 @@ struct GICCapabilityList { void qapi_free_GICCapabilityList(GICCapabilityList *obj); G_DEFINE_AUTOPTR_CLEANUP_FUNC(GICCapabilityList, qapi_free_GICCapabilityList) -#endif /* defined(TARGET_ARM) */ struct SGXEPCSection { int64_t node; @@ -271,7 +199,6 @@ struct SGXEPCSectionList { void qapi_free_SGXEPCSectionList(SGXEPCSectionList *obj); G_DEFINE_AUTOPTR_CLEANUP_FUNC(SGXEPCSectionList, qapi_free_SGXEPCSectionList) -#if defined(TARGET_I386) struct SGXInfo { bool sgx; bool sgx1; @@ -279,14 +206,10 @@ struct SGXInfo { bool flc; SGXEPCSectionList *sections; }; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qapi_free_SGXInfo(SGXInfo *obj); G_DEFINE_AUTOPTR_CLEANUP_FUNC(SGXInfo, qapi_free_SGXInfo) -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) struct EvtchnInfo { uint16_t port; uint32_t vcpu; @@ -296,14 +219,10 @@ struct EvtchnInfo { bool pending; bool masked; }; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qapi_free_EvtchnInfo(EvtchnInfo *obj); G_DEFINE_AUTOPTR_CLEANUP_FUNC(EvtchnInfo, qapi_free_EvtchnInfo) -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) struct EvtchnInfoList { EvtchnInfoList *next; EvtchnInfo *value; @@ -311,12 +230,9 @@ struct EvtchnInfoList { void qapi_free_EvtchnInfoList(EvtchnInfoList *obj); G_DEFINE_AUTOPTR_CLEANUP_FUNC(EvtchnInfoList, qapi_free_EvtchnInfoList) -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) struct q_obj_xen_event_inject_arg { uint32_t port; }; -#endif /* defined(TARGET_I386) */ #endif /* QAPI_TYPES_MISC_TARGET_H */ diff --git a/build/qapi/qapi-visit-machine-target.h b/build/qapi/qapi-visit-machine-target.h index fe5ea755987..3a8cff39ebe 100644 --- a/build/qapi/qapi-visit-machine-target.h +++ b/build/qapi/qapi-visit-machine-target.h @@ -29,69 +29,45 @@ bool visit_type_CpuModelExpansionType(Visitor *v, const char *name, bool visit_type_CpuModelCompareResult(Visitor *v, const char *name, CpuModelCompareResult *obj, Error **errp); -#if defined(TARGET_S390X) bool visit_type_CpuModelBaselineInfo_members(Visitor *v, CpuModelBaselineInfo *obj, Error **errp); bool visit_type_CpuModelBaselineInfo(Visitor *v, const char *name, CpuModelBaselineInfo **obj, Error **errp); -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) bool visit_type_CpuModelCompareInfo_members(Visitor *v, CpuModelCompareInfo *obj, Error **errp); bool visit_type_CpuModelCompareInfo(Visitor *v, const char *name, CpuModelCompareInfo **obj, Error **errp); -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) bool visit_type_q_obj_query_cpu_model_comparison_arg_members(Visitor *v, q_obj_query_cpu_model_comparison_arg *obj, Error **errp); -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) bool visit_type_q_obj_query_cpu_model_baseline_arg_members(Visitor *v, q_obj_query_cpu_model_baseline_arg *obj, Error **errp); -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) bool visit_type_CpuModelExpansionInfo_members(Visitor *v, CpuModelExpansionInfo *obj, Error **errp); bool visit_type_CpuModelExpansionInfo(Visitor *v, const char *name, CpuModelExpansionInfo **obj, Error **errp); -#endif /* defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) bool visit_type_q_obj_query_cpu_model_expansion_arg_members(Visitor *v, q_obj_query_cpu_model_expansion_arg *obj, Error **errp); -#endif /* defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) bool visit_type_CpuDefinitionInfo_members(Visitor *v, CpuDefinitionInfo *obj, Error **errp); bool visit_type_CpuDefinitionInfo(Visitor *v, const char *name, CpuDefinitionInfo **obj, Error **errp); -#endif /* defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) bool visit_type_CpuDefinitionInfoList(Visitor *v, const char *name, CpuDefinitionInfoList **obj, Error **errp); -#endif /* defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_S390X) bool visit_type_S390CpuPolarization(Visitor *v, const char *name, S390CpuPolarization *obj, Error **errp); -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) bool visit_type_q_obj_set_cpu_topology_arg_members(Visitor *v, q_obj_set_cpu_topology_arg *obj, Error **errp); -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) bool visit_type_q_obj_CPU_POLARIZATION_CHANGE_arg_members(Visitor *v, q_obj_CPU_POLARIZATION_CHANGE_arg *obj, Error **errp); -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) bool visit_type_CpuPolarizationInfo_members(Visitor *v, CpuPolarizationInfo *obj, Error **errp); bool visit_type_CpuPolarizationInfo(Visitor *v, const char *name, CpuPolarizationInfo **obj, Error **errp); -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ #endif /* QAPI_VISIT_MACHINE_TARGET_H */ diff --git a/build/qapi/qapi-visit-misc-target.h b/build/qapi/qapi-visit-misc-target.h index bd94799ff65..63f3bee9858 100644 --- a/build/qapi/qapi-visit-misc-target.h +++ b/build/qapi/qapi-visit-misc-target.h @@ -17,81 +17,55 @@ #include "qapi-types-misc-target.h" -#if defined(TARGET_I386) bool visit_type_SevState(Visitor *v, const char *name, SevState *obj, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_SevGuestType(Visitor *v, const char *name, SevGuestType *obj, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_SevGuestInfo_members(Visitor *v, SevGuestInfo *obj, Error **errp); bool visit_type_SevGuestInfo(Visitor *v, const char *name, SevGuestInfo **obj, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_SevSnpGuestInfo_members(Visitor *v, SevSnpGuestInfo *obj, Error **errp); bool visit_type_SevSnpGuestInfo(Visitor *v, const char *name, SevSnpGuestInfo **obj, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_q_obj_SevInfo_base_members(Visitor *v, q_obj_SevInfo_base *obj, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_SevInfo_members(Visitor *v, SevInfo *obj, Error **errp); bool visit_type_SevInfo(Visitor *v, const char *name, SevInfo **obj, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_SevLaunchMeasureInfo_members(Visitor *v, SevLaunchMeasureInfo *obj, Error **errp); bool visit_type_SevLaunchMeasureInfo(Visitor *v, const char *name, SevLaunchMeasureInfo **obj, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_SevCapability_members(Visitor *v, SevCapability *obj, Error **errp); bool visit_type_SevCapability(Visitor *v, const char *name, SevCapability **obj, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_q_obj_sev_inject_launch_secret_arg_members(Visitor *v, q_obj_sev_inject_launch_secret_arg *obj, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_SevAttestationReport_members(Visitor *v, SevAttestationReport *obj, Error **errp); bool visit_type_SevAttestationReport(Visitor *v, const char *name, SevAttestationReport **obj, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_q_obj_query_sev_attestation_report_arg_members(Visitor *v, q_obj_query_sev_attestation_report_arg *obj, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_ARM) bool visit_type_GICCapability_members(Visitor *v, GICCapability *obj, Error **errp); bool visit_type_GICCapability(Visitor *v, const char *name, GICCapability **obj, Error **errp); -#endif /* defined(TARGET_ARM) */ -#if defined(TARGET_ARM) bool visit_type_GICCapabilityList(Visitor *v, const char *name, GICCapabilityList **obj, Error **errp); -#endif /* defined(TARGET_ARM) */ bool visit_type_SGXEPCSection_members(Visitor *v, SGXEPCSection *obj, Error **errp); @@ -101,32 +75,22 @@ bool visit_type_SGXEPCSection(Visitor *v, const char *name, bool visit_type_SGXEPCSectionList(Visitor *v, const char *name, SGXEPCSectionList **obj, Error **errp); -#if defined(TARGET_I386) bool visit_type_SGXInfo_members(Visitor *v, SGXInfo *obj, Error **errp); bool visit_type_SGXInfo(Visitor *v, const char *name, SGXInfo **obj, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_EvtchnPortType(Visitor *v, const char *name, EvtchnPortType *obj, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_EvtchnInfo_members(Visitor *v, EvtchnInfo *obj, Error **errp); bool visit_type_EvtchnInfo(Visitor *v, const char *name, EvtchnInfo **obj, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_EvtchnInfoList(Visitor *v, const char *name, EvtchnInfoList **obj, Error **errp); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_q_obj_xen_event_inject_arg_members(Visitor *v, q_obj_xen_event_inject_arg *obj, Error **errp); -#endif /* defined(TARGET_I386) */ #endif /* QAPI_VISIT_MISC_TARGET_H */ diff --git a/build/qapi/qapi-builtin-visit.c b/build/qapi/qapi-builtin-visit.c index 09a2e00d52b..51f0b0af111 100644 --- a/build/qapi/qapi-builtin-visit.c +++ b/build/qapi/qapi-builtin-visit.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi/qapi-builtin-visit.h" diff --git a/build/qapi/qapi-commands-acpi.c b/build/qapi/qapi-commands-acpi.c index 874eee92937..3ea63671ffe 100644 --- a/build/qapi/qapi-commands-acpi.c +++ b/build/qapi/qapi-commands-acpi.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-audio.c b/build/qapi/qapi-commands-audio.c index afc0e1457ee..8d53e4325c7 100644 --- a/build/qapi/qapi-commands-audio.c +++ b/build/qapi/qapi-commands-audio.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-authz.c b/build/qapi/qapi-commands-authz.c index 0b63dcd080b..51dcf3e1049 100644 --- a/build/qapi/qapi-commands-authz.c +++ b/build/qapi/qapi-commands-authz.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-block-core.c b/build/qapi/qapi-commands-block-core.c index a28bafe1645..6cd3d7bb5d9 100644 --- a/build/qapi/qapi-commands-block-core.c +++ b/build/qapi/qapi-commands-block-core.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-block-export.c b/build/qapi/qapi-commands-block-export.c index ddb844a9389..a8c9ef852a8 100644 --- a/build/qapi/qapi-commands-block-export.c +++ b/build/qapi/qapi-commands-block-export.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-block.c b/build/qapi/qapi-commands-block.c index 23063ed2dbe..bbd8c66d53a 100644 --- a/build/qapi/qapi-commands-block.c +++ b/build/qapi/qapi-commands-block.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-char.c b/build/qapi/qapi-commands-char.c index 715200ec081..b6c065f8bc8 100644 --- a/build/qapi/qapi-commands-char.c +++ b/build/qapi/qapi-commands-char.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-common.c b/build/qapi/qapi-commands-common.c index b4480f93264..b1482337014 100644 --- a/build/qapi/qapi-commands-common.c +++ b/build/qapi/qapi-commands-common.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-compat.c b/build/qapi/qapi-commands-compat.c index 2ae394f0223..caf395d16c0 100644 --- a/build/qapi/qapi-commands-compat.c +++ b/build/qapi/qapi-commands-compat.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-control.c b/build/qapi/qapi-commands-control.c index 264951abf58..49ee9b7c91e 100644 --- a/build/qapi/qapi-commands-control.c +++ b/build/qapi/qapi-commands-control.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-crypto.c b/build/qapi/qapi-commands-crypto.c index e1ff9aeb7bb..606989f243b 100644 --- a/build/qapi/qapi-commands-crypto.c +++ b/build/qapi/qapi-commands-crypto.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-cryptodev.c b/build/qapi/qapi-commands-cryptodev.c index 01899e075fb..24c6a12c20d 100644 --- a/build/qapi/qapi-commands-cryptodev.c +++ b/build/qapi/qapi-commands-cryptodev.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-cxl.c b/build/qapi/qapi-commands-cxl.c index 7e181fd6038..43b1b65c20d 100644 --- a/build/qapi/qapi-commands-cxl.c +++ b/build/qapi/qapi-commands-cxl.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-dump.c b/build/qapi/qapi-commands-dump.c index f2f75bb8b01..f28ed412e19 100644 --- a/build/qapi/qapi-commands-dump.c +++ b/build/qapi/qapi-commands-dump.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-ebpf.c b/build/qapi/qapi-commands-ebpf.c index 55b50d655f2..d5184c57f3f 100644 --- a/build/qapi/qapi-commands-ebpf.c +++ b/build/qapi/qapi-commands-ebpf.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-error.c b/build/qapi/qapi-commands-error.c index b389572a039..cf276ff0504 100644 --- a/build/qapi/qapi-commands-error.c +++ b/build/qapi/qapi-commands-error.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-introspect.c b/build/qapi/qapi-commands-introspect.c index a5d8b87eeb1..5c73bb09326 100644 --- a/build/qapi/qapi-commands-introspect.c +++ b/build/qapi/qapi-commands-introspect.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-job.c b/build/qapi/qapi-commands-job.c index adaab4d5785..1e91e01be26 100644 --- a/build/qapi/qapi-commands-job.c +++ b/build/qapi/qapi-commands-job.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-machine-common.c b/build/qapi/qapi-commands-machine-common.c index a81689deb63..d3e39993990 100644 --- a/build/qapi/qapi-commands-machine-common.c +++ b/build/qapi/qapi-commands-machine-common.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-machine-target.c b/build/qapi/qapi-commands-machine-target.c index 902a7cbcb8c..ce49ae3231f 100644 --- a/build/qapi/qapi-commands-machine-target.c +++ b/build/qapi/qapi-commands-machine-target.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" @@ -21,7 +22,6 @@ #include "qobject/qjson.h" #include "trace/trace-qapi_commands_machine_target_trace_events.h" -#if defined(TARGET_S390X) static void qmp_marshal_output_CpuModelCompareInfo(CpuModelCompareInfo *ret_in, QObject **ret_out, Error **errp) { @@ -36,9 +36,7 @@ static void qmp_marshal_output_CpuModelCompareInfo(CpuModelCompareInfo *ret_in, visit_type_CpuModelCompareInfo(v, "unused", &ret_in, NULL); visit_free(v); } -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) void qmp_marshal_query_cpu_model_comparison(QDict *args, QObject **ret, Error **errp) { Error *err = NULL; @@ -88,9 +86,7 @@ out: visit_end_struct(v, NULL); visit_free(v); } -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) static void qmp_marshal_output_CpuModelBaselineInfo(CpuModelBaselineInfo *ret_in, QObject **ret_out, Error **errp) { @@ -105,9 +101,7 @@ static void qmp_marshal_output_CpuModelBaselineInfo(CpuModelBaselineInfo *ret_in visit_type_CpuModelBaselineInfo(v, "unused", &ret_in, NULL); visit_free(v); } -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) void qmp_marshal_query_cpu_model_baseline(QDict *args, QObject **ret, Error **errp) { Error *err = NULL; @@ -157,9 +151,7 @@ out: visit_end_struct(v, NULL); visit_free(v); } -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) static void qmp_marshal_output_CpuModelExpansionInfo(CpuModelExpansionInfo *ret_in, QObject **ret_out, Error **errp) { @@ -174,9 +166,7 @@ static void qmp_marshal_output_CpuModelExpansionInfo(CpuModelExpansionInfo *ret_ visit_type_CpuModelExpansionInfo(v, "unused", &ret_in, NULL); visit_free(v); } -#endif /* defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) void qmp_marshal_query_cpu_model_expansion(QDict *args, QObject **ret, Error **errp) { Error *err = NULL; @@ -226,9 +216,7 @@ out: visit_end_struct(v, NULL); visit_free(v); } -#endif /* defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) static void qmp_marshal_output_CpuDefinitionInfoList(CpuDefinitionInfoList *ret_in, QObject **ret_out, Error **errp) { @@ -243,9 +231,7 @@ static void qmp_marshal_output_CpuDefinitionInfoList(CpuDefinitionInfoList *ret_ visit_type_CpuDefinitionInfoList(v, "unused", &ret_in, NULL); visit_free(v); } -#endif /* defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) void qmp_marshal_query_cpu_definitions(QDict *args, QObject **ret, Error **errp) { Error *err = NULL; @@ -291,9 +277,7 @@ out: visit_end_struct(v, NULL); visit_free(v); } -#endif /* defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) void qmp_marshal_set_cpu_topology(QDict *args, QObject **ret, Error **errp) { Error *err = NULL; @@ -336,9 +320,7 @@ out: visit_end_struct(v, NULL); visit_free(v); } -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) static void qmp_marshal_output_CpuPolarizationInfo(CpuPolarizationInfo *ret_in, QObject **ret_out, Error **errp) { @@ -353,9 +335,7 @@ static void qmp_marshal_output_CpuPolarizationInfo(CpuPolarizationInfo *ret_in, visit_type_CpuPolarizationInfo(v, "unused", &ret_in, NULL); visit_free(v); } -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) void qmp_marshal_query_s390x_cpu_polarization(QDict *args, QObject **ret, Error **errp) { Error *err = NULL; @@ -401,7 +381,6 @@ out: visit_end_struct(v, NULL); visit_free(v); } -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ /* Dummy declaration to prevent empty .o file */ char qapi_dummy_qapi_commands_machine_target_c; diff --git a/build/qapi/qapi-commands-machine.c b/build/qapi/qapi-commands-machine.c index d428655ccd3..7b19d36cd80 100644 --- a/build/qapi/qapi-commands-machine.c +++ b/build/qapi/qapi-commands-machine.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-migration.c b/build/qapi/qapi-commands-migration.c index 040632a2fa8..4bd5776decd 100644 --- a/build/qapi/qapi-commands-migration.c +++ b/build/qapi/qapi-commands-migration.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-misc-target.c b/build/qapi/qapi-commands-misc-target.c index fe07b76a8b0..b7535ef2df1 100644 --- a/build/qapi/qapi-commands-misc-target.c +++ b/build/qapi/qapi-commands-misc-target.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" @@ -21,7 +22,6 @@ #include "qobject/qjson.h" #include "trace/trace-qapi_commands_misc_target_trace_events.h" -#if defined(TARGET_I386) void qmp_marshal_rtc_reset_reinjection(QDict *args, QObject **ret, Error **errp) { Error *err = NULL; @@ -60,9 +60,7 @@ out: visit_end_struct(v, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) static void qmp_marshal_output_SevInfo(SevInfo *ret_in, QObject **ret_out, Error **errp) { @@ -77,9 +75,7 @@ static void qmp_marshal_output_SevInfo(SevInfo *ret_in, visit_type_SevInfo(v, "unused", &ret_in, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qmp_marshal_query_sev(QDict *args, QObject **ret, Error **errp) { Error *err = NULL; @@ -125,9 +121,7 @@ out: visit_end_struct(v, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) static void qmp_marshal_output_SevLaunchMeasureInfo(SevLaunchMeasureInfo *ret_in, QObject **ret_out, Error **errp) { @@ -142,9 +136,7 @@ static void qmp_marshal_output_SevLaunchMeasureInfo(SevLaunchMeasureInfo *ret_in visit_type_SevLaunchMeasureInfo(v, "unused", &ret_in, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qmp_marshal_query_sev_launch_measure(QDict *args, QObject **ret, Error **errp) { Error *err = NULL; @@ -190,9 +182,7 @@ out: visit_end_struct(v, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) static void qmp_marshal_output_SevCapability(SevCapability *ret_in, QObject **ret_out, Error **errp) { @@ -207,9 +197,7 @@ static void qmp_marshal_output_SevCapability(SevCapability *ret_in, visit_type_SevCapability(v, "unused", &ret_in, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qmp_marshal_query_sev_capabilities(QDict *args, QObject **ret, Error **errp) { Error *err = NULL; @@ -255,9 +243,7 @@ out: visit_end_struct(v, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qmp_marshal_sev_inject_launch_secret(QDict *args, QObject **ret, Error **errp) { Error *err = NULL; @@ -300,9 +286,7 @@ out: visit_end_struct(v, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) static void qmp_marshal_output_SevAttestationReport(SevAttestationReport *ret_in, QObject **ret_out, Error **errp) { @@ -317,9 +301,7 @@ static void qmp_marshal_output_SevAttestationReport(SevAttestationReport *ret_in visit_type_SevAttestationReport(v, "unused", &ret_in, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qmp_marshal_query_sev_attestation_report(QDict *args, QObject **ret, Error **errp) { Error *err = NULL; @@ -369,9 +351,7 @@ out: visit_end_struct(v, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_ARM) static void qmp_marshal_output_GICCapabilityList(GICCapabilityList *ret_in, QObject **ret_out, Error **errp) { @@ -386,9 +366,7 @@ static void qmp_marshal_output_GICCapabilityList(GICCapabilityList *ret_in, visit_type_GICCapabilityList(v, "unused", &ret_in, NULL); visit_free(v); } -#endif /* defined(TARGET_ARM) */ -#if defined(TARGET_ARM) void qmp_marshal_query_gic_capabilities(QDict *args, QObject **ret, Error **errp) { Error *err = NULL; @@ -434,9 +412,7 @@ out: visit_end_struct(v, NULL); visit_free(v); } -#endif /* defined(TARGET_ARM) */ -#if defined(TARGET_I386) static void qmp_marshal_output_SGXInfo(SGXInfo *ret_in, QObject **ret_out, Error **errp) { @@ -451,9 +427,7 @@ static void qmp_marshal_output_SGXInfo(SGXInfo *ret_in, visit_type_SGXInfo(v, "unused", &ret_in, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qmp_marshal_query_sgx(QDict *args, QObject **ret, Error **errp) { Error *err = NULL; @@ -499,9 +473,7 @@ out: visit_end_struct(v, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qmp_marshal_query_sgx_capabilities(QDict *args, QObject **ret, Error **errp) { Error *err = NULL; @@ -547,9 +519,7 @@ out: visit_end_struct(v, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) static void qmp_marshal_output_EvtchnInfoList(EvtchnInfoList *ret_in, QObject **ret_out, Error **errp) { @@ -564,9 +534,7 @@ static void qmp_marshal_output_EvtchnInfoList(EvtchnInfoList *ret_in, visit_type_EvtchnInfoList(v, "unused", &ret_in, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qmp_marshal_xen_event_list(QDict *args, QObject **ret, Error **errp) { Error *err = NULL; @@ -612,9 +580,7 @@ out: visit_end_struct(v, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qmp_marshal_xen_event_inject(QDict *args, QObject **ret, Error **errp) { Error *err = NULL; @@ -657,7 +623,6 @@ out: visit_end_struct(v, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ /* Dummy declaration to prevent empty .o file */ char qapi_dummy_qapi_commands_misc_target_c; diff --git a/build/qapi/qapi-commands-misc.c b/build/qapi/qapi-commands-misc.c index cc10565a251..68e07f583e4 100644 --- a/build/qapi/qapi-commands-misc.c +++ b/build/qapi/qapi-commands-misc.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-net.c b/build/qapi/qapi-commands-net.c index 48005e68ca4..8c66a9e1b90 100644 --- a/build/qapi/qapi-commands-net.c +++ b/build/qapi/qapi-commands-net.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-pci.c b/build/qapi/qapi-commands-pci.c index a93b6be872d..3fb3cac2aa1 100644 --- a/build/qapi/qapi-commands-pci.c +++ b/build/qapi/qapi-commands-pci.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-pragma.c b/build/qapi/qapi-commands-pragma.c index ded9d905d12..c49a4a7ec48 100644 --- a/build/qapi/qapi-commands-pragma.c +++ b/build/qapi/qapi-commands-pragma.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-qdev.c b/build/qapi/qapi-commands-qdev.c index 0527bcc42f2..1c43b8aa201 100644 --- a/build/qapi/qapi-commands-qdev.c +++ b/build/qapi/qapi-commands-qdev.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-qom.c b/build/qapi/qapi-commands-qom.c index 3cc1f56162f..f61ede2f987 100644 --- a/build/qapi/qapi-commands-qom.c +++ b/build/qapi/qapi-commands-qom.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-replay.c b/build/qapi/qapi-commands-replay.c index 67758365e12..55c4e98102f 100644 --- a/build/qapi/qapi-commands-replay.c +++ b/build/qapi/qapi-commands-replay.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-rocker.c b/build/qapi/qapi-commands-rocker.c index 8601446a542..153d0ec24bb 100644 --- a/build/qapi/qapi-commands-rocker.c +++ b/build/qapi/qapi-commands-rocker.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-run-state.c b/build/qapi/qapi-commands-run-state.c index d629c6fd5ac..11fbea9ca6f 100644 --- a/build/qapi/qapi-commands-run-state.c +++ b/build/qapi/qapi-commands-run-state.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-sockets.c b/build/qapi/qapi-commands-sockets.c index 1efed55889c..80b631e4c0a 100644 --- a/build/qapi/qapi-commands-sockets.c +++ b/build/qapi/qapi-commands-sockets.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-stats.c b/build/qapi/qapi-commands-stats.c index e8eb8322f96..563edccf03a 100644 --- a/build/qapi/qapi-commands-stats.c +++ b/build/qapi/qapi-commands-stats.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-tpm.c b/build/qapi/qapi-commands-tpm.c index 2550155771c..317f0007227 100644 --- a/build/qapi/qapi-commands-tpm.c +++ b/build/qapi/qapi-commands-tpm.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-trace.c b/build/qapi/qapi-commands-trace.c index 0518c3c586b..79b8ecf4baa 100644 --- a/build/qapi/qapi-commands-trace.c +++ b/build/qapi/qapi-commands-trace.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-transaction.c b/build/qapi/qapi-commands-transaction.c index 25ebee37918..1de65d98993 100644 --- a/build/qapi/qapi-commands-transaction.c +++ b/build/qapi/qapi-commands-transaction.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-uefi.c b/build/qapi/qapi-commands-uefi.c index 43e18e05cf3..28dbfe9d0a0 100644 --- a/build/qapi/qapi-commands-uefi.c +++ b/build/qapi/qapi-commands-uefi.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-ui.c b/build/qapi/qapi-commands-ui.c index ecd0e5a9c71..49995203443 100644 --- a/build/qapi/qapi-commands-ui.c +++ b/build/qapi/qapi-commands-ui.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-vfio.c b/build/qapi/qapi-commands-vfio.c index 2bde1f7302f..02a6ee7403a 100644 --- a/build/qapi/qapi-commands-vfio.c +++ b/build/qapi/qapi-commands-vfio.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-virtio.c b/build/qapi/qapi-commands-virtio.c index f305a5504d1..a12c9602c71 100644 --- a/build/qapi/qapi-commands-virtio.c +++ b/build/qapi/qapi-commands-virtio.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands-yank.c b/build/qapi/qapi-commands-yank.c index 48943fccb70..632a3bc86a8 100644 --- a/build/qapi/qapi-commands-yank.c +++ b/build/qapi/qapi-commands-yank.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-commands.c b/build/qapi/qapi-commands.c index e1219b4e500..7a2b1bbd0ce 100644 --- a/build/qapi/qapi-commands.c +++ b/build/qapi/qapi-commands.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/compat-policy.h" #include "qapi/visitor.h" #include "qobject/qdict.h" diff --git a/build/qapi/qapi-events-machine-target.c b/build/qapi/qapi-events-machine-target.c index aee7f0e2ef1..00e5b4e4a84 100644 --- a/build/qapi/qapi-events-machine-target.c +++ b/build/qapi/qapi-events-machine-target.c @@ -19,7 +19,6 @@ #include "qobject/qdict.h" #include "qapi/qmp-event.h" -#if defined(TARGET_S390X) && defined(CONFIG_KVM) void qapi_event_send_cpu_polarization_change(S390CpuPolarization polarization) { QDict *qmp; @@ -53,7 +52,6 @@ void qapi_event_send_cpu_polarization_change(S390CpuPolarization polarization) visit_free(v); qobject_unref(qmp); } -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ /* Dummy declaration to prevent empty .o file */ char qapi_dummy_qapi_events_machine_target_c; diff --git a/build/qapi/qapi-init-commands.c b/build/qapi/qapi-init-commands.c index 2148e704e27..0a1865a7a16 100644 --- a/build/qapi/qapi-init-commands.c +++ b/build/qapi/qapi-init-commands.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi-commands.h" #include "qapi-init-commands.h" #include "qapi-features.h" @@ -419,30 +420,30 @@ void qmp_init_marshal(QmpCommandList *cmds) qmp_marshal_x_query_interrupt_controllers, 0, 1u << QAPI_FEATURE_UNSTABLE); qmp_register_command(cmds, "dump-skeys", qmp_marshal_dump_skeys, 0, 0); -#if defined(TARGET_S390X) +if (target_s390x()) { qmp_register_command(cmds, "query-cpu-model-comparison", qmp_marshal_query_cpu_model_comparison, 0, 0); -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) +} /* (target_s390x()) */ +if (target_s390x()) { qmp_register_command(cmds, "query-cpu-model-baseline", qmp_marshal_query_cpu_model_baseline, 0, 0); -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) +} /* (target_s390x()) */ +if (target_s390x() || target_i386() || target_x86_64() || target_arm() || target_aarch64() || target_loongarch64() || target_riscv32() || target_riscv64()) { qmp_register_command(cmds, "query-cpu-model-expansion", qmp_marshal_query_cpu_model_expansion, 0, 0); -#endif /* defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) +} /* (target_s390x() || target_i386() || target_x86_64() || target_arm() || target_aarch64() || target_loongarch64() || target_riscv32() || target_riscv64()) */ +if (target_ppc() || target_ppc64() || target_arm() || target_aarch64() || target_i386() || target_x86_64() || target_s390x() || target_mips() || target_mips64() || target_loongarch64() || target_riscv32() || target_riscv64()) { qmp_register_command(cmds, "query-cpu-definitions", qmp_marshal_query_cpu_definitions, 0, 0); -#endif /* defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) +} /* (target_ppc() || target_ppc64() || target_arm() || target_aarch64() || target_i386() || target_x86_64() || target_s390x() || target_mips() || target_mips64() || target_loongarch64() || target_riscv32() || target_riscv64()) */ +if (target_s390x() && target_has_kvm()) { qmp_register_command(cmds, "set-cpu-topology", qmp_marshal_set_cpu_topology, 0, 1u << QAPI_FEATURE_UNSTABLE); -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) +} /* (target_s390x() && target_has_kvm()) */ +if (target_s390x() && target_has_kvm()) { qmp_register_command(cmds, "query-s390x-cpu-polarization", qmp_marshal_query_s390x_cpu_polarization, 0, 1u << QAPI_FEATURE_UNSTABLE); -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ +} /* (target_s390x() && target_has_kvm()) */ qmp_register_command(cmds, "query-replay", qmp_marshal_query_replay, 0, 0); qmp_register_command(cmds, "replay-break", @@ -487,50 +488,50 @@ void qmp_init_marshal(QmpCommandList *cmds) qmp_marshal_query_fdsets, 0, 0); qmp_register_command(cmds, "query-command-line-options", qmp_marshal_query_command_line_options, QCO_ALLOW_PRECONFIG, 0); -#if defined(TARGET_I386) +if (target_i386() || target_x86_64()) { qmp_register_command(cmds, "rtc-reset-reinjection", qmp_marshal_rtc_reset_reinjection, 0, 0); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) +} /* (target_i386() || target_x86_64()) */ +if (target_i386() || target_x86_64()) { qmp_register_command(cmds, "query-sev", qmp_marshal_query_sev, 0, 0); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) +} /* (target_i386() || target_x86_64()) */ +if (target_i386() || target_x86_64()) { qmp_register_command(cmds, "query-sev-launch-measure", qmp_marshal_query_sev_launch_measure, 0, 0); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) +} /* (target_i386() || target_x86_64()) */ +if (target_i386() || target_x86_64()) { qmp_register_command(cmds, "query-sev-capabilities", qmp_marshal_query_sev_capabilities, 0, 0); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) +} /* (target_i386() || target_x86_64()) */ +if (target_i386() || target_x86_64()) { qmp_register_command(cmds, "sev-inject-launch-secret", qmp_marshal_sev_inject_launch_secret, 0, 0); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) +} /* (target_i386() || target_x86_64()) */ +if (target_i386() || target_x86_64()) { qmp_register_command(cmds, "query-sev-attestation-report", qmp_marshal_query_sev_attestation_report, 0, 0); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_ARM) +} /* (target_i386() || target_x86_64()) */ +if (target_arm() || target_aarch64()) { qmp_register_command(cmds, "query-gic-capabilities", qmp_marshal_query_gic_capabilities, 0, 0); -#endif /* defined(TARGET_ARM) */ -#if defined(TARGET_I386) +} /* (target_arm() || target_aarch64()) */ +if (target_i386() || target_x86_64()) { qmp_register_command(cmds, "query-sgx", qmp_marshal_query_sgx, 0, 0); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) +} /* (target_i386() || target_x86_64()) */ +if (target_i386() || target_x86_64()) { qmp_register_command(cmds, "query-sgx-capabilities", qmp_marshal_query_sgx_capabilities, 0, 0); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) +} /* (target_i386() || target_x86_64()) */ +if (target_i386() || target_x86_64()) { qmp_register_command(cmds, "xen-event-list", qmp_marshal_xen_event_list, 0, 0); -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) +} /* (target_i386() || target_x86_64()) */ +if (target_i386() || target_x86_64()) { qmp_register_command(cmds, "xen-event-inject", qmp_marshal_xen_event_inject, 0, 0); -#endif /* defined(TARGET_I386) */ +} /* (target_i386() || target_x86_64()) */ qmp_register_command(cmds, "query-audiodevs", qmp_marshal_query_audiodevs, 0, 0); qmp_register_command(cmds, "query-acpi-ospm-status", diff --git a/build/qapi/qapi-introspect.c b/build/qapi/qapi-introspect.c index 6f7aad0c0a5..71ffb9d420a 100644 --- a/build/qapi/qapi-introspect.c +++ b/build/qapi/qapi-introspect.c @@ -10,9 +10,11 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi-introspect.h" -const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { +QObject *qmp_schema_qobject(void) { + const QLitObject res = QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("0"), }, { "meta-type", QLIT_QSTR("command"), }, @@ -1742,44 +1744,35 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "ret-type", QLIT_QSTR("0"), }, {} })), -#if defined(TARGET_S390X) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("221"), }, { "meta-type", QLIT_QSTR("command"), }, { "name", QLIT_QSTR("query-cpu-model-comparison"), }, { "ret-type", QLIT_QSTR("222"), }, {} - })), -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) - QLIT_QDICT(((QLitDictEntry[]) { + }), (!(target_s390x()))), + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("223"), }, { "meta-type", QLIT_QSTR("command"), }, { "name", QLIT_QSTR("query-cpu-model-baseline"), }, { "ret-type", QLIT_QSTR("224"), }, {} - })), -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) - QLIT_QDICT(((QLitDictEntry[]) { + }), (!(target_s390x()))), + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("225"), }, { "meta-type", QLIT_QSTR("command"), }, { "name", QLIT_QSTR("query-cpu-model-expansion"), }, { "ret-type", QLIT_QSTR("226"), }, {} - })), -#endif /* defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) - QLIT_QDICT(((QLitDictEntry[]) { + }), (!(target_s390x() || target_i386() || target_x86_64() || target_arm() || target_aarch64() || target_loongarch64() || target_riscv32() || target_riscv64()))), + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("0"), }, { "meta-type", QLIT_QSTR("command"), }, { "name", QLIT_QSTR("query-cpu-definitions"), }, { "ret-type", QLIT_QSTR("[227]"), }, {} - })), -#endif /* defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) - QLIT_QDICT(((QLitDictEntry[]) { + }), (!(target_ppc() || target_ppc64() || target_arm() || target_aarch64() || target_i386() || target_x86_64() || target_s390x() || target_mips() || target_mips64() || target_loongarch64() || target_riscv32() || target_riscv64()))), + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("228"), }, { "features", QLIT_QLIST(((QLitObject[]) { QLIT_QSTR("unstable"), @@ -1789,10 +1782,8 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "name", QLIT_QSTR("set-cpu-topology"), }, { "ret-type", QLIT_QSTR("0"), }, {} - })), -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) - QLIT_QDICT(((QLitDictEntry[]) { + }), (!(target_s390x() && target_has_kvm()))), + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("229"), }, { "features", QLIT_QLIST(((QLitObject[]) { QLIT_QSTR("unstable"), @@ -1801,10 +1792,8 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("event"), }, { "name", QLIT_QSTR("CPU_POLARIZATION_CHANGE"), }, {} - })), -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) - QLIT_QDICT(((QLitDictEntry[]) { + }), (!(target_s390x() && target_has_kvm()))), + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("0"), }, { "features", QLIT_QLIST(((QLitObject[]) { QLIT_QSTR("unstable"), @@ -1814,8 +1803,7 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "name", QLIT_QSTR("query-s390x-cpu-polarization"), }, { "ret-type", QLIT_QSTR("230"), }, {} - })), -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ + }), (!(target_s390x() && target_has_kvm()))), QLIT_QDICT(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("0"), }, { "meta-type", QLIT_QSTR("command"), }, @@ -1982,105 +1970,83 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "name", QLIT_QSTR("VFU_CLIENT_HANGUP"), }, {} })), -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("0"), }, { "meta-type", QLIT_QSTR("command"), }, { "name", QLIT_QSTR("rtc-reset-reinjection"), }, { "ret-type", QLIT_QSTR("0"), }, {} - })), -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + }), (!(target_i386() || target_x86_64()))), + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("0"), }, { "meta-type", QLIT_QSTR("command"), }, { "name", QLIT_QSTR("query-sev"), }, { "ret-type", QLIT_QSTR("251"), }, {} - })), -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + }), (!(target_i386() || target_x86_64()))), + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("0"), }, { "meta-type", QLIT_QSTR("command"), }, { "name", QLIT_QSTR("query-sev-launch-measure"), }, { "ret-type", QLIT_QSTR("252"), }, {} - })), -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + }), (!(target_i386() || target_x86_64()))), + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("0"), }, { "meta-type", QLIT_QSTR("command"), }, { "name", QLIT_QSTR("query-sev-capabilities"), }, { "ret-type", QLIT_QSTR("253"), }, {} - })), -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + }), (!(target_i386() || target_x86_64()))), + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("254"), }, { "meta-type", QLIT_QSTR("command"), }, { "name", QLIT_QSTR("sev-inject-launch-secret"), }, { "ret-type", QLIT_QSTR("0"), }, {} - })), -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + }), (!(target_i386() || target_x86_64()))), + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("255"), }, { "meta-type", QLIT_QSTR("command"), }, { "name", QLIT_QSTR("query-sev-attestation-report"), }, { "ret-type", QLIT_QSTR("256"), }, {} - })), -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_ARM) - QLIT_QDICT(((QLitDictEntry[]) { + }), (!(target_i386() || target_x86_64()))), + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("0"), }, { "meta-type", QLIT_QSTR("command"), }, { "name", QLIT_QSTR("query-gic-capabilities"), }, { "ret-type", QLIT_QSTR("[257]"), }, {} - })), -#endif /* defined(TARGET_ARM) */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + }), (!(target_arm() || target_aarch64()))), + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("0"), }, { "meta-type", QLIT_QSTR("command"), }, { "name", QLIT_QSTR("query-sgx"), }, { "ret-type", QLIT_QSTR("258"), }, {} - })), -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + }), (!(target_i386() || target_x86_64()))), + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("0"), }, { "meta-type", QLIT_QSTR("command"), }, { "name", QLIT_QSTR("query-sgx-capabilities"), }, { "ret-type", QLIT_QSTR("258"), }, {} - })), -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + }), (!(target_i386() || target_x86_64()))), + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("0"), }, { "meta-type", QLIT_QSTR("command"), }, { "name", QLIT_QSTR("xen-event-list"), }, { "ret-type", QLIT_QSTR("[259]"), }, {} - })), -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + }), (!(target_i386() || target_x86_64()))), + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("260"), }, { "meta-type", QLIT_QSTR("command"), }, { "name", QLIT_QSTR("xen-event-inject"), }, { "ret-type", QLIT_QSTR("0"), }, {} - })), -#endif /* defined(TARGET_I386) */ + }), (!(target_i386() || target_x86_64()))), QLIT_QDICT(((QLitDictEntry[]) { { "arg-type", QLIT_QSTR("0"), }, { "meta-type", QLIT_QSTR("command"), }, @@ -10010,8 +9976,7 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { {} })), /* "221" = q_obj_query-cpu-model-comparison-arg */ -#if defined(TARGET_S390X) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("modela"), }, @@ -10028,11 +9993,9 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("221"), }, {} - })), -#endif /* defined(TARGET_S390X) */ + }), (!(target_s390x()))), /* "222" = CpuModelCompareInfo */ -#if defined(TARGET_S390X) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("result"), }, @@ -10049,11 +10012,9 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("222"), }, {} - })), -#endif /* defined(TARGET_S390X) */ + }), (!(target_s390x()))), /* "223" = q_obj_query-cpu-model-baseline-arg */ -#if defined(TARGET_S390X) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("modela"), }, @@ -10070,11 +10031,9 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("223"), }, {} - })), -#endif /* defined(TARGET_S390X) */ + }), (!(target_s390x()))), /* "224" = CpuModelBaselineInfo */ -#if defined(TARGET_S390X) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("model"), }, @@ -10086,11 +10045,9 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("224"), }, {} - })), -#endif /* defined(TARGET_S390X) */ + }), (!(target_s390x()))), /* "225" = q_obj_query-cpu-model-expansion-arg */ -#if defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("type"), }, @@ -10107,42 +10064,34 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("225"), }, {} - })), -#endif /* defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ + }), (!(target_s390x() || target_i386() || target_x86_64() || target_arm() || target_aarch64() || target_loongarch64() || target_riscv32() || target_riscv64()))), /* "226" = CpuModelExpansionInfo */ -#if defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("model"), }, { "type", QLIT_QSTR("524"), }, {} })), -#if defined(TARGET_S390X) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "name", QLIT_QSTR("deprecated-props"), }, { "type", QLIT_QSTR("[str]"), }, {} - })), -#endif /* defined(TARGET_S390X) */ + }), (!(target_s390x()))), {} })), }, { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("226"), }, {} - })), -#endif /* defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) - QLIT_QDICT(((QLitDictEntry[]) { + }), (!(target_s390x() || target_i386() || target_x86_64() || target_arm() || target_aarch64() || target_loongarch64() || target_riscv32() || target_riscv64()))), + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "element-type", QLIT_QSTR("227"), }, { "meta-type", QLIT_QSTR("array"), }, { "name", QLIT_QSTR("[227]"), }, {} - })), -#endif /* defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ + }), (!(target_ppc() || target_ppc64() || target_arm() || target_aarch64() || target_i386() || target_x86_64() || target_s390x() || target_mips() || target_mips64() || target_loongarch64() || target_riscv32() || target_riscv64()))), /* "227" = CpuDefinitionInfo */ -#if defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("name"), }, @@ -10187,11 +10136,9 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("227"), }, {} - })), -#endif /* defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ + }), (!(target_ppc() || target_ppc64() || target_arm() || target_aarch64() || target_i386() || target_x86_64() || target_s390x() || target_mips() || target_mips64() || target_loongarch64() || target_riscv32() || target_riscv64()))), /* "228" = q_obj_set-cpu-topology-arg */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("core-id"), }, @@ -10233,11 +10180,9 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("228"), }, {} - })), -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ + }), (!(target_s390x() && target_has_kvm()))), /* "229" = q_obj_CPU_POLARIZATION_CHANGE-arg */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("polarization"), }, @@ -10249,11 +10194,9 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("229"), }, {} - })), -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ + }), (!(target_s390x() && target_has_kvm()))), /* "230" = CpuPolarizationInfo */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("polarization"), }, @@ -10265,8 +10208,7 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("230"), }, {} - })), -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ + }), (!(target_s390x() && target_has_kvm()))), /* "231" = ReplayInfo */ QLIT_QDICT(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { @@ -10709,8 +10651,7 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { {} })), /* "251" = SevInfo */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("enabled"), }, @@ -10761,11 +10702,9 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { {} })), }, {} - })), -#endif /* defined(TARGET_I386) */ + }), (!(target_i386() || target_x86_64()))), /* "252" = SevLaunchMeasureInfo */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("data"), }, @@ -10777,11 +10716,9 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("252"), }, {} - })), -#endif /* defined(TARGET_I386) */ + }), (!(target_i386() || target_x86_64()))), /* "253" = SevCapability */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("pdh"), }, @@ -10813,11 +10750,9 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("253"), }, {} - })), -#endif /* defined(TARGET_I386) */ + }), (!(target_i386() || target_x86_64()))), /* "254" = q_obj_sev-inject-launch-secret-arg */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("packet-header"), }, @@ -10840,11 +10775,9 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("254"), }, {} - })), -#endif /* defined(TARGET_I386) */ + }), (!(target_i386() || target_x86_64()))), /* "255" = q_obj_query-sev-attestation-report-arg */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("mnonce"), }, @@ -10856,11 +10789,9 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("255"), }, {} - })), -#endif /* defined(TARGET_I386) */ + }), (!(target_i386() || target_x86_64()))), /* "256" = SevAttestationReport */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("data"), }, @@ -10872,19 +10803,15 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("256"), }, {} - })), -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_ARM) - QLIT_QDICT(((QLitDictEntry[]) { + }), (!(target_i386() || target_x86_64()))), + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "element-type", QLIT_QSTR("257"), }, { "meta-type", QLIT_QSTR("array"), }, { "name", QLIT_QSTR("[257]"), }, {} - })), -#endif /* defined(TARGET_ARM) */ + }), (!(target_arm() || target_aarch64()))), /* "257" = GICCapability */ -#if defined(TARGET_ARM) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("version"), }, @@ -10906,11 +10833,9 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("257"), }, {} - })), -#endif /* defined(TARGET_ARM) */ + }), (!(target_arm() || target_aarch64()))), /* "258" = SGXInfo */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("sgx"), }, @@ -10942,19 +10867,15 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("258"), }, {} - })), -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + }), (!(target_i386() || target_x86_64()))), + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "element-type", QLIT_QSTR("259"), }, { "meta-type", QLIT_QSTR("array"), }, { "name", QLIT_QSTR("[259]"), }, {} - })), -#endif /* defined(TARGET_I386) */ + }), (!(target_i386() || target_x86_64()))), /* "259" = EvtchnInfo */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("port"), }, @@ -10996,11 +10917,9 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("259"), }, {} - })), -#endif /* defined(TARGET_I386) */ + }), (!(target_i386() || target_x86_64()))), /* "260" = q_obj_xen-event-inject-arg */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("port"), }, @@ -11012,8 +10931,7 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("260"), }, {} - })), -#endif /* defined(TARGET_I386) */ + }), (!(target_i386() || target_x86_64()))), QLIT_QDICT(((QLitDictEntry[]) { { "element-type", QLIT_QSTR("261"), }, { "meta-type", QLIT_QSTR("array"), }, @@ -22774,8 +22692,7 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { {} })), /* "528" = S390CpuPolarization */ -#if defined(TARGET_S390X) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("horizontal"), }, @@ -22795,8 +22712,7 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { {} })), }, {} - })), -#endif /* defined(TARGET_S390X) */ + }), (!(target_s390x()))), /* "529" = ReplayMode */ QLIT_QDICT(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { @@ -22943,8 +22859,7 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { {} })), /* "535" = SevState */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("uninit"), }, @@ -22984,11 +22899,9 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { {} })), }, {} - })), -#endif /* defined(TARGET_I386) */ + }), (!(target_i386() || target_x86_64()))), /* "536" = SevGuestType */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("sev"), }, @@ -23008,11 +22921,9 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { {} })), }, {} - })), -#endif /* defined(TARGET_I386) */ + }), (!(target_i386() || target_x86_64()))), /* "537" = SevGuestInfo */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("policy"), }, @@ -23029,11 +22940,9 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("537"), }, {} - })), -#endif /* defined(TARGET_I386) */ + }), (!(target_i386() || target_x86_64()))), /* "538" = SevSnpGuestInfo */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("snp-policy"), }, @@ -23045,8 +22954,7 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { { "meta-type", QLIT_QSTR("object"), }, { "name", QLIT_QSTR("538"), }, {} - })), -#endif /* defined(TARGET_I386) */ + }), (!(target_i386() || target_x86_64()))), QLIT_QDICT(((QLitDictEntry[]) { { "element-type", QLIT_QSTR("539"), }, { "meta-type", QLIT_QSTR("array"), }, @@ -23073,8 +22981,7 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { {} })), /* "540" = EvtchnPortType */ -#if defined(TARGET_I386) - QLIT_QDICT(((QLitDictEntry[]) { + QLIT_QDICT_HIDDEN(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { QLIT_QDICT(((QLitDictEntry[]) { { "name", QLIT_QSTR("closed"), }, @@ -23114,8 +23021,7 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { {} })), }, {} - })), -#endif /* defined(TARGET_I386) */ + }), (!(target_i386() || target_x86_64()))), /* "541" = AudiodevDriver */ QLIT_QDICT(((QLitDictEntry[]) { { "members", QLIT_QLIST(((QLitObject[]) { @@ -32264,6 +32170,8 @@ const QLitObject qmp_schema_qlit = QLIT_QLIST(((QLitObject[]) { })), {} })); + return qobject_from_qlit(&res); +} /* Dummy declaration to prevent empty .o file */ char qapi_dummy_qapi_introspect_c; diff --git a/build/qapi/qapi-types-machine-target.c b/build/qapi/qapi-types-machine-target.c index d3d2c9e5d65..c8f7e6d2920 100644 --- a/build/qapi/qapi-types-machine-target.c +++ b/build/qapi/qapi-types-machine-target.c @@ -47,7 +47,6 @@ const QEnumLookup CpuModelCompareResult_lookup = { .size = CPU_MODEL_COMPARE_RESULT__MAX }; -#if defined(TARGET_S390X) void qapi_free_CpuModelBaselineInfo(CpuModelBaselineInfo *obj) { Visitor *v; @@ -60,9 +59,7 @@ void qapi_free_CpuModelBaselineInfo(CpuModelBaselineInfo *obj) visit_type_CpuModelBaselineInfo(v, NULL, &obj, NULL); visit_free(v); } -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) void qapi_free_CpuModelCompareInfo(CpuModelCompareInfo *obj) { Visitor *v; @@ -75,9 +72,7 @@ void qapi_free_CpuModelCompareInfo(CpuModelCompareInfo *obj) visit_type_CpuModelCompareInfo(v, NULL, &obj, NULL); visit_free(v); } -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) void qapi_free_CpuModelExpansionInfo(CpuModelExpansionInfo *obj) { Visitor *v; @@ -90,9 +85,7 @@ void qapi_free_CpuModelExpansionInfo(CpuModelExpansionInfo *obj) visit_type_CpuModelExpansionInfo(v, NULL, &obj, NULL); visit_free(v); } -#endif /* defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) void qapi_free_CpuDefinitionInfo(CpuDefinitionInfo *obj) { Visitor *v; @@ -105,9 +98,7 @@ void qapi_free_CpuDefinitionInfo(CpuDefinitionInfo *obj) visit_type_CpuDefinitionInfo(v, NULL, &obj, NULL); visit_free(v); } -#endif /* defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) void qapi_free_CpuDefinitionInfoList(CpuDefinitionInfoList *obj) { Visitor *v; @@ -120,9 +111,7 @@ void qapi_free_CpuDefinitionInfoList(CpuDefinitionInfoList *obj) visit_type_CpuDefinitionInfoList(v, NULL, &obj, NULL); visit_free(v); } -#endif /* defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_S390X) const QEnumLookup S390CpuPolarization_lookup = { .array = (const char *const[]) { [S390_CPU_POLARIZATION_HORIZONTAL] = "horizontal", @@ -130,9 +119,7 @@ const QEnumLookup S390CpuPolarization_lookup = { }, .size = S390_CPU_POLARIZATION__MAX }; -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) void qapi_free_CpuPolarizationInfo(CpuPolarizationInfo *obj) { Visitor *v; @@ -145,7 +132,6 @@ void qapi_free_CpuPolarizationInfo(CpuPolarizationInfo *obj) visit_type_CpuPolarizationInfo(v, NULL, &obj, NULL); visit_free(v); } -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ /* Dummy declaration to prevent empty .o file */ char qapi_dummy_qapi_types_machine_target_c; diff --git a/build/qapi/qapi-types-misc-target.c b/build/qapi/qapi-types-misc-target.c index ed859f7d8fc..4e90fc28756 100644 --- a/build/qapi/qapi-types-misc-target.c +++ b/build/qapi/qapi-types-misc-target.c @@ -16,7 +16,6 @@ #include "qapi-visit-misc-target.h" #include "qapi-features.h" -#if defined(TARGET_I386) const QEnumLookup SevState_lookup = { .array = (const char *const[]) { [SEV_STATE_UNINIT] = "uninit", @@ -28,9 +27,7 @@ const QEnumLookup SevState_lookup = { }, .size = SEV_STATE__MAX }; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) const QEnumLookup SevGuestType_lookup = { .array = (const char *const[]) { [SEV_GUEST_TYPE_SEV] = "sev", @@ -38,9 +35,7 @@ const QEnumLookup SevGuestType_lookup = { }, .size = SEV_GUEST_TYPE__MAX }; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qapi_free_SevGuestInfo(SevGuestInfo *obj) { Visitor *v; @@ -53,9 +48,7 @@ void qapi_free_SevGuestInfo(SevGuestInfo *obj) visit_type_SevGuestInfo(v, NULL, &obj, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qapi_free_SevSnpGuestInfo(SevSnpGuestInfo *obj) { Visitor *v; @@ -68,9 +61,7 @@ void qapi_free_SevSnpGuestInfo(SevSnpGuestInfo *obj) visit_type_SevSnpGuestInfo(v, NULL, &obj, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qapi_free_SevInfo(SevInfo *obj) { Visitor *v; @@ -83,9 +74,7 @@ void qapi_free_SevInfo(SevInfo *obj) visit_type_SevInfo(v, NULL, &obj, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qapi_free_SevLaunchMeasureInfo(SevLaunchMeasureInfo *obj) { Visitor *v; @@ -98,9 +87,7 @@ void qapi_free_SevLaunchMeasureInfo(SevLaunchMeasureInfo *obj) visit_type_SevLaunchMeasureInfo(v, NULL, &obj, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qapi_free_SevCapability(SevCapability *obj) { Visitor *v; @@ -113,9 +100,7 @@ void qapi_free_SevCapability(SevCapability *obj) visit_type_SevCapability(v, NULL, &obj, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qapi_free_SevAttestationReport(SevAttestationReport *obj) { Visitor *v; @@ -128,9 +113,7 @@ void qapi_free_SevAttestationReport(SevAttestationReport *obj) visit_type_SevAttestationReport(v, NULL, &obj, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_ARM) void qapi_free_GICCapability(GICCapability *obj) { Visitor *v; @@ -143,9 +126,7 @@ void qapi_free_GICCapability(GICCapability *obj) visit_type_GICCapability(v, NULL, &obj, NULL); visit_free(v); } -#endif /* defined(TARGET_ARM) */ -#if defined(TARGET_ARM) void qapi_free_GICCapabilityList(GICCapabilityList *obj) { Visitor *v; @@ -158,7 +139,6 @@ void qapi_free_GICCapabilityList(GICCapabilityList *obj) visit_type_GICCapabilityList(v, NULL, &obj, NULL); visit_free(v); } -#endif /* defined(TARGET_ARM) */ void qapi_free_SGXEPCSection(SGXEPCSection *obj) { @@ -186,7 +166,6 @@ void qapi_free_SGXEPCSectionList(SGXEPCSectionList *obj) visit_free(v); } -#if defined(TARGET_I386) void qapi_free_SGXInfo(SGXInfo *obj) { Visitor *v; @@ -199,9 +178,7 @@ void qapi_free_SGXInfo(SGXInfo *obj) visit_type_SGXInfo(v, NULL, &obj, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) const QEnumLookup EvtchnPortType_lookup = { .array = (const char *const[]) { [EVTCHN_PORT_TYPE_CLOSED] = "closed", @@ -213,9 +190,7 @@ const QEnumLookup EvtchnPortType_lookup = { }, .size = EVTCHN_PORT_TYPE__MAX }; -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qapi_free_EvtchnInfo(EvtchnInfo *obj) { Visitor *v; @@ -228,9 +203,7 @@ void qapi_free_EvtchnInfo(EvtchnInfo *obj) visit_type_EvtchnInfo(v, NULL, &obj, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) void qapi_free_EvtchnInfoList(EvtchnInfoList *obj) { Visitor *v; @@ -243,7 +216,6 @@ void qapi_free_EvtchnInfoList(EvtchnInfoList *obj) visit_type_EvtchnInfoList(v, NULL, &obj, NULL); visit_free(v); } -#endif /* defined(TARGET_I386) */ /* Dummy declaration to prevent empty .o file */ char qapi_dummy_qapi_types_misc_target_c; diff --git a/build/qapi/qapi-visit-acpi.c b/build/qapi/qapi-visit-acpi.c index d84e825417b..78c816a6c2d 100644 --- a/build/qapi/qapi-visit-acpi.c +++ b/build/qapi/qapi-visit-acpi.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-acpi.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-audio.c b/build/qapi/qapi-visit-audio.c index a4dd2f16668..064358b66ea 100644 --- a/build/qapi/qapi-visit-audio.c +++ b/build/qapi/qapi-visit-audio.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-audio.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-authz.c b/build/qapi/qapi-visit-authz.c index de493708650..a858ef9aebf 100644 --- a/build/qapi/qapi-visit-authz.c +++ b/build/qapi/qapi-visit-authz.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-authz.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-block-core.c b/build/qapi/qapi-visit-block-core.c index 453e6e4a789..dbcfe09d7ff 100644 --- a/build/qapi/qapi-visit-block-core.c +++ b/build/qapi/qapi-visit-block-core.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-block-core.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-block-export.c b/build/qapi/qapi-visit-block-export.c index b746271f479..61fe484132f 100644 --- a/build/qapi/qapi-visit-block-export.c +++ b/build/qapi/qapi-visit-block-export.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-block-export.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-block.c b/build/qapi/qapi-visit-block.c index 37819714e5a..138aff1c32c 100644 --- a/build/qapi/qapi-visit-block.c +++ b/build/qapi/qapi-visit-block.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-block.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-char.c b/build/qapi/qapi-visit-char.c index c41648bf194..43aa49b3418 100644 --- a/build/qapi/qapi-visit-char.c +++ b/build/qapi/qapi-visit-char.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-char.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-common.c b/build/qapi/qapi-visit-common.c index 37688ec8429..18f09d3b846 100644 --- a/build/qapi/qapi-visit-common.c +++ b/build/qapi/qapi-visit-common.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-common.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-compat.c b/build/qapi/qapi-visit-compat.c index fdd47d422dd..858b15a9c1c 100644 --- a/build/qapi/qapi-visit-compat.c +++ b/build/qapi/qapi-visit-compat.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-compat.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-control.c b/build/qapi/qapi-visit-control.c index 5b298514772..4aff918cd39 100644 --- a/build/qapi/qapi-visit-control.c +++ b/build/qapi/qapi-visit-control.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-control.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-crypto.c b/build/qapi/qapi-visit-crypto.c index b0a98a0e8dc..5b61877593b 100644 --- a/build/qapi/qapi-visit-crypto.c +++ b/build/qapi/qapi-visit-crypto.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-crypto.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-cryptodev.c b/build/qapi/qapi-visit-cryptodev.c index efe60bcad23..c5dd74c6a94 100644 --- a/build/qapi/qapi-visit-cryptodev.c +++ b/build/qapi/qapi-visit-cryptodev.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-cryptodev.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-cxl.c b/build/qapi/qapi-visit-cxl.c index 9391f1cdc3e..e89a642e2cb 100644 --- a/build/qapi/qapi-visit-cxl.c +++ b/build/qapi/qapi-visit-cxl.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-cxl.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-dump.c b/build/qapi/qapi-visit-dump.c index 80aa6d900d4..858f6e670b6 100644 --- a/build/qapi/qapi-visit-dump.c +++ b/build/qapi/qapi-visit-dump.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-dump.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-ebpf.c b/build/qapi/qapi-visit-ebpf.c index 991643ed8c6..79a4983c933 100644 --- a/build/qapi/qapi-visit-ebpf.c +++ b/build/qapi/qapi-visit-ebpf.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-ebpf.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-error.c b/build/qapi/qapi-visit-error.c index 0df6770fa00..c9948d60448 100644 --- a/build/qapi/qapi-visit-error.c +++ b/build/qapi/qapi-visit-error.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-error.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-introspect.c b/build/qapi/qapi-visit-introspect.c index 7fe3350e91a..7b701b04bc0 100644 --- a/build/qapi/qapi-visit-introspect.c +++ b/build/qapi/qapi-visit-introspect.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-introspect.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-job.c b/build/qapi/qapi-visit-job.c index 22a14dc97ab..f8b6b59214c 100644 --- a/build/qapi/qapi-visit-job.c +++ b/build/qapi/qapi-visit-job.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-job.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-machine-common.c b/build/qapi/qapi-visit-machine-common.c index 3fd491682b0..b35a4df40da 100644 --- a/build/qapi/qapi-visit-machine-common.c +++ b/build/qapi/qapi-visit-machine-common.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-machine-common.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-machine-target.c b/build/qapi/qapi-visit-machine-target.c index e0b86544820..548c57958d6 100644 --- a/build/qapi/qapi-visit-machine-target.c +++ b/build/qapi/qapi-visit-machine-target.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-machine-target.h" #include "qapi-features.h" @@ -75,7 +76,6 @@ bool visit_type_CpuModelCompareResult(Visitor *v, const char *name, return ok; } -#if defined(TARGET_S390X) bool visit_type_CpuModelBaselineInfo_members(Visitor *v, CpuModelBaselineInfo *obj, Error **errp) { if (!visit_type_CpuModelInfo(v, "model", &obj->model, errp)) { @@ -110,9 +110,7 @@ out_obj: } return ok; } -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) bool visit_type_CpuModelCompareInfo_members(Visitor *v, CpuModelCompareInfo *obj, Error **errp) { if (!visit_type_CpuModelCompareResult(v, "result", &obj->result, errp)) { @@ -150,9 +148,7 @@ out_obj: } return ok; } -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) bool visit_type_q_obj_query_cpu_model_comparison_arg_members(Visitor *v, q_obj_query_cpu_model_comparison_arg *obj, Error **errp) { if (!visit_type_CpuModelInfo(v, "modela", &obj->modela, errp)) { @@ -163,9 +159,7 @@ bool visit_type_q_obj_query_cpu_model_comparison_arg_members(Visitor *v, q_obj_q } return true; } -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) bool visit_type_q_obj_query_cpu_model_baseline_arg_members(Visitor *v, q_obj_query_cpu_model_baseline_arg *obj, Error **errp) { if (!visit_type_CpuModelInfo(v, "modela", &obj->modela, errp)) { @@ -176,19 +170,17 @@ bool visit_type_q_obj_query_cpu_model_baseline_arg_members(Visitor *v, q_obj_que } return true; } -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) bool visit_type_CpuModelExpansionInfo_members(Visitor *v, CpuModelExpansionInfo *obj, Error **errp) { if (!visit_type_CpuModelInfo(v, "model", &obj->model, errp)) { return false; } -#if defined(TARGET_S390X) +if (target_s390x()) { if (!visit_type_strList(v, "deprecated-props", &obj->deprecated_props, errp)) { return false; } -#endif /* defined(TARGET_S390X) */ +} /* (target_s390x()) */ return true; } @@ -218,9 +210,7 @@ out_obj: } return ok; } -#endif /* defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) bool visit_type_q_obj_query_cpu_model_expansion_arg_members(Visitor *v, q_obj_query_cpu_model_expansion_arg *obj, Error **errp) { if (!visit_type_CpuModelExpansionType(v, "type", &obj->type, errp)) { @@ -231,9 +221,7 @@ bool visit_type_q_obj_query_cpu_model_expansion_arg_members(Visitor *v, q_obj_qu } return true; } -#endif /* defined(TARGET_S390X) || defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) bool visit_type_CpuDefinitionInfo_members(Visitor *v, CpuDefinitionInfo *obj, Error **errp) { bool has_alias_of = !!obj->alias_of; @@ -294,9 +282,7 @@ out_obj: } return ok; } -#endif /* defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) bool visit_type_CpuDefinitionInfoList(Visitor *v, const char *name, CpuDefinitionInfoList **obj, Error **errp) { @@ -324,9 +310,7 @@ out_obj: } return ok; } -#endif /* defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV) */ -#if defined(TARGET_S390X) bool visit_type_S390CpuPolarization(Visitor *v, const char *name, S390CpuPolarization *obj, Error **errp) { @@ -335,9 +319,7 @@ bool visit_type_S390CpuPolarization(Visitor *v, const char *name, *obj = value; return ok; } -#endif /* defined(TARGET_S390X) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) bool visit_type_q_obj_set_cpu_topology_arg_members(Visitor *v, q_obj_set_cpu_topology_arg *obj, Error **errp) { if (!visit_type_uint16(v, "core-id", &obj->core_id, errp)) { @@ -370,9 +352,7 @@ bool visit_type_q_obj_set_cpu_topology_arg_members(Visitor *v, q_obj_set_cpu_top } return true; } -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) bool visit_type_q_obj_CPU_POLARIZATION_CHANGE_arg_members(Visitor *v, q_obj_CPU_POLARIZATION_CHANGE_arg *obj, Error **errp) { if (!visit_type_S390CpuPolarization(v, "polarization", &obj->polarization, errp)) { @@ -380,9 +360,7 @@ bool visit_type_q_obj_CPU_POLARIZATION_CHANGE_arg_members(Visitor *v, q_obj_CPU_ } return true; } -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ -#if defined(TARGET_S390X) && defined(CONFIG_KVM) bool visit_type_CpuPolarizationInfo_members(Visitor *v, CpuPolarizationInfo *obj, Error **errp) { if (!visit_type_S390CpuPolarization(v, "polarization", &obj->polarization, errp)) { @@ -417,7 +395,6 @@ out_obj: } return ok; } -#endif /* defined(TARGET_S390X) && defined(CONFIG_KVM) */ /* Dummy declaration to prevent empty .o file */ char qapi_dummy_qapi_visit_machine_target_c; diff --git a/build/qapi/qapi-visit-machine.c b/build/qapi/qapi-visit-machine.c index 4c70e99c9d1..60be8b9a1ec 100644 --- a/build/qapi/qapi-visit-machine.c +++ b/build/qapi/qapi-visit-machine.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-machine.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-migration.c b/build/qapi/qapi-visit-migration.c index a03b6551667..403104cc48b 100644 --- a/build/qapi/qapi-visit-migration.c +++ b/build/qapi/qapi-visit-migration.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-migration.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-misc-target.c b/build/qapi/qapi-visit-misc-target.c index e7b895a8e6d..395de1faa05 100644 --- a/build/qapi/qapi-visit-misc-target.c +++ b/build/qapi/qapi-visit-misc-target.c @@ -11,11 +11,11 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-misc-target.h" #include "qapi-features.h" -#if defined(TARGET_I386) bool visit_type_SevState(Visitor *v, const char *name, SevState *obj, Error **errp) { @@ -24,9 +24,7 @@ bool visit_type_SevState(Visitor *v, const char *name, *obj = value; return ok; } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_SevGuestType(Visitor *v, const char *name, SevGuestType *obj, Error **errp) { @@ -35,9 +33,7 @@ bool visit_type_SevGuestType(Visitor *v, const char *name, *obj = value; return ok; } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_SevGuestInfo_members(Visitor *v, SevGuestInfo *obj, Error **errp) { if (!visit_type_uint32(v, "policy", &obj->policy, errp)) { @@ -75,9 +71,7 @@ out_obj: } return ok; } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_SevSnpGuestInfo_members(Visitor *v, SevSnpGuestInfo *obj, Error **errp) { if (!visit_type_uint64(v, "snp-policy", &obj->snp_policy, errp)) { @@ -112,9 +106,7 @@ out_obj: } return ok; } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_q_obj_SevInfo_base_members(Visitor *v, q_obj_SevInfo_base *obj, Error **errp) { if (!visit_type_bool(v, "enabled", &obj->enabled, errp)) { @@ -137,9 +129,7 @@ bool visit_type_q_obj_SevInfo_base_members(Visitor *v, q_obj_SevInfo_base *obj, } return true; } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_SevInfo_members(Visitor *v, SevInfo *obj, Error **errp) { if (!visit_type_q_obj_SevInfo_base_members(v, (q_obj_SevInfo_base *)obj, errp)) { @@ -182,9 +172,7 @@ out_obj: } return ok; } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_SevLaunchMeasureInfo_members(Visitor *v, SevLaunchMeasureInfo *obj, Error **errp) { if (!visit_type_str(v, "data", &obj->data, errp)) { @@ -219,9 +207,7 @@ out_obj: } return ok; } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_SevCapability_members(Visitor *v, SevCapability *obj, Error **errp) { if (!visit_type_str(v, "pdh", &obj->pdh, errp)) { @@ -268,9 +254,7 @@ out_obj: } return ok; } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_q_obj_sev_inject_launch_secret_arg_members(Visitor *v, q_obj_sev_inject_launch_secret_arg *obj, Error **errp) { if (!visit_type_str(v, "packet-header", &obj->packet_header, errp)) { @@ -286,9 +270,7 @@ bool visit_type_q_obj_sev_inject_launch_secret_arg_members(Visitor *v, q_obj_sev } return true; } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_SevAttestationReport_members(Visitor *v, SevAttestationReport *obj, Error **errp) { if (!visit_type_str(v, "data", &obj->data, errp)) { @@ -323,9 +305,7 @@ out_obj: } return ok; } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_q_obj_query_sev_attestation_report_arg_members(Visitor *v, q_obj_query_sev_attestation_report_arg *obj, Error **errp) { if (!visit_type_str(v, "mnonce", &obj->mnonce, errp)) { @@ -333,9 +313,7 @@ bool visit_type_q_obj_query_sev_attestation_report_arg_members(Visitor *v, q_obj } return true; } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_ARM) bool visit_type_GICCapability_members(Visitor *v, GICCapability *obj, Error **errp) { if (!visit_type_int(v, "version", &obj->version, errp)) { @@ -376,9 +354,7 @@ out_obj: } return ok; } -#endif /* defined(TARGET_ARM) */ -#if defined(TARGET_ARM) bool visit_type_GICCapabilityList(Visitor *v, const char *name, GICCapabilityList **obj, Error **errp) { @@ -406,7 +382,6 @@ out_obj: } return ok; } -#endif /* defined(TARGET_ARM) */ bool visit_type_SGXEPCSection_members(Visitor *v, SGXEPCSection *obj, Error **errp) { @@ -474,7 +449,6 @@ out_obj: return ok; } -#if defined(TARGET_I386) bool visit_type_SGXInfo_members(Visitor *v, SGXInfo *obj, Error **errp) { if (!visit_type_bool(v, "sgx", &obj->sgx, errp)) { @@ -521,9 +495,7 @@ out_obj: } return ok; } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_EvtchnPortType(Visitor *v, const char *name, EvtchnPortType *obj, Error **errp) { @@ -532,9 +504,7 @@ bool visit_type_EvtchnPortType(Visitor *v, const char *name, *obj = value; return ok; } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_EvtchnInfo_members(Visitor *v, EvtchnInfo *obj, Error **errp) { if (!visit_type_uint16(v, "port", &obj->port, errp)) { @@ -587,9 +557,7 @@ out_obj: } return ok; } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_EvtchnInfoList(Visitor *v, const char *name, EvtchnInfoList **obj, Error **errp) { @@ -617,9 +585,7 @@ out_obj: } return ok; } -#endif /* defined(TARGET_I386) */ -#if defined(TARGET_I386) bool visit_type_q_obj_xen_event_inject_arg_members(Visitor *v, q_obj_xen_event_inject_arg *obj, Error **errp) { if (!visit_type_uint32(v, "port", &obj->port, errp)) { @@ -627,7 +593,6 @@ bool visit_type_q_obj_xen_event_inject_arg_members(Visitor *v, q_obj_xen_event_i } return true; } -#endif /* defined(TARGET_I386) */ /* Dummy declaration to prevent empty .o file */ char qapi_dummy_qapi_visit_misc_target_c; diff --git a/build/qapi/qapi-visit-misc.c b/build/qapi/qapi-visit-misc.c index 09b14915147..f1b7344a8cf 100644 --- a/build/qapi/qapi-visit-misc.c +++ b/build/qapi/qapi-visit-misc.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-misc.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-net.c b/build/qapi/qapi-visit-net.c index dfa997909b9..ed46cb8f46e 100644 --- a/build/qapi/qapi-visit-net.c +++ b/build/qapi/qapi-visit-net.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-net.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-pci.c b/build/qapi/qapi-visit-pci.c index 9b25a684b8c..371f750858e 100644 --- a/build/qapi/qapi-visit-pci.c +++ b/build/qapi/qapi-visit-pci.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-pci.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-pragma.c b/build/qapi/qapi-visit-pragma.c index 9e88b232d6f..12e616f946e 100644 --- a/build/qapi/qapi-visit-pragma.c +++ b/build/qapi/qapi-visit-pragma.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-pragma.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-qdev.c b/build/qapi/qapi-visit-qdev.c index 5b456eceed8..391dfd00b3d 100644 --- a/build/qapi/qapi-visit-qdev.c +++ b/build/qapi/qapi-visit-qdev.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-qdev.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-qom.c b/build/qapi/qapi-visit-qom.c index 9b9b595c061..591763a9ab7 100644 --- a/build/qapi/qapi-visit-qom.c +++ b/build/qapi/qapi-visit-qom.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-qom.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-replay.c b/build/qapi/qapi-visit-replay.c index da6de7e30a9..78913d5d3ed 100644 --- a/build/qapi/qapi-visit-replay.c +++ b/build/qapi/qapi-visit-replay.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-replay.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-rocker.c b/build/qapi/qapi-visit-rocker.c index bccef3f1d57..30cfe22f221 100644 --- a/build/qapi/qapi-visit-rocker.c +++ b/build/qapi/qapi-visit-rocker.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-rocker.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-run-state.c b/build/qapi/qapi-visit-run-state.c index 22569fb84dc..0c6578c35dc 100644 --- a/build/qapi/qapi-visit-run-state.c +++ b/build/qapi/qapi-visit-run-state.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-run-state.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-sockets.c b/build/qapi/qapi-visit-sockets.c index 90e339f3615..c3aad4b24a3 100644 --- a/build/qapi/qapi-visit-sockets.c +++ b/build/qapi/qapi-visit-sockets.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-sockets.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-stats.c b/build/qapi/qapi-visit-stats.c index 3722c2ca43d..fa8b36df0da 100644 --- a/build/qapi/qapi-visit-stats.c +++ b/build/qapi/qapi-visit-stats.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-stats.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-tpm.c b/build/qapi/qapi-visit-tpm.c index 209f71c461c..89f81e374cc 100644 --- a/build/qapi/qapi-visit-tpm.c +++ b/build/qapi/qapi-visit-tpm.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-tpm.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-trace.c b/build/qapi/qapi-visit-trace.c index 393af1ed7e7..0e158ed4bad 100644 --- a/build/qapi/qapi-visit-trace.c +++ b/build/qapi/qapi-visit-trace.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-trace.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-transaction.c b/build/qapi/qapi-visit-transaction.c index 04ca76ff8d7..32b2e720bcd 100644 --- a/build/qapi/qapi-visit-transaction.c +++ b/build/qapi/qapi-visit-transaction.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-transaction.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-uefi.c b/build/qapi/qapi-visit-uefi.c index 7743183b045..b2869b58ed4 100644 --- a/build/qapi/qapi-visit-uefi.c +++ b/build/qapi/qapi-visit-uefi.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-uefi.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-ui.c b/build/qapi/qapi-visit-ui.c index 88cadba2644..170428b2919 100644 --- a/build/qapi/qapi-visit-ui.c +++ b/build/qapi/qapi-visit-ui.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-ui.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-vfio.c b/build/qapi/qapi-visit-vfio.c index 41a05e57c7b..12c4116e0cf 100644 --- a/build/qapi/qapi-visit-vfio.c +++ b/build/qapi/qapi-visit-vfio.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-vfio.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-virtio.c b/build/qapi/qapi-visit-virtio.c index 0b3b314f0e3..ed83afd1b76 100644 --- a/build/qapi/qapi-visit-virtio.c +++ b/build/qapi/qapi-visit-virtio.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-virtio.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit-yank.c b/build/qapi/qapi-visit-yank.c index 547c94de5ff..4b0d3864a3c 100644 --- a/build/qapi/qapi-visit-yank.c +++ b/build/qapi/qapi-visit-yank.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit-yank.h" #include "qapi-features.h" diff --git a/build/qapi/qapi-visit.c b/build/qapi/qapi-visit.c index 4fbbc419ea4..69438643a42 100644 --- a/build/qapi/qapi-visit.c +++ b/build/qapi/qapi-visit.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi-visit.h" #include "qapi-features.h"