cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

page-funcs.S (1452B)


      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)