linux/arch/mips/include/asm/mach-ath79/kernel-entry-init.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/*
   3 *  Atheros AR71XX/AR724X/AR913X specific kernel entry setup
   4 *
   5 *  Copyright (C) 2009 Gabor Juhos <juhosg@openwrt.org>
   6 */
   7#ifndef __ASM_MACH_ATH79_KERNEL_ENTRY_H
   8#define __ASM_MACH_ATH79_KERNEL_ENTRY_H
   9
  10        /*
  11         * Some bootloaders set the 'Kseg0 coherency algorithm' to
  12         * 'Cacheable, noncoherent, write-through, no write allocate'
  13         * and this cause performance issues. Let's go and change it to
  14         * 'Cacheable, noncoherent, write-back, write allocate'
  15         */
  16        .macro  kernel_entry_setup
  17        mfc0    t0, CP0_CONFIG
  18        li      t1, ~CONF_CM_CMASK
  19        and     t0, t1
  20        ori     t0, CONF_CM_CACHABLE_NONCOHERENT
  21        mtc0    t0, CP0_CONFIG
  22        nop
  23        .endm
  24
  25        .macro  smp_slave_setup
  26        .endm
  27
  28#endif /* __ASM_MACH_ATH79_KERNEL_ENTRY_H */
  29