blob: 3abd77cb3e31357a2d8f198bf489d6ad6cd0ac7b [file] [log] [blame]
/**
* Header file of MobiCore Driver Kernel Module Platform
* specific structures
*
* @addtogroup MobiCore_Driver_Kernel_Module
* @{
* Internal structures of the McDrvModule
* @file
*
* Header file the MobiCore Driver Kernel Module,
* its internal structures and defines.
*
* <!-- Copyright Giesecke & Devrient GmbH 2009-2012 -->
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef _MC_DRV_PLATFORM_H_
#define _MC_DRV_PLATFORM_H_
/** MobiCore Interrupt for Qualcomm */
#define MC_INTR_SSIQ 218
/** Use SMC for fastcalls */
#define MC_SMC_FASTCALL
/*--------------- Implementation -------------- */
#include <mach/scm.h>
/* from following file */
#define SCM_SVC_MOBICORE 250
#define SCM_CMD_MOBICORE 1
extern int scm_call(u32 svc_id, u32 cmd_id, const void *cmd_buf, size_t cmd_len,
void *resp_buf, size_t resp_len);
static inline int smc_fastcall(void *pFcGeneric, size_t size)
{
return scm_call(SCM_SVC_MOBICORE, SCM_CMD_MOBICORE,
pFcGeneric, size,
pFcGeneric, size);
}
#endif /* _MC_DRV_PLATFORM_H_ */
/** @} */