From patchwork Thu Mar 15 12:14:15 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Graf X-Patchwork-Id: 146995 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id D2F87B6FB6 for ; Fri, 16 Mar 2012 01:00:51 +1100 (EST) Received: from localhost ([::1]:46025 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S89aN-0004WN-Tz for incoming@patchwork.ozlabs.org; Thu, 15 Mar 2012 08:15:15 -0400 Received: from eggs.gnu.org ([208.118.235.92]:41081) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S89Zk-0002gw-96 for qemu-devel@nongnu.org; Thu, 15 Mar 2012 08:14:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S89Zd-0002QA-3t for qemu-devel@nongnu.org; Thu, 15 Mar 2012 08:14:35 -0400 Received: from cantor2.suse.de ([195.135.220.15]:48283 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S89Zc-0002Pb-UV; Thu, 15 Mar 2012 08:14:29 -0400 Received: from relay2.suse.de (unknown [195.135.220.254]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx2.suse.de (Postfix) with ESMTP id 9D31491B41; Thu, 15 Mar 2012 13:14:27 +0100 (CET) From: Alexander Graf To: qemu-devel qemu-devel Date: Thu, 15 Mar 2012 13:14:15 +0100 Message-Id: <1331813662-15141-10-git-send-email-agraf@suse.de> X-Mailer: git-send-email 1.7.3.4 In-Reply-To: <1331813662-15141-1-git-send-email-agraf@suse.de> References: <1331813662-15141-1-git-send-email-agraf@suse.de> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4-2.6 X-Received-From: 195.135.220.15 Cc: blauwirbel@gmail.com, qemu-ppc@nongnu.org, Nathan Whitehorn , aurelien@aurel32.net Subject: [Qemu-devel] [PATCH 09/16] PPC: Add PIR register to POWER7 CPU 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 From: Nathan Whitehorn The POWER7 emulation is missing the Processor Identification Register, mandatory in recent POWER CPUs, that is required for SMP on at least some operating systems (e.g. FreeBSD) to function properly. This patch copies the existing PIR code from the other CPUs that implement it. Signed-off-by: Nathan Whitehorn Signed-off-by: Alexander Graf --- target-ppc/translate_init.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c index c707959..5a958b9 100644 --- a/target-ppc/translate_init.c +++ b/target-ppc/translate_init.c @@ -6588,6 +6588,11 @@ static void init_proc_POWER7 (CPUPPCState *env) gen_spr_7xx(env); /* Time base */ gen_tbl(env); + /* Processor identification */ + spr_register(env, SPR_PIR, "PIR", + SPR_NOACCESS, SPR_NOACCESS, + &spr_read_generic, &spr_write_pir, + 0x00000000); #if !defined(CONFIG_USER_ONLY) /* PURR & SPURR: Hack - treat these as aliases for the TB for now */ spr_register(env, SPR_PURR, "PURR",