/*
* This file is part of the LinuxBIOS project.
- *\r
+ *
* Copyright (C) 2005-2007 Advanced Micro Devices, Inc.
*
* This program is free software; you can redistribute it and/or modify
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */\r
-\r
+ */
+
#define CacheSize DCACHE_RAM_SIZE
#define CacheBase (0xd0000 - CacheSize)
-\r
+
/* leave some space for global variable to pass to RAM stage */
#define GlobalVarSize DCACHE_RAM_GLOBAL_VAR_SIZE
/*for normal part %ebx already contain cpu_init_detected from fallback call */
cache_as_ram_setup:
-\r
+
movb $0xA0, %al
outb %al, $0x80
/* Clear all MTRRs */
xorl %edx, %edx
movl $fixed_mtrr_msr, %esi
-\r
+
clear_fixed_var_mtrr:
lodsl (%esi), %eax
testl %eax, %eax
movb $0xA1, %al
outb %al, $0x80
-\r
+
/* enable cache */
movl %cr0, %eax
andl $0x9fffffff, %eax
bt $8, %eax /*BSC */
jnc CAR_FAM10_ap
#endif
-\r
+
movb $0xA2, %al
outb %al, $0x80
/* set up the stack pointer */
movl $(CacheBase + CacheSize - GlobalVarSize), %eax
movl %eax, %esp
-\r
+
movb $0xA3, %al
outb %al, $0x80
jc roll_cfg
rolb %cl, %bl
roll_cfg:
-\r
+
/* calculate stack pointer */
movl $CacheSizeAPStack, %eax
mull %ebx
/* Restore the BIST result */
movl %ebp, %eax
-\r
+
/* We need to set ebp ? No need */
movl %esp, %ebp
pushl %ebx /* init detected */