From patchwork Tue Jun 16 01:16:34 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 484754 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 8365C1401F6 for ; Tue, 16 Jun 2015 11:17:16 +1000 (AEST) Received: from localhost ([::1]:37065 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4fV4-0008TP-JH for incoming@patchwork.ozlabs.org; Mon, 15 Jun 2015 21:17:14 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52809) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4fUX-0007KS-SA for qemu-devel@nongnu.org; Mon, 15 Jun 2015 21:16:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z4fUT-0002sX-Rb for qemu-devel@nongnu.org; Mon, 15 Jun 2015 21:16:41 -0400 Received: from mail-bn1on0081.outbound.protection.outlook.com ([157.56.110.81]:9024 helo=na01-bn1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4fUT-0002sL-MI for qemu-devel@nongnu.org; Mon, 15 Jun 2015 21:16:37 -0400 Received: from BN1AFFO11FD018.protection.gbl (10.58.52.31) by BN1AFFO11HUB014.protection.gbl (10.58.52.124) with Microsoft SMTP Server (TLS) id 15.1.190.9; Tue, 16 Jun 2015 01:16:37 +0000 Authentication-Results: spf=fail (sender IP is 149.199.60.96) smtp.mailfrom=xilinx.com; nongnu.org; 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 BN1AFFO11FD018.mail.protection.outlook.com (10.58.52.78) with Microsoft SMTP Server (TLS) id 15.1.190.9 via Frontend Transport; Tue, 16 Jun 2015 01:16:36 +0000 Received: from 172-16-1-203.xilinx.com ([172.16.1.203]:43040 helo=xsj-tvapsmtp02.xilinx.com) by xsj-tvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1Z4fUR-0001YS-PX for qemu-devel@nongnu.org; Mon, 15 Jun 2015 18:16:35 -0700 Received: from [127.0.0.1] (port=48661 helo=tsj-smtp-dlp1.xlnx.xilinx.com) by xsj-tvapsmtp02.xilinx.com with esmtp (Exim 4.63) (envelope-from ) id 1Z4fUR-0007yd-KD; Mon, 15 Jun 2015 18:16:35 -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 t5G1CE7v029449; Mon, 15 Jun 2015 18:12:14 -0700 Received: from [172.19.5.153] (port=45531 helo=xsjrdevl46.xilinx.com) by xsj-tvapsmtp02 with esmtp (Exim 4.63) (envelope-from ) id 1Z4fUQ-0007ya-RN; Mon, 15 Jun 2015 18:16:34 -0700 From: Alistair Francis To: , Date: Mon, 15 Jun 2015 18:16:34 -0700 Message-ID: <9d6ed3e03c48d2dfe730485392fdedbb616c6cf1.1434412857.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-21614.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; BN1AFFO11FD018; 1:qWHDnCT2aQ2PGouwqcdt5hi85YDn5nTJp5U3Se+shvd/GQKG8X0KxH8TphANngC04WrYJ4nqXhS+v7bBWRGSIA95omrOXd+c1W6Vr3qHAxnUnvYugSzlBcMjPowE3ja2jLQN1q/fS2E97mwBPJPLJNviEruUKArfjdwGApT1lsjIbDBQ7Ur2URLjt/FUqf0etr1ldOIsgYqCCnZ1N2VtJgq8c9bz1OQ3XfK/U3Gy6JpZhwZZGR/b3MP7uNz5aqWrd1yDLRJ4+mUJcodRrCkxRjcWt3UgtqxpC/HHSsfVhFc= X-Forefront-Antispam-Report: CIP:149.199.60.96; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(339900001)(199003)(189002)(33646002)(2950100001)(6806004)(87936001)(106466001)(575784001)(77096005)(50226001)(229853001)(105606002)(19580395003)(19580405001)(118296001)(50466002)(36756003)(189998001)(46102003)(5890100001)(450100001)(107886002)(92566002)(71366001)(48376002)(86362001)(5003600100002)(5001770100001)(85426001)(76176999)(50986999)(47776003)(64026002)(77156002)(62966003)(5001960100002)(107986001)(4001430100001)(4001450100001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN1AFFO11HUB014; H:xsj-tvapsmtpgw01; FPR:; SPF:Fail; MLV:sfv; A:1; MX:1; LANG:en; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11HUB014; 2:3Y16HU1PvKiKim8+QgfaK3CrGnJq1XogNxyu+SahjbXZRIGVwD0vdZRdNQbIzsru; 2:Oe7OXZIfENATAymSWaVfcF1RXY7TmqRaSbWTjU2Mt4x4h85cxYIG4sS+J+JcRsWMU862w/+p/udSu/FJDkHXQmp+jvZ3BPunGKygcPCHe3TBDa79Nz0AW2xRbG16Wk/GMef/fYo4+B7ay33yppZpFP7FfK310cF5XeC4wsWcYeWEAS4uGD70kdFUWuahhdDWBFISa2QguQzBwblajUZaSL94XRpywmO5GuRZb22wHCw=; 6:q3I6ycNOXSu+ADzMY1KfHT7GxF4acUbChtuva0mGcWtBNDFVp/mkgdAEjV4Yi0h5M1+GRwpzDghGP1pntlC1mFoQKYaKEKqVgNYymV+mn6wWsSQpoVj+q9MP9fw/33j8E5xSypVFxPkYpQatDEY7WsAUe3hzVzoSk8sxUyP/rOTv+rIJ96JM2yR4i+O9iYlODSU2PgFt887k/3gCE6KXI3xJclDH7FKbhUBHBBpiA/ZyP4a1eh+MIDvBUhCQCxxinkESaYB6USrDe7Nwj2C9kkFZ8K7oH27FT0eq32oomV5gB82OiEuiuD0GzDSegksLK7VIEG71Qbf+0ZTCjMgSg3P9zrapY4HOpVYfSZXF3I53bQsVtEiYEizrR9tXN/uULUvJCygr9HkKyDWKK7EA97ajKp0aa+zwrcokGb9ANxij0BL8D14vb2Ow1aZZR9PRpHZv1kybF6tkTmvkE0ZVfhadKKkd6NK+q35z/Iq11XfQEgTso5N9FqzwrW21p7Mv X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN1AFFO11HUB014; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(520003)(5005006)(3002001); SRVR:BN1AFFO11HUB014; BCL:0; PCL:0; RULEID:; SRVR:BN1AFFO11HUB014; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11HUB014; 3:1AcQwnKyKwT8xdizn1D6+gcexR/kEJ9cxx1mTMExNDdsZnrceePZXstqr7EcNBEefludeN/rTgTs6FI44ISv2OyQtRsGH2Q8sJXHuz07O+HqVzDncKbvuBSbKNCJvzTIJaisYnQwWaNb4DcTpJ9UCE6ozoSRowcKQ9H6HnT+FD418iT7QYmlGwzVdZbC4vwJjuK90rm4qssaWzGnuVXkXdM4byK8cQDpM/kwuY+jxAyYKKOMFB9GWPw/QprT6xBOdHW/s+2eoMHNZ4QbeXylX5k+KGmS4OvA40oHAG+ULvS4mhDA8fpP1T/yWOZpb3oA X-Forefront-PRVS: 06098A2863 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN1AFFO11HUB014; 9:JV7RUkZ8XVN16UAbn4M6QE1XQP0vZxBETcUpArGO?= =?us-ascii?Q?Pv+RYPXE8L9I/05GVkwSVIXDsFvmxkLeI496r3IVhK6h1RPfKevDVsTxClBX?= =?us-ascii?Q?oSOZiVTcHN9wwrohjm1q9NR7x/pCEDEUiMw69TpptQ+PtRVIaCf2eTwVi9Y8?= =?us-ascii?Q?5fHYGFZT3X92PXGi/8QxaEUkGXgZo1FplnP03KSbUqXqsRhUZvcQE4Pgk/5n?= =?us-ascii?Q?jlrUsAU3Oiy0Iykzuo9t0XG9Vc1LnOj2ZL4f9xxVEx+M/n2vO8jCR/d72+W0?= =?us-ascii?Q?O2AE6CX/U3A/s45wyFdv1nw0qgg/rdXF5tf7NMqUPPr21u5/kvYMXti6ZAV7?= =?us-ascii?Q?B20uW3cmTRtK6sN5slA5hHv0mQF+n4GWutabSfa1z0ckDgmUvxNEf3Wjh2nr?= =?us-ascii?Q?6K03DRuJeKsWVaj9LXCqZCApCpGJ06WDIY5n0cmJKT7eQwGooaYoGUO8ThrO?= =?us-ascii?Q?iGoEqRMwHvvze992JL5PUxp+NajjCCGQKs2Fbk0/xs4wtNzR2gYD0+la8EQp?= =?us-ascii?Q?Rc7GcV7EHT4+krTqqf01wOnv4R7QqpLlGrx3n7xQsFAMxNG8/8zeEJjTWrh0?= =?us-ascii?Q?GGfZOW6VhxkcIRQUoSfmzX/i28kH7Gx6abOszlB/dE5BV/MlMifeZrZOHc3c?= =?us-ascii?Q?gHjuSKcebVa/lj12ycUEjAL/uLlhlhS2yfwUzfz48m0D1/TR5VHLFHCZBKH/?= =?us-ascii?Q?F4q+cbB+KWmUCCpjOehaEPPHc4Cii2EakfLD9H5AvD6+KDF7mdHpOCwkSeYg?= =?us-ascii?Q?+0Qqc13nNGQAkrOqI672krezrsSZV2zfFd/aL6jQ35mKL2lyO4BpbJwYDZqr?= =?us-ascii?Q?/sd7qMBCgwpbMzrIQ5dEXeYTUqtPuNCL9ZdQ6LdDHRBiSKNkIBDrmgd1XyH3?= =?us-ascii?Q?ZrOBK8uQ6fvvrf7bNzz3Cn2t6IUNJszSUw3dyWMKC53dfpLnrQZT2+3dAE4j?= =?us-ascii?Q?FvHw2N3V+b1SJXUTziusFZyAxywXjmbw+/cGrtswRUeWuLSz8+XfkAb1CFIi?= =?us-ascii?Q?ucpjX8GrbDm9nkTs+Rmp4GnJRG6cmCMP1g48NvhjPQslEwIxSXEnZcDGIMv9?= =?us-ascii?Q?KF0qn4XLTgzXUDdiYQbJue6ZpRE8/0NVZngpKDBM1wxtyhy9Xw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11HUB014; 3:iYhEtlTkQfY7OSlJIWwRnSdYhLSTQyPuh/Fie/kj8oK+XNfFE136Og8tSq7eD0/YGyhLFjN4uTLcBrBYzyWDAEvYE3ITTKXFKa/lqNJ6PxQFzoHfKtLSOnmeLJyB3UMycTLz+4sFRhoGamTDJ/twNw==; 10:LXK4ciBwXrHz5Oxp4A1P8brQC42YBHFwUS9W+hwlb6pC+GJhs4tI1z3Wm5vGk1u9MzA7vJlCnS9x8rpJ+SrYHVIE7NKsGN/EVA2bVNUv0ME= X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2015 01:16:36.7489 (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: BN1AFFO11HUB014 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 X-Received-From: 157.56.110.81 Cc: peter.crosthwaite@xilinx.com, alistair.francis@xilinx.com Subject: [Qemu-devel] [PATCH v3 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