9#ifndef __SOF_LIB_MAILBOX_H__
10#define __SOF_LIB_MAILBOX_H__
14#include <platform/lib/mailbox.h>
22#define mailbox_get_exception_base() \
23 MAILBOX_EXCEPTION_BASE
25#define mailbox_get_exception_size() \
26 MAILBOX_EXCEPTION_SIZE
28#define mailbox_get_dspbox_base() \
31#define mailbox_get_dspbox_size() \
34#define mailbox_get_hostbox_base() \
37#define mailbox_get_hostbox_size() \
40#define mailbox_get_debug_base() \
43#define mailbox_get_debug_size() \
49 int dsp_write_err __unused =
memcpy_s((
void *)(MAILBOX_DSPBOX_BASE + offset),
50 MAILBOX_DSPBOX_SIZE - offset, src, bytes);
59 size_t offset,
size_t bytes)
61 int dsp_read_err __unused;
65 dsp_read_err =
memcpy_s(dest, dest_size,
66 (
void *)(MAILBOX_DSPBOX_BASE + offset), bytes);
72#define mailbox_hostbox_write(_offset, _src, _bytes) \
73 memcpy((char *)ipc->comp_data + _offset, _src, _bytes)
80 int host_write_err __unused =
memcpy_s((
void *)(MAILBOX_HOSTBOX_BASE + offset),
81 MAILBOX_HOSTBOX_SIZE - offset, src, bytes);
92 size_t offset,
size_t bytes)
94 int host_read_err __unused;
98 host_read_err =
memcpy_s(dest, dest_size,
99 (
void *)(MAILBOX_HOSTBOX_BASE + offset), bytes);
103#if CONFIG_IPC_MAJOR_4
114 int stream_write_err __unused =
memcpy_s((
void *)(MAILBOX_STREAM_BASE + offset),
115 MAILBOX_STREAM_SIZE - offset, src, bytes);
117 assert(!stream_write_err);
RTOS data and instruction cache invalidation and writeback helpers.
static void dcache_writeback_region(void *addr, size_t size)
Write back (flush) modified data cache lines to memory.
Definition cache.h:53
static void dcache_invalidate_region(void *addr, size_t size)
Invalidate data cache lines in the specified memory region.
Definition cache.h:67
SRAM Window 0 firmware status registers and telemetry offset definitions.
Memory attributes, cold/hot execution paths, and platform memory inclusions.
#define assert(x)
Definition panic.h:19
static void mailbox_hostbox_read(void *dest, size_t dest_size, size_t offset, size_t bytes)
Definition mailbox.h:91
static void mailbox_dspbox_read(void *dest, size_t dest_size, size_t offset, size_t bytes)
Definition mailbox.h:58
static void mailbox_dspbox_write(size_t offset, const void *src, size_t bytes)
Definition mailbox.h:47
static void mailbox_hostbox_write(size_t offset, const void *src, size_t bytes)
Definition mailbox.h:78
static void mailbox_stream_write(size_t offset, const void *src, size_t bytes)
Definition mailbox.h:105
static int memcpy_s(void *dest, size_t dest_size, const void *src, size_t count)
Definition string.h:38