blob: 93f3c12e4381bff7bfb180f87e1d95b9abf7ee7a [file] [log] [blame]
/*
* 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