| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- /*
- * Copyright (C) 2013 Google, Inc.
- *
- * This software is licensed under the terms of the GNU General Public
- * License version 2, as published by the Free Software Foundation, and
- * may be copied, distributed, and modified under those terms.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
- #ifndef __LINUX_TRUSTY_TRUSTY_H
- #define __LINUX_TRUSTY_TRUSTY_H
- #include <linux/kernel.h>
- #include <linux/trusty/sm_err.h>
- #include <linux/device.h>
- #include <linux/pagemap.h>
- #ifdef CONFIG_TRUSTY
- #ifdef CONFIG_TRUSTY_INTERRUPT_MAP
- extern void handle_trusty_ipi(int ipinr);
- #endif
- s32 trusty_std_call32(struct device *dev, u32 smcnr, u32 a0, u32 a1, u32 a2);
- s32 trusty_fast_call32(struct device *dev, u32 smcnr, u32 a0, u32 a1, u32 a2);
- #ifdef CONFIG_64BIT
- s64 trusty_fast_call64(struct device *dev, u64 smcnr, u64 a0, u64 a1, u64 a2);
- #endif
- #else
- static inline s32 trusty_std_call32(struct device *dev, u32 smcnr,
- u32 a0, u32 a1, u32 a2)
- {
- return SM_ERR_UNDEFINED_SMC;
- }
- static inline s32 trusty_fast_call32(struct device *dev, u32 smcnr,
- u32 a0, u32 a1, u32 a2)
- {
- return SM_ERR_UNDEFINED_SMC;
- }
- #ifdef CONFIG_64BIT
- static inline s64 trusty_fast_call64(struct device *dev,
- u64 smcnr, u64 a0, u64 a1, u64 a2)
- {
- return SM_ERR_UNDEFINED_SMC;
- }
- #endif
- #endif
- struct notifier_block;
- enum {
- TRUSTY_CALL_PREPARE,
- TRUSTY_CALL_RETURNED,
- };
- int trusty_call_notifier_register(struct device *dev,
- struct notifier_block *n);
- int trusty_call_notifier_unregister(struct device *dev,
- struct notifier_block *n);
- const char *trusty_version_str_get(struct device *dev);
- u32 trusty_get_api_version(struct device *dev);
- struct ns_mem_page_info {
- uint64_t attr;
- };
- int trusty_encode_page_info(struct ns_mem_page_info *inf,
- struct page *page, pgprot_t pgprot);
- int trusty_call32_mem_buf(struct device *dev, u32 smcnr,
- struct page *page, u32 size,
- pgprot_t pgprot);
- #endif
|