Renamed things for consistency.

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@15669 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
Giovanni Di Sirio 2022-06-30 08:07:56 +00:00
parent a65a286664
commit 760e0d90fb
13 changed files with 110 additions and 111 deletions

View File

@ -53,10 +53,10 @@
#endif
/**
* @brief Enables support for sandbox Virtual HAL.
* @brief Enables support for sandbox virtualized I/O.
*/
#if !defined(SB_CFG_ENABLE_VHAL) || defined(__DOXYGEN__)
#define SB_CFG_ENABLE_VHAL FALSE
#if !defined(SB_CFG_ENABLE_VIO) || defined(__DOXYGEN__)
#define SB_CFG_ENABLE_VIO FALSE
#endif
/**

View File

@ -110,7 +110,7 @@ include $(CHIBIOS)/os/rt/rt.mk
include $(CHIBIOS)/os/common/ports/ARMv7-M-ALT/compilers/GCC/mk/port.mk
# SB files (optional).
include $(CHIBIOS)/os/sb/host/compilers/GCC/sbhost.mk
include $(CHIBIOS)/os/sb/vhal/sbvhal.mk
include $(CHIBIOS)/os/sb/vhal/sbvio.mk
# VFS files (optional).
include $(CHIBIOS)/os/vfs/vfs.mk
#include $(CHIBIOS)/os/vfs/vfs_syscalls.mk

View File

@ -53,10 +53,10 @@
#endif
/**
* @brief Enables support for sandbox Virtual HAL.
* @brief Enables support for sandbox virtualized I/O.
*/
#if !defined(SB_CFG_ENABLE_VHAL) || defined(__DOXYGEN__)
#define SB_CFG_ENABLE_VHAL TRUE
#if !defined(SB_CFG_ENABLE_VIO) || defined(__DOXYGEN__)
#define SB_CFG_ENABLE_VIO TRUE
#endif
/**

View File

@ -15,29 +15,28 @@
*/
/**
* @file templates/vhalconf.h
* @brief VHAL configuration header.
* @details VHAL configuration file, this file allows to enable or disable the
* various device drivers from your application. You may also use
* this file in order to override the device drivers default settings.
* @file templates/vioconf.h
* @brief VIO configuration header.
* @details VIO configuration file, this file allows to enable or disable the
* various virtual peripherals from your application.
*
* @addtogroup VHAL_CONF
* @addtogroup VIO_CONF
* @{
*/
#ifndef VHALCONF_H
#define VHALCONF_H
#ifndef VIOCONF_H
#define VIOCONF_H
#define __CHIBIOS_VHAL_CONF__
#define __CHIBIOS_VHAL_CONF_VER_1_0__
#define __CHIBIOS_VIO_CONF__
#define __CHIBIOS_VIO_CONF_VER_1_0__
/**
* @brief Enables the VPAL subsystem.
*/
#if !defined(SB_CFG_ENABLE_VHAL_PAL) || defined(__DOXYGEN__)
#define SB_CFG_ENABLE_VHAL_PAL TRUE
#if !defined(VIO_CFG_ENABLE_GPIO) || defined(__DOXYGEN__)
#define VIO_CFG_ENABLE_GPIO TRUE
#endif
#endif /* VHALCONF_H */
#endif /* VIOCONF_H */
/** @} */

View File

@ -30,11 +30,11 @@
/* VHAL-related. */
/*===========================================================================*/
static vhal_pal_conf_t vpal_config1 = {
static vio_gpio_conf_t gpio_config1 = {
.n = 1U,
.vpio = {
.ports = {
[0] = {
.permissions = VPIO_PERM_WRITE,
.permissions = VIO_GPIO_PERM_WRITE,
.port = GPIOA,
.mask = 1U,
.offset = GPIOA_LED_GREEN
@ -42,16 +42,16 @@ static vhal_pal_conf_t vpal_config1 = {
}
};
static vhal_pal_conf_t vpal_config2 = {
static vio_gpio_conf_t gpio_config2 = {
.n = 0U
};
static vhal_conf_t vhal_config1 = {
.vpalconf = &vpal_config1
static vio_conf_t vio_config1 = {
.gpioconf = &gpio_config1
};
static vhal_conf_t vhal_config2 = {
.vpalconf = &vpal_config2
static vio_conf_t vio_config2 = {
.gpioconf = &gpio_config2
};
/*===========================================================================*/
@ -103,7 +103,7 @@ static const sb_config_t sb_config1 = {
}
},
// .vfs_driver = (vfs_driver_c *)&root_overlay_driver
.vhalconf = &vhal_config1
.vioconf = &vio_config1
};
/* Sandbox 2 configuration.*/
@ -123,7 +123,7 @@ static const sb_config_t sb_config2 = {
}
},
// .vfs_driver = (vfs_driver_c *)&root_overlay_driver
.vhalconf = &vhal_config2
.vioconf = &vio_config2
};
static const char *sbx1_argv[] = {

View File

@ -53,10 +53,10 @@
#endif
/**
* @brief Enables support for sandbox Virtual HAL.
* @brief Enables support for sandbox virtualized I/O.
*/
#if !defined(SB_CFG_ENABLE_VHAL) || defined(__DOXYGEN__)
#define SB_CFG_ENABLE_VHAL FALSE
#if !defined(SB_CFG_ENABLE_VIO) || defined(__DOXYGEN__)
#define SB_CFG_ENABLE_VIO FALSE
#endif
/**

View File

@ -53,10 +53,10 @@
#endif
/**
* @brief Enables support for sandbox Virtual HAL.
* @brief Enables support for sandbox virtualized I/O.
*/
#if !defined(SB_CFG_ENABLE_VHAL) || defined(__DOXYGEN__)
#define SB_CFG_ENABLE_VHAL FALSE
#if !defined(SB_CFG_ENABLE_VIO) || defined(__DOXYGEN__)
#define SB_CFG_ENABLE_VIO FALSE
#endif
/**

View File

@ -36,8 +36,8 @@
#include "sbsysc.h"
#include "sbconf.h"
#if (SB_CFG_ENABLE_VHAL == TRUE) || defined (__DOXYGEN__)
#include "sbvhal.h"
#if (SB_CFG_ENABLE_VIO == TRUE) || defined (__DOXYGEN__)
#include "sbvio.h"
#endif
/*===========================================================================*/
@ -108,8 +108,8 @@
#error "SB_CFG_ALARM_VRQ not defined in sbconf.h"
#endif
#if !defined(SB_CFG_ENABLE_VHAL) || defined(__DOXYGEN__)
#error "SB_CFG_ENABLE_VHAL not defined in sbconf.h"
#if !defined(SB_CFG_ENABLE_VIO) || defined(__DOXYGEN__)
#error "SB_CFG_ENABLE_VIO not defined in sbconf.h"
#endif
#if !defined(SB_CFG_ENABLE_VFS) || defined(__DOXYGEN__)
@ -253,11 +253,11 @@ typedef struct {
*/
vfs_driver_c *vfs_driver;
#endif
#if (SB_CFG_ENABLE_VHAL == TRUE) || defined(__DOXYGEN__)
#if (SB_CFG_ENABLE_VIO == TRUE) || defined(__DOXYGEN__)
/**
* @brief VHAL configuration associated to this sandbox.
* @brief VIO configuration associated to this sandbox.
*/
const vhal_conf_t *vhalconf;
const vio_conf_t *vioconf;
#endif
} sb_config_t;

View File

@ -18,16 +18,16 @@
*/
/**
* @file sb/vhal/sbvhal.c
* @brief ARM SandBox host Virtual HAL code.
* @file sbvio.c
* @brief ARM SandBox host Virtual I/O code.
*
* @addtogroup ARM_SANDBOX_HOST_VHAL
* @addtogroup ARM_SANDBOX_HOST_VIO
* @{
*/
#include "sb.h"
#if (SB_CFG_ENABLE_VHAL == TRUE) || defined(__DOXYGEN__)
#if (SB_CFG_ENABLE_VIO == TRUE) || defined(__DOXYGEN__)
/*===========================================================================*/
/* Module local definitions. */
@ -53,6 +53,6 @@
/* Module exported functions. */
/*===========================================================================*/
#endif /* SB_CFG_ENABLE_VHAL == TRUE */
#endif /* SB_CFG_ENABLE_VIO == TRUE */
/** @} */

View File

@ -18,20 +18,20 @@
*/
/**
* @file sb/vhal/sbvhal.h
* @brief ARM SandBox host Virtual HAL macros and structures.
* @file sbvio.h
* @brief ARM SandBox host Virtual I/O macros and structures.
*
* @addtogroup ARM_SANDBOX_HOST_VHAL
* @addtogroup ARM_SANDBOX_HOST_VIO
* @{
*/
#ifndef SBVHAL_H
#define SBVHAL_H
#ifndef SBVIO_H
#define SBVIO_H
#if (SB_CFG_ENABLE_VHAL == TRUE) || defined(__DOXYGEN__)
#if (SB_CFG_ENABLE_VIO == TRUE) || defined(__DOXYGEN__)
#include "vhalconf.h"
#include "sbvhal_pal.h"
#include "vioconf.h"
#include "sbvio_gpio.h"
/*===========================================================================*/
/* Module constants. */
@ -50,16 +50,16 @@
/*===========================================================================*/
/**
* @brief Type of a VHAL instance configuration structure.
* @brief Type of a VIO instance configuration structure.
*/
typedef struct vhal_conf {
#if (SB_CFG_ENABLE_VHAL_PAL == TRUE) || defined(__DOXYGEN__)
typedef struct vio_conf {
#if (VIO_CFG_ENABLE_GPIO == TRUE) || defined(__DOXYGEN__)
/**
* @brief VPAL configuration.
*/
const vhal_pal_conf_t *vpalconf;
const vio_gpio_conf_t *gpioconf;
#endif
} vhal_conf_t;
} vio_conf_t;
/*===========================================================================*/
/* Module macros. */
@ -80,8 +80,8 @@ extern "C" {
/* Module inline functions. */
/*===========================================================================*/
#endif /* SB_CFG_ENABLE_VHAL == TRUE */
#endif /* SB_CFG_ENABLE_VIO == TRUE */
#endif /* SBVHAL_H */
#endif /* SBVIO_H */
/** @} */

View File

@ -1,6 +1,6 @@
# List of the ChibiOS sandbox VHAL files.
SBVHALSRC = $(CHIBIOS)/os/sb/vhal/sbvhal.c \
$(CHIBIOS)/os/sb/vhal/sbvhal_pal.c
SBVHALSRC = $(CHIBIOS)/os/sb/vhal/sbvio.c \
$(CHIBIOS)/os/sb/vhal/sbvio_gpio.c
SBVHALASM =

View File

@ -18,16 +18,16 @@
*/
/**
* @file sb/vhal/sbvhal_pal.c
* @brief ARM SandBox host Virtual HAL PAL code.
* @file sb/vhal/sbvio_gpio.c
* @brief ARM SandBox host Virtual I/O code.
*
* @addtogroup ARM_SANDBOX_HOST_VHAL
* @addtogroup ARM_SANDBOX_HOST_VIO_GPIO
* @{
*/
#include "sb.h"
#if (SB_CFG_ENABLE_VHAL_PAL == TRUE) || defined(__DOXYGEN__)
#if (VIO_CFG_ENABLE_GPIO == TRUE) || defined(__DOXYGEN__)
/*===========================================================================*/
/* Module local definitions. */
@ -53,55 +53,55 @@
/* Module exported functions. */
/*===========================================================================*/
void sb_api_vhal_pal(struct port_extctx *ectxp) {
void sb_api_vio_gpio(struct port_extctx *ectxp) {
sb_class_t *sbp = (sb_class_t *)chThdGetSelfX()->ctx.syscall.p;
uint32_t sub = (unsigned)ectxp->r0;
uint32_t vport = (unsigned)ectxp->r1;
const vhal_vpio_conf_t *vpiop;
const vio_port_conf_t *vportp;
ectxp->r0 = 0U;
if (vport >= sbp->config->vhalconf->vpalconf->n) {
if (vport >= sbp->config->vioconf->gpioconf->n) {
return;
}
vpiop = &sbp->config->vhalconf->vpalconf->vpio[vport];
vportp = &sbp->config->vioconf->gpioconf->ports[vport];
switch (sub) {
case SB_VPAL_WRITE:
if ((vpiop->permissions & VPIO_PERM_WRITE) != 0U) {
palWriteGroup(vpiop->port, vpiop->mask, vpiop->offset, ectxp->r2);
if ((vportp->permissions & VIO_GPIO_PERM_WRITE) != 0U) {
palWriteGroup(vportp->port, vportp->mask, vportp->offset, ectxp->r2);
}
break;
case SB_VPAL_SET:
if ((vpiop->permissions & VPIO_PERM_WRITE) != 0U) {
uint32_t val = palReadGroup(vpiop->port, vpiop->mask, vpiop->offset);
palWriteGroup(vpiop->port, vpiop->mask, vpiop->offset, ectxp->r2 | val);
if ((vportp->permissions & VIO_GPIO_PERM_WRITE) != 0U) {
uint32_t val = palReadGroup(vportp->port, vportp->mask, vportp->offset);
palWriteGroup(vportp->port, vportp->mask, vportp->offset, ectxp->r2 | val);
}
break;
case SB_VPAL_CLEAR:
if ((vpiop->permissions & VPIO_PERM_WRITE) != 0U) {
uint32_t val = palReadGroup(vpiop->port, vpiop->mask, vpiop->offset);
palWriteGroup(vpiop->port, vpiop->mask, vpiop->offset, ectxp->r2 & ~val);
if ((vportp->permissions & VIO_GPIO_PERM_WRITE) != 0U) {
uint32_t val = palReadGroup(vportp->port, vportp->mask, vportp->offset);
palWriteGroup(vportp->port, vportp->mask, vportp->offset, ectxp->r2 & ~val);
}
break;
case SB_VPAL_TOGGLE:
if ((vpiop->permissions & VPIO_PERM_WRITE) != 0U) {
uint32_t val = palReadGroup(vpiop->port, vpiop->mask, vpiop->offset);
palWriteGroup(vpiop->port, vpiop->mask, vpiop->offset, ectxp->r2 ^ val);
if ((vportp->permissions & VIO_GPIO_PERM_WRITE) != 0U) {
uint32_t val = palReadGroup(vportp->port, vportp->mask, vportp->offset);
palWriteGroup(vportp->port, vportp->mask, vportp->offset, ectxp->r2 ^ val);
}
break;
case SB_VPAL_READLATCH:
if ((vpiop->permissions & VPIO_PERM_WRITE) != 0U) {
ectxp->r0 = palReadGroupLatch(vpiop->port, vpiop->mask, vpiop->offset);
if ((vportp->permissions & VIO_GPIO_PERM_WRITE) != 0U) {
ectxp->r0 = palReadGroupLatch(vportp->port, vportp->mask, vportp->offset);
}
break;
case SB_VPAL_READ:
if ((vpiop->permissions & VPIO_PERM_READ) != 0U) {
ectxp->r0 = palReadGroup(vpiop->port, vpiop->mask, vpiop->offset);
if ((vportp->permissions & VIO_GPIO_PERM_READ) != 0U) {
ectxp->r0 = palReadGroup(vportp->port, vportp->mask, vportp->offset);
}
break;
case SB_VPAL_SETMODE:
if ((vpiop->permissions & VPIO_PERM_SETMODE) != 0U) {
if ((vportp->permissions & VIO_GPIO_PERM_SETMODE) != 0U) {
/* TODO */
}
break;
@ -110,6 +110,6 @@ void sb_api_vhal_pal(struct port_extctx *ectxp) {
}
}
#endif /* SB_CFG_ENABLE_VHAL_PAL == TRUE */
#endif /* VIO_CFG_ENABLE_GPIO == TRUE */
/** @} */

View File

@ -18,17 +18,17 @@
*/
/**
* @file sb/vhal/sbvhal_pal.h
* @brief ARM SandBox host Virtual HAL PAL macros and structures.
* @file sb/vhal/sbvio_gpio.h
* @brief ARM SandBox host Virtual I/O macros and structures.
*
* @addtogroup ARM_SANDBOX_HOST_VHAL
* @addtogroup ARM_SANDBOX_HOST_VIO_GPIO
* @{
*/
#ifndef SBVHAL_PAL_H
#define SBVHAL_PAL_H
#ifndef SBVIO_GPIO_H
#define SBVIO_GPIO_H
#if (SB_CFG_ENABLE_VHAL_PAL == TRUE) || defined(__DOXYGEN__)
#if (VIO_CFG_ENABLE_GPIO == TRUE) || defined(__DOXYGEN__)
/*===========================================================================*/
/* Module constants. */
@ -37,15 +37,15 @@
/**
* @brief API handler for VHAL PAL driver.
*/
#define SB_SVC200_HANDLER sb_api_vhal_pal
#define SB_SVC200_HANDLER sb_api_vio_gpio
/**
* @name VPIO permissions
* @name VIO GPIO permissions
* @{
*/
#define VPIO_PERM_WRITE 1U
#define VPIO_PERM_READ 2U
#define VPIO_PERM_SETMODE 4U
#define VIO_GPIO_PERM_WRITE 1U
#define VIO_GPIO_PERM_READ 2U
#define VIO_GPIO_PERM_SETMODE 4U
/** @} */
/*===========================================================================*/
@ -61,22 +61,22 @@
/*===========================================================================*/
/**
* @brief Type of a VPIO configuration structure.
* @brief Type of a VIO GPIO configuration structure.
*/
typedef struct vhal_vpio_conf {
typedef struct vio_port_conf {
uint32_t permissions;
ioportid_t port;
ioportmask_t mask;
uint32_t offset;
} vhal_vpio_conf_t;
} vio_port_conf_t;
/**
* @brief Type of a VHAL PAL instance configuration structure.
* @brief Type of a VIO GPIOs configuration structure.
*/
typedef struct vhal_pal_conf {
typedef struct vio_gpio_conf {
uint32_t n;
vhal_vpio_conf_t vpio[];
} vhal_pal_conf_t;
vio_port_conf_t ports[];
} vio_gpio_conf_t;
/*===========================================================================*/
/* Module macros. */
@ -89,7 +89,7 @@ typedef struct vhal_pal_conf {
#ifdef __cplusplus
extern "C" {
#endif
void sb_api_vhal_pal(struct port_extctx *ectxp);
void sb_api_vio_gpio(struct port_extctx *ectxp);
#ifdef __cplusplus
}
#endif
@ -98,8 +98,8 @@ extern "C" {
/* Module inline functions. */
/*===========================================================================*/
#endif /* SB_CFG_ENABLE_VHAL == TRUE */
#endif /* VIO_CFG_ENABLE_GPIO == TRUE */
#endif /* SBVHAL_PAL_H */
#endif /* SBVIO_GPIO_H */
/** @} */