From c07f71e3fe5f970a9cc0870e2faf114fd2e618cc Mon Sep 17 00:00:00 2001 From: Flavio Ceolin Date: Wed, 13 May 2020 14:18:48 -0700 Subject: [PATCH] drivers: peci: Add verification handlers Add verification handlers for syscalls defined in peci driver. Signed-off-by: Flavio Ceolin --- drivers/peci/CMakeLists.txt | 1 + drivers/peci/peci_handlers.c | 45 ++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 drivers/peci/peci_handlers.c diff --git a/drivers/peci/CMakeLists.txt b/drivers/peci/CMakeLists.txt index 1a1313194ae..e55c91ce959 100644 --- a/drivers/peci/CMakeLists.txt +++ b/drivers/peci/CMakeLists.txt @@ -3,3 +3,4 @@ zephyr_library() zephyr_library_sources_ifdef(CONFIG_PECI_XEC peci_mchp_xec.c) +zephyr_library_sources_ifdef(CONFIG_USERSPACE peci_handlers.c) diff --git a/drivers/peci/peci_handlers.c b/drivers/peci/peci_handlers.c new file mode 100644 index 00000000000..f4e38ae5851 --- /dev/null +++ b/drivers/peci/peci_handlers.c @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2020 Intel Corporation + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include + + +static inline int z_vrfy_peci_config(struct device *dev, u32_t bitrate) +{ + Z_OOPS(Z_SYSCALL_DRIVER_PECI(dev, config)); + + return z_impl_peci_config(dev, bitrate); +} +#include + +static inline int z_vrfy_peci_enable(struct device *dev) +{ + Z_OOPS(Z_SYSCALL_DRIVER_PECI(dev, enable)); + + return z_impl_peci_enable(dev); +} +#include + +static inline int z_vrfy_peci_disable(struct device *dev) +{ + Z_OOPS(Z_SYSCALL_DRIVER_PECI(dev, disable)); + + return z_impl_peci_disable(dev); +} +#include + +static inline int z_vrfy_peci_transfer(struct device *dev, + struct peci_msg *msg) +{ + struct peci_msg msg_copy; + + Z_OOPS(Z_SYSCALL_DRIVER_PECI(dev, transfer)); + Z_OOPS(z_user_from_copy(&msg_copy, msg, sizeof(*msg))); + + return z_impl_peci_transfer(dev, &msg_copy); +} +#include