From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lg3VS-0005MR-52 for qemu-devel@nongnu.org; Sat, 07 Mar 2009 15:52:26 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lg3VR-0005MB-KP for qemu-devel@nongnu.org; Sat, 07 Mar 2009 15:52:25 -0500 Received: from [199.232.76.173] (port=46655 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lg3VR-0005M4-FD for qemu-devel@nongnu.org; Sat, 07 Mar 2009 15:52:25 -0500 Received: from savannah.gnu.org ([199.232.41.3]:59952 helo=sv.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Lg3VR-0007g7-0X for qemu-devel@nongnu.org; Sat, 07 Mar 2009 15:52:25 -0500 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Lg3VO-000315-Ui for qemu-devel@nongnu.org; Sat, 07 Mar 2009 20:52:23 +0000 Received: from blueswir1 by cvs.savannah.gnu.org with local (Exim 4.69) (envelope-from ) id 1Lg3VO-000311-ID for qemu-devel@nongnu.org; Sat, 07 Mar 2009 20:52:22 +0000 MIME-Version: 1.0 Errors-To: blueswir1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Blue Swirl Message-Id: Date: Sat, 07 Mar 2009 20:52:22 +0000 Subject: [Qemu-devel] [6749] Implment tlbiel Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Revision: 6749 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6749 Author: blueswir1 Date: 2009-03-07 20:52:22 +0000 (Sat, 07 Mar 2009) Log Message: ----------- Implment tlbiel Linux uses tlbiel to flush TLB entries in PPC64 mode. This special TLB flush opcode only flushes an entry for the CPU it runs on, not across all CPUs in the system. Signed-off-by: Alexander Graf Modified Paths: -------------- trunk/target-ppc/translate.c Modified: trunk/target-ppc/translate.c =================================================================== --- trunk/target-ppc/translate.c 2009-03-07 20:51:18 UTC (rev 6748) +++ trunk/target-ppc/translate.c 2009-03-07 20:52:22 UTC (rev 6749) @@ -4394,6 +4394,20 @@ #endif } +/* tlbiel */ +GEN_HANDLER(tlbiel, 0x1F, 0x12, 0x08, 0x03FF0001, PPC_MEM_TLBIE) +{ +#if defined(CONFIG_USER_ONLY) + gen_inval_exception(ctx, POWERPC_EXCP_PRIV_OPC); +#else + if (unlikely(!ctx->mem_idx)) { + gen_inval_exception(ctx, POWERPC_EXCP_PRIV_OPC); + return; + } + gen_helper_tlbie(cpu_gpr[rB(ctx->opcode)]); +#endif +} + /* tlbie */ GEN_HANDLER(tlbie, 0x1F, 0x12, 0x09, 0x03FF0001, PPC_MEM_TLBIE) {