aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--os/hal/platforms/Win32/hal_lld.c2
-rw-r--r--os/hal/platforms/Win32/serial_lld.c4
-rw-r--r--os/hal/platforms/Win32/serial_lld.h4
-rw-r--r--test/coverage/Makefile14
-rw-r--r--test/coverage/board.h23
-rw-r--r--test/coverage/chcore.c123
-rw-r--r--test/coverage/chcore.h211
-rw-r--r--test/coverage/console.c77
-rw-r--r--test/coverage/console.h (renamed from test/coverage/chtypes.h)42
-rw-r--r--test/coverage/halconf.h96
-rw-r--r--test/coverage/main.c8
-rw-r--r--test/coverage/serial_lld.c118
-rw-r--r--test/coverage/serial_lld.h124
13 files changed, 238 insertions, 608 deletions
diff --git a/os/hal/platforms/Win32/hal_lld.c b/os/hal/platforms/Win32/hal_lld.c
index 9051e90dc..43eff9781 100644
--- a/os/hal/platforms/Win32/hal_lld.c
+++ b/os/hal/platforms/Win32/hal_lld.c
@@ -81,11 +81,13 @@ void hal_lld_init(void) {
void ChkIntSources(void) {
LARGE_INTEGER n;
+#if CH_HAL_USE_SERIAL
if (sd_lld_interrupt_pending()) {
if (chSchIsRescRequiredExI())
chSchDoRescheduleI();
return;
}
+#endif
// Interrupt Timer simulation (10ms interval).
QueryPerformanceCounter(&n);
diff --git a/os/hal/platforms/Win32/serial_lld.c b/os/hal/platforms/Win32/serial_lld.c
index c8543799f..18266ef6b 100644
--- a/os/hal/platforms/Win32/serial_lld.c
+++ b/os/hal/platforms/Win32/serial_lld.c
@@ -27,6 +27,8 @@
#include "ch.h"
#include "hal.h"
+#if CH_HAL_USE_SERIAL || defined(__DOXYGEN__)
+
/** @brief Serial driver 1 identifier.*/
#if USE_WIN32_SERIAL1 || defined(__DOXYGEN__)
SerialDriver SD1;
@@ -248,4 +250,6 @@ bool_t sd_lld_interrupt_pending(void) {
outint(&SD1) || outint(&SD2);
}
+#endif /* CH_HAL_USE_SERIAL */
+
/** @} */
diff --git a/os/hal/platforms/Win32/serial_lld.h b/os/hal/platforms/Win32/serial_lld.h
index e831b83bd..a74028b8b 100644
--- a/os/hal/platforms/Win32/serial_lld.h
+++ b/os/hal/platforms/Win32/serial_lld.h
@@ -27,6 +27,8 @@
#ifndef _SERIAL_LLD_H_
#define _SERIAL_LLD_H_
+#if CH_HAL_USE_SERIAL || defined(__DOXYGEN__)
+
/*===========================================================================*/
/* Driver pre-compile time settings. */
/*===========================================================================*/
@@ -166,6 +168,8 @@ extern "C" {
#endif
/** @endcond*/
+#endif /* CH_HAL_USE_SERIAL */
+
#endif /* _SERIAL_LLD_H_ */
/** @} */
diff --git a/test/coverage/Makefile b/test/coverage/Makefile
index adefad74b..37d0de1ef 100644
--- a/test/coverage/Makefile
+++ b/test/coverage/Makefile
@@ -58,20 +58,26 @@ UADEFS =
# Imported source files
CHIBIOS = ../..
+include ${CHIBIOS}/os/hal/hal.mk
+include ${CHIBIOS}/os/hal/platforms/Win32/platform.mk
+include ${CHIBIOS}/os/ports/GCC/SIMIA32/port.mk
include ${CHIBIOS}/os/kernel/kernel.mk
include ${CHIBIOS}/test/test.mk
# List C source files here
-SRC = ${KERNSRC} \
+SRC = ${PORTSRC} \
+ ${KERNSRC} \
${TESTSRC} \
- ${CHIBIOS}/os/io/serial.c \
- chcore.c serial_lld.c main.c
+ ${HALSRC} \
+ ${PLATFORMSRC} \
+ console.c main.c
# List ASM source files here
ASRC =
# List all user directories here
-UINCDIR = $(KERNINC) $(TESTINC) ${CHIBIOS}/os/io
+UINCDIR = $(PORTINC) $(KERNINC) $(TESTINC) $(HALINC) $(PLATFORMINC) \
+ ${CHIBIOS}/os/various
# List the user directory to look for the libraries here
ULIBDIR =
diff --git a/test/coverage/board.h b/test/coverage/board.h
new file mode 100644
index 000000000..a6e056d58
--- /dev/null
+++ b/test/coverage/board.h
@@ -0,0 +1,23 @@
+/*
+ ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
+
+ This file is part of ChibiOS/RT.
+
+ ChibiOS/RT is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ ChibiOS/RT 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.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef _BOARD_H_
+#define _BOARD_H_
+
+#endif /* _BOARD_H_ */
diff --git a/test/coverage/chcore.c b/test/coverage/chcore.c
deleted file mode 100644
index 3863a9b83..000000000
--- a/test/coverage/chcore.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT 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.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include <windows.h>
-#include <stdio.h>
-
-/**
- * @addtogroup WIN32SIM_CORE
- * @{
- */
-
-#include "ch.h"
-#include "hal.h"
-
-static LARGE_INTEGER nextcnt;
-static LARGE_INTEGER slice;
-
-/*
- * Simulated HW initialization.
- */
-void InitCore(void) {
- printf("ChibiOS/RT test simulator\n\n");
- printf("Thread structure %d bytes\n", sizeof(Thread));
- if (!QueryPerformanceFrequency(&slice)) {
- fprintf(stderr, "QueryPerformanceFrequency() error");
- fflush(stderr);
- exit(1);
- }
- printf("Core Frequency %u Hz\n", (int)slice.LowPart);
- slice.QuadPart /= CH_FREQUENCY;
- QueryPerformanceCounter(&nextcnt);
- nextcnt.QuadPart += slice.QuadPart;
-
- sdInit();
-
- fflush(stdout);
-}
-
-/*
- * Interrupt simulation.
- */
-void ChkIntSources(void) {
- LARGE_INTEGER n;
- bool_t rflag = FALSE;
-
- if (sd_lld_interrupt_pending()) {
- if (chSchIsRescRequiredExI())
- rflag = TRUE;
- }
-
- // Interrupt Timer simulation (10ms interval).
- QueryPerformanceCounter(&n);
- if (n.QuadPart > nextcnt.QuadPart) {
- nextcnt.QuadPart += slice.QuadPart;
- chSysTimerHandlerI();
- if (chSchIsRescRequiredExI())
- rflag = TRUE;
- }
-
- if (rflag)
- chSchDoRescheduleI();
-}
-
-/**
- * Performs a context switch between two threads.
- * @param otp the thread to be switched out
- * @param ntp the thread to be switched in
- */
-__attribute__((used))
-static void __dummy(Thread *otp, Thread *ntp) {
- (void)otp; (void)ntp;
- asm volatile (".globl @port_switch@8 \n\t" \
- "@port_switch@8: \n\t" \
- "push %ebp \n\t" \
- "push %esi \n\t" \
- "push %edi \n\t" \
- "push %ebx \n\t" \
- "movl %esp, 16(%ecx) \n\t" \
- "movl 16(%edx), %esp \n\t" \
- "pop %ebx \n\t" \
- "pop %edi \n\t" \
- "pop %esi \n\t" \
- "pop %ebp \n\t" \
- "ret");
-}
-
-/**
- * Halts the system. In this implementation it just exits the simulation.
- */
-__attribute__((fastcall))
-void port_halt(void) {
-
- fprintf(stderr, "\nHalted\n");
- fflush(stderr);
- exit(2);
-}
-
-/**
- * Threads return point, it just invokes @p chThdExit().
- */
-void threadexit(void) {
-
- asm volatile ("push %eax \n\t" \
- "call _chThdExit");
-}
-
-/** @} */
diff --git a/test/coverage/chcore.h b/test/coverage/chcore.h
deleted file mode 100644
index 9347a7d5e..000000000
--- a/test/coverage/chcore.h
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT 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.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @addtogroup WIN32SIM_CORE
- * @{
- */
-
-#ifndef _CHCORE_H_
-#define _CHCORE_H_
-
-/**
- * Macro defining the a simulated architecture into Win32.
- */
-#define CH_ARCHITECTURE_WIN32SIM
-
-/**
- * Name of the implemented architecture.
- */
-#define CH_ARCHITECTURE_NAME "WIN32 Simulator"
-
-/**
- * 32 bit stack alignment.
- */
-typedef uint32_t stkalign_t;
-
-/**
- * Generic x86 register.
- */
-typedef void *regx86;
-
-/**
- * Interrupt saved context.
- * This structure represents the stack frame saved during a preemption-capable
- * interrupt handler.
- */
-struct extctx {
-};
-
-/**
- * System saved context.
- * @note In this demo the floating point registers are not saved.
- */
-struct intctx {
- regx86 ebx;
- regx86 edi;
- regx86 esi;
- regx86 ebp;
- regx86 eip;
-};
-
-/**
- * Platform dependent part of the @p Thread structure.
- * This structure usually contains just the saved stack pointer defined as a
- * pointer to a @p intctx structure.
- */
-struct context {
- struct intctx volatile *esp;
-};
-
-#define APUSH(p, a) (p) -= sizeof(void *), *(void **)(p) = (void*)(a)
-
-/**
- * Platform dependent part of the @p chThdInit() API.
- * This code usually setup the context switching frame represented by a
- * @p intctx structure.
- */
-#define SETUP_CONTEXT(workspace, wsize, pf, arg) { \
- uint8_t *esp = (uint8_t *)workspace + wsize; \
- APUSH(esp, arg); \
- APUSH(esp, threadexit); \
- esp -= sizeof(struct intctx); \
- ((struct intctx *)esp)->eip = pf; \
- ((struct intctx *)esp)->ebx = 0; \
- ((struct intctx *)esp)->edi = 0; \
- ((struct intctx *)esp)->esi = 0; \
- ((struct intctx *)esp)->ebp = 0; \
- tp->p_ctx.esp = (struct intctx *)esp; \
-}
-
-/**
- * Stack size for the system idle thread.
- */
-#ifndef IDLE_THREAD_STACK_SIZE
-#define IDLE_THREAD_STACK_SIZE 256
-#endif
-
-/**
- * Per-thread stack overhead for interrupts servicing, it is used in the
- * calculation of the correct working area size.
- * It requires stack space because the simulated "interrupt handlers" invoke
- * Win32 APIs inside so it better have a lot of space.
- */
-#ifndef INT_REQUIRED_STACK
-#define INT_REQUIRED_STACK 16384
-#endif
-
-/**
- * Enforces a correct alignment for a stack area size value.
- */
-#define STACK_ALIGN(n) ((((n) - 1) | (sizeof(stkalign_t) - 1)) + 1)
-
- /**
- * Computes the thread working area global size.
- */
-#define THD_WA_SIZE(n) STACK_ALIGN(sizeof(Thread) + \
- sizeof(void *) * 2 + \
- sizeof(struct intctx) + \
- sizeof(struct extctx) + \
- (n) + (INT_REQUIRED_STACK))
-
-/**
- * Macro used to allocate a thread working area aligned as both position and
- * size.
- */
-#define WORKING_AREA(s, n) stkalign_t s[THD_WA_SIZE(n) / sizeof(stkalign_t)];
-
-/**
- * IRQ prologue code, inserted at the start of all IRQ handlers enabled to
- * invoke system APIs.
- */
-#define PORT_IRQ_PROLOGUE() asm volatile ("nop")
-
-/**
- * IRQ epilogue code, inserted at the end of all IRQ handlers enabled to
- * invoke system APIs.
- */
-#define PORT_IRQ_EPILOGUE() asm volatile ("nop")
-
-/**
- * IRQ handler function declaration.
- */
-#define PORT_IRQ_HANDLER(id) void id(void)
-
-/**
- * Simulator initialization.
- */
-#define port_init() InitCore()
-
-/**
- * Does nothing in this simulator.
- */
-#define port_lock() asm volatile ("nop")
-
-/**
- * Does nothing in this simulator.
- */
-#define port_unlock() asm volatile ("nop")
-
-/**
- * Does nothing in this simulator.
- */
-#define port_lock_from_isr() asm volatile ("nop")
-
-/**
- * Does nothing in this simulator.
- */
-#define port_unlock_from_isr() asm volatile ("nop")
-
-/**
- * Does nothing in this simulator.
- */
-#define port_disable() asm volatile ("nop")
-
-/**
- * Does nothing in this simulator.
- */
-#define port_suspend() asm volatile ("nop")
-
-/**
- * Does nothing in this simulator.
- */
-#define port_enable() asm volatile ("nop")
-
-/**
- * In the simulator this does a polling pass on the simulated interrupt
- * sources.
- */
-#define port_wait_for_interrupt() ChkIntSources()
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- __attribute__((fastcall)) void port_switch(Thread *otp, Thread *ntp);
- __attribute__((fastcall)) void port_halt(void);
- void InitCore(void);
- void ChkIntSources(void);
- void threadexit(void);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _CHCORE_H_ */
-
-/** @} */
diff --git a/test/coverage/console.c b/test/coverage/console.c
new file mode 100644
index 000000000..d35bc3850
--- /dev/null
+++ b/test/coverage/console.c
@@ -0,0 +1,77 @@
+/*
+ ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
+
+ This file is part of ChibiOS/RT.
+
+ ChibiOS/RT is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ ChibiOS/RT 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.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/**
+ * @file console.c
+ * @brief Simulator console driver code.
+ * @{
+ */
+
+#include <stdio.h>
+
+#include "ch.h"
+#include "console.h"
+
+/**
+ * @brief Console driver 1.
+ */
+BaseChannel CD1;
+
+/*
+ * Interface implementation, the following functions just invoke the equivalent
+ * queue-level function or macro.
+ */
+static bool_t putwouldblock(void *ip) {
+
+ (void)ip;
+ return FALSE;
+}
+
+static bool_t getwouldblock(void *ip) {
+
+ (void)ip;
+ return FALSE; /******************************/
+}
+
+static msg_t put(void *ip, uint8_t b, systime_t timeout) {
+
+ (void)ip;
+ (void)timeout;
+ fputc(b, stdout);
+ fflush(stdout);
+ return RDY_OK;
+}
+
+static msg_t get(void *ip, systime_t timeout) {
+
+ (void)ip;
+ (void)timeout;
+ return 0;
+}
+
+static const struct BaseChannelVMT vmt = {
+ {putwouldblock, getwouldblock, put, get}
+};
+
+void conInit(void) {
+
+ CD1.vmt = &vmt;
+}
+
+/** @} */
diff --git a/test/coverage/chtypes.h b/test/coverage/console.h
index 354da269e..e8079a042 100644
--- a/test/coverage/chtypes.h
+++ b/test/coverage/console.h
@@ -17,31 +17,25 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef _CHTYPES_H_
-#define _CHTYPES_H_
+/**
+ * @file console.h
+ * @brief Simulator console driver header.
+ * @{
+ */
-#define __need_NULL
-#define __need_size_t
-#define __need_ptrdiff_t
-#include <stddef.h>
+#ifndef _CONSOLE_H_
+#define _CONSOLE_H_
-#if !defined(_STDINT_H) && !defined(__STDINT_H_)
-#include <stdint.h>
+extern BaseChannel CD1;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+ void conInit(void);
+#ifdef __cplusplus
+}
#endif
-typedef int8_t bool_t;
-typedef uint8_t tmode_t;
-typedef uint8_t tstate_t;
-typedef uint32_t tprio_t;
-typedef int32_t msg_t;
-typedef int32_t eventid_t;
-typedef uint32_t eventmask_t;
-typedef uint32_t systime_t;
-typedef int32_t cnt_t;
-
-#define INLINE inline
-#define PACK_STRUCT_STRUCT __attribute__((packed))
-#define PACK_STRUCT_BEGIN
-#define PACK_STRUCT_END
-
-#endif /* _CHTYPES_H_ */
+#endif /* _CONSOLE_H_ */
+
+/** @} */
diff --git a/test/coverage/halconf.h b/test/coverage/halconf.h
new file mode 100644
index 000000000..51a169a37
--- /dev/null
+++ b/test/coverage/halconf.h
@@ -0,0 +1,96 @@
+/*
+ ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
+
+ This file is part of ChibiOS/RT.
+
+ ChibiOS/RT is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ ChibiOS/RT 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.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/**
+ * @file templates/halconf.h
+ * @brief HAL configuration header.
+ * @addtogroup HAL_CONF
+ * @{
+ */
+
+/*
+ * HAL 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 change the device drivers settings found in the low level drivers
+ * headers, just define here the new settings and those will override the
+ * defaults defined in the LLD headers.
+ */
+
+#ifndef _HALCONF_H_
+#define _HALCONF_H_
+
+/**
+ * @brief Enables the PAL subsystem.
+ */
+#if !defined(CH_HAL_USE_PAL) || defined(__DOXYGEN__)
+#define CH_HAL_USE_PAL FALSE
+#endif
+
+/**
+ * @brief Enables the ADC subsystem.
+ */
+#if !defined(CH_HAL_USE_ADC) || defined(__DOXYGEN__)
+#define CH_HAL_USE_ADC FALSE
+#endif
+
+/**
+ * @brief Enables the CAN subsystem.
+ */
+#if !defined(CH_HAL_USE_CAN) || defined(__DOXYGEN__)
+#define CH_HAL_USE_CAN FALSE
+#endif
+
+/**
+ * @brief Enables the MAC subsystem.
+ */
+#if !defined(CH_HAL_USE_MAC) || defined(__DOXYGEN__)
+#define CH_HAL_USE_MAC FALSE
+#endif
+
+/**
+ * @brief Enables the PWM subsystem.
+ */
+#if !defined(CH_HAL_USE_PWM) || defined(__DOXYGEN__)
+#define CH_HAL_USE_PWM FALSE
+#endif
+
+/**
+ * @brief Enables the SERIAL subsystem.
+ */
+#if !defined(CH_HAL_USE_SERIAL) || defined(__DOXYGEN__)
+#define CH_HAL_USE_SERIAL FALSE
+#endif
+
+/**
+ * @brief Enables the SPI subsystem.
+ */
+#if !defined(CH_HAL_USE_SPI) || defined(__DOXYGEN__)
+#define CH_HAL_USE_SPI FALSE
+#endif
+
+/**
+ * @brief Enables the MMC_SPI subsystem.
+ */
+#if !defined(CH_HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
+#define CH_HAL_USE_MMC_SPI FALSE
+#endif
+
+#endif /* _HALCONF_H_ */
+
+/** @} */
diff --git a/test/coverage/main.c b/test/coverage/main.c
index 929ed622e..80390360d 100644
--- a/test/coverage/main.c
+++ b/test/coverage/main.c
@@ -23,6 +23,7 @@
#include "ch.h"
#include "hal.h"
#include "test.h"
+#include "console.h"
/*
* Simulator main.
@@ -33,12 +34,11 @@ int main(int argc, char *argv[]) {
(void)argc;
(void)argv;
+ halInit();
+ conInit();
chSysInit();
- sdStart(&SD1, NULL);
- result = TestThread(&SD1);
- chThdSleepMilliseconds(1); /* Gives time to flush SD1 output queue */
- fflush(stdout);
+ result = TestThread(&CD1);
if (result)
exit(1);
else
diff --git a/test/coverage/serial_lld.c b/test/coverage/serial_lld.c
deleted file mode 100644
index 512a6ebc1..000000000
--- a/test/coverage/serial_lld.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT 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.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file Win32/serial_lld.c
- * @brief Win32 low level simulated serial driver code
- * @addtogroup WIN32_SERIAL
- * @{
- */
-
-#include <windows.h>
-#include <stdio.h>
-
-#include "ch.h"
-#include "hal.h"
-
-/** @brief Test serial driver identifier.*/
-SerialDriver SD1;
-
-/** @brief Driver default configuration.*/
-static const SerialDriverConfig default_config = {
-};
-
-/*===========================================================================*/
-/* Low Level Driver local functions. */
-/*===========================================================================*/
-
-static bool_t sd1_conn_chkint(void) {
-
- return FALSE;
-}
-
-static bool_t sd1_in_chkint(void) {
-
- return FALSE;
-}
-
-static bool_t sd1_out_chkint(void) {
- msg_t n;
- bool_t rflag = FALSE;
-
- while (TRUE) {
- n = sdRequestDataI(&SD1);
- if (n < 0) {
- fflush(stdout);
- return rflag;
- }
- fputc(n, stdout);
- rflag = TRUE;
- }
-}
-
-/*===========================================================================*/
-/* Low Level Driver interrupt handlers. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Low Level Driver exported functions. */
-/*===========================================================================*/
-
-/**
- * Low level serial driver initialization.
- */
-void sd_lld_init(void) {
-
- sdObjectInit(&SD1, NULL, NULL);
-}
-
-/**
- * @brief Low level serial driver configuration and (re)start.
- *
- * @param[in] sdp pointer to a @p SerialDriver object
- * @param[in] config the architecture-dependent serial driver configuration.
- * If this parameter is set to @p NULL then a default
- * configuration is used.
- */
-void sd_lld_start(SerialDriver *sdp, const SerialDriverConfig *config) {
-
- (void)sdp;
- if (config == NULL)
- config = &default_config;
-
-}
-
-/**
- * @brief Low level serial driver stop.
- * @details De-initializes the USART, stops the associated clock, resets the
- * interrupt vector.
- *
- * @param[in] sdp pointer to a @p SerialDriver object
- */
-void sd_lld_stop(SerialDriver *sdp) {
-
- (void)sdp;
-}
-
-bool_t sd_lld_interrupt_pending(void) {
-
- return sd1_conn_chkint() || sd1_in_chkint() || sd1_out_chkint();
-}
-
-/** @} */
diff --git a/test/coverage/serial_lld.h b/test/coverage/serial_lld.h
deleted file mode 100644
index ba3a27b87..000000000
--- a/test/coverage/serial_lld.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT 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.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file Win32/serial_lld.h
- * @brief Win32 low level simulated serial driver header
- * @addtogroup WIN32_SERIAL
- * @{
- */
-
-#ifndef _SERIAL_LLD_H_
-#define _SERIAL_LLD_H_
-
-#include <windows.h>
-
-/*===========================================================================*/
-/* Driver pre-compile time settings. */
-/*===========================================================================*/
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 1024
-#endif
-
-/*===========================================================================*/
-/* Unsupported event flags and custom events. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Driver data structures and types. */
-/*===========================================================================*/
-
-/**
- * Serial Driver condition flags type.
- */
-typedef uint32_t sdflags_t;
-
-/**
- * @brief @p SerialDriver specific data.
- */
-struct _serial_driver_data {
- /**
- * Input queue, incoming data can be read from this input queue by
- * using the queues APIs.
- */
- InputQueue iqueue;
- /**
- * Output queue, outgoing data can be written to this output queue by
- * using the queues APIs.
- */
- OutputQueue oqueue;
- /**
- * Status Change @p EventSource. This event is generated when one or more
- * condition flags change.
- */
- EventSource sevent;
- /**
- * I/O driver status flags.
- */
- sdflags_t flags;
- /**
- * Input circular buffer.
- */
- uint8_t ib[SERIAL_BUFFERS_SIZE];
- /**
- * Output circular buffer.
- */
- uint8_t ob[SERIAL_BUFFERS_SIZE];
-};
-
-/**
- * @brief Generic Serial Driver configuration structure.
- * @details An instance of this structure must be passed to @p sdStart()
- * in order to configure and start a serial driver operations.
- *
- * @note This structure content is architecture dependent, each driver
- * implementation defines its own version and the custom static
- * initializers.
- */
-typedef struct {
-} SerialDriverConfig;
-
-/*===========================================================================*/
-/* External declarations. */
-/*===========================================================================*/
-
-/** @cond never*/
-extern SerialDriver SD1;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- void sd_lld_init(void);
- void sd_lld_start(SerialDriver *sdp, const SerialDriverConfig *config);
- void sd_lld_stop(SerialDriver *sdp);
- bool_t sd_lld_interrupt_pending(void);
-#ifdef __cplusplus
-}
-#endif
-/** @endcond*/
-
-#endif /* _SERIAL_LLD_H_ */
-
-/** @} */