{"id":816528,"url":"http://patchwork.ozlabs.org/api/patches/816528/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/patch/e1b49cd103c58fba8d74afd1bcbd81441893beb5.1505929556.git.alistair.francis@xilinx.com/","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/projects/14/?format=json","name":"QEMU Development","link_name":"qemu-devel","list_id":"qemu-devel.nongnu.org","list_email":"qemu-devel@nongnu.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<e1b49cd103c58fba8d74afd1bcbd81441893beb5.1505929556.git.alistair.francis@xilinx.com>","list_archive_url":null,"date":"2017-09-20T22:01:52","name":"[v3,7/8] xlnx-zynqmp-pmu: Connect the IPI device to the PMU","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"a8920163b59504f51ed4b12fa6d13d1398960962","submitter":{"id":47878,"url":"http://patchwork.ozlabs.org/api/people/47878/?format=json","name":"Alistair Francis","email":"alistair.francis@xilinx.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/patch/e1b49cd103c58fba8d74afd1bcbd81441893beb5.1505929556.git.alistair.francis@xilinx.com/mbox/","series":[{"id":4241,"url":"http://patchwork.ozlabs.org/api/series/4241/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/list/?series=4241","date":"2017-09-20T22:01:31","name":"Add the ZynqMP PMU and IPI","version":3,"mbox":"http://patchwork.ozlabs.org/series/4241/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/816528/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/816528/checks/","tags":{},"related":[],"headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=xilinx.onmicrosoft.com\n\theader.i=@xilinx.onmicrosoft.com header.b=\"Xf8dk27q\"; \n\tdkim-atps=neutral","spf=pass (sender IP is 149.199.60.83)\n\tsmtp.mailfrom=xilinx.com; nongnu.org; dkim=none (message not signed)\n\theader.d=none;nongnu.org; dmarc=bestguesspass action=none\n\theader.from=xilinx.com;"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xyDNt6Wjkz9s83\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 21 Sep 2017 08:06:54 +1000 (AEST)","from localhost ([::1]:50856 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dun8u-0001Mo-Ts\n\tfor incoming@patchwork.ozlabs.org; Wed, 20 Sep 2017 18:06:52 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:47898)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <alistai@xilinx.com>) id 1dun7t-00016T-Mb\n\tfor qemu-devel@nongnu.org; Wed, 20 Sep 2017 18:05:51 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <alistai@xilinx.com>) id 1dun7s-0000gv-Cn\n\tfor qemu-devel@nongnu.org; Wed, 20 Sep 2017 18:05:49 -0400","from mail-cys01nam02on0054.outbound.protection.outlook.com\n\t([104.47.37.54]:6368\n\thelo=NAM02-CY1-obe.outbound.protection.outlook.com)\n\tby eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <alistai@xilinx.com>)\n\tid 1dun7m-0000La-Pm; Wed, 20 Sep 2017 18:05:43 -0400","from CY4PR02CA0047.namprd02.prod.outlook.com (10.175.57.161) by\n\tCY1PR0201MB1932.namprd02.prod.outlook.com (10.163.56.30) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id\n\t15.20.77.7; Wed, 20 Sep 2017 22:05:40 +0000","from BL2NAM02FT018.eop-nam02.prod.protection.outlook.com\n\t(2a01:111:f400:7e46::206) by CY4PR02CA0047.outlook.office365.com\n\t(2603:10b6:903:117::33) with Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.56.11 via\n\tFrontend Transport; Wed, 20 Sep 2017 22:05:40 +0000","from xsj-pvapsmtpgw01 (149.199.60.83) by\n\tBL2NAM02FT018.mail.protection.outlook.com (10.152.77.170) with\n\tMicrosoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.35.14\n\tvia Frontend Transport; Wed, 20 Sep 2017 22:05:39 +0000","from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01)\n\tby xsj-pvapsmtpgw01 with esmtp (Exim 4.63)\n\t(envelope-from <alistair.francis@xilinx.com>)\n\tid 1dun7i-0000ee-Cr; Wed, 20 Sep 2017 15:05:38 -0700","from [127.0.0.1] (helo=localhost)\n\tby xsj-pvapsmtp01 with smtp (Exim 4.63)\n\t(envelope-from <alistair.francis@xilinx.com>)\n\tid 1dun7i-0002Pj-8n; Wed, 20 Sep 2017 15:05:38 -0700","from xsj-pvapsmtp01 (smtp3.xilinx.com [149.199.38.66])\n\tby xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id\n\tv8KM5Vot025835; Wed, 20 Sep 2017 15:05:31 -0700","from [172.19.2.220] (helo=localhost.localdomain)\n\tby xsj-pvapsmtp01 with esmtp (Exim 4.63)\n\t(envelope-from <alistair.francis@xilinx.com>)\n\tid 1dun7b-0002N9-Kh; Wed, 20 Sep 2017 15:05:31 -0700"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=xilinx.onmicrosoft.com; s=selector1-xilinx-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=Ov0okFM1zctGJe8TrTeRo/7Vz9XRsUJZG2xhf9WQd78=;\n\tb=Xf8dk27qW6GeXZQOQuUCJczITUX8o/pTLAob0QM+yD+xWYOjBn6rUK3nMi8mlwKZwtCmi7hnCvL48TlWDXM5lf2vK6yqkRdrlRDGHL3s3aC6rZheq24V/fh0sL+3KdRjbVLkZD92EDjeSAbMtlWKXiY48k0hNfbs1FyHbri/HAc=","Received-SPF":"Pass (protection.outlook.com: domain of xilinx.com designates\n\t149.199.60.83 as permitted sender)\n\treceiver=protection.outlook.com; \n\tclient-ip=149.199.60.83; helo=xsj-pvapsmtpgw01;","From":"Alistair Francis <alistair.francis@xilinx.com>","To":"<qemu-devel@nongnu.org>, <edgar.iglesias@xilinx.com>,\n\t<edgar.iglesias@gmail.com>","Date":"Wed, 20 Sep 2017 15:01:52 -0700","Message-ID":"<e1b49cd103c58fba8d74afd1bcbd81441893beb5.1505929556.git.alistair.francis@xilinx.com>","X-Mailer":"git-send-email 2.11.0","In-Reply-To":"<cover.1505929556.git.alistair.francis@xilinx.com>","References":"<cover.1505929556.git.alistair.francis@xilinx.com>","X-RCIS-Action":"ALLOW","X-TM-AS-Product-Ver":"IMSS-7.1.0.1224-8.1.0.1062-23340.005","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.83; IPV:NLI; CTRY:US; EFV:NLI;\n\tSFV:NSPM;\n\tSFS:(10009020)(6009001)(39860400002)(346002)(376002)(2980300002)(438002)(189002)(199003)(356003)(50226002)(5660300001)(106466001)(63266004)(118296001)(9786002)(230783001)(8936002)(189998001)(305945005)(2201001)(36756003)(478600001)(50466002)(77096006)(5003940100001)(39060400002)(316002)(47776003)(48376002)(2906002)(81166006)(110136005)(33646002)(6666003)(8676002)(2950100002)(81156014)(16586007)(54906003)(36386004)(4326008)(50986999)(76176999)(107986001)(2101003);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0201MB1932;\n\tH:xsj-pvapsmtpgw01; FPR:; SPF:Pass; PTR:unknown-60-83.xilinx.com;\n\tMX:1; A:1; LANG:en; ","X-Microsoft-Exchange-Diagnostics":["1; BL2NAM02FT018;\n\t1:k0lVsZVWS4uXO+h/mSnQQKc77xNxtt7mzNYVmxnk9clLcpNXJ5qiZMkt4pzoA1Y0TT+4IOVMh+p+Cju5z4nIt7QDPuINQeqIix1xfLswt67akvE92Dke7Z98z0baxG9E","1; CY1PR0201MB1932;\n\t3:+ClZKBE0hsCcncx8OkRZap6XUZAo3s5R5NXBwBF084B3n6HIHpdfAWRRuVkQTpbGb5IWmf2eDQOgonjBBEI/6bqktFi39kow0Pkv3qHJU0O6+3Qp2lRqHmw+3davLEAhgC86Fa0OZOjbqJg1Quk/sI620G6S5P0QRFVVe0Pl4ScCCKZn7BQfWtaPhmjyU7iHUMobnQ9kuE2LVrhuQRi//F7DPrKo4oMPoEeANwOnPCN++8ntaeIIBai+1BjfKm3mFII413/NgmgwC7zHkNOHRLK5M6mi4mOK/vSEewEpOCsGkwW5ZK85x0bCPSRKAa5tPogbQRmYBrPrb7+Bd1a8Wback/1ZY/2/v7L1MyYoW24=;\n\t25:5/0SsfJY76Et57nO92RDt1gFL4GebXqve/zfCWdQoo0rAt7qi5VC9lVmUuwLdeRnSnPgxCzdP4FUrKTlFy1rJdMibjwVV4u5oXjNQ4VM8orZOcFY/bkTDf/ONa3LCFAZ/Qam6K6rEh42i83sKPpQaZLEKBN0rBNQhcw32mrqkLUZLqsPfQXeUiVHwhhg7JDrWS7IxM1YkTATZ9+/JZEWw5i+X3MdA9NCSYvbm13dW9NZqfcBOSI+T4B3ulzv4w4g3Fo1pYGmVT6zUT2IRKYJqRfXxk6IiDj44P2Whf/S/1Mk8H1pHWqu+FWEUttRLXhH0JmKXCx5SUVvDju5BT4+JA==","1; CY1PR0201MB1932;\n\t31:EbkPqyLjQq5Fh7iOHXVFopEUF+2Ok7Ccu1HREH/uyn5KpfTs4mYRmYH7ToDsUZiyg0PWav0acgHBLhM7yH8T2sor/YhgCchTiCqMYrdY6EXTrmuuLBdg9fQL1/nibMbCMGee6VMv4ojvHs7mGIf3cMKSanIccV/mb/H22uUe45yK4nsEZIGFGn7LBBnUEQ+lU8GPpve/En7MO4zK5xwHTFpK2rpDZQcXQ3T/ZFD0rxs=;\n\t20:yvkSlSZy7M8J644lJz7yywme0S+ifUsoLCmqlsjQMdU+6v+PiThorWFgNeoZ519WVFyy4hwr/Y5pCdMov3zWTg6ZyHsJgVsjmlBnDH3Sd/Zo342d9AWk0ZHmrmsQr0rEkbbADW5ccE6522A14xo2YTz1k91YDQ3o8e7sNhvf7bPGoCbOmqBnMbAVZao4/fXxyaGIkw9R4rD4LpQkFekzo29BGwRqEerwGdzEx6uFwgP/0vBlXQxbU2YKvEW3HyD+Y/g0T9kd5N1NpwlJStEXbdqHjGfD//FkkFbQxr5fg0AZlce2ZYy4pEudCSnztfhBGyOhUHMcYLbqbVE9IxjJZNUZYQ9xKazPA0c7gH5He6E3xTA0z8/7rZzmzvsnQZvB7eedgdnr6J4uGn06h6LXJ+BcZSbFEiU9Jv/MRcuuLeIJPzma0i6I0w8nB3TsO6fHjJDVOuLcZ54zV3Amg1tpb7F66i3bAR3/tuSLy1b7O7XjB4Jb3zB9oZ2CUtxHjQsZ","1; CY1PR0201MB1932;\n\t4:ctH8GB87feyUSJpvMR3hTDsWPl2UVv+mOM/HRDdtPVHYqMyq90fy/NOIL4BUVU7yufUdZk4FjFgsEHTirx5QDIGHWeJle+SN5cFeLIZGnsOIJvS9GTJxrH9RcUKeN5dXTo0QgIlRTT3DSoPnYfphtv9cTWNhf1A4ZnXifVeLAIxFp+yTHRxgQyUjdJuRQ9bx5Uwhf5DS0sqzFVsi3IYTBCVyKCKrP440W0Keq84U57arsaebU1TPS/7O6JVR53P7jWpTyGkWkz4WSGkbuk95x4bUV7dEcnbc2cq4frL0QbRK5A2xXJ8c2ZdSPWazhNHZGKMkCCpqdp5Aehg4goT7Fg==","=?us-ascii?Q?1; CY1PR0201MB1932;\n\t23:SoQkPz/L/xxytszhvIgVpL27adFdbq+Is+/XG7e?=\n\tB27qclYB6WG/M7huC/r2nnT1owXHJ1K1b+sxVk1gWwZK6VTwvQwEsett8x9Z4J+kzA89/YynEOstVc9olarMSHzJnbb050I6qwdGmbCctYMMf3HU5CiDIGqJnzKY+MDdDZI1bQKvdCgKqOiOZVlebrlnXWC81FfDBGak2fyvdrHkky4xZZAmzILLXFMAcl/g+w566fmpH+HULrPJEvmt0G2almGsf53umlhilRLdWk/7wp4LQ5NoJr7SGu6G3qMcWLO0vhksocRMpzXEL6/wpZMB6/LRtvj6gf6fRxsRqrmA04pdeAH6wZEcQeEV5Bz849XK5Y0I6VNsyT7/LKEGXOUPVmKtK0ECA6OSlX0PKjRNUIuqZKmPorLymTxIdl1ZHG0bJRsPY6niWHmWYIqLd3SOHpw+5y9jzLTmuQ96Wei62oXoYCdiYbypaqyBItVSJQ1PL926hlqzPtWszvJ08gdZ2sKayVc/W0Kb19Sk96oLrudS1bIdokeOGRWki9j8GAjceMez6G6N5R1aneEdEwUX5MU8+xesvP0rmsSVwvCt6as/xJFZ/E4rKSNKMIdNbhkspdla2C596S/QkObL5KXRl5bi1wUilGWokmgNZRZ3hyXHd1R2L57BVwLx9ShWGfnF63Dm4NF5xAoHC3WzklH4699h0Q5ud5MZsAfc2hysrEOEWTt50/Q8u1KIYIwIINbwOZG/TR9+EiVuctlciGc58Kg4DJC3XE9ShvSkn4EmVYAsKp84lP/wiMF11bJeAcWVTzS5KoosKew2zsez6kGIZU06IkAm7HcwQ0EDHsQeO2UQLcAslAY5aVda5OJ0JxM5xdI+eyKfAr3lB/aYMhPSPddPgHcPZ3bNUgFH0liSs8YzJg/rge2FARq5VwLhWvtL8dpnCOeNbX8a91S8UaRY+DL58gJoe29pWmHhW7Axx3d48u4mAn+ShdEoNksOT57vUtAPDupwnI6+otRBQqBVo0mNX7BoO2KPcQ0qrwhwKfvy6wQF0+F+3TBkFg4fJxgCCfZLEohJ4Tvh2yQkxsTNi","1; CY1PR0201MB1932;\n\t6:/++s16u0OYJ+KV+sMk8MLia5uaDJV0Dkfa0iGRfwTHl6nsLkm0RPIa44yk4FGtBHUwhoK8d5tY24aQN5z/RMkPirk41UGgaPcTFibbyOjmhfy264QTMvHtDMZXs6OdspJrbj+KY2+SHCVeuodn6umY2HpOd3OF51tKEPDq8kcsnqtAyolI8HX1rchcIFws1yFV3/btR18pRxdVheYXSvJiyUNT6Eprf8Hbk8oQrLgU5oClukIot4TL9lNbQ1DVaklX9H+HJyesEHYxDoMj0BRBdk4fXAIV5fmibSrHJstvBakMP96xj+lxEitvwQgASfYuJSMgWLKHN03DVdI76klQ==;\n\t5:fk6jsDnl75pwDFPlWdMYvGfBOO5ep+15LT/XywF+i+oNOfFiXxcQ9xSE4n9owSv0awoCPfnWxMkzeY7T3l8s3veSdgdURJosG4VM74TVDzMl8cF6eOAGn9v85pl9zda8D/ra1/2fhTDccGwl/fRTDg==;\n\t24:18OdjXKGOd+cDWLC8aaYrCTz6ygTWC7SqPLZEVSeucjPn5HuXdtkFkHihto6rjiT2rruZeyR/SfiObFfDUoP9/KFrj6zoex2CQNNWO7lj/M=;\n\t7:PC9zSwlG2avwXPYN4O96zE5Ytfnh8MJwgAB2uZ+aFgx8xqHEwEldZi3l2rR3+muUKcXixWi4JQkVJiZvHA5HuhJg/jI5mtbqKT8W8jysHamDd7YbAAyij1Bgs68lWDdVzp3p1glqYGrL4kVzOFDy6KzGAEALszC9mWDL84uvUuU1pts8WngYSiGGzSF5ICo19Ym/+AmVevT23zM/EyTgiRGL497CE2zBQY84txNYFPs="],"MIME-Version":"1.0","Content-Type":"text/plain","X-MS-PublicTrafficType":"Email","X-MS-Office365-Filtering-Correlation-Id":"717984fd-629b-447e-4dea-08d50073bad1","X-Microsoft-Antispam":"UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(2017030254152)(8251501002)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:CY1PR0201MB1932; ","X-MS-TrafficTypeDiagnostic":"CY1PR0201MB1932:","X-Exchange-Antispam-Report-Test":"UriScan:(192813158149592)(21532816269658);","X-Microsoft-Antispam-PRVS":"<CY1PR0201MB1932333D988E5C774AE9E249DC610@CY1PR0201MB1932.namprd02.prod.outlook.com>","X-Exchange-Antispam-Report-CFA-Test":"BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(93004095)(100000703101)(100105400095)(6055026)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123564025)(20161123562025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:CY1PR0201MB1932; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:CY1PR0201MB1932; ","X-Forefront-PRVS":"04362AC73B","SpamDiagnosticOutput":"1:99","SpamDiagnosticMetadata":"NSPM","X-OriginatorOrg":"xilinx.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"20 Sep 2017 22:05:39.5030\n\t(UTC)","X-MS-Exchange-CrossTenant-Id":"657af505-d5df-48d0-8300-c31994686c5c","X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp":"TenantId=657af505-d5df-48d0-8300-c31994686c5c; \n\tIp=[149.199.60.83]; Helo=[xsj-pvapsmtpgw01]","X-MS-Exchange-CrossTenant-FromEntityHeader":"HybridOnPrem","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"CY1PR0201MB1932","X-detected-operating-system":"by eggs.gnu.org: Windows 7 or 8 [fuzzy]","X-Received-From":"104.47.37.54","Subject":"[Qemu-devel] [PATCH v3 7/8] xlnx-zynqmp-pmu: Connect the IPI device\n\tto the PMU","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"alistair23@gmail.com, qemu-arm@nongnu.org, alistair.francis@xilinx.com","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"},"content":"Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>\n---\n\n hw/microblaze/xlnx-zynqmp-pmu.c | 40 ++++++++++++++++++++++++++++++++++------\n 1 file changed, 34 insertions(+), 6 deletions(-)","diff":"diff --git a/hw/microblaze/xlnx-zynqmp-pmu.c b/hw/microblaze/xlnx-zynqmp-pmu.c\nindex ca98d82e87..2016e34db6 100644\n--- a/hw/microblaze/xlnx-zynqmp-pmu.c\n+++ b/hw/microblaze/xlnx-zynqmp-pmu.c\n@@ -24,6 +24,7 @@\n #include \"cpu.h\"\n #include \"boot.h\"\n \n+#include \"hw/intc/xlnx-zynqmp-ipi.h\"\n #include \"hw/intc/xlnx-pmu-iomod-intc.h\"\n \n /* Define the PMU device */\n@@ -38,18 +39,28 @@\n \n #define XLNX_ZYNQMP_PMU_INTC_ADDR   0xFFD40000\n \n+#define XLNX_ZYNQMP_PMU_NUM_IPIS    4\n+static const uint64_t ipi_addr[XLNX_ZYNQMP_PMU_NUM_IPIS] = {\n+    0xFF340000, 0xFF350000, 0xFF360000, 0xFF370000,\n+};\n+static const uint64_t ipi_irq[XLNX_ZYNQMP_PMU_NUM_IPIS] = {\n+    19, 20, 21, 22,\n+};\n+\n typedef struct XlnxZynqMPPMUState {\n     /*< private >*/\n     DeviceState parent_obj;\n \n     /*< public >*/\n     MicroBlazeCPU cpu;\n+    XlnxZynqMPIPI ipi[XLNX_ZYNQMP_PMU_NUM_IPIS];\n     XlnxPMUIOIntc intc;\n }  XlnxZynqMPPMUState;\n \n static void xlnx_zynqmp_pmu_init(Object *obj)\n {\n     XlnxZynqMPPMUState *s = XLNX_ZYNQMP_PMU(obj);\n+    int i;\n \n     object_initialize(&s->cpu, sizeof(s->cpu),\n                       TYPE_MICROBLAZE_CPU);\n@@ -58,12 +69,19 @@ static void xlnx_zynqmp_pmu_init(Object *obj)\n \n     object_initialize(&s->intc, sizeof(s->intc), TYPE_XLNX_PMU_IO_INTC);\n     qdev_set_parent_bus(DEVICE(&s->intc), sysbus_get_default());\n+\n+   for (i = 0; i < XLNX_ZYNQMP_PMU_NUM_IPIS; i++) {\n+        object_initialize(&s->ipi[i], sizeof(s->ipi[i]), TYPE_XLNX_ZYNQMP_IPI);\n+        qdev_set_parent_bus(DEVICE(&s->ipi[i]), sysbus_get_default());\n+    }\n }\n \n static void xlnx_zynqmp_pmu_realize(DeviceState *dev, Error **errp)\n {\n     XlnxZynqMPPMUState *s = XLNX_ZYNQMP_PMU(dev);\n     Error *err = NULL;\n+    qemu_irq irq[32];\n+    int i;\n \n     object_property_set_uint(OBJECT(&s->cpu), XLNX_ZYNQMP_PMU_ROM_ADDR,\n                              \"base-vectors\", &error_abort);\n@@ -89,12 +107,9 @@ static void xlnx_zynqmp_pmu_realize(DeviceState *dev, Error **errp)\n         return;\n     }\n \n-    object_property_set_uint(OBJECT(&s->intc), 0x10, \"intc-intr-size\",\n-                             &error_abort);\n-    object_property_set_uint(OBJECT(&s->intc), 0x0, \"intc-level-edge\",\n-                             &error_abort);\n-    object_property_set_uint(OBJECT(&s->intc), 0xffff, \"intc-positive\",\n-                             &error_abort);\n+    object_property_set_uint(OBJECT(&s->intc), 0x10, \"intc-intr-size\", &error_abort);\n+    object_property_set_uint(OBJECT(&s->intc), 0x0, \"intc-level-edge\", &error_abort);\n+    object_property_set_uint(OBJECT(&s->intc), 0xffff, \"intc-positive\", &error_abort);\n     object_property_set_bool(OBJECT(&s->intc), true, \"realized\", &err);\n     if (err) {\n         error_propagate(errp, err);\n@@ -103,6 +118,19 @@ static void xlnx_zynqmp_pmu_realize(DeviceState *dev, Error **errp)\n     sysbus_mmio_map(SYS_BUS_DEVICE(&s->intc), 0, XLNX_ZYNQMP_PMU_INTC_ADDR);\n     sysbus_connect_irq(SYS_BUS_DEVICE(&s->intc), 0,\n                        qdev_get_gpio_in(DEVICE(&s->cpu), MB_CPU_IRQ));\n+    for (i = 0; i < 32; i++) {\n+        irq[i] = qdev_get_gpio_in(DEVICE(&s->intc), i);\n+    }\n+\n+    for (i = 0; i < XLNX_ZYNQMP_PMU_NUM_IPIS; i++) {\n+        object_property_set_bool(OBJECT(&s->ipi[i]), true, \"realized\", &err);\n+        if (err) {\n+            error_propagate(errp, err);\n+            return;\n+        }\n+        sysbus_mmio_map(SYS_BUS_DEVICE(&s->ipi[i]), 0, ipi_addr[i]);\n+        sysbus_connect_irq(SYS_BUS_DEVICE(&s->ipi[i]), 0, irq[ipi_irq[i]]);\n+    }\n }\n \n static void xlnx_zynqmp_pmu_class_init(ObjectClass *oc, void *data)\n","prefixes":["v3","7/8"]}