From 8d4edc2fcd003990228f505ce717c32b45831f2d Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Thu, 20 Oct 2005 01:44:21 +0000 Subject: changes to support new ppc arch git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2064 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/arch/ppc/lib/ppc.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/arch/ppc/lib/ppc.c (limited to 'src/arch/ppc/lib/ppc.c') diff --git a/src/arch/ppc/lib/ppc.c b/src/arch/ppc/lib/ppc.c new file mode 100644 index 0000000000..6222536864 --- /dev/null +++ b/src/arch/ppc/lib/ppc.c @@ -0,0 +1,49 @@ +/* Copyright 2000 AG Electronics Ltd. */ +/* This code is distributed without warranty under the GPL v2 (see COPYING) */ + +#include "ppc.h" +#include "ppcreg.h" + +unsigned ppc_getmsr(void) +{ + unsigned result; + __asm__ volatile ("mfmsr %0" : "=r" (result)); + return result; +} + +unsigned ppc_gethid0(void) +{ + unsigned result; + __asm__ volatile ("mfspr %0,1008" : "=r" (result)); + return result; +} + +unsigned ppc_gethid1(void) +{ + unsigned result; + __asm__ volatile ("mfspr %0,1009" : "=r" (result)); + return result; +} + +void ppc_sethid0(unsigned value) +{ + __asm__ volatile ("mtspr 1008,%0" : : "r" (value)); +} + +unsigned ppc_getpvr(void) +{ + unsigned result; + __asm__("mfspr %0, 287" : "=r" (result)); + return result; +} + +void ppc_setmsr(unsigned value) +{ + __asm__ volatile ("mtmsr %0; sync" :: "r" (value)); +} + +void ppc_set1015(unsigned value) +{ + __asm__ volatile ("mtspr 1015,%0" : : "r" (value)); +} + -- cgit v1.2.3