46 lines
1.3 KiB
C
46 lines
1.3 KiB
C
/*
|
|
* Copyright (c) 2021 Carlo Caione <ccaione@baylibre.com>
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#include <zephyr/internal/syscall_handler.h>
|
|
#include <zephyr/drivers/mbox.h>
|
|
|
|
static inline int z_vrfy_mbox_send(const struct mbox_channel *channel,
|
|
const struct mbox_msg *msg)
|
|
{
|
|
K_OOPS(K_SYSCALL_MEMORY_READ(channel, sizeof(struct mbox_channel)));
|
|
K_OOPS(K_SYSCALL_DRIVER_MBOX(channel->dev, send));
|
|
K_OOPS(K_SYSCALL_MEMORY_READ(msg, sizeof(struct mbox_msg)));
|
|
K_OOPS(K_SYSCALL_MEMORY_READ(msg->data, msg->size));
|
|
|
|
return z_impl_mbox_send(channel, msg);
|
|
}
|
|
#include <syscalls/mbox_send_mrsh.c>
|
|
|
|
static inline int z_vrfy_mbox_mtu_get(const struct device *dev)
|
|
{
|
|
K_OOPS(K_SYSCALL_DRIVER_MBOX(dev, mtu_get));
|
|
|
|
return z_impl_mbox_mtu_get(dev);
|
|
}
|
|
#include <syscalls/mbox_mtu_get_mrsh.c>
|
|
|
|
static inline uint32_t z_vrfy_mbox_max_channels_get(const struct device *dev)
|
|
{
|
|
K_OOPS(K_SYSCALL_DRIVER_MBOX(dev, max_channels_get));
|
|
|
|
return z_impl_mbox_max_channels_get(dev);
|
|
}
|
|
#include <syscalls/mbox_max_channels_get_mrsh.c>
|
|
|
|
static inline int z_vrfy_mbox_set_enabled(const struct mbox_channel *channel, bool enable)
|
|
{
|
|
K_OOPS(K_SYSCALL_MEMORY_READ(channel, sizeof(struct mbox_channel)));
|
|
K_OOPS(K_SYSCALL_DRIVER_MBOX(channel->dev, set_enabled));
|
|
|
|
return z_impl_mbox_set_enabled(channel, enable);
|
|
}
|
|
#include <syscalls/mbox_set_enabled_mrsh.c>
|