From patchwork Wed Aug 3 20:06:48 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 655592 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3s4PKp4twfz9s2G for ; Thu, 4 Aug 2016 06:09:18 +1000 (AEST) Received: from localhost ([::1]:36464 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bV2Tc-0003H0-Kq for incoming@patchwork.ozlabs.org; Wed, 03 Aug 2016 16:09:16 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32919) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bV2S5-0000ny-MR for qemu-devel@nongnu.org; Wed, 03 Aug 2016 16:07:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bV2S1-0001dw-AQ for qemu-devel@nongnu.org; Wed, 03 Aug 2016 16:07:40 -0400 Received: from mail-bl2nam02on0075.outbound.protection.outlook.com ([104.47.38.75]:2560 helo=NAM02-BL2-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bV2Rz-0001d1-4S for qemu-devel@nongnu.org; Wed, 03 Aug 2016 16:07:37 -0400 Received: from BL2NAM02FT019.eop-nam02.prod.protection.outlook.com (10.152.76.58) by BL2NAM02HT203.eop-nam02.prod.protection.outlook.com (10.152.76.184) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.557.8; Wed, 3 Aug 2016 20:07:31 +0000 Authentication-Results: spf=fail (sender IP is 149.199.60.96) smtp.mailfrom=xilinx.com; redhat.com; dkim=none (message not signed) header.d=none; redhat.com; dmarc=none action=none header.from=xilinx.com; Received-SPF: Fail (protection.outlook.com: domain of xilinx.com does not designate 149.199.60.96 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.96; helo=xsj-tvapsmtpgw01; Received: from xsj-tvapsmtpgw01 (149.199.60.96) by BL2NAM02FT019.mail.protection.outlook.com (10.152.77.166) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.567.7 via Frontend Transport; Wed, 3 Aug 2016 20:07:30 +0000 Received: from 172-16-1-203.xilinx.com ([172.16.1.203]:39003 helo=xsj-tvapsmtp02.xilinx.com) by xsj-tvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1bV2Rt-00026Q-W2; Wed, 03 Aug 2016 13:07:30 -0700 Received: from [127.0.0.1] (port=35830 helo=tsj-smtp-dlp1.xlnx.xilinx.com) by xsj-tvapsmtp02.xilinx.com with esmtp (Exim 4.63) (envelope-from ) id 1bV2Rt-0000lW-SU; Wed, 03 Aug 2016 13:07:29 -0700 Received: from xsj-tvapsmtp02 (smtptest.xilinx.com [172.16.1.203]) by tsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id u73K0f66006711; Wed, 3 Aug 2016 13:00:41 -0700 Received: from [172.19.74.182] (port=45300 helo=xsjalistai50.xilinx.com) by xsj-tvapsmtp02 with esmtp (Exim 4.63) (envelope-from ) id 1bV2Rt-0000lS-3d; Wed, 03 Aug 2016 13:07:29 -0700 From: Alistair Francis To: , Date: Wed, 3 Aug 2016 13:06:48 -0700 Message-ID: <0dc7130c3493a017adc7d65e331e4dc826899e84.1470253246.git.alistair.francis@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: X-RCIS-Action: ALLOW X-TM-AS-MML: disable X-TM-AS-Product-Ver: IMSS-7.1.0.1679-8.0.0.1202-22490.005 X-TM-AS-Result: No--11.194-7.0-31-10 X-imss-scan-details: No--11.194-7.0-31-10 X-TMASE-MatchedRID: y64C6oV0e4cLazoQyrpm0lVN8laWo90MUAjrAJWsTe/K99fyOVK2z5zN 93wt7ZVSIHjnztybxtXwwsUAOWTg1wlA1YvnZYYFA9lly13c/gGH7D1bP/FcOk1KG1YrOQW/wbz 5Zl605FjbKbC8HvMmwVhWH7NbL7da75zkgvo5OA7hG1IOMb7PsB9sb7nSGsJDZ7r/KVcDM0mjxY yRBa/qJcFwgTvxipFajoczmuoPCq3caYbNj086EhacY6PrdaS2P1BjuNtII5zDqHweEBIpQ/ryg 7deb4vI X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.96; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(47776003)(4326007)(229853001)(19580405001)(50986999)(2950100001)(5001770100001)(76176999)(36756003)(71366001)(64026002)(106466001)(50466002)(19580395003)(85426001)(8936002)(50226002)(305945005)(7696003)(48376002)(356003)(105606002)(189998001)(33646002)(87936001)(92566002)(81156014)(586003)(8676002)(7846002)(9786002)(77096005)(2906002)(86362001)(5003940100001)(81166006)(118296001)(49343001)(107986001); DIR:OUT; SFP:1101; SCL:1; SRVR:BL2NAM02HT203; H:xsj-tvapsmtpgw01; FPR:; SPF:Fail; PTR:unknown-60-96.xilinx.com; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02FT019; 1:sp3kK+uhAfiyEUTEEzA0ei4lrck2NZYRZieiqM3+za3YHwrUf6vIg9jJl0eavErRMDTbG1yZVCTacoKl9Pzkcu6bOZhIyfOofJOPl/bwbNsMmdog6rkugYuonZOW+GsxJrGNtEBaV0gm9gUGOjW0ctY3c+LmZ0VgkHOKFefVus3nsx1Zi6k7emnBEC1uLhb3olqRfpR4Ei4foxmLn/1pruIJc+2jqqr4xFLOniqq98ZOzHA5oHOSQCQ4XDjZb3+BxjObk5StqpWulJpnIzwMauiJkkmfqCo06tqBIb2RDtq/rz+QPi6TAXkAchA3DKTz26g4CHLCe6tJ2uyP3+eyqiiOewpCaWjtkrVQTYZLqVWig1mguLX1wGwHjPS91teNo8CtCgxGRd0HqzYYKrpKN+wsKoSX96rn0puNVtvujzIsQMZrP2sdfgMXf1nsOJ5N8cjLtgpcOMMgZU9rgNKj35LPitXoPfeuhn9zkrQvdka3jvBB8fw6/YP7pjftFuGM9PVrketWFaAPPwnBXD2e4vxDfjd2Ag4JS7+uCaP4QZ2KYFwVnGmNtbV75Pw2A7dryc6c3RISkQ9gf/OYsSJEtGnQQkbYM69O3pZ9sil7ii4= MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: d181436b-417f-4d41-a275-08d3bbd9ccee X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02HT203; 2:uXUvhH3k1+ca6ag0w0SlgqrmKRkeHRKqN064P6zR8Bcphtzjrln6HMiib97ALf877KparTrTNE4ctlczOdOMQTRzhw6r0g8vWv6UgOAzl3zJhHgFAGLqSAjqkH1Jatb8iZAJG/tOaNnt8yddxbhdFt1t0hdkRtSn9CRd5NL6zCEmabXXNDQx38ihrPgGyKxY; 3:A2QF1yF3cuwbU1xvCeMQnzMXeAzusVRICgG6+Vo4mQbzhvb73MVjwIo5QnwatNipIgqC6ShFFOUJK1SWy1RURa3aA5T8AXePWnw3/FFBIAvnfIQ2HZPdbZ+bewpqS0HWUXb3XliA9AFhjFCA+Glk3/48Aaq47w5JeeBXbVQaKqWq+N7D51mcCqgYsI2Xxn8vk7pnoRXeOXyTbFvEkk4vGY3TOo8Sxm5foJqX8XAFgw0= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BL2NAM02HT203; X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02HT203; 25:mmk4qNkEN0wMTMA8rQO01V9O2waLR6Md/wRGVpx6o9rKA3SuEqDr9F8aAVRPha0mPcx8dw5bgP1EJHTwWQOOUqrSTkLRPVYK7w5+13dVAKqvlsV79Pf4HTqZbd3mVpOvTsnZ0AkHf5LGGXn8wDcUk2OEDwq9M6WKWPB7mdP3EFdaQCcHWfevUUkMvFUs10/Oi+ptEZZjQMLyN8AQ4iqw2mknzL/D20oAcyWB4DsUHTulLRJpi0FskvlRJkI9bLUpUEQEJNQYmviZBNWtNZ4HwSclc8Em7oCCzef8a55Ntky6FR7DEi3YUIzaojEL+rDi+g8VDDRNYputR6gNZQAMWcTTQ/16S4/ccieqxQIPZAMGtmWB8NIyPGm0VvEyAsiMdMXZvyX+AeSOG5w8nvqLwdVC62dAJp6tKQ7z2gszCk5GP7GrwOtUlguTJvCz1eQiLGhX0vHLxzMiaIQRt0k1xJ4HxDITk/sl6YRYSiNW8ZYjbE1mZhUvwEbIF2MxPBBx+hhaQY3feeZTriqYeUYVKDw49FbYSmJcY0fNX/kUpI5FeOyvQgS3yFkWtJaNVmuDqY1saEdyOjqgGBRV+Z4//YWE9ERQNj4y9zbdueuApcxSuoiQrEx86YSNOwONNz8oZfs55F8sh7jBvIt55y/hBAd7ay1y2HIs63Uk8gOLRYiSemrwPHmSwPUc7RcBEa9Iam9Wt5P2wtMjHH2pmrKHvJ5j5mOoMfx/lD0ppa6U3duEXTzrAPZZTiOkJPFJ3DUy2FN45MtlEerpZyphEUtgO2Adbjwsr+rz/lMf5hVKy6s= X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02HT203; 31:TfbLhTy1E+tx+YTdlOVIjjYsFJCq5dSqrdliCys/k/y7q8m+UG5sBHIAcPGoUuK2U+8AuAhIP+Da3OI3p7EqtzfRidfZ6btZ/zJN0B6aVQhRpEeP3NH4PThQrWcxr6l7inFPEFVHcc/lNYbNvTXQCd2Ws7Prm7z+E3xta88cYgrSV0ooK4iYoz8lzOf6VVtj28H+dBoqKkIPBNTvxlp31Dx7CHIa90g2exUc2S4vBBQ=; 20:g5s72njIBl+2ZG7a3yJsApmVOuOjz8wKzP2NLTHYR/yaCi+oiYnfDkJnVZWxtNI3q7DejeQrYHkNXgQfCFWuO6Z7OlGHYz9av9c2/FWXCU2HwqUZ88ayrs4juYnZO5qShVnbYBEgSGp15g+52mR5R6xF7fYHWVeso4QYa6uoitOMGWC//wZX6As9JFoz3JY1xcTJC+VJ1AYUkhlmodjWWwGu54npGDU6Kjr3VcGFU0CZoXO/IOhBFUHrycDcdpzLSQjR32gYBw5PTVxE6qzFud3TK6tC4Sv6wBYq3MsPULZc+QUISyxGNXiqTzjF6oVylcnbv1b/GBiMbr5n2jufOtjp9dt8iWVlC02CHUh8T3qHCxXaGRgm/6LR9jV0IZdO3ksRFkKyWs/ZRLIQe4paLM3Q9IaBkf1VmRrYfWSzrto0RgHh+ssUPndLoRYYzuzBweFqCeeH0kuVTBrvsH/fvsHjaUHg1iwMxs8Jy0ijSBZvSd4en7lzrkMDGn2n62JG X-Microsoft-Antispam-PRVS: <4af751f25e8c40419e87a3b6c5caae89@BL2NAM02HT203.eop-nam02.prod.protection.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13015025)(13018025)(8121501046)(13024025)(5005006)(13017025)(13023025)(10201501046)(3002001)(6055026); SRVR:BL2NAM02HT203; BCL:0; PCL:0; RULEID:; SRVR:BL2NAM02HT203; X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02HT203; 4:KBXjErlpB9zBV+filjPtd7SMhCi70UnLyveQzfa3RUjP9TmIQKtXVbOJdkTSQnE7W+h2ugSo7TAx1yxMYtkwZNeJRPkPPVeHdyFaE3V9shj1Pusxkg60vgzmgvsrqlMJU+LHTtCxUCrarKPjO/4rIUa0k8HF4/W4jnPBldTp+LD2fzDsJ9r8ySiKKTc7aZcz9Wo/6yg7cAUN4YacUfK+slTuBQ5lcFxI1W+rYzNEyILMdcoOOGBeAeEjNugoKu8pmL9OwNh5DACECwMPXk5owy60GTrnHHPIoJtN1WRJMjPjXYFb8JCaBRlNTEkrPm+vcTV+LAlo6XahFtWELCMka7HhshcyteMhkv6EpVcO11CGi/m5B5KYi7rJu3eu16oBPwzBoxIIcvcWV+Lto9rnhe2Th5PGOoj9aQto5EIu3+CHV7plpOhtIh7YY5Ayg+iPWuDHTQUlo2bkEHAEJwYoGSLHpbj964Yhk/mYpR/xPZxFUguYNJuguflLb/TXQ1o79PPYm9CDUFJ9VnJVix6Rrg== X-Forefront-PRVS: 00235A1EEF X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BL2NAM02HT203; 23:0UuHC1VBWpV1DXSij2QDUzj8OVM9G7zggBJ6zeZT0?= =?us-ascii?Q?DL2PgvKkpbS7WrLSZi1MuukPsHKomQbA2vTqgd4W3TnoPRmnjzm2W63Siz1n?= =?us-ascii?Q?WRB1j8SLfLe7+wLn9msy7piUGF3jrW7sahcVuMs+XuxCFEmHYBuWasCJMuHW?= =?us-ascii?Q?T+eD5T+VHiRpampb26S3pqSlOh9q/c0HGpjGfazoCPmrobG7NWfWy7AuBZXW?= =?us-ascii?Q?VH4cr2UHEeCRR5rrxXY3hQADIj0DPgHbRf2wnEIG4BYlPDeobTbLCxCdVhw4?= =?us-ascii?Q?SfHLkH35zjBqqGTR3GAb9msp5JnXUBiEiSQ26pTsmjEEkNRp/WyJ9w2YbUfD?= =?us-ascii?Q?Hl37m59QUMufcE1K9COeAaB4obY5Fr3fg34gZiVAccaL22R1yk7/YHQLkg9b?= =?us-ascii?Q?7kUanR20xLZTWYMx4iZqh4CwPNQIDNb+uiyBh4P8F6GtkPwc2vHzvp9P1BmD?= =?us-ascii?Q?a837/dl3ebgfngNbkpnzmM2oq1d9DgAJFp1p1ibqWGtYvL9oWoRUYCNF89dv?= =?us-ascii?Q?/hDMcB+jSgkgDl0dU2YeyaP0qKhKjIt5aHXjuO4Q2IP1Vpt++I3MeS+Aw53b?= =?us-ascii?Q?ItF8v1raKVC8oqBdZcwfmxzfd4Sa/p4DB9FptcGgBfmuPpjO75RLISRSe5QU?= =?us-ascii?Q?ubAsim4SStgvU0YgzGJO8f5j9O4aiMFPrAncgPjnPdAcCdtwr1s4RCr8Z0qq?= =?us-ascii?Q?KO4Qbw7+qYb2soHMN904JVeh2IfICCOnlm+zQsJqJJcZyaAcFL3oY99i64Dq?= =?us-ascii?Q?HXtU1bQrIz1EXa3ylpZWwCaGCK4eYgjXCJx64gFdcdbsT6hCnU4aYROQ5L13?= =?us-ascii?Q?fP6vkJGOUWndYw2AnSlxdlVzTJDCxSC4s4k/5H3K378Oh+vUvZWEhMZhsVa7?= =?us-ascii?Q?4d7TXEv04QdD8qVnw1xg0itrP4RHX6jdo44Tuh7wIb8aa+dP8g67PVGhn9kb?= =?us-ascii?Q?K1rGcDpelA1Ws0MnSPsygBT88/DVWW5LIHbSvyszm3bV17qhCuFkGv3xY6Mj?= =?us-ascii?Q?qYlKdOPgzIV6MsxPLi0Ntr6ktJ5C0PaOCziJXWfUcQpdGRD22h8CKdGdLGP+?= =?us-ascii?Q?IBiOJWcxedvgjC8pPWpghrodVww0t6qLT9V8OBK4OIbIEXXVc+7BUOV1c467?= =?us-ascii?Q?+jaEAa/QLMNwNq8DLik77PHIE543Q+chwaAq8t5C2si+VnTb77AbuVaKDcZS?= =?us-ascii?Q?YfXt2DDAqJy1HY=3D?= X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02HT203; 6:EUHAzIKyT20sMZO2ZcIRsXaRoNMQvcI7jQZAmpsliJqY7+D2oWCMXoamv9veuoTG73/AcahXLRAsvMS7rT+zWp4PsVPugBLbTxYVkxDLfHKf9qq0OYCRcuECje26CQTKBzC+PDGm5fP4Ev3B0QHCSFM0/NMmMDlCnu0M3faAG1vYJ+ypZnq3LpzBDVCz4hfvpJdWX3YhcrcLCnm71yf3lXS8MUN/WFpjc8czrz0aqpn4IjVNek0VSTkDjj+x05nzs/02Qb5JVh5UbZCqoX2TqejStkzPdn96uhQxrD/OvZFSUKE9p9/MCEi1ly5AKXlk37m3KMz0OC+CHryKtlaJzg==; 5:3yuvv8UGtXUiFUew3GjAkyFTb2IRavjeuqmhNyDnZtdRbBU7ZZUJK8rfE4RS9vVmnyk12Hx13NB2a46UkWCWEOKZFQdEDCq6WJEeHt9mr6NDZJCf3VMjIRt+DAubbKsmzcaRnQF8DEObwixo45kLRw==; 24:1tS6elv52QBB2Np6OQ6Qo6lRW+tfS+HvST0x49sNUrAem71MRr3k5miw0kb265eoP4CbSpggpokdI/K3oZ/MdLGIcVXOx7FKeaQxmNNQPzA=; 7:vDYh8d7rv08af7ctcXxAX3PmHulMEI2ErpzbJLYGZe5C7rD73i7HazRn/wrE2qVz+BgJtumTuV/5UDNbN5fOTFyhlskuevbZmB8+zLCdzKnrp0RcPBi53XChnuUdRZPdfJsxFndyouQGC1vxKz1XtVxCummjVfq+HewcH/3WB8oxiQIPiDA8xQIwvWDLJbtaIwQZ0dp2arVeJd415EYQOnKronUkJNtA0qMIWvrWoaoczQO7x6idxF+EhFacMBIa SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2016 20:07:30.7204 (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.96]; Helo=[xsj-tvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL2NAM02HT203 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.38.75 Subject: [Qemu-devel] [PATCH v10 6/8] loader: Add AddressSpace loading support to targphys 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: cov@codeaurora.org, crosthwaitepeter@gmail.com, pbonzini@redhat.com, armbru@redhat.com, alistair.francis@xilinx.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Add a new function load_image_targphys_as() that allows the caller to specify an AddressSpace to use when loading a targphys. The original load_image_targphys() function doesn't have any change in functionality. Signed-off-by: Alistair Francis Reviewed-by: Peter Maydell --- V10: - Add comment about the function in the header file. hw/core/loader.c | 10 ++++++++-- include/hw/loader.h | 22 ++++++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/hw/core/loader.c b/hw/core/loader.c index 19b73cf..e83353a 100644 --- a/hw/core/loader.c +++ b/hw/core/loader.c @@ -133,10 +133,16 @@ ssize_t read_targphys(const char *name, return did; } -/* return the size or -1 if error */ int load_image_targphys(const char *filename, hwaddr addr, uint64_t max_sz) { + return load_image_targphys_as(filename, addr, max_sz, NULL); +} + +/* return the size or -1 if error */ +int load_image_targphys_as(const char *filename, + hwaddr addr, uint64_t max_sz, AddressSpace *as) +{ int size; size = get_image_size(filename); @@ -144,7 +150,7 @@ int load_image_targphys(const char *filename, return -1; } if (size > 0) { - rom_add_file_fixed(filename, addr, -1); + rom_add_file_fixed_as(filename, addr, -1, as); } return size; } diff --git a/include/hw/loader.h b/include/hw/loader.h index bce8f43..0381706 100644 --- a/include/hw/loader.h +++ b/include/hw/loader.h @@ -14,8 +14,28 @@ int get_image_size(const char *filename); int load_image(const char *filename, uint8_t *addr); /* deprecated */ ssize_t load_image_size(const char *filename, void *addr, size_t size); + +/**load_image_targphys_as: + * @filename: Path to the image file + * @addr: Address to load the image to + * @max_sz: The maximum size of the image to load + * @as: The AddressSpace to load the ELF to. The value of address_space_memory + * is used if nothing is supplied here. + * + * Load a fixed image into memory. + * + * Returns the size of the loaded image on success, -1 otherwise. + */ +int load_image_targphys_as(const char *filename, + hwaddr addr, uint64_t max_sz, AddressSpace *as); + +/** load_image_targphys: + * Same as load_image_targphys_as(), but doesn't allow the caller to specify + * an AddressSpace. + */ int load_image_targphys(const char *filename, hwaddr, uint64_t max_sz); + /** * load_image_mr: load an image into a memory region * @filename: Path to the image file @@ -179,6 +199,8 @@ void hmp_info_roms(Monitor *mon, const QDict *qdict); rom_add_file(_f, NULL, 0, _i, false, _mr, NULL) #define rom_add_file_as(_f, _as, _i) \ rom_add_file(_f, NULL, 0, _i, false, NULL, _as) +#define rom_add_file_fixed_as(_f, _a, _i, _as) \ + rom_add_file(_f, NULL, _a, _i, false, NULL, _as) #define rom_add_blob_fixed_as(_f, _b, _l, _a, _as) \ rom_add_blob(_f, _b, _l, _l, _a, NULL, NULL, _as)