From nobody Mon Feb 9 19:10:44 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 (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1502996232835517.6260382156728; Thu, 17 Aug 2017 11:57:12 -0700 (PDT) Received: from localhost ([::1]:41216 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1diPyh-00067q-Lv for importer@patchew.org; Thu, 17 Aug 2017 14:57:11 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50567) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1diPxB-00054i-Or for qemu-devel@nongnu.org; Thu, 17 Aug 2017 14:55:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1diPx8-0003ge-IN for qemu-devel@nongnu.org; Thu, 17 Aug 2017 14:55:37 -0400 Received: from mail-bl2nam02on0074.outbound.protection.outlook.com ([104.47.38.74]:63443 helo=NAM02-BL2-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 1diPx8-0003g2-5v for qemu-devel@nongnu.org; Thu, 17 Aug 2017 14:55:34 -0400 Received: from CY4PR02CA0039.namprd02.prod.outlook.com (10.175.57.153) by BN6PR02MB2465.namprd02.prod.outlook.com (10.173.141.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1341.21; Thu, 17 Aug 2017 18:55:32 +0000 Received: from SN1NAM02FT026.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e44::206) by CY4PR02CA0039.outlook.office365.com (2603:10b6:903:117::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1362.18 via Frontend Transport; Thu, 17 Aug 2017 18:55:32 +0000 Received: from xsj-pvapsmtpgw02 (149.199.60.100) by SN1NAM02FT026.mail.protection.outlook.com (10.152.72.97) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1341.15 via Frontend Transport; Thu, 17 Aug 2017 18:55:31 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:44921 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1diPx4-0008IS-LK; Thu, 17 Aug 2017 11:55:31 -0700 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1diPx4-0004Bi-5N; Thu, 17 Aug 2017 11:55:30 -0700 Received: from xsj-pvapsmtp01 (xsj-smtp.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id v7HItSE9024633; Thu, 17 Aug 2017 11:55:28 -0700 Received: from [172.19.2.220] (helo=localhost.localdomain) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1diPx2-0004Bd-BX; Thu, 17 Aug 2017 11:55:28 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=y4kbIfSKYFQSGrD2+dQwnP5bFEZ/TIjRP3Mp9gK/P8M=; b=ZPiAGJs4VOf1BzysgtW8LPqdfcGcjIdL0SrlbJ18BkyKproVkkzer3xi34JDIvk4MIrNkCWBFg7D/zJV5y6gBXX7pbkJm68phRmMYpxUPLor9nxl1KzpkWi6zrA/hxO8coIg/eMXZ0hPG8U+dCX6bnMLwzG71oTAxcs9abk3K/U= Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=bestguesspass action=none header.from=xilinx.com; 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: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.100 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.100; helo=xsj-pvapsmtpgw02; From: Alistair Francis To: , Date: Thu, 17 Aug 2017 11:52:04 -0700 Message-ID: <27222215579bf5d179393e24bb11140846c62948.1502993370.git.alistair.francis@xilinx.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: References: X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.1.0.1062-23264.003 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.100; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(39860400002)(2980300002)(438002)(199003)(189002)(6666003)(478600001)(2906002)(626005)(2950100002)(106466001)(36386004)(356003)(118296001)(4326008)(39060400002)(5660300001)(50226002)(189998001)(5003940100001)(9786002)(77096006)(36756003)(54906002)(8936002)(63266004)(50986999)(48376002)(76176999)(305945005)(47776003)(81156014)(8676002)(81166006)(50466002)(33646002)(107986001)(5001870100001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR02MB2465; H:xsj-pvapsmtpgw02; FPR:; SPF:Pass; PTR:unknown-60-100.xilinx.com,xapps1.xilinx.com; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; SN1NAM02FT026; 1:aq6354fJY78EGZPTPOelzyDusu6PT297lqkEtBWL/9LSGoFmxpilQEYh8a7+LZ66XKH6nqKivzUXGKukmaYzXowUJtW6uiJJR/MFp4VyoxNP1B1WvuaDcgksNgtyBe5/ MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 75b4fe54-986f-4eac-5c8a-08d4e5a1894c X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(8251501002)(300000503095)(300135400095)(2017052603031)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:BN6PR02MB2465; X-Microsoft-Exchange-Diagnostics: 1; BN6PR02MB2465; 3:Tic3cyVJ2xpPdimnsKaBXNheOWbSBKlM4hfwqS1wT6iuY94DeU+I7Jvk8NAT5IgYI/n/NuVi+Oz578I60rTCsSNh/Z9Hrw3NWrRq7zs3v5hPzShm4DVfw1NdzG83H3zMDUW6czKnsiJUvrxfiW87tgD+x56w6+dmL0n2W1+MIZ9fIPfyacSflLJbHyNPsJuByQE0AWNcgoVrFcjxOpT12JyRuaA6JVxq5+iwH7zhNDO0N4gFcwIgUi+JRxAAvhu+WS9IKsW9QpmKgk8+MeZC0B2M3RZzjIjTL4dG8ELt8paHfpQObmiNr7TujM0ogAT8jFVLRAMA+Mk8+H7ns9j0CIvb7ia5IcxVTSEydfsm+Tc=; 25:wBboAJmKMmAqapp7A0I6jj3KRx0k/SabDpZjEeKJWOhUjqniNY4aFbNCdnRlr4+3x2yRlvliofSfj7u3eA4WVaKJ3DW58HO2P//7oYHeiumZF90ckdtwdqEx4HJeeQmwuqTp7nNzyGvH+1ONvxbXYFKEXuIujp/1wixpSK8+jTrSHZjZxJl27QAv5DKOjmzolu9d5GGSvNA68p2ni4up7i2Vaa0QN/ZF6hdkVId2KS6xUWgQGkl/8KmGhfHdCuJnLa1lVMA3SPTZAUJrHXpXeIlpqLI2itmZ13tpuDD1RFOXDuuCiumR2vZVkXtPmqAmHLg9oV8m8mnZYIKDQ33kWg== X-MS-TrafficTypeDiagnostic: BN6PR02MB2465: X-Microsoft-Exchange-Diagnostics: 1; BN6PR02MB2465; 31:ECtYgFKLIRSwl8wEggXvgxhRVGs9X/GaakiopfDViXBzUqPh+3mJWAE+5zyKx3FJKGeh4JHQIliYO4gbbL/UHizGAxNQc2LIAV4GaO5vxjbaz4zWYmY3vjUE7JjC2+nIVn1ePXxy4yD8KBzoPxIGnDK10uOtZXpAErIfyZbnaLaAuMvxwz+Kp7id5JcF4OLOJV5xUsMHNX8/rNQWct76Jgaa4NzKxptutDLV9gz0nXA=; 20:ymbiSoI97RTB/IADmqXysREwqsYReoZvqpIpWCH1S1zjmJqYVYXzBvBNE1iZBMsTxF/VyEwkOhoLqNlv+24fIKhqPCxWhG/9SGTwfu/9Qhn4S0UoaWYipdv0lgMM1NBM3m+SHzs/jKutgFRVsaRBtn0ALf1Ys87mJMilP9n9KgP++SudXc9/ksSpR31azFGHBxjFs1M/n/JW5u23ktDqKyaE+79IBOXK35Y6JUgLgkD5IGQ9Tqcv3zDHw0BT5uvpTrN1a21mkdQ96FqSouHck4tDt6x24I6NQqLGW1to+Gt66HmU0oU7XpwEOJXYOqt6CaNEVp41HtZnBT3A3WbnNlKWHYXp98msMCSNpfrlQxvVQCLIINIFdH/QO7T0gH9jh7YrdfNbVcNs5a8K8SAKykZH13PxapR1VJHyqKolSNLnpRTnpeS5c7vao4RYadwWaUAmVKC//09ZlcG5B4PueNmVcncSfyKwzwazH+CGdiKFCo/9ojjEQfXXDFd/r9dw X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(13018025)(8121501046)(13016025)(5005006)(100000703101)(100105400095)(93006095)(93004095)(10201501046)(3002001)(6055026)(6041248)(20161123560025)(20161123558100)(20161123555025)(20161123562025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN6PR02MB2465; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN6PR02MB2465; X-Microsoft-Exchange-Diagnostics: 1; BN6PR02MB2465; 4:OH74QdoRdaK2udUdTdJRe5Iz3UzrssjCg451Nn1CA6St6XSYOEwCTQQ/TuiXxzT1zGINKFkVTTUP5iYES3PCaduSgb2uDVZ3ayU/1TdI8rAxf66T3vB7JcgZfQIx8YeZdKJPK/s/41z0rBG3Tbx4TFwDhBpeAnW3m/M19bKhh8qogpQQa1Zu1Zc62tDQ5gUlKI6YLGhuw/ST1glVjkd9CaTXRrnedywxy70dSc0j9vtWTDqz+XLmkFlcdfCnPokHy/Hsh4L123UHTy6kXJlU7AcuEQavTaGQ6FG66tEDBwY= X-Forefront-PRVS: 0402872DA1 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR02MB2465; 23:ivFcOhB4XQRkw4caoHXFyTmE/xTQyJM3gbzgGaxwu?= =?us-ascii?Q?f2pHq/E7HeGUDvbVuXuekG3LccoPBDc83MSho6gZ7B5NcpMFHNiFqpbTDuh5?= =?us-ascii?Q?+wTIvgmeW1Wb6i838CG+q+A/x0MiLIMgI7hLxIY0T5AVRSQThD9i/lHL0Cfj?= =?us-ascii?Q?EHkqAZzp7qY6FifUgzAWzlP0xa593e5p3cPX6RlB5npPFSFxoc6Y0YaiwuUF?= =?us-ascii?Q?LIvnT0U34cPT+7xNCnRfywUqcjjkH15iaUniQKVx3hLl1XBOPO640hF3g4Xk?= =?us-ascii?Q?ReVX+YwsjnN3Jn+p74lTscXQotuVMYTwqGuFxRsLX5YBCRb6H5bJ05PnkSiT?= =?us-ascii?Q?RO4tyYRxMk/C51dmOs3Gc7RCVh3TX+IBJVxMAXCcH8xaB1YpfV72x48KhdzB?= =?us-ascii?Q?cXTPqlMyTuehu+8PYtjkyEVjx0SEgCXBNTqnwXUWGaCJo+57YKzJRnKvDRAv?= =?us-ascii?Q?pPXA+mx7LoyIajXi1FZOUmq5frD2bZF30kGQy6Sp8Ie4kqj9d5XbEnOWNdlh?= =?us-ascii?Q?2QDreyf/lMgi5pOLkbfggqH73oY0g4UMfZh/zztJd5ELTcYubvkYqseBG9R5?= =?us-ascii?Q?pLFPpVyAXFC8NdXncOV8M+2bArJK0ZnRkKwd3q56FHPeUT/mV+ytLZ6JLmwm?= =?us-ascii?Q?pSdKJOx3zN6d6+VztIxNKCIq/p7KtzZSU6e9mo05pUq4671xekmukYf0n2LF?= =?us-ascii?Q?/3HlL/rWxGcFUe82PyZC/HHVVDkknDW02nmID3k6pay6eiNDwyj2ghee+1EI?= =?us-ascii?Q?pCoOG1/mPusJJvNHMhQiIdt+nvhNEzmfmf0ws6I3eW6MoCt7HLgw6dpSZyO/?= =?us-ascii?Q?mnu1Tluy3/kIMIlR//L1p7kkEw8dJly/L/ZSlKk/pZPptEgK6g3NzMDsw0zq?= =?us-ascii?Q?4wc/MMKuBYJDO+297gp9hX68YcVQT/DmnZZYeODXefFxKRZZ3Y9SPgSgIr75?= =?us-ascii?Q?XvDFh6FutwUFEa/K/D2bQmEjJAdnjXPbHooRLiZnw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN6PR02MB2465; 6:woT2A4BLgan2QP/DfGYIUhFokrpY6rZxCPX4aMhIp7QnzGuQfFuTiMZcB1iBJ8Agc++G9ZqLmryimKTJUGY45JjX4NqPiN9v8wnHOPg4pzM3Xj/T0pPXw+e79KaA0keuh81RxTQuDtpRxXdVYeiYU/dwkwGxKNMetw/+nfLADE+h+ZQofhnotRxaz0sQrTKixL1C57yf6e1yUWqCj6r2A3G7x/JMhvcQ6erWYuHjxJSb3tlSkJJyXoQeNYvfpaePu26krjiTiTu7Foryqn6J2fV/9dWG5rgVqvTMHw/KlQSPfUbzyD+n7QPavqqf1JRFihb/9Sui+5iLukFae9mTJA==; 5:ARGjqKQ79fezoDpP5xOeyGzUeT0B/3bb5Ijetwp9fwbEfcuBVWyThxO8H+rVfjouy6Hu/QrFJfFiS0GELv2hd3Wv+eS1XqnRc85OMnKaOSVy94tOD5H2tDMUm2HH2UBiIu8yIK9J1K/ScE+gzHBrIA==; 24:jOOoX9W4SxJ1fhNsxerY6HHCMAE8MpYF09CKKj9H1INHOeuK+2xCghATKjkEx9xMjD7bQyCKxhZ6Qez1fdOaerMgZqIgGW/90inJQnw+PYM=; 7:Ky7QtJxynWjr6VUdcnoHQrDpcoj8RMllpEdnHygAhH66tpih8hC1dhNV0a+1Vsc7aZDswpOPKy60krJKAYRKxE9sx4e5GBDCsNQu1CoDl4XX+mqp6TBfpoSdKEPRWNReioGwVinIc9OfxIDq/ZiC5jPkMVEAj4tAj5dy2F+I/HesDXB8QpfCNCTL6Lgtxk6tHoHX+jVCquU+umnYiLh6U+rFYF0xE0yT0iH56Ir2RV0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2017 18:55:31.8310 (UTC) X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.100]; Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR02MB2465 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.38.74 Subject: [Qemu-devel] [PATCH v1 2/5] xlnx-zcu102: Manually create the machines 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: , Cc: edgar.iglesias@xilinx.com, alistair23@gmail.com, edgar.iglesias@gmail.com, alistair.francis@xilinx.com 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-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" In preperation for future work let's manually create the Xilnx machines. This will allow us to set properties for the machines in the future. Signed-off-by: Alistair Francis --- hw/arm/xlnx-zcu102.c | 75 +++++++++++++++++++++++++++++++++++++++++++++++-= ---- 1 file changed, 68 insertions(+), 7 deletions(-) diff --git a/hw/arm/xlnx-zcu102.c b/hw/arm/xlnx-zcu102.c index 133a6a31a8..71261313b5 100644 --- a/hw/arm/xlnx-zcu102.c +++ b/hw/arm/xlnx-zcu102.c @@ -26,15 +26,25 @@ #include "qemu/log.h" =20 typedef struct XlnxZCU102 { + + MachineState parent_obj; + XlnxZynqMPState soc; MemoryRegion ddr_ram; } XlnxZCU102; =20 +#define TYPE_ZCU102_MACHINE MACHINE_TYPE_NAME("xlnx-zcu102") +#define ZCU102_MACHINE(obj) \ + OBJECT_CHECK(XlnxZCU102, (obj), TYPE_ZCU102_MACHINE) + +#define TYPE_EP108_MACHINE MACHINE_TYPE_NAME("xlnx-ep108") +#define EP108_MACHINE(obj) \ + OBJECT_CHECK(XlnxZCU102, (obj), TYPE_EP108_MACHINE) + static struct arm_boot_info xlnx_zcu102_binfo; =20 -static void xlnx_zcu102_init(MachineState *machine) +static void xlnx_zynqmp_init(XlnxZCU102 *s, MachineState *machine) { - XlnxZCU102 *s =3D g_new0(XlnxZCU102, 1); int i; uint64_t ram_size =3D machine->ram_size; =20 @@ -116,22 +126,73 @@ static void xlnx_zcu102_init(MachineState *machine) arm_load_kernel(s->soc.boot_cpu_ptr, &xlnx_zcu102_binfo); } =20 -static void xlnx_ep108_machine_init(MachineClass *mc) +static void xlnx_ep108_init(MachineState *machine) { + XlnxZCU102 *s =3D EP108_MACHINE(machine); + + xlnx_zynqmp_init(s, machine); +} + +static void xlnx_ep108_machine_instance_init(Object *obj) +{ +} + +static void xlnx_ep108_machine_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc =3D MACHINE_CLASS(oc); + mc->desc =3D "Xilinx ZynqMP EP108 board"; - mc->init =3D xlnx_zcu102_init; + mc->init =3D xlnx_ep108_init; mc->block_default_type =3D IF_IDE; mc->units_per_default_bus =3D 1; } =20 -DEFINE_MACHINE("xlnx-ep108", xlnx_ep108_machine_init) +static const TypeInfo xlnx_ep108_machine_init_typeinfo =3D { + .name =3D MACHINE_TYPE_NAME("xlnx-ep108"), + .parent =3D TYPE_MACHINE, + .class_init =3D xlnx_ep108_machine_class_init, + .instance_init =3D xlnx_ep108_machine_instance_init, + .instance_size =3D sizeof(XlnxZCU102), +}; + +static void xlnx_ep108_machine_init_register_types(void) +{ + type_register_static(&xlnx_ep108_machine_init_typeinfo); +} + +static void xlnx_zcu102_init(MachineState *machine) +{ + XlnxZCU102 *s =3D ZCU102_MACHINE(machine); + + xlnx_zynqmp_init(s, machine); +} =20 -static void xlnx_zcu102_machine_init(MachineClass *mc) +static void xlnx_zcu102_machine_instance_init(Object *obj) { +} + +static void xlnx_zcu102_machine_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc =3D MACHINE_CLASS(oc); + mc->desc =3D "Xilinx ZynqMP ZCU102 board"; mc->init =3D xlnx_zcu102_init; mc->block_default_type =3D IF_IDE; mc->units_per_default_bus =3D 1; } =20 -DEFINE_MACHINE("xlnx-zcu102", xlnx_zcu102_machine_init) +static const TypeInfo xlnx_zcu102_machine_init_typeinfo =3D { + .name =3D MACHINE_TYPE_NAME("xlnx-zcu102"), + .parent =3D TYPE_MACHINE, + .class_init =3D xlnx_zcu102_machine_class_init, + .instance_init =3D xlnx_zcu102_machine_instance_init, + .instance_size =3D sizeof(XlnxZCU102), +}; + +static void xlnx_zcu102_machine_init_register_types(void) +{ + type_register_static(&xlnx_zcu102_machine_init_typeinfo); +} + +type_init(xlnx_zcu102_machine_init_register_types) +type_init(xlnx_ep108_machine_init_register_types) --=20 2.11.0