From 2e06214f22e080be4a8a17b0fae3b4c03b0aa3ea Mon Sep 17 00:00:00 2001 From: Nathan Whitehorn Date: Sat, 3 Mar 2012 06:36:36 +0000 Subject: PPC: Add PIR register to POWER7 CPU 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 file changed, 5 insertions(+) diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c index c707959e2..5a958b931 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", -- cgit v1.2.3