Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  *  Atheros AR71XX/AR724X/AR913X specific kernel entry setup
0004  *
0005  *  Copyright (C) 2009 Gabor Juhos <juhosg@openwrt.org>
0006  */
0007 #ifndef __ASM_MACH_ATH79_KERNEL_ENTRY_H
0008 #define __ASM_MACH_ATH79_KERNEL_ENTRY_H
0009 
0010     /*
0011      * Some bootloaders set the 'Kseg0 coherency algorithm' to
0012      * 'Cacheable, noncoherent, write-through, no write allocate'
0013      * and this cause performance issues. Let's go and change it to
0014      * 'Cacheable, noncoherent, write-back, write allocate'
0015      */
0016     .macro  kernel_entry_setup
0017     mfc0    t0, CP0_CONFIG
0018     li  t1, ~CONF_CM_CMASK
0019     and t0, t1
0020     ori t0, CONF_CM_CACHABLE_NONCOHERENT
0021     mtc0    t0, CP0_CONFIG
0022     nop
0023     .endm
0024 
0025     .macro  smp_slave_setup
0026     .endm
0027 
0028 #endif /* __ASM_MACH_ATH79_KERNEL_ENTRY_H */