#include "helper/binarybuffer.h"
#include "server/gdb_server.h"
-/* RTOSs */
-extern struct rtos_type freertos_rtos;
-extern struct rtos_type threadx_rtos;
-extern struct rtos_type ecos_rtos;
-extern struct rtos_type linux_rtos;
-extern struct rtos_type chibios_rtos;
-extern struct rtos_type chromium_ec_rtos;
-extern struct rtos_type embkernel_rtos;
-extern struct rtos_type mqx_rtos;
-extern struct rtos_type ucos_iii_rtos;
-extern struct rtos_type nuttx_rtos;
-extern struct rtos_type hwthread_rtos;
-extern struct rtos_type riot_rtos;
-extern struct rtos_type zephyr_rtos;
-extern struct rtos_type rtkernel_rtos;
-
-static struct rtos_type *rtos_types[] = {
+static const struct rtos_type *rtos_types[] = {
&threadx_rtos,
&freertos_rtos,
&ecos_rtos,
static int rtos_try_next(struct target *target);
-int rtos_thread_packet(struct connection *connection, const char *packet, int packet_size);
-
int rtos_smp_init(struct target *target)
{
if (target->rtos->type->smp_init)
return ERROR_OK;
}
-static int os_alloc(struct target *target, struct rtos_type *ostype)
+static int os_alloc(struct target *target, const struct rtos_type *ostype)
{
struct rtos *os = target->rtos = calloc(1, sizeof(struct rtos));
return;
free(target->rtos->symbols);
+ rtos_free_threadlist(target->rtos);
free(target->rtos);
target->rtos = NULL;
}
-static int os_alloc_create(struct target *target, struct rtos_type *ostype)
+static int os_alloc_create(struct target *target, const struct rtos_type *ostype)
{
int ret = os_alloc(target, ostype);
static int rtos_try_next(struct target *target)
{
struct rtos *os = target->rtos;
- struct rtos_type **type = rtos_types;
+ const struct rtos_type **type = rtos_types;
if (!os)
return 0;