Merge branch 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6] / arch / powerpc / kernel / cpu_setup_pa6t.S
1 /*
2  * Copyright (C) 2006-2007 PA Semi, Inc
3  *
4  * Maintained by: Olof Johansson <olof@lixom.net>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
18  *
19  */
20
21 #include <asm/processor.h>
22 #include <asm/page.h>
23 #include <asm/cputable.h>
24 #include <asm/ppc_asm.h>
25 #include <asm/asm-offsets.h>
26 #include <asm/cache.h>
27
28 /* Right now, restore and setup are the same thing */
29 _GLOBAL(__restore_cpu_pa6t)
30 _GLOBAL(__setup_cpu_pa6t)
31         /* Do nothing if not running in HV mode */
32         mfmsr   r0
33         rldicl. r0,r0,4,63
34         beqlr
35
36         mfspr   r0,SPRN_HID5
37         ori     r0,r0,0x38
38         mtspr   SPRN_HID5,r0
39
40         mfspr   r0,SPRN_LPCR
41         ori     r0,r0,0x7000
42         mtspr   SPRN_LPCR,r0
43
44         blr