From patchwork Fri Jun 19 04:16:35 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 486571 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 CDE0A1401F0 for ; Fri, 19 Jun 2015 14:17:23 +1000 (AEST) Received: from localhost ([::1]:55770 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z5nk1-0004NQ-MQ for incoming@patchwork.ozlabs.org; Fri, 19 Jun 2015 00:17:21 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58449) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z5njP-0003CI-Ph for qemu-devel@nongnu.org; Fri, 19 Jun 2015 00:16:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z5njL-0003ar-KS for qemu-devel@nongnu.org; Fri, 19 Jun 2015 00:16:43 -0400 Received: from mail-bn1bon0080.outbound.protection.outlook.com ([157.56.111.80]:1248 helo=na01-bn1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z5njL-0003ae-DZ for qemu-devel@nongnu.org; Fri, 19 Jun 2015 00:16:39 -0400 Received: from BY2FFO11FD055.protection.gbl (10.1.14.34) by BY2FFO11HUB047.protection.gbl (10.1.15.227) with Microsoft SMTP Server (TLS) id 15.1.190.9; Fri, 19 Jun 2015 04:16:37 +0000 Authentication-Results: spf=fail (sender IP is 149.199.60.96) smtp.mailfrom=xilinx.com; gmail.com; dkim=none (message not signed) header.d=none; 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 BY2FFO11FD055.mail.protection.outlook.com (10.1.15.192) with Microsoft SMTP Server (TLS) id 15.1.190.9 via Frontend Transport; Fri, 19 Jun 2015 04:16:37 +0000 Received: from 172-16-1-203.xilinx.com ([172.16.1.203]:35764 helo=xsj-tvapsmtp02.xilinx.com) by xsj-tvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1Z5njJ-0005ZY-1H; Thu, 18 Jun 2015 21:16:37 -0700 Received: from [127.0.0.1] (port=41385 helo=tsj-smtp-dlp1.xlnx.xilinx.com) by xsj-tvapsmtp02.xilinx.com with esmtp (Exim 4.63) (envelope-from ) id 1Z5njI-0004nC-Py; Thu, 18 Jun 2015 21:16:36 -0700 Received: from xsj-tvapsmtp02 (xsj-tvapsmtp02.xilinx.com [172.16.1.203]) by tsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id t5J4CEo1013579; Thu, 18 Jun 2015 21:12:14 -0700 Received: from [172.19.5.153] (port=42897 helo=xsjrdevl46.xilinx.com) by xsj-tvapsmtp02 with esmtp (Exim 4.63) (envelope-from ) id 1Z5njH-0004n9-MJ; Thu, 18 Jun 2015 21:16:35 -0700 From: Alistair Francis To: , Date: Thu, 18 Jun 2015 21:16:35 -0700 Message-ID: <4850d7e21ae7434fb4524f2457588a6b67e00ff4.1434686378.git.alistair.francis@xilinx.com> X-Mailer: git-send-email 2.1.1 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-21620.005 X-TM-AS-Result: No--4.298-7.0-31-10 X-imss-scan-details: No--4.298-7.0-31-10 X-TMASE-MatchedRID: 7TQzxCx7QIXSw3nP8ewgPE4bz0lVdJ95NlIAWlNSq37uc7XfuTYENvlY oV6p/cSxbyYnomyraa1LTtKDoVocJhtlRBeFg9jMjtK7dC6UBnl9LQinZ4QefPcjNeVeWlqY+gt Hj7OwNO2I3adjBtsMrJGwcwt0QWUsRTf0zecHgeHRmbiNaPooRux0oOWAYeandlQU5Jwr/xrjQ1 WV+crBc+mclD2tvJV8y+yGy9MVU9YdgKsBlNAyr/IMFg0InOPqz5gAnmajvOU4qCidlj1MUy0uA BDi47cA X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD055; 1:oooP2N62FCiP1Rgg99pa+20XhLwdqZcJxoSsAhBp2+lr+0HwrWFWlNnka1xAUoT7dWz1B6eRg6mjvcC/fdRyDyP7EgdZVieUJVWOM1cFz90c77rhJqqptpR/ZY/KdzbmH6gQMHHfvO3KpYv3P0TT2eyMyiiNfzhF3xRp5CUMT5sgjaK7AMdYfYTvGJ1OlLBFXG40CCDbV9234lQ0CAWKTfvxW2e6XTe2U6ELjLASzXaPJBlVp878QTHj4dj5cvdw0monUqW7sRrOaZxD9V7iYA6E7x3JytyuwhqSFujsLgTc2fhrnrwMgOSVk1/OffM87Wr3ESjoVI0TYlxHx4BsYw== X-Forefront-Antispam-Report: CIP:149.199.60.96; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(2980300002)(339900001)(199003)(189002)(71366001)(77156002)(62966003)(85426001)(48376002)(107886002)(5001960100002)(64026002)(2950100001)(77096005)(5890100001)(33646002)(36756003)(92566002)(50466002)(50226001)(189998001)(86362001)(46102003)(229853001)(19580395003)(19580405001)(575784001)(87936001)(105606002)(106466001)(118296001)(81156007)(6806004)(5003600100002)(50986999)(47776003)(76176999)(5001770100001)(107986001)(4001430100001)(4001450100001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2FFO11HUB047; H:xsj-tvapsmtpgw01; FPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:unknown-60-96.xilinx.com; LANG:en; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11HUB047; 2:FPI774POqdoY3964Nx9FFjY55r7ry+2oJl46bAGXmu8YTRu6dYKs8yu0oDI7yyPf; 2:lh0NINwZxKoqF9w7SGqSuuHDI2/UiRyLC3DyRTdsJ/Pk/mI+3gQzA1zU6JcieJrFuIJB6a1vFPFILXGTouEHMVYqU/6fquKneQvRcDJ+YNfmB2ABjUCkTsvuPzIPdT/4mLL+lbJNOUYOIpD/wEnGiIXE7Sntn7aJDrQMqHS/ufNDd0ATdV1Dc0znYaZ1BcMhP0j+NGgukJMWkAMlIWxQxpSjy96XwO9XAiGMAF2y51s=; 6:iSBXJMtMRPjriPuxA1zvXcBG8OTj3OeJ4SezfiCmND8OPOxwGV81FeidXnI4mb5jP12skW1ePIHdXVOp34JN/mlms+Eh/rl1hHKmVYiXzAotAQ8EkXNL0Bh9KHMmN1F1/1v/kYEmXU1xA5Xf3lCKHBWCP9oi5srtMiZ6DDrjwWvpDEw9enSf3F9Vrcz0I5ircA9in7iFuSC+YsVs7+lU5TJZJ0BZwOLEtjqZluk9XXek/Ie4zkaX6X+G+TrjWDcZvZtBxW71B++Ms7DsOqlGcvsHXnSA3OV232iBQlMJPkLZqb7yIBSPh4/KATr9if7ZMgaHvHeD2r5IbqXcoSYJnT/38QBVYFvml4/a64S7RcC5CoqeJxUuMUUL4i43U4QIFyMur0OouZCAduJdfXZgBBzMRWsEaEEkvaxAvoGusKVdsI85+3AOXTrKPjYC86SNWgWbKBbK7OfrzN3BlAB+Gyttjj+sAMF2/lBq5dz/XgJbGpLCsLy82UzAssNDJO7D X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2FFO11HUB047; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(5005006)(3002001); SRVR:BY2FFO11HUB047; BCL:0; PCL:0; RULEID:; SRVR:BY2FFO11HUB047; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11HUB047; 3:HNLKkafQWrYDcHEcgCHs61dA3cvXJBtKdqf9HHfVl4Sn6XsuBfZ6QS3yvqPfnjYYDYMnRzhhUcdl21OhGUoqw1Z9VUhkIYndp87JCS+xj/PjJUEPT1+FALPGN2cWDKgQjJhauVnOsrCDUKFyD/umOe59L6y2/KT891jMmgbFI8d1G32YW616SQiP75eh6NeddSmn6ts8UP1P+kTl6CKbf6705YYZp3NdTCuaXrNKqWpwc7r/58Fg1XQGRVJNdbKjz0nGMbggXMhtTzFbfJgJ/iq05QB00SjxD8uKlFW2UVU= X-Forefront-PRVS: 0612E553B4 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2FFO11HUB047; 9:Ut3F9EdE8DUgrKx6CkGgypy9NKKkSpOFs74tgr+Ln?= =?us-ascii?Q?dp+UQ5TvweHCn2x7SAopESsMYjFqxo1srsKsi3tLqfVIhp5zmaXE1yg0tcYg?= =?us-ascii?Q?JFgjt5tqxTrlHFB8DESw7k29hpyUMOO6P63M7YWeLvk1tS5qtkGsa96+kQU3?= =?us-ascii?Q?WEHYk4brMxEFDi/fLy1/otBss7brtC7ROKrqP0fr8jKI1v3EEtoVHTGkdBO7?= =?us-ascii?Q?TXMrUGc623H5thE+/VGigh31VNS975ygfbFyL355SELG9TkdCE2zlYQCn9/q?= =?us-ascii?Q?HGffbqCZDJjyPeaDw6x9VXRS4lmpPK1YXjzKbm04hGTb2VIMviT5+/TjUIC/?= =?us-ascii?Q?EziHSudhFDMAN8bCySh3a3FooEGTcXU9HCS6NUOqUEN+YabqXBYC2TjrP7ZZ?= =?us-ascii?Q?Zn2YtWa7v3R48FWoVIxmsA0HWSspZVvK2A9lDqS8YQImtHInFEQ1gtZYOspn?= =?us-ascii?Q?p/J9v9TCYbrmJlRMzfkzsRWcvTqX+/RfDhHoNbaZlgYVlRTrdn5PIhnzrNZO?= =?us-ascii?Q?hi8EEmKWhBj7Im2AQ/O8FV/jkDIZVcVG6D+lBCFCjfj3cvcfhXHEMst+8A4z?= =?us-ascii?Q?5A4tfyLN+G2BH8FiO3dLSBZbrs/zXSRmxPxJkiT+4B+fO/1Snxao9hwu0033?= =?us-ascii?Q?AGF/645eoUzumAxvDzG6Ld5m6Dim9YCrx31Y/i8XOURL2ajcx1l8sbdnQIdD?= =?us-ascii?Q?hRNKMzrgHlDyppSaJWUkrtLbgyyB2EgPxnh6vvCmWlmuyWvCZWjPBG6mvTbO?= =?us-ascii?Q?6B3cZSxMmPBOooesWOxsJVnnLkL/cczyQkCKgqCob1tlDBacalV4qiOGgjZU?= =?us-ascii?Q?dDjMS1dgWo3vgj2CRMGxtAOcPiH94i4d+4tZ2IrjI/2auRTnHJuAl5ub37Dm?= =?us-ascii?Q?t2SzxZG1aPRd0YwrXkStvVu9tSSHFD1OAXP8IBoTj4frNbkLxNVvjSXn0fau?= =?us-ascii?Q?wAf6Hq74d0fqJ3YHi3YgwQs0rN4YRqKF7uoPGpZnENQ7n1SRnvJC+ZD/LwT4?= =?us-ascii?Q?UPnyqFBoGiw5Hnct+QKy4/XMhDKUTtW+HzUpUjxTWkOqcngci0JE/k4fla7t?= =?us-ascii?Q?G+e217f+13nwk3G6pFFLyTty55dJYPjlOAp45Eg/2EeRiLMsQb0zfzkPOxyA?= =?us-ascii?Q?k0RtKRpbRM=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11HUB047; 3:MJKgQ4NvuVzzrQDNqahX6oKtq4eqf8X6oHb/IKAnA0yM5/HvP6BM+oXUlPIW5wZO9otLNew5PVdEbM6arY+QSo4TN1+jyz+VEvGGqaOWdkWrbqul4DlgKjiKGTPrEUT4Y4FJdLidKRX+ZTnEyYbwrQ==; 10:BLUqZr16ZBWzj2aa20AgwvQu8u5nkQ+bhCOj3P6Ymj//vE4i29K+qNsGYv4I2RgHL5aw178JArbsqxo7Wj9L/ofz/K/3PGBtAFm2cxdKDrk= X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2015 04:16:37.4185 (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: BY2FFO11HUB047 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 X-Received-From: 157.56.111.80 Cc: edgar.iglesias@gmail.com, peter.crosthwaite@xilinx.com, alistair.francis@xilinx.com Subject: [Qemu-devel] [PATCH v4 4/9] target-microblaze: Convert endi to a CPU property X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Originally the endi PVR bits were manually set for each machine. This is a hassle and difficult to read, instead set them based on the CPU properties. Signed-off-by: Alistair Francis Reviewed-by: Edgar E. Iglesias Reviewed-by: Peter Crosthwaite --- hw/microblaze/petalogix_ml605_mmu.c | 2 +- target-microblaze/cpu-qom.h | 1 + target-microblaze/cpu.c | 4 +++- target-microblaze/cpu.h | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c index 995a579..e9adc2f 100644 --- a/hw/microblaze/petalogix_ml605_mmu.c +++ b/hw/microblaze/petalogix_ml605_mmu.c @@ -70,7 +70,6 @@ static void machine_cpu_reset(MicroBlazeCPU *cpu) env->pvr.regs[10] = 0x0e000000; /* virtex 6 */ /* setup pvr to match kernel setting */ - env->pvr.regs[0] |= PVR0_ENDI; env->pvr.regs[0] = (env->pvr.regs[0] & ~PVR0_VERSION_MASK) | (0x14 << 8); env->pvr.regs[4] = 0xc56b8000; env->pvr.regs[5] = 0xc56be000; @@ -99,6 +98,7 @@ petalogix_ml605_init(MachineState *machine) object_property_set_int(OBJECT(cpu), 1, "use-fpu", &error_abort); object_property_set_bool(OBJECT(cpu), true, "dcache-writeback", &error_abort); + object_property_set_bool(OBJECT(cpu), true, "endianness", &error_abort); object_property_set_bool(OBJECT(cpu), true, "realized", &error_abort); /* Attach emulated BRAM through the LMB. */ diff --git a/target-microblaze/cpu-qom.h b/target-microblaze/cpu-qom.h index 3b6165d..d1d814b 100644 --- a/target-microblaze/cpu-qom.h +++ b/target-microblaze/cpu-qom.h @@ -66,6 +66,7 @@ typedef struct MicroBlazeCPU { uint8_t use_fpu; bool use_mmu; bool dcache_writeback; + bool endi; } cfg; CPUMBState env; diff --git a/target-microblaze/cpu.c b/target-microblaze/cpu.c index 92c51a0..8429275 100644 --- a/target-microblaze/cpu.c +++ b/target-microblaze/cpu.c @@ -114,7 +114,8 @@ static void mb_cpu_realizefn(DeviceState *dev, Error **errp) env->pvr.regs[0] |= (cpu->cfg.stackprot ? PVR0_SPROT_MASK : 0) | (cpu->cfg.use_fpu ? PVR0_USE_FPU_MASK : 0) | - (cpu->cfg.use_mmu ? PVR0_USE_MMU_MASK : 0); + (cpu->cfg.use_mmu ? PVR0_USE_MMU_MASK : 0) | + (cpu->cfg.endi ? PVR0_ENDI_MASK : 0); env->pvr.regs[2] |= (cpu->cfg.use_fpu ? PVR2_USE_FPU_MASK : 0) | (cpu->cfg.use_fpu > 1 ? PVR2_USE_FPU2_MASK : 0); @@ -174,6 +175,7 @@ static Property mb_properties[] = { DEFINE_PROP_BOOL("use-mmu", MicroBlazeCPU, cfg.use_mmu, true), DEFINE_PROP_BOOL("dcache-writeback", MicroBlazeCPU, cfg.dcache_writeback, false), + DEFINE_PROP_BOOL("endianness", MicroBlazeCPU, cfg.endi, false), DEFINE_PROP_END_OF_LIST(), }; diff --git a/target-microblaze/cpu.h b/target-microblaze/cpu.h index 54e41e8..0f82abd 100644 --- a/target-microblaze/cpu.h +++ b/target-microblaze/cpu.h @@ -124,7 +124,7 @@ typedef struct CPUMBState CPUMBState; #define PVR0_USE_DCACHE_MASK 0x01000000 #define PVR0_USE_MMU_MASK 0x00800000 #define PVR0_USE_BTC 0x00400000 -#define PVR0_ENDI 0x00200000 +#define PVR0_ENDI_MASK 0x00200000 #define PVR0_FAULT 0x00100000 #define PVR0_VERSION_MASK 0x0000FF00 #define PVR0_USER1_MASK 0x000000FF