linux/arch/mips/mm/page-funcs.S
<<
>>
Prefs
   1/*
   2 * This file is subject to the terms and conditions of the GNU General Public
   3 * License.  See the file "COPYING" in the main directory of this archive
   4 * for more details.
   5 *
   6 * Micro-assembler generated clear_page/copy_page functions.
   7 *
   8 * Copyright (C) 2012  MIPS Technologies, Inc.
   9 * Copyright (C) 2012  Ralf Baechle <ralf@linux-mips.org>
  10 */
  11#include <asm/asm.h>
  12#include <asm/export.h>
  13#include <asm/regdef.h>
  14
  15#ifdef CONFIG_SIBYTE_DMA_PAGEOPS
  16#define cpu_clear_page_function_name    clear_page_cpu
  17#define cpu_copy_page_function_name     copy_page_cpu
  18#else
  19#define cpu_clear_page_function_name    clear_page
  20#define cpu_copy_page_function_name     copy_page
  21#endif
  22
  23/*
  24 * Maximum sizes:
  25 *
  26 * R4000 128 bytes S-cache:             0x058 bytes
  27 * R4600 v1.7:                          0x05c bytes
  28 * R4600 v2.0:                          0x060 bytes
  29 * With prefetching, 16 word strides    0x120 bytes
  30 */
  31EXPORT(__clear_page_start)
  32LEAF(cpu_clear_page_function_name)
  33EXPORT_SYMBOL(cpu_clear_page_function_name)
  341:      j       1b              /* Dummy, will be replaced. */
  35        .space 288
  36END(cpu_clear_page_function_name)
  37EXPORT(__clear_page_end)
  38
  39/*
  40 * Maximum sizes:
  41 *
  42 * R4000 128 bytes S-cache:             0x11c bytes
  43 * R4600 v1.7:                          0x080 bytes
  44 * R4600 v2.0:                          0x07c bytes
  45 * With prefetching, 16 word strides    0x540 bytes
  46 */
  47EXPORT(__copy_page_start)
  48LEAF(cpu_copy_page_function_name)
  49EXPORT_SYMBOL(cpu_copy_page_function_name)
  501:      j       1b              /* Dummy, will be replaced. */
  51        .space 1344
  52END(cpu_copy_page_function_name)
  53EXPORT(__copy_page_end)
  54