Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[cris-mirror.git] / arch / mips / include / asm / mach-ath79 / kernel-entry-init.h
blobd8d046bccc8ef6e46a6e6e88b66eb128d4bfee5b
1 /*
2 * Atheros AR71XX/AR724X/AR913X specific kernel entry setup
4 * Copyright (C) 2009 Gabor Juhos <juhosg@openwrt.org>
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License version 2 as published
8 * by the Free Software Foundation.
11 #ifndef __ASM_MACH_ATH79_KERNEL_ENTRY_H
12 #define __ASM_MACH_ATH79_KERNEL_ENTRY_H
15 * Some bootloaders set the 'Kseg0 coherency algorithm' to
16 * 'Cacheable, noncoherent, write-through, no write allocate'
17 * and this cause performance issues. Let's go and change it to
18 * 'Cacheable, noncoherent, write-back, write allocate'
20 .macro kernel_entry_setup
21 mfc0 t0, CP0_CONFIG
22 li t1, ~CONF_CM_CMASK
23 and t0, t1
24 ori t0, CONF_CM_CACHABLE_NONCOHERENT
25 mtc0 t0, CP0_CONFIG
26 nop
27 .endm
29 .macro smp_slave_setup
30 .endm
32 #endif /* __ASM_MACH_ATH79_KERNEL_ENTRY_H */