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

smc.h (1183B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 *  Copyright (c) 2012 Samsung Electronics.
      4 *
      5 * Exynos - SMC Call
      6 */
      7
      8#ifndef __ASM_ARCH_EXYNOS_SMC_H
      9#define __ASM_ARCH_EXYNOS_SMC_H
     10
     11#define SMC_CMD_INIT		(-1)
     12#define SMC_CMD_INFO		(-2)
     13/* For Power Management */
     14#define SMC_CMD_SLEEP		(-3)
     15#define SMC_CMD_CPU1BOOT	(-4)
     16#define SMC_CMD_CPU0AFTR	(-5)
     17#define SMC_CMD_SAVE		(-6)
     18#define SMC_CMD_SHUTDOWN	(-7)
     19/* For CP15 Access */
     20#define SMC_CMD_C15RESUME	(-11)
     21/* For L2 Cache Access */
     22#define SMC_CMD_L2X0CTRL	(-21)
     23#define SMC_CMD_L2X0SETUP1	(-22)
     24#define SMC_CMD_L2X0SETUP2	(-23)
     25#define SMC_CMD_L2X0INVALL	(-24)
     26#define SMC_CMD_L2X0DEBUG	(-25)
     27
     28/* For Accessing CP15/SFR (General) */
     29#define SMC_CMD_REG		(-101)
     30
     31/* defines for SMC_CMD_REG */
     32#define SMC_REG_CLASS_SFR_W	(0x1 << 30)
     33#define SMC_REG_ID_SFR_W(addr)	(SMC_REG_CLASS_SFR_W | ((addr) >> 2))
     34
     35#ifndef __ASSEMBLY__
     36
     37extern void exynos_smc(u32 cmd, u32 arg1, u32 arg2, u32 arg3);
     38
     39#endif /* __ASSEMBLY__ */
     40
     41/* op type for SMC_CMD_SAVE and SMC_CMD_SHUTDOWN */
     42#define OP_TYPE_CORE		0x0
     43#define OP_TYPE_CLUSTER		0x1
     44
     45/* Power State required for SMC_CMD_SAVE and SMC_CMD_SHUTDOWN */
     46#define SMC_POWERSTATE_IDLE	0x1
     47
     48#endif