.set push
.set mips3
.set noat
.set push
.set mips3
.set noat
#include <linux/mm.h>
#include <linux/bitops.h>
#include <linux/mm.h>
#include <linux/bitops.h>
+#include "../bcm947xx/include/typedefs.h"
+#include "../bcm947xx/include/sbconfig.h"
+#include "../bcm947xx/include/typedefs.h"
+#include "../bcm947xx/include/sbconfig.h"
++#include "../bcm947xx/include/mipsinc.h"
+#include <asm/paccess.h>
+#endif
+#include <asm/paccess.h>
+#endif
#include <asm/bcache.h>
#include <asm/bootinfo.h>
#include <asm/cache.h>
#include <asm/bcache.h>
#include <asm/bootinfo.h>
#include <asm/cache.h>
static inline void coherency_setup(void)
{
change_c0_config(CONF_CM_CMASK, CONF_CM_DEFAULT);
static inline void coherency_setup(void)
{
change_c0_config(CONF_CM_CMASK, CONF_CM_DEFAULT);
-+#if defined(CONFIG_BCM4310) || defined(CONFIG_BCM4704) || defined(CONFIG_BCM5365)
+ if (BCM330X(current_cpu_data.processor_id)) {
+ __u32 cm = read_c0_diag();
+ /* Enable icache */
+ if (BCM330X(current_cpu_data.processor_id)) {
+ __u32 cm = read_c0_diag();
+ /* Enable icache */
set_uncached_handler (0x100, &except_vec2_generic, 0x80);
+
+ /* Check if special workarounds are required */
set_uncached_handler (0x100, &except_vec2_generic, 0x80);
+
+ /* Check if special workarounds are required */
+ if (current_cpu_data.cputype == CPU_BCM4710 && (current_cpu_data.processor_id & 0xff) == 0) {
+ printk("Enabling BCM4710A0 cache workarounds.\n");
+ bcm4710 = 1;
+ if (current_cpu_data.cputype == CPU_BCM4710 && (current_cpu_data.processor_id & 0xff) == 0) {
+ printk("Enabling BCM4710A0 cache workarounds.\n");
+ bcm4710 = 1;
+extern int bcm4710;
+#endif
+
+extern int bcm4710;
+#endif
+
memset(relocs, 0, sizeof(relocs));
memset(final_handler, 0, sizeof(final_handler));
memset(relocs, 0, sizeof(relocs));
memset(final_handler, 0, sizeof(final_handler));
+ if (bcm4710) {
+ i_nop(&p);
+ }
+ if (bcm4710) {
+ i_nop(&p);
+ }
#include <asm/cpu-features.h>
#include <asm/mipsmtregs.h>
#include <asm/cpu-features.h>
#include <asm/mipsmtregs.h>
+#define BCM4710_DUMMY_RREG() (((sbconfig_t *)(KSEG1ADDR(SB_ENUM_BASE + SBCONFIGOFF)))->sbimstate)
+
+#define BCM4710_FILL_TLB(addr) (*(volatile unsigned long *)(addr))
+#define BCM4710_DUMMY_RREG() (((sbconfig_t *)(KSEG1ADDR(SB_ENUM_BASE + SBCONFIGOFF)))->sbimstate)
+
+#define BCM4710_FILL_TLB(addr) (*(volatile unsigned long *)(addr))
.macro RESTORE_SP_AND_RET
LONG_L sp, PT_R29(sp)
.set mips3
.macro RESTORE_SP_AND_RET
LONG_L sp, PT_R29(sp)
.set mips3