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

iwmmxt.h (970B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2
      3#ifndef __IWMMXT_H__
      4#define __IWMMXT_H__
      5
      6.irp b, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
      7.set .LwR\b, \b
      8.set .Lr\b, \b
      9.endr
     10
     11.set .LwCSSF, 0x2
     12.set .LwCASF, 0x3
     13.set .LwCGR0, 0x8
     14.set .LwCGR1, 0x9
     15.set .LwCGR2, 0xa
     16.set .LwCGR3, 0xb
     17
     18.macro wldrd, reg:req, base:req, offset:req
     19.inst 0xedd00100 | (.L\reg << 12) | (.L\base << 16) | (\offset >> 2)
     20.endm
     21
     22.macro wldrw, reg:req, base:req, offset:req
     23.inst 0xfd900100 | (.L\reg << 12) | (.L\base << 16) | (\offset >> 2)
     24.endm
     25
     26.macro wstrd, reg:req, base:req, offset:req
     27.inst 0xedc00100 | (.L\reg << 12) | (.L\base << 16) | (\offset >> 2)
     28.endm
     29
     30.macro wstrw, reg:req, base:req, offset:req
     31.inst 0xfd800100 | (.L\reg << 12) | (.L\base << 16) | (\offset >> 2)
     32.endm
     33
     34#ifdef __clang__
     35
     36#define wCon c1
     37
     38.macro tmrc, dest:req, control:req
     39mrc p1, 0, \dest, \control, c0, 0
     40.endm
     41
     42.macro tmcr, control:req, src:req
     43mcr p1, 0, \src, \control, c0, 0
     44.endm
     45#endif
     46
     47#endif