tests: qmsi: remove soc watch sample

Remove this feature specific to QMSI and available through samples only
to allow for migration to tracing hooks.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
Anas Nashif 2018-04-06 07:46:13 -04:00
commit ac47070d10
6 changed files with 2 additions and 140 deletions

View file

@ -21,7 +21,7 @@ SECTION_FUNC(TEXT, save_cpu_context)
pushf /* save flags */
pusha /* save GPRs */
#if defined (CONFIG_DEBUG) || defined (CONFIG_SOC_WATCH)
#if defined (CONFIG_DEBUG)
/* save the debug registers */
movl %dr0, %edx
pushl %edx
@ -47,7 +47,7 @@ SECTION_FUNC(TEXT, _power_restore_cpu_context)
lgdtl _pm_save_gdtr /* restore gdtr */
lidtl _pm_save_idtr /* restore idtr */
movl _pm_save_esp, %esp /* restore saved stack ptr */
#if defined (CONFIG_DEBUG) || defined (CONFIG_SOC_WATCH)
#if defined (CONFIG_DEBUG)
/* restore the debug registers */
popl %edx
movl %edx, %dr7

View file

@ -41,10 +41,4 @@ config QMSI_INSTALL_PATH
installed. Make sure this option is properly set when QMSI_LIBRARY
is enabled otherwise the build will fail.
config SOC_WATCH
bool "Enable SoCWatch drivers and related instrumentation"
depends on KERNEL_EVENT_LOGGER
help
This option enables the SoCWatch driver and related instrumentation.
endif

View file

@ -16,7 +16,6 @@
#include <power.h>
#include <soc_power.h>
#include <string.h>
#include "soc_watch_logger.h"
static enum power_states states_list[] = {
SYS_POWER_STATE_CPU_LPS,
@ -411,11 +410,6 @@ void test_power_state(void)
build_suspend_device_list();
#ifdef CONFIG_SOC_WATCH
/* Start the event monitoring thread */
soc_watch_logger_thread_start();
#endif
/* All our application does is putting the task to sleep so the kernel
* triggers the suspend operation.
*/

View file

@ -1,99 +0,0 @@
/*
* Copyright (c) 2016 Intel Corporation.
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "soc_watch_logger.h"
#define STSIZE 512
static K_THREAD_STACK_DEFINE(soc_watch_event_logger_stack, STSIZE);
static struct k_thread soc_watch_event_logger_data;
/**
* @brief soc_watch data collector thread
*
* @details Collect the kernel event messages and pass them to
* soc_watch
*
* @return No return value.
*/
void soc_watch_data_collector(void)
{
#ifdef CONFIG_SOC_WATCH
int res;
u32_t data[4];
u8_t dropped_count;
u16_t event_id;
/* We register the thread as collector to avoid this thread generating a
* context switch event every time it collects the data
*/
sys_k_event_logger_register_as_collector();
while (1) {
/* collect the data */
u8_t data_length = SIZE32_OF(data);
res = sys_k_event_logger_get_wait(&event_id, &dropped_count,
data, &data_length);
if (res > 0) {
/* process the data */
switch (event_id) {
#ifdef CONFIG_KERNEL_EVENT_LOGGER_CONTEXT_SWITCH
case KERNEL_EVENT_LOGGER_CONTEXT_SWITCH_EVENT_ID:
if (data_length != 2) {
PRINTF("\x1b[13;1HError in context switch message. "
"event_id = %d, Expected %d, received %d\n",
event_id, 2, data_length);
} else {
/* Log context switch event for SoCWatch */
SOC_WATCH_LOG_APP_EVENT(SOCW_EVENT_APP,
event_id, data[1]);
}
break;
#endif
#ifdef CONFIG_KERNEL_EVENT_LOGGER_INTERRUPT
case KERNEL_EVENT_LOGGER_INTERRUPT_EVENT_ID:
if (data_length != 2) {
PRINTF("\x1b[13;1HError in interrupt message. "
"event_id = %d, Expected %d, received %d\n",
event_id, 2, data_length);
} else {
/* Log interrupt event for SoCWatch */
SOC_WATCH_LOG_EVENT(SOCW_EVENT_INTERRUPT, data[1]);
}
break;
#endif
default:
PRINTF("unrecognized event id %d", event_id);
}
} else {
/* This error should never happen */
if (res == -EMSGSIZE) {
PRINTF("FATAL ERROR. The buffer provided to collect the "
"profiling events is too small\n");
}
}
}
#endif
}
/**
* @brief Start the soc_watch logger thread
*
* @details Start the soc_watch data collector thread
*
* @return No return value.
*/
void soc_watch_logger_thread_start(void)
{
PRINTF("\x1b[2J\x1b[15;1H");
k_thread_create(&soc_watch_event_logger_data,
soc_watch_event_logger_stack, STSIZE,
(k_thread_entry_t) soc_watch_data_collector, 0, 0, 0,
6, 0, 0);
}

View file

@ -1,21 +0,0 @@
/*
* Copyright (c) 2016 Intel Corporation.
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr.h>
#include <misc/printk.h>
#include <string.h>
#include <logging/kernel_event_logger.h>
#include "soc_watch.h"
#if defined(CONFIG_STDOUT_CONSOLE)
#define PRINTF(...) { char output[256]; \
sprintf(output, __VA_ARGS__); puts(output); }
#else
#define PRINTF(...) printk(__VA_ARGS__)
#endif
void soc_watch_data_collector(void);
void soc_watch_logger_thread_start(void);

View file

@ -4,9 +4,3 @@ tests:
platform_exclude: tinytile
tags: power
depends_on: rtc
power_management.power_states.socwatch:
extra_args: CONF_FILE="prj_socwatch.conf"
filter: CONFIG_SOC_QUARK_SE_C1000
platform_exclude: tinytile
tags: power
depends_on: rtc