| /* |
| * Copyright (C) 2015 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 _GZ_LOG_H_ |
| #define _GZ_LOG_H_ |
| |
| /* |
| * Ring buffer that supports one secure producer thread and one |
| * linux side consumer thread. |
| */ |
| struct log_rb { |
| volatile uint32_t alloc; |
| volatile uint32_t put; |
| uint32_t sz; |
| volatile char data[0]; |
| } __packed; |
| |
| #define SMC_SC_SHARED_LOG_VERSION SMC_STDCALL_NR(SMC_ENTITY_LOGGING, 0) |
| #define SMC_SC_SHARED_LOG_ADD SMC_STDCALL_NR(SMC_ENTITY_LOGGING, 1) |
| #define SMC_SC_SHARED_LOG_RM SMC_STDCALL_NR(SMC_ENTITY_LOGGING, 2) |
| |
| #define TRUSTY_LOG_API_VERSION 1 |
| void get_gz_log_buffer(unsigned long *addr, unsigned long *size, |
| unsigned long *start); |
| #endif |