Root/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/kernel-entry-init.h

1/*
2 * Atheros AR71xx specific kernel entry setup
3 *
4 * Copyright (C) 2009 Gabor Juhos <juhosg@openwrt.org>
5 *
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.
9 *
10 */
11#ifndef __ASM_MACH_AR71XX_KERNEL_ENTRY_H
12#define __ASM_MACH_AR71XX_KERNEL_ENTRY_H
13
14    /*
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'
19     */
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
28
29    .macro smp_slave_setup
30    .endm
31
32#endif /* __ASM_MACH_AR71XX_KERNEL_ENTRY_H */
33

Archive Download this file



interactive