From nobody Mon Feb 9 17:27:03 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1538010951919118.22072522912322; Wed, 26 Sep 2018 18:15:51 -0700 (PDT) Received: from localhost ([::1]:33245 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g5Ku6-0006nf-23 for importer@patchew.org; Wed, 26 Sep 2018 21:15:42 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36230) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g5KsP-0005wU-4C for qemu-devel@nongnu.org; Wed, 26 Sep 2018 21:13:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g5KsM-0008WC-NL for qemu-devel@nongnu.org; Wed, 26 Sep 2018 21:13:57 -0400 Received: from mail-co1nam04on0613.outbound.protection.outlook.com ([2a01:111:f400:fe4d::613]:51383 helo=NAM04-CO1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g5KsM-0008Uv-ET for qemu-devel@nongnu.org; Wed, 26 Sep 2018 21:13:54 -0400 Received: from BYAPR07MB5429.namprd07.prod.outlook.com (52.135.241.88) by BYAPR07MB4280.namprd07.prod.outlook.com (52.135.223.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1164.25; Thu, 27 Sep 2018 01:13:52 +0000 Received: from BYAPR07MB5429.namprd07.prod.outlook.com ([fe80::78f9:a7b1:b1dc:ff60]) by BYAPR07MB5429.namprd07.prod.outlook.com ([fe80::78f9:a7b1:b1dc:ff60%3]) with mapi id 15.20.1143.017; Thu, 27 Sep 2018 01:13:52 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8yEY0/s71DRneNUpQA9bkAgDevuPl59F/GdwYOJsVbs=; b=VAb/vE50KdvPEFvl4gDkH8gG/ZTf5y4IfOdM1amW6hNQfL3auyPmBvNal+09NR/vlo5AUp/D73wxFdXAoKLHTvYTabmYzG5zDThf1Q3OgzGgQZP89mxq54nQxCD8dHosRlZ8ICXo50MI4NARbnzkgj4VC9uBPPRP6JViJVrKHLI= From: To: "Jaggi, Manish" , "quintela@redhat.com" , "dgilbert@redhat.com" , "eric.auger@redhat.com" , "qemu-devel@nongnu.org" , "peter.maydell@linaro.org" , "Nair, Jayachandran" , "Nowicki, Tomasz" Thread-Topic: [RFC] [PATCH 2/3] arm: Introduce skipinvariant command line option Thread-Index: AQHUVf9arSAe/iMwWUSyFKBwS4WtdQ== Date: Thu, 27 Sep 2018 01:13:52 +0000 Message-ID: <4b0ae50432cad24d762f47c9e271319f751b164c.1537868529.git.manish.jaggi@cavium.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [50.233.148.155] x-clientproxiedby: DM5PR2001CA0009.namprd20.prod.outlook.com (2603:10b6:4:16::19) To BYAPR07MB5429.namprd07.prod.outlook.com (2603:10b6:a03:15::24) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Manish.Jaggi@cavium.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; BYAPR07MB4280; 6:Xw5gDXwjCmFZcfLJQPfdo+ABcRJeaq+62OIEo24IJeorlWJrdiGwUWx+C3HCHt1f5bqB0g5tA4DXvXfHlt8FE1zRD6UGSsyRi/AnoLcfHZdr4P068mdW6/2cmZnWAur6Ugupl5f2H1nIrdi8vILi29D42LyKFEAl3DoauMiVbPNikm61uENhQUVYX5Y/H2cPBV/pVZQ4Vj+7kvVzTtL018Qh8NTfJwiRbZGBMnjn7Va5dYmGChKTRIDlAaGS/Bnperasc3Ax8/etTjfjPAO1/GdDaIzzgrMgDZQUZYTDzQynx3OTBk8fECzhNpzxWCf70mAONoI14X2FBTEO88s47YE2IWO7+cQfnJEMuqIuj14kh8nS0kIWn0jHvhE5mYMCKd3E5Fz09iKZ91d/TiMKTrHNUg6tWh07hSRbiMM7JY3DEN/HWwT6OErXq7ixAOXLyGevpe+dsXJXoB0cJ17WbQ==; 5:VGrhurAaDBrCYm1rTKthwqiYLs1O9JFFDDNuVLXmzHDEUfUp0vMtazERfc56P/woAperFraNHv+ZscNhBZ4xpTOcUAbfwbEdnOomuggGIq0wpuA4LmoQnrJwVY8vSTjIxVTxAtJTB+HEfE32aPPmPwpJmWjKMcAtr0HNI1XB19M=; 7:fWWSDe3WIQZioQw7oFnog7MrjBh9glKbhMJrm06+ABdB5Umv57flZaAB/0Rb+ps7xTekT12KyC59bnoW3Ee/AyzMjjj+zkoBBt9ohVtTLeCNIZigQHXnVLY/jc3qn7gdeQBCKwcQbVGOtt60dRWAbDehwGeTvJgUJyZeWr1/UYjgrSdxg28nn/Mkr91b9NGcsVcics0P4q7ooVNH6hlLSDW3m9EmYnvmhWfZzWOvVcqqdHn9N88l84cEipeyjWFk x-ms-office365-filtering-correlation-id: 9c88c34c-4f7d-479c-39fe-08d624167cd1 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:BYAPR07MB4280; x-ms-traffictypediagnostic: BYAPR07MB4280: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231355)(944501410)(52105095)(93006095)(10201501046)(3002001)(149066)(150057)(6041310)(20161123558120)(20161123564045)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051); SRVR:BYAPR07MB4280; BCL:0; PCL:0; RULEID:; SRVR:BYAPR07MB4280; x-forefront-prvs: 0808323E97 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(396003)(366004)(376002)(346002)(136003)(199004)(189003)(105586002)(97736004)(305945005)(386003)(118296001)(66066001)(7736002)(6116002)(3846002)(2906002)(6436002)(478600001)(476003)(42882007)(486006)(25786009)(446003)(76176011)(52116002)(102836004)(11346002)(110136005)(6506007)(33896004)(106356001)(81166006)(36756003)(26005)(81156014)(99286004)(8676002)(2501003)(53936002)(14454004)(8936002)(71200400001)(71190400001)(256004)(5660300001)(68736007)(5250100002)(9686003)(316002)(2900100001)(34290500001)(6512007)(6486002)(72206003)(2201001)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR07MB4280; H:BYAPR07MB5429.namprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; received-spf: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: bfN0BD8wcI/r8vGWQlserNLBL+ZgtZeNbRnXWTJCA+IUsn/YqLhHjX6v3/NBsGNEP09eRtAfhHXsGDipHGo8j6C9A+E7o19ey9qMH1v/dlL2Qxi2WutXrZ1f3NLAyUzTZCeFQMaNOAYwJUbxCp2Pe48RHTXYZkgZybjlC/TpG5lrai5iTf2mVcCl92a6JGNeyqx/J17kB502eIkzRrN354HIYF1F3qScmZcm9Lnkoy6Kb/ESLGRdHzLpbDZ0MdiUK5EbRXfFH/bu17FgmRla0ST92tZ4V95pvumgSZfacfLbmmXR+ptJkvRd7m4XbCtL/IRTEfm4OqwnbwrDR1UatJggn4HIH3GTtkR/sfk5ryY= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9c88c34c-4f7d-479c-39fe-08d624167cd1 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Sep 2018 01:13:52.5064 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR07MB4280 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 2a01:111:f400:fe4d::613 Subject: [Qemu-devel] [RFC] [PATCH 2/3] arm: Introduce skipinvariant command line option X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" From: Manish Jaggi This option along with the API kvm_arm_is_invariant will prevent any invariant registers written to KVM. This option is handy when doing migration between arm hosts which use -cpu host option, and are similar in CPU family but only differ in MIDR value or other invariant registers values. Signed-off-by: Manish Jaggi diff --git a/qemu-options.hx b/qemu-options.hx index 654ef48..d187f6a 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -4414,3 +4414,14 @@ HXCOMM This is the last statement. Insert new option= s before this line! STEXI @end table ETEXI + +DEF("skipinvariant", HAS_ARG, QEMU_OPTION_skipinvariant, + "-skipinvariant enable[=3Don|off]\n" + " migrated guest should use invariant register values o= f host\n" + " on|off controls migration between arch64 systems usin= g -cpu host but with different MIDR values (default:off)\n", + QEMU_ARCH_ARM) +STEXI +@item -skipinvariant enable[=3Don|off] +@findex -skipinvariant +controls migration between arch64 systems using -cpu host but with differe= nt MIDR values.(default:off) +ETEXI diff --git a/target/arm/kvm_arm.h b/target/arm/kvm_arm.h index a834f60..8a93b01 100644 --- a/target/arm/kvm_arm.h +++ b/target/arm/kvm_arm.h @@ -66,6 +66,7 @@ int kvm_arm_init_cpreg_list(ARMCPU *cpu); * Returns: true if r is invariant */=20 bool kvm_arm_is_invariant(struct kvm_one_reg *r); +extern bool skip_invariant; =20 /** * kvm_arm_reg_syncs_via_cpreg_list diff --git a/vl.c b/vl.c index 5ba06ad..f24ca6b 100644 --- a/vl.c +++ b/vl.c @@ -144,6 +144,7 @@ const char *mem_path =3D NULL; int mem_prealloc =3D 0; /* force preallocation of physical target memory */ bool enable_mlock =3D false; bool enable_cpu_pm =3D false; +bool skip_invariant =3D false; int nb_nics; NICInfo nd_table[MAX_NICS]; int autostart; @@ -420,6 +421,18 @@ static QemuOptsList qemu_msg_opts =3D { }, }; =20 +static QemuOptsList qemu_skipinvariant_opts =3D { + .name =3D "skipinvariant", + .head =3D QTAILQ_HEAD_INITIALIZER(qemu_skipinvariant_opts.head), + .desc =3D { + { + .name =3D "enable", + .type =3D QEMU_OPT_BOOL, + }, + { /* end of list */ } + }, +}; + static QemuOptsList qemu_name_opts =3D { .name =3D "name", .implied_opt_name =3D "guest", @@ -2994,6 +3007,7 @@ int main(int argc, char **argv, char **envp) qemu_add_opts(&qemu_icount_opts); qemu_add_opts(&qemu_semihosting_config_opts); qemu_add_opts(&qemu_fw_cfg_opts); + qemu_add_opts(&qemu_skipinvariant_opts); module_call_init(MODULE_INIT_OPTS); =20 runstate_init(); @@ -3948,6 +3962,14 @@ int main(int argc, char **argv, char **envp) } configure_msg(opts); break; + case QEMU_OPTION_skipinvariant: + opts =3D qemu_opts_parse_noisily(qemu_find_opts("skipinvar= iant"), optarg, + false); + if (!opts) { + exit(1); + } + skip_invariant =3D qemu_opt_get_bool(opts, "skipinvariant"= , true); + break; case QEMU_OPTION_dump_vmstate: if (vmstate_dump_file) { error_report("only one '-dump-vmstate' " --=20 1.8.3.1