hikey960: Remove hifi dsp support.

The hifi dsp support wasn't frequently used nor enabled by
default. Since we are moving binary firmware objects to the
vendor package, just remove the hifi dsp logic and firmware
all together.

This patch reapplies the reverted patch of the same name,
as issues were seen when the vendor package was missing.

Signed-off-by: John Stultz <john.stultz@linaro.org>
Change-Id: I6d72e5ca52a4b1b0ca460e0c4613c09175dba02d
diff --git a/audio/Android.mk b/audio/Android.mk
index eb0732d..84e2e56 100644
--- a/audio/Android.mk
+++ b/audio/Android.mk
@@ -38,15 +38,4 @@
         system/media/audio_utils/include \
         system/media/audio_effects/include
 
-ifeq ($(TARGET_ENABLE_DSP_DEVICE), true)
-LOCAL_CFLAGS += -DENABLE_XAF_DSP_DEVICE
-LOCAL_C_INCLUDES += \
-        $(LOCAL_PATH)/../hifi/xaf/host-apf/include \
-        $(LOCAL_PATH)/../hifi/xaf/host-apf/include/os/android \
-        $(LOCAL_PATH)/../hifi/xaf/host-apf/include/sys/fio\
-        $(LOCAL_PATH)/../hifi/xaf/host-apf/include/audio \
-        $(LOCAL_PATH)/../hifi/xaf/host-apf/utest/include
-
-LOCAL_STATIC_LIBRARIES := libxtensa_proxy
-endif
 include $(BUILD_SHARED_LIBRARY)
diff --git a/audio/audio_hw.c b/audio/audio_hw.c
index 02ce250..3fdf3f9 100644
--- a/audio/audio_hw.c
+++ b/audio/audio_hw.c
@@ -42,7 +42,6 @@
 #include <audio_effects/effect_aec.h>
 
 #include <sys/ioctl.h>
-#include <linux/audio_hifi.h>
 
 #define CARD_OUT 0
 #define PORT_CODEC 0
diff --git a/hifi/Android.mk b/hifi/Android.mk
deleted file mode 100644
index f3377fe..0000000
--- a/hifi/Android.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright 2017 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-include $(all-subdir-makefiles)
diff --git a/hifi/debug-hifi/Android.mk b/hifi/debug-hifi/Android.mk
deleted file mode 100644
index eefcaa5..0000000
--- a/hifi/debug-hifi/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (C) 2017 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := debug-hifi
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_SHARED_LIBRARIES := liblog libcutils
-LOCAL_SRC_FILES := debug-hifi.c
-include $(BUILD_EXECUTABLE)
diff --git a/hifi/debug-hifi/debug-hifi.c b/hifi/debug-hifi/debug-hifi.c
deleted file mode 100644
index 75bda4c..0000000
--- a/hifi/debug-hifi/debug-hifi.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#define LOG_TAG "debug-hifi"
-#include <errno.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <poll.h>
-#include <pthread.h>
-#include <sys/ioctl.h>
-#include <sys/prctl.h>
-#include <stdio.h>
-#include <cutils/log.h>
-#include <cutils/uevent.h>
-#include <stdlib.h>
-#include <linux/audio_hifi.h>
-
-int main(int argc, char *argv[])
-{
-    char *buffer;
-    int hifi_dsp_fd;
-    int ret = -1;
-    int i = 0;
-    unsigned int memsize = DRV_DSP_UART_TO_MEM_SIZE;
-    unsigned int clear = 0;
-    struct misc_io_dump_buf_param dump_buf;
-
-    ALOGI("Enter hifi-dsp Audio Framework - sample application\n");
-    if (argc > 1)
-        memsize = strtoul(argv[1], NULL, 0);
-    if (argc > 2)
-        clear = 1;
-    hifi_dsp_fd = open(HIFI_DSP_MISC_DRIVER, O_RDWR, 0);
-    if (hifi_dsp_fd < 0) {
-        ALOGE("Error %d opening hifi dsp device", errno);
-        return ret;
-    }
-    buffer = malloc(memsize);
-    if (!buffer) {
-        ALOGE("Error allocating buffer");
-        goto out0;
-    }
-    dump_buf.user_buf = (uint64_t)buffer;
-    dump_buf.buf_size = memsize;
-    dump_buf.clear = clear;
-    ret = ioctl(hifi_dsp_fd, HIFI_MISC_IOCTL_DISPLAY_MSG, &dump_buf);
-    if (ret < 0) { /* This IOCTL returns buffer size */
-        ALOGE("Error %d accessing message buffer", errno);
-    } else {
-        printf("%s\n", ret > 0 ? buffer : "Buffer is empty");
-    }
-    free(buffer);
-out0:
-    close(hifi_dsp_fd);
-    ALOGI("Exit hifi-dsp Audio Framework - sample application\n");
-    return ret;
-}
diff --git a/hifi/firmware/hifi-hikey960.img b/hifi/firmware/hifi-hikey960.img
deleted file mode 100644
index b8c2516..0000000
--- a/hifi/firmware/hifi-hikey960.img
+++ /dev/null
Binary files differ
diff --git a/hifi/xaf/Android.mk b/hifi/xaf/Android.mk
deleted file mode 100644
index f3377fe..0000000
--- a/hifi/xaf/Android.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright 2017 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-include $(all-subdir-makefiles)
diff --git a/hifi/xaf/README b/hifi/xaf/README
deleted file mode 100755
index 9c83576..0000000
--- a/hifi/xaf/README
+++ /dev/null
@@ -1,39 +0,0 @@
-
-.
-|--- README
-|   - This file 
-|   
-|--- release.txt
-|   - Release notes
-|   
-|--- config
-|   |   
-|   |--- hifi3_hikey960_linux.tgz
-|   |   - HiKey960 HiFi3 LX6 config with SW upgraded to RG.5 tools for Linux
-|   |   
-|   |-- hifi3_hikey960_win32.tgz
-|       - HiKey960 HiFi3 LX6 config with SW upgraded to RG.5 tools for Windows 
-|   
-|--- docs
-|   |   
-|   |--- HiFi-AF-Hosted-ProgrammersGuide.pdf
-|   |   - Xtensa Audio Framework (Hosted) Programmers Guide, v0.6
-|   |   
-|   |--- HiFi-Audio-Codec-API-Definition.pdf
-|   |   - HiFi Audio Codec API Definition, v1.0
-|   |   
-|   |--- HiFi-Speech-Codec-API-Definition.pdf
-|   |   - HiFi Speech Codec API Definition, v1.0
-|   |   
-|   |-- HiKey960-HiFi3-Android-SDK-Guide.pdf
-|       - HiKey960-HiFi3-Android-SDK Guide, v0.7
-|   
-|--- xaf-dsp-v0.7_Alpha.tgz
-|   - XAF DSP Firmware Source Code(hifi-dpf)
-|   
-|-- xaf-host-v0.7_Alpha.tgz
-|   - XAF Host application Source Code(host-apf)
-|
-|-- Get xtensa tools and guide to install xtensa tools,HiKey960 HiFi3 LX6 config
-|   -https://www.tensilicatools.com/platform/huawei-kirin-960/
-|
diff --git a/hifi/xaf/config/hifi3_hikey960_linux.tgz b/hifi/xaf/config/hifi3_hikey960_linux.tgz
deleted file mode 100755
index 8115219..0000000
--- a/hifi/xaf/config/hifi3_hikey960_linux.tgz
+++ /dev/null
Binary files differ
diff --git a/hifi/xaf/config/hifi3_hikey960_win32.tgz b/hifi/xaf/config/hifi3_hikey960_win32.tgz
deleted file mode 100755
index 3287175..0000000
--- a/hifi/xaf/config/hifi3_hikey960_win32.tgz
+++ /dev/null
Binary files differ
diff --git a/hifi/xaf/docs/HiFi-AF-Hosted-ProgrammersGuide.pdf b/hifi/xaf/docs/HiFi-AF-Hosted-ProgrammersGuide.pdf
deleted file mode 100755
index 3499a87..0000000
--- a/hifi/xaf/docs/HiFi-AF-Hosted-ProgrammersGuide.pdf
+++ /dev/null
Binary files differ
diff --git a/hifi/xaf/docs/HiFi-Audio-Codec-API-Definition.pdf b/hifi/xaf/docs/HiFi-Audio-Codec-API-Definition.pdf
deleted file mode 100755
index 179d13b..0000000
--- a/hifi/xaf/docs/HiFi-Audio-Codec-API-Definition.pdf
+++ /dev/null
Binary files differ
diff --git a/hifi/xaf/docs/HiFi-Speech-Codec-API-Definition.pdf b/hifi/xaf/docs/HiFi-Speech-Codec-API-Definition.pdf
deleted file mode 100755
index 2b6a68a..0000000
--- a/hifi/xaf/docs/HiFi-Speech-Codec-API-Definition.pdf
+++ /dev/null
Binary files differ
diff --git a/hifi/xaf/docs/HiKey960-HiFi3-Android-SDK-Guide.pdf b/hifi/xaf/docs/HiKey960-HiFi3-Android-SDK-Guide.pdf
deleted file mode 100755
index ea3c07a..0000000
--- a/hifi/xaf/docs/HiKey960-HiFi3-Android-SDK-Guide.pdf
+++ /dev/null
Binary files differ
diff --git a/hifi/xaf/docs/Hosted_XAF_Arch_v0.7.pdf b/hifi/xaf/docs/Hosted_XAF_Arch_v0.7.pdf
deleted file mode 100755
index f5b372f..0000000
--- a/hifi/xaf/docs/Hosted_XAF_Arch_v0.7.pdf
+++ /dev/null
Binary files differ
diff --git a/hifi/xaf/hifi-dpf/app/xa-factory.c b/hifi/xaf/hifi-dpf/app/xa-factory.c
deleted file mode 100644
index b9e7d19..0000000
--- a/hifi/xaf/hifi-dpf/app/xa-factory.c
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/*******************************************************************************
- * xa-factory.c
- *
- * DSP processing framework core - component factory
- *
- ******************************************************************************/
-
-#define MODULE_TAG                      FACTORY
-
-/*******************************************************************************
- * Includes
- ******************************************************************************/
-
-#include "xf.h"
-#include "audio/xa_type_def.h"
-
-/*******************************************************************************
- * Tracing tags
- ******************************************************************************/
-
-/* ...general initialization sequence */
-TRACE_TAG(INIT, 1);
-
-/*******************************************************************************
- * Local types definitions
- ******************************************************************************/
-
-/* ...component descriptor */
-typedef struct xf_component_id
-{
-    /* ...class id (string identifier) */
-    const char         *id;
-    
-    /* ...class constructor */
-    xf_component_t *  (*factory)(u32 core, xa_codec_func_t process);
-
-    /* ...component API function */
-    xa_codec_func_t    *process;
-
-}   xf_component_id_t;
-
-/*******************************************************************************
- * External functions
- ******************************************************************************/
-
-/* ...components API functions */
-extern XA_ERRORCODE xa_pcm_codec(xa_codec_handle_t, WORD32, WORD32, pVOID);
-extern XA_ERRORCODE xa_mp3_decoder(xa_codec_handle_t, WORD32, WORD32, pVOID);
-extern XA_ERRORCODE xa_aac_decoder(xa_codec_handle_t, WORD32, WORD32, pVOID);
-extern XA_ERRORCODE xa_aac_encoder(xa_codec_handle_t, WORD32, WORD32, pVOID);
-extern XA_ERRORCODE xa_vorbis_decoder(xa_codec_handle_t, WORD32, WORD32, pVOID);
-extern XA_ERRORCODE xa_ac3_decoder(xa_codec_handle_t, WORD32, WORD32, pVOID);
-extern XA_ERRORCODE xa_ddplus71_decoder(xa_codec_handle_t, WORD32, WORD32, pVOID);
-extern XA_ERRORCODE xa_mixer(xa_codec_handle_t, WORD32, WORD32, pVOID);
-extern XA_ERRORCODE xa_renderer(xa_codec_handle_t, WORD32, WORD32, pVOID);
-extern XA_ERRORCODE xa_capturer(xa_codec_handle_t, WORD32, WORD32, pVOID);
-extern XA_ERRORCODE xa_src_pp_fx(xa_codec_handle_t, WORD32, WORD32, pVOID);
-extern XA_ERRORCODE xa_dts_hd_decoder(xa_codec_handle_t, WORD32, WORD32, pVOID);
-extern XA_ERRORCODE xa_dap_fx(xa_codec_handle_t, WORD32, WORD32, pVOID);
-
-/* ...component class factories */
-extern xf_component_t * xa_audio_codec_factory(u32 core, xa_codec_func_t process);
-extern xf_component_t * xa_audio_fx_factory(u32 core, xa_codec_func_t process);
-extern xf_component_t * xa_mixer_factory(u32 core, xa_codec_func_t process);
-extern xf_component_t * xa_renderer_factory(u32 core,xa_codec_func_t process);
-
-/*******************************************************************************
- * Local constants definitions
- ******************************************************************************/
-    
-/* ...component class id */
-static const xf_component_id_t xf_component_id[] = 
-{
-#if XA_PCM
-    { "audio-decoder/pcm",      xa_audio_codec_factory,     xa_pcm_codec },
-#endif
-#if XA_MP3_DECODER
-    { "audio-decoder/mp3",      xa_audio_codec_factory,     xa_mp3_decoder },
-#endif
-#if XA_AAC_DECODER
-    { "audio-decoder/aac",      xa_audio_codec_factory,     xa_aac_decoder },
-#endif
-#if XA_AC3_DECODER
-    { "audio-decoder/ac3",      xa_audio_codec_factory,     xa_ac3_decoder },
-#endif
-#if XA_DDP71_DECODER
-    { "audio-decoder/ddplus71", xa_audio_codec_factory,     xa_ddplus71_decoder },
-#endif
-#if XA_DTS_HD_DECODER
-    { "audio-decoder/dts-hd",   xa_audio_codec_factory,     xa_dts_hd_decoder },
-#endif
-#if XA_VORBIS_DECODER
-    { "audio-decoder/vorbis",   xa_audio_codec_factory,     xa_vorbis_decoder },
-#endif
-#if XA_AAC_ENCODER
-    { "audio-encoder/aac",      xa_audio_codec_factory,     xa_aac_encoder },
-#endif
-#if XA_SRC_PP_FX
-    { "audio-fx/src-pp",        xa_audio_codec_factory,     xa_src_pp_fx },
-#endif
-#if XA_DAP_FX
-    { "audio-fx/dap",           xa_audio_codec_factory,     xa_dap_fx },
-#endif
-#if XA_MIXER
-    { "mixer",                  xa_mixer_factory,           xa_mixer },
-#endif
-#if XA_RENDERER
-    { "renderer",               xa_renderer_factory,        xa_renderer },
-#endif
-#if XA_CAPTURER
-    { "capturer",               xa_capturer_factory,        xa_capturer },
-#endif
-};
-
-/* ...number of items in the map */
-#define XF_COMPONENT_ID_MAX     (sizeof(xf_component_id) / sizeof(xf_component_id[0]))
-   
-/*******************************************************************************
- * Enry points
- ******************************************************************************/
-
-xf_component_t * xf_component_factory(u32 core, xf_id_t id, u32 length)
-{
-    u32     i;
-
-    /* ...find component-id in static map */
-    for (i = 0; i < XF_COMPONENT_ID_MAX; i++)
-    {
-        /* ...symbolic search - not too good; would prefer GUIDs in some form */
-        if (!strncmp(id, xf_component_id[i].id, length))
-        {
-            /* ...pass control to specific class factory */
-            return xf_component_id[i].factory(core, xf_component_id[i].process);
-        }
-    }
-
-    /* ...component string id is not recognized */
-    TRACE(ERROR, _b("Unknown component type: %s"), id);
-
-    return NULL;
-}
diff --git a/hifi/xaf/hifi-dpf/audio/xa-class-audio-codec.c b/hifi/xaf/hifi-dpf/audio/xa-class-audio-codec.c
deleted file mode 100644
index ce233f0..0000000
--- a/hifi/xaf/hifi-dpf/audio/xa-class-audio-codec.c
+++ /dev/null
@@ -1,785 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/*******************************************************************************
- * xa-class-audio-codec.c
- *
- * Generic audio codec task implementation
- *
- ******************************************************************************/
-
-#define MODULE_TAG                      CODEC
-
-/*******************************************************************************
- * Includes
- ******************************************************************************/
-
-#include "xf.h"
-#include "xa-class-base.h"
-#include "audio/xa-audio-decoder-api.h"
-
-/*******************************************************************************
- * Tracing configuration
- ******************************************************************************/
-
-TRACE_TAG(INIT, 1);
-TRACE_TAG(WARNING, 1);
-TRACE_TAG(INFO, 1);
-TRACE_TAG(INPUT, 1);
-TRACE_TAG(OUTPUT, 1);
-TRACE_TAG(DECODE, 1);
-
-/*******************************************************************************
- * Internal functions definitions
- ******************************************************************************/
-
-typedef struct XAAudioCodec
-{
-    /***************************************************************************
-     * Control data
-     **************************************************************************/
-
-    /* ...generic audio codec data */
-    XACodecBase             base;
-
-    /* ...input port data */
-    xf_input_port_t         input;
-
-    /* ...output port data */
-    xf_output_port_t        output;
-
-    /* ...input port index */
-    WORD32                  in_idx;
-
-    /* ...output port index */
-    WORD32                  out_idx;
-
-    /***************************************************************************
-     * Run-time configuration parameters
-     **************************************************************************/
-
-    /* ...sample size in bytes */
-    u32                     sample_size;
-
-    /* ...audio sample duration */
-    u32                     factor;
-
-    /* ...total number of produced audio frames since last reset */
-    u32                     produced;
-
-}   XAAudioCodec;
-
-/*******************************************************************************
- * Auxiliary codec execution flags
- ******************************************************************************/
-
-/* ...input port setup condition */
-#define XA_CODEC_FLAG_INPUT_SETUP       __XA_BASE_FLAG(1 << 0)
-
-/* ...output port setup condition */
-#define XA_CODEC_FLAG_OUTPUT_SETUP      __XA_BASE_FLAG(1 << 1)
-
-/*******************************************************************************
- * Data processing scheduling
- ******************************************************************************/
-
-/* ...prepare codec for steady operation (tbd - don't absolutely like it) */
-static inline XA_ERRORCODE xa_codec_prepare_runtime(XAAudioCodec *codec)
-{
-    XACodecBase    *base = (XACodecBase *)codec;
-    xf_message_t   *m = xf_msg_queue_head(&codec->output.queue);
-    xf_start_msg_t *msg = m->buffer;
-    u32             frame_size;
-    u32             factor;
-
-    /* ...fill-in buffer parameters */
-    XA_API(base, XA_API_CMD_GET_CONFIG_PARAM, XA_CODEC_CONFIG_PARAM_SAMPLE_RATE, &msg->sample_rate);
-    XA_API(base, XA_API_CMD_GET_CONFIG_PARAM, XA_CODEC_CONFIG_PARAM_CHANNELS, &msg->channels);
-    XA_API(base, XA_API_CMD_GET_CONFIG_PARAM, XA_CODEC_CONFIG_PARAM_PCM_WIDTH, &msg->pcm_width);
-    XA_API(base, XA_API_CMD_GET_MEM_INFO_SIZE, codec->in_idx, &msg->input_length);
-    XA_API(base, XA_API_CMD_GET_MEM_INFO_SIZE, codec->out_idx, &msg->output_length);
-
-    TRACE(INIT, _b("codec[%p]::runtime init: f=%u, c=%u, w=%u, i=%u, o=%u"), codec, msg->sample_rate, msg->channels, msg->pcm_width, msg->input_length, msg->output_length);
-
-    /* ...reallocate input port buffer as needed - tbd */
-    BUG(msg->input_length > codec->input.length, _x("Input buffer reallocation required: %u to %u"), codec->input.length, msg->input_length);
-
-    /* ...save sample size in bytes */
-    codec->sample_size = msg->channels * (msg->pcm_width == 16 ? 2 : 4);
-
-    /* ...calculate frame duration; get number of samples in the frame (don't like division here - tbd) */
-    frame_size = msg->output_length / codec->sample_size;
-
-    /* ...it must be a multiple */
-    XF_CHK_ERR(frame_size * codec->sample_size == msg->output_length, XA_API_FATAL_INVALID_CMD_TYPE);
-
-    /* ...retrieve upsampling factor for given sample rate */
-    XF_CHK_ERR(factor = xf_timebase_factor(msg->sample_rate), XA_API_FATAL_INVALID_CMD_TYPE);
-
-    /* ...set frame duration factor (converts number of bytes into timebase units) */
-    codec->factor = factor / codec->sample_size;
-
-    TRACE(INIT, _b("ts-factor: %u (%u)"), codec->factor, factor);
-
-    BUG(codec->factor * codec->sample_size != factor, _x("Freq mismatch: %u vs %u"), codec->factor * codec->sample_size, factor);
-
-    /* ...pass response to caller (push out of output port) */
-    xf_output_port_produce(&codec->output, sizeof(*msg));
-
-    /* ...codec runtime initialization is completed */
-    TRACE(INIT, _b("codec[%p] runtime initialized: i=%u, o=%u"), codec, msg->input_length, msg->output_length);
-
-    return XA_NO_ERROR;
-}
-
-/*******************************************************************************
- * Commands processing
- ******************************************************************************/
-
-/* ...EMPTY-THIS-BUFFER command processing */
-static XA_ERRORCODE xa_codec_empty_this_buffer(XACodecBase *base, xf_message_t *m)
-{
-    XAAudioCodec   *codec = (XAAudioCodec *) base;
-
-    /* ...make sure the port is valid */
-    XF_CHK_ERR(XF_MSG_DST_PORT(m->id) == 0, XA_API_FATAL_INVALID_CMD);
-
-    /* ...command is allowed only in post-init state */
-    XF_CHK_ERR(base->state & XA_BASE_FLAG_POSTINIT, XA_API_FATAL_INVALID_CMD);
-
-    /* ...put message into input queue */
-    if (xf_input_port_put(&codec->input, m))
-    {
-        /* ...restart stream if it is in completed state */
-        if (base->state & XA_BASE_FLAG_COMPLETED)
-        {
-            /* ...reset execution stage */
-            base->state = XA_BASE_FLAG_POSTINIT | XA_BASE_FLAG_EXECUTION;
-
-            /* ...reset execution runtime */
-            XA_API(base, XA_API_CMD_EXECUTE, XA_CMD_TYPE_DO_RUNTIME_INIT, NULL);
-
-            /* ...reset produced samples counter */
-            codec->produced = 0;
-        }
-
-        /* ...codec must be in one of these states */
-        XF_CHK_ERR(base->state & (XA_BASE_FLAG_RUNTIME_INIT | XA_BASE_FLAG_EXECUTION), XA_API_FATAL_INVALID_CMD);
-        
-        /* ...schedule data processing if output is ready */
-        if (xf_output_port_ready(&codec->output))
-        {
-            xa_base_schedule(base, 0);
-        }
-    }
-
-    TRACE(INPUT, _b("Received buffer [%p]:%u"), m->buffer, m->length);
-
-    return XA_NO_ERROR;
-}
-
-/* ...FILL-THIS-BUFFER command processing */
-static XA_ERRORCODE xa_codec_fill_this_buffer(XACodecBase *base, xf_message_t *m)
-{
-    XAAudioCodec   *codec = (XAAudioCodec *) base;
-
-    /* ...make sure the port is valid */
-    XF_CHK_ERR(XF_MSG_DST_PORT(m->id) == 1, XA_API_FATAL_INVALID_CMD);
-
-    /* ...command is allowed only in postinit state */
-    XF_CHK_ERR(base->state & XA_BASE_FLAG_POSTINIT, XA_API_FATAL_INVALID_CMD);
-
-    /* ...special handling of zero-length buffer */
-    if (base->state & XA_BASE_FLAG_RUNTIME_INIT)
-    {
-        /* ...message must be zero-length */
-        BUG(m->length != 0, _x("Invalid message length: %u"), m->length);
-    }
-    else if (m == xf_output_port_control_msg(&codec->output))
-    {
-        /* ...end-of-stream processing indication received; check the state */
-        BUG((base->state & XA_BASE_FLAG_COMPLETED) == 0, _x("invalid state: %x"), base->state);
-
-        /* ... mark flushing sequence is done */
-        xf_output_port_flush_done(&codec->output);
-
-        /* ...complete pending zero-length input buffer */
-        xf_input_port_purge(&codec->input);
-
-        TRACE(INFO, _b("codec[%p] playback completed"), codec);
-
-        /* ...playback is over */
-        return XA_NO_ERROR;
-    }
-    else if ((base->state & XA_BASE_FLAG_COMPLETED) && !xf_output_port_routed(&codec->output))
-    {
-        /* ...return message arrived from application immediately */
-        xf_response_ok(m);
-
-        return XA_NO_ERROR;
-    }
-    else
-    {
-        TRACE(OUTPUT, _b("Received output buffer [%p]:%u"), m->buffer, m->length);
-
-        /* ...adjust message length (may be shorter than original) */
-        m->length = codec->output.length;
-    }
-
-    /* ...place message into output port */
-    if (xf_output_port_put(&codec->output, m) && xf_input_port_ready(&codec->input))
-    {
-        /* ...schedule data processing instantly */
-        if (base->state & (XA_BASE_FLAG_RUNTIME_INIT | XA_BASE_FLAG_EXECUTION))
-        {
-            xa_base_schedule(base, 0);
-        }
-    }
-
-    return XA_NO_ERROR;
-}
-
-/* ...output port routing */
-static XA_ERRORCODE xa_codec_port_route(XACodecBase *base, xf_message_t *m)
-{
-    XAAudioCodec           *codec = (XAAudioCodec *) base;
-    xf_route_port_msg_t    *cmd = m->buffer;
-    xf_output_port_t       *port = &codec->output;
-    u32                     src = XF_MSG_DST(m->id);
-    u32                     dst = cmd->dst;
-    
-    /* ...command is allowed only in "postinit" state */
-    XF_CHK_ERR(base->state & XA_BASE_FLAG_POSTINIT, XA_API_FATAL_INVALID_CMD);
-
-    /* ...make sure output port is addressed */
-    XF_CHK_ERR(XF_MSG_DST_PORT(m->id) == 1, XA_API_FATAL_INVALID_CMD_TYPE);
-
-    /* ...make sure port is not routed yet */
-    XF_CHK_ERR(!xf_output_port_routed(port), XA_API_FATAL_INVALID_CMD_TYPE);
-
-    /* ...route output port - allocate queue */
-    XF_CHK_ERR(xf_output_port_route(port, __XF_MSG_ID(dst, src), cmd->alloc_number, cmd->alloc_size, cmd->alloc_align) == 0, XA_API_FATAL_MEM_ALLOC);
-
-    /* ...schedule processing instantly */
-    xa_base_schedule(base, 0);
-    
-    /* ...pass success result to caller */
-    xf_response_ok(m);
-    
-    return XA_NO_ERROR;
-}
-
-/* ...port unroute command */
-static XA_ERRORCODE xa_codec_port_unroute(XACodecBase *base, xf_message_t *m)
-{
-    XAAudioCodec           *codec = (XAAudioCodec *) base;
-    
-    /* ...command is allowed only in "postinit" state */
-    XF_CHK_ERR(base->state & XA_BASE_FLAG_POSTINIT, XA_API_FATAL_INVALID_CMD);
-
-    /* ...make sure output port is addressed */
-    XF_CHK_ERR(XF_MSG_DST_PORT(m->id) == 1, XA_API_FATAL_INVALID_CMD_TYPE);
-
-    /* ...cancel any pending processing */
-    xa_base_cancel(base);
-
-    /* ...clear output-port-setup condition */
-    base->state &= ~XA_CODEC_FLAG_OUTPUT_SETUP;
-
-    /* ...pass flush command down the graph */
-    if (xf_output_port_flush(&codec->output, XF_FLUSH))
-    {
-        TRACE(INFO, _b("port is idle; instantly unroute"));
-
-        /* ...flushing sequence is not needed; command may be satisfied instantly */
-        xf_output_port_unroute(&codec->output);
-
-        /* ...pass response to the proxy */
-        xf_response_ok(m);
-    }
-    else
-    {
-        TRACE(INFO, _b("port is busy; propagate unroute command"));
-
-        /* ...flushing sequence is started; save flow-control message */
-        xf_output_port_unroute_start(&codec->output, m);
-    }
-
-    return XA_NO_ERROR;
-}
-
-/* ...FLUSH command processing */
-static XA_ERRORCODE xa_codec_flush(XACodecBase *base, xf_message_t *m)
-{
-    XAAudioCodec   *codec = (XAAudioCodec *) base;
-
-    /* ...command is allowed only in "postinit" state */
-    XF_CHK_ERR(base->state & XA_BASE_FLAG_POSTINIT, XA_API_FATAL_INVALID_CMD);
-
-    /* ...ensure input parameter length is zero */
-    XF_CHK_ERR(m->length == 0, XA_API_FATAL_INVALID_CMD_TYPE);
-
-    TRACE(1, _b("flush command received"));
-    
-    /* ...flush command must be addressed to input port */
-    if (XF_MSG_DST_PORT(m->id) == 0)
-    {
-        /* ...cancel data processing message if needed */
-        xa_base_cancel(base);
-
-        /* ...input port flushing; purge content of input buffer */
-        xf_input_port_purge(&codec->input);
-
-        /* ...clear input-ready condition */
-        base->state &= ~XA_CODEC_FLAG_INPUT_SETUP;
-
-        /* ...reset execution runtime */
-        XA_API(base, XA_API_CMD_EXECUTE, XA_CMD_TYPE_DO_RUNTIME_INIT, NULL);
-
-        /* ...reset produced samples counter */
-        codec->produced = 0;
-
-        /* ...propagate flushing command to output port */
-        if (xf_output_port_flush(&codec->output, XF_FLUSH))
-        {
-            /* ...flushing sequence is not needed; satisfy command instantly */
-            xf_response(m);
-        }
-        else
-        {
-            /* ...flushing sequence is started; save flow-control message at input port */
-            xf_input_port_control_save(&codec->input, m);
-        }
-    }
-    else if (xf_output_port_unrouting(&codec->output))
-    {
-        /* ...flushing during port unrouting; complete unroute sequence */
-        xf_output_port_unroute_done(&codec->output);
-
-        TRACE(INFO, _b("port is unrouted"));
-    }
-    else
-    {
-        /* ...output port flush command/response; check if the port is routed */
-        if (!xf_output_port_routed(&codec->output))
-        {
-            /* ...complete all queued messages */
-            xf_output_port_flush(&codec->output, XF_FLUSH);
-
-            /* ...and pass response to flushing command */
-            xf_response(m);
-        }
-        else
-        {            
-            /* ...response to flushing command received */
-            BUG(m != xf_output_port_control_msg(&codec->output), _x("invalid message: %p"), m);
-
-            /* ...mark flushing sequence is completed */
-            xf_output_port_flush_done(&codec->output);
-
-            /* ...complete original flow-control command */
-            xf_input_port_purge_done(&codec->input);
-        }
-
-        /* ...clear output-setup condition */
-        base->state &= ~XA_CODEC_FLAG_OUTPUT_SETUP;
-    }
-
-    return XA_NO_ERROR;
-}
-
-/*******************************************************************************
- * Generic codec API
- ******************************************************************************/
-
-/* ...memory buffer handling */
-static XA_ERRORCODE xa_codec_memtab(XACodecBase *base, WORD32 idx, WORD32 type, WORD32 size, WORD32 align, u32 core)
-{
-    XAAudioCodec   *codec = (XAAudioCodec *) base;
-
-    if (type == XA_MEMTYPE_INPUT)
-    {
-        /* ...input port specification; allocate internal buffer */
-        XF_CHK_ERR(xf_input_port_init(&codec->input, size, align, core) == 0, XA_API_FATAL_MEM_ALLOC);
-
-        /* ...save input port index */
-        codec->in_idx = idx;
-
-        /* ...set input buffer pointer as needed */
-        (size ? XA_API(base, XA_API_CMD_SET_MEM_PTR, idx, codec->input.buffer) : 0);
-
-        (size ? TRACE(1, _x("set input ptr: %p"), codec->input.buffer) : 0);
-    }
-    else
-    {
-        /* ...output buffer specification */
-        XF_CHK_ERR(type == XA_MEMTYPE_OUTPUT, XA_API_FATAL_INVALID_CMD_TYPE);
-
-        /* ...initialize output port queue (no allocation here yet) */
-        XF_CHK_ERR(xf_output_port_init(&codec->output, size) == 0, XA_API_FATAL_MEM_ALLOC);
-
-        /* ...save output port index */
-        codec->out_idx = idx;
-    }
-
-    return XA_NO_ERROR;
-}
-
-/* ...prepare input/output buffers */
-static XA_ERRORCODE xa_codec_preprocess(XACodecBase *base)
-{
-    XAAudioCodec   *codec = (XAAudioCodec *) base;
-
-    /* ...prepare output buffer if needed */
-    if (!(base->state & XA_CODEC_FLAG_OUTPUT_SETUP))
-    {
-        void   *output;
-
-        /* ...get output buffer from port, if possible */
-        if (base->state & XA_BASE_FLAG_RUNTIME_INIT)
-        {
-            /* ...run-time is not initialized yet; use scratch buffer */
-            output = base->scratch;
-        }
-        else if ((output = xf_output_port_data(&codec->output)) == NULL)
-        {
-            /* ...no output buffer available */
-            return XA_CODEC_EXEC_NO_DATA;
-        }
-
-        /* ...set the output buffer pointer */
-        XA_API(base, XA_API_CMD_SET_MEM_PTR, codec->out_idx, output);
-
-        TRACE(1, _x("set output ptr: %p"), output);
-        
-        /* ...mark output port is setup */
-        base->state ^= XA_CODEC_FLAG_OUTPUT_SETUP;
-    }
-
-    /* ...prepare input data if needed */
-    if (!(base->state & XA_CODEC_FLAG_INPUT_SETUP))
-    {
-        void   *input;
-        u32     filled;
-
-        /* ...fill input buffer */
-        if (xf_input_port_bypass(&codec->input))
-        {
-            /* ...use input buffer directly; check if there is data available */
-            if ((input = xf_input_port_data(&codec->input)) != NULL)
-            {
-                /* ...set input data buffer pointer */
-                XA_API(base, XA_API_CMD_SET_MEM_PTR, codec->in_idx, input);
-
-                /* ...retrieve number of input bytes */
-                filled = xf_input_port_length(&codec->input);
-            }
-            else if (!xf_input_port_done(&codec->input))
-            {
-                /* ...return non-fatal indication to prevent further processing */
-                return XA_CODEC_EXEC_NO_DATA;
-            }
-            else
-            {
-                /* ...mark we have no data in current buffer */
-                filled = 0;
-            }
-        }
-        else
-        {
-            /* ...port is in non-bypass mode; try to fill internal buffer */
-            if (xf_input_port_done(&codec->input) || xf_input_port_fill(&codec->input))
-            {
-                /* ...retrieve number of bytes in input buffer (not really - tbd) */
-                filled = xf_input_port_level(&codec->input);
-            }
-            else
-            {
-                /* ...return non-fatal indication to prevent further processing */
-                return XA_CODEC_EXEC_NO_DATA;
-            }
-        }
-
-        /* ...check if input stream is over */
-        if (xf_input_port_done(&codec->input))
-        {
-            /* ...pass input-over command to the codec to indicate the final buffer */
-            XA_API(base, XA_API_CMD_INPUT_OVER, codec->in_idx, NULL);
-
-            TRACE(INFO, _b("codec[%p]: signal input-over (filled: %u)"), codec, filled);
-        }
-
-        TRACE(INPUT, _b("input-buffer fill-level: %u bytes"), filled);
-
-        /* ...specify number of bytes available in the input buffer */
-        XA_API(base, XA_API_CMD_SET_INPUT_BYTES, codec->in_idx, &filled);
-
-        /* ...mark input port is setup */
-        base->state ^= XA_CODEC_FLAG_INPUT_SETUP;
-    }
-
-    return XA_NO_ERROR;
-}
-
-/* ...post-processing operation; input/output ports maintenance */
-static XA_ERRORCODE xa_codec_postprocess(XACodecBase *base, int done)
-{
-    XAAudioCodec   *codec = (XAAudioCodec *) base;
-    WORD32          consumed = 0;
-    WORD32          produced = 0;
-
-    /* ...get number of consumed / produced bytes */
-    XA_API(base, XA_API_CMD_GET_CURIDX_INPUT_BUF, codec->in_idx, &consumed);
-
-    /* ...get number of produced bytes only if runtime is initialized (sample size is known) */
-    (codec->sample_size ? XA_API(base, XA_API_CMD_GET_OUTPUT_BYTES, codec->out_idx, &produced) : 0);
-
-    TRACE(DECODE, _b("codec[%p]::postprocess(c=%u, p=%u, d=%u)"), codec, consumed, produced, done);
-
-    /* ...input buffer maintenance; check if we consumed anything */
-    if (consumed)
-    {
-        /* ...consume specified number of bytes from input port */
-        xf_input_port_consume(&codec->input, consumed);
-
-        /* ...clear input-setup flag */
-        base->state ^= XA_CODEC_FLAG_INPUT_SETUP;
-    }
-
-    /* ...output buffer maintenance; check if we have produced anything */
-    if (produced)
-    {
-        /* ...increment total number of produced samples (really don't like division here - tbd) */
-        codec->produced += produced / codec->sample_size;
-
-        /* ...immediately complete output buffer (don't wait until it gets filled) */
-        xf_output_port_produce(&codec->output, produced);
-
-        /* ...clear output port setup flag */
-        base->state ^= XA_CODEC_FLAG_OUTPUT_SETUP;
-    }
-
-    /* ...process execution stage transition */
-    if (done)
-    {
-        if (base->state & XA_BASE_FLAG_RUNTIME_INIT)
-        {
-            /* ...stream is completed while codec is in runtime initialization stage */
-            BUG(1, _x("breakpoint"));
-        }
-        else if (base->state & XA_BASE_FLAG_EXECUTION)
-        {
-            /* ...runtime initialization done */
-            XA_CHK(xa_codec_prepare_runtime(codec));
-
-            /* ...clear output port setup flag as we were using scratch buffer;
-             * technically, no need to repeat setup of input buffer, but some codecs require
-             * it as well
-             */
-            base->state &= ~(XA_CODEC_FLAG_INPUT_SETUP | XA_CODEC_FLAG_OUTPUT_SETUP);
-        }
-        else
-        {
-            /* ...output stream is over; propagate condition to sink port */
-            if (xf_output_port_flush(&codec->output, XF_FILL_THIS_BUFFER))
-            {
-                /* ...flushing sequence is not needed; complete pending zero-length input */
-                xf_input_port_purge(&codec->input);
-                
-                /* ...no propagation to output port */
-                TRACE(INFO, _b("codec[%p] playback completed"), codec);
-            }
-            else
-            {
-                /* ...flushing sequence is started; wait until flow-control message returns */
-                TRACE(INFO, _b("propagate end-of-stream condition"));
-            }
-        }
-
-        /* ...return early to prevent task rescheduling */
-        return XA_NO_ERROR;
-    }
-
-    /* ...reschedule processing if needed */
-    if (xf_input_port_ready(&codec->input) && xf_output_port_ready(&codec->output))
-    {
-        /* ...schedule data processing with respect to its urgency */
-        xa_base_schedule(base, produced * codec->factor);
-    }
-
-    return XA_NO_ERROR;
-}
-
-/* ...configuration parameter retrieval */
-static XA_ERRORCODE xa_codec_getparam(XACodecBase *base, WORD32 id, pVOID value)
-{
-    XAAudioCodec   *codec = (XAAudioCodec *) base;
-
-    if (id == XA_CODEC_CONFIG_PARAM_PRODUCED)
-    {
-        /* ...retrieve number of produced samples since last reset */
-        *(u32 *)value = codec->produced;
-
-        return XA_NO_ERROR;
-    }
-    else
-    {
-        /* ...pass command to underlying codec plugin */
-        return XA_API(base, XA_API_CMD_GET_CONFIG_PARAM, id, value);
-    }
-}
-
-/*******************************************************************************
- * Component entry point
- ******************************************************************************/
-
-/* ...command hooks */
-static XA_ERRORCODE (* const xa_codec_cmd[])(XACodecBase *, xf_message_t *) =
-{
-    [XF_OPCODE_TYPE(XF_SET_PARAM)] = xa_base_set_param,
-    [XF_OPCODE_TYPE(XF_GET_PARAM)] = xa_base_get_param,
-    [XF_OPCODE_TYPE(XF_ROUTE)] = xa_codec_port_route,
-    [XF_OPCODE_TYPE(XF_UNROUTE)] = xa_codec_port_unroute,
-    [XF_OPCODE_TYPE(XF_EMPTY_THIS_BUFFER)] = xa_codec_empty_this_buffer,
-    [XF_OPCODE_TYPE(XF_FILL_THIS_BUFFER)] = xa_codec_fill_this_buffer,
-    [XF_OPCODE_TYPE(XF_FLUSH)] = xa_codec_flush,
-    [XF_OPCODE_TYPE(XF_SET_PARAM_EXT)] = xa_base_set_param_ext,
-    [XF_OPCODE_TYPE(XF_GET_PARAM_EXT)] = xa_base_get_param_ext,
-};
-
-/* ...total number of commands supported */
-#define XA_CODEC_CMD_NUM        (sizeof(xa_codec_cmd) / sizeof(xa_codec_cmd[0]))
-
-/* ...command processor for termination state (only for routed port case) */
-static int xa_audio_codec_terminate(xf_component_t *component, xf_message_t *m)
-{
-    XAAudioCodec   *codec = (XAAudioCodec *) component;
-    u32             opcode = m->opcode;
-
-    /* ...check if we received output port control message */
-    if (m == xf_output_port_control_msg(&codec->output))
-    {
-        /* ...output port flushing complete; mark port is idle and terminate */
-        xf_output_port_flush_done(&codec->output);
-        return -1;
-    }
-    else if (opcode == XF_FILL_THIS_BUFFER)
-    {
-        /* ...output buffer returned by the sink component; ignore and keep waiting */
-        TRACE(OUTPUT, _b("collect output buffer"));
-        return 0;
-    }
-    else if (opcode == XF_UNREGISTER)
-    {
-        /* ...ignore subsequent unregister command/response - tbd */
-        return 0;
-    }
-    else
-    {
-        /* ...everything else is responded with generic failure */
-        xf_response_err(m);
-        return 0;
-    }
-}
-
-/* ...audio codec destructor */
-static int xa_audio_codec_destroy(xf_component_t *component, xf_message_t *m)
-{
-    XAAudioCodec   *codec = (XAAudioCodec *) component;
-    u32             core = xf_component_core(component);
-
-    /* ...destroy input port */
-    xf_input_port_destroy(&codec->input, core);
-
-    /* ...destroy output port */
-    xf_output_port_destroy(&codec->output, core);
-
-    /* ...deallocate all resources */
-    xa_base_destroy(&codec->base, XF_MM(sizeof(*codec)), core);
-
-    TRACE(INIT, _b("audio-codec[%p@%u] destroyed"), codec, core);
-
-    /* ...indicate the client has been destroyed */
-    return 0;
-}
-
-/* ...audio codec destructor - first stage (ports unrouting) */
-static int xa_audio_codec_cleanup(xf_component_t *component, xf_message_t *m)
-{
-    XAAudioCodec *codec = (XAAudioCodec *) component;
-
-    /* ...complete message with error response */
-    xf_response_err(m);
-
-    /* ...cancel internal scheduling message if needed */
-    xa_base_cancel(&codec->base);
-
-    /* ...purge input port (returns OK? pretty strange at this point - tbd) */
-    xf_input_port_purge(&codec->input);
-
-    /* ...propagate unregister command to connected component */
-    if (xf_output_port_flush(&codec->output, XF_FLUSH))
-    {
-        /* ...flushing sequence is not needed; destroy audio codec */
-        return xa_audio_codec_destroy(component, NULL);
-    }
-    else
-    {
-        /* ...wait until output port is cleaned; adjust component hooks */
-        component->entry = xa_audio_codec_terminate;
-        component->exit = xa_audio_codec_destroy;
-
-        TRACE(INIT, _b("codec[%p] cleanup sequence started"), codec);
-
-        /* ...indicate that second stage is required */
-        return 1;
-    }
-}
-
-/*******************************************************************************
- * Audio codec component factory
- ******************************************************************************/
-
-xf_component_t * xa_audio_codec_factory(u32 core, xa_codec_func_t process)
-{
-    XAAudioCodec   *codec;
-
-    /* ...allocate local memory for codec structure */
-    XF_CHK_ERR(codec = (XAAudioCodec *) xa_base_factory(core, XF_MM(sizeof(*codec)), process), NULL);
-
-    /* ...set base codec API methods */
-    codec->base.memtab = xa_codec_memtab;
-    codec->base.preprocess = xa_codec_preprocess;
-    codec->base.postprocess = xa_codec_postprocess;
-    codec->base.getparam = xa_codec_getparam;
-
-    /* ...set message commands processing table */
-    codec->base.command = xa_codec_cmd;
-    codec->base.command_num = XA_CODEC_CMD_NUM;
-
-    /* ...set component destructor hook */
-    codec->base.component.exit = xa_audio_codec_cleanup;
-
-    TRACE(INIT, _b("Codec[%p] initialized"), codec);
-
-    return (xf_component_t *) codec;
-}
diff --git a/hifi/xaf/hifi-dpf/audio/xa-class-base.c b/hifi/xaf/hifi-dpf/audio/xa-class-base.c
deleted file mode 100644
index ef1110e..0000000
--- a/hifi/xaf/hifi-dpf/audio/xa-class-base.c
+++ /dev/null
@@ -1,537 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/*******************************************************************************
- * xa-class-base.c
- *
- * Generic audio codec task implementation
- *
- ******************************************************************************/
-
-#define MODULE_TAG                      BASE
-
-/*******************************************************************************
- * Includes
- ******************************************************************************/
-
-#include "xf.h"
-#include "xa-class-base.h"
-
-/*******************************************************************************
- * Tracing configuration
- ******************************************************************************/
-
-TRACE_TAG(INIT, 1);
-TRACE_TAG(WARNING, 1);
-TRACE_TAG(SETUP, 1);
-TRACE_TAG(EXEC, 1);
-
-/*******************************************************************************
- * Internal functions definitions
- ******************************************************************************/
-
-/* ...codec pre-initialization */
-static XA_ERRORCODE xa_base_preinit(XACodecBase *base, u32 core)
-{
-    WORD32      n;
-
-    /* ...codec must be empty */
-    XF_CHK_ERR(base->state == 0, XA_API_FATAL_INVALID_CMD);
-
-    /* ...get API structure size */
-    XA_API(base, XA_API_CMD_GET_API_SIZE, 0, &n);
-
-    /* ...allocate memory for codec API structure (4-bytes aligned) */
-    XMALLOC(&base->api, n, 4, core);
-
-    /* ...set default config parameters */
-    XA_API(base, XA_API_CMD_INIT, XA_CMD_TYPE_INIT_API_PRE_CONFIG_PARAMS, NULL);
-
-    /* ...get memory info tables size */
-    if (XA_API(base, XA_API_CMD_GET_MEMTABS_SIZE, 0, &n), n != 0)
-    {
-        /* ...allocate memory for tables (4-bytes aligned) */
-        XMALLOC(&base->mem_tabs, n, 4, core);
-
-        /* ...set pointer for process memory tables */
-        XA_API(base, XA_API_CMD_SET_MEMTABS_PTR, 0, base->mem_tabs.addr);
-    }
-    
-    TRACE(INIT, _b("Codec[%p] pre-initialization completed"), base);
-    
-    return XA_NO_ERROR;
-}
-
-/* ...post-initialization setup */
-static XA_ERRORCODE xa_base_postinit(XACodecBase *base, u32 core)
-{
-    WORD32  n, i;
-    
-    /* ...issue post-config command and determine the buffer requirements */
-    XA_API(base, XA_API_CMD_INIT, XA_CMD_TYPE_INIT_API_POST_CONFIG_PARAMS, NULL);
-
-    /* ...get number of memory tables required */
-    XA_API(base, XA_API_CMD_GET_N_MEMTABS, 0, &n);
-
-    /* ...set scratch buffer in advance (as codec not necessarily exposes it) */
-    base->scratch = XF_CORE_DATA(core)->scratch;
-
-    /* ...allocate memory buffers */
-    for (i = 0; i < n; i++)
-    {
-        WORD32      size, align, type;
-
-        TRACE(1, _b("i = %u (of %u)"), (u32)i, (u32)n);
-        
-        /* ...get memory type */
-        XA_API(base, XA_API_CMD_GET_MEM_INFO_TYPE, i, &type);
-
-        /* ...get memory size of i-th buffer */
-        XA_API(base, XA_API_CMD_GET_MEM_INFO_SIZE, i, &size);
-
-        /* ...get alignment */
-        XA_API(base, XA_API_CMD_GET_MEM_INFO_ALIGNMENT, i, &align);
-
-        /* ...process individual buffer */
-        switch (type)
-        {
-        case XA_MEMTYPE_SCRATCH:
-            /* ...scratch memory is shared among all codecs; check its validity */
-            XF_CHK_ERR(size <= XF_CFG_CODEC_SCRATCHMEM_SIZE, XA_API_FATAL_MEM_ALLOC);
-
-            /* ...make sure alignment is valid */
-            XF_CHK_ERR((XF_CFG_CODEC_SCRATCHMEM_ALIGN & (align - 1)) == 0, XA_API_FATAL_MEM_ALIGN);
-
-            /* ...set the scratch memory pointer */
-            XA_API(base, XA_API_CMD_SET_MEM_PTR, i, base->scratch);
-
-            TRACE(INIT, _b("Mem tab %d: sz=%d al=%d ty=%d Scratch memory (%p)"), i, size, align, type, base->scratch);
-
-            break;
-
-        case XA_MEMTYPE_PERSIST:
-            /* ...allocate persistent memory */
-            XMALLOC(&base->persist, size, align, core);
-
-            /* ...and set the pointer instantly */
-            XA_API(base, XA_API_CMD_SET_MEM_PTR, i, base->persist.addr);
-
-            TRACE(INIT, _b("Mem tab %d: sz=%d al=%d ty=%d Persistent memory (%p)"), i, size, align, type, base->persist.addr);
-
-            break;
-
-        case XA_MEMTYPE_INPUT:
-        case XA_MEMTYPE_OUTPUT:
-            /* ...input/output buffer specification; pass to codec function */
-            CODEC_API(base, memtab, i, type, size, align, core);
-
-            break;
-
-        default:
-            /* ...unrecognized memory type */
-            TRACE(ERROR, _x("Invalid memory type: [%d]=(%u, %u, %u)"), i, type, size, align);
-            return XA_API_FATAL_INVALID_CMD_TYPE;
-        }
-    }
-
-    TRACE(INIT, _b("Codec[%p] post-initialization completed (api:%p[%u])"), base, base->api.addr, base->api.size);
-
-    return XA_NO_ERROR;
-}
-
-/*******************************************************************************
- * Commands processing
- ******************************************************************************/
-
-/* ...SET-PARAM processing (enabled in all states) */
-XA_ERRORCODE xa_base_set_param(XACodecBase *base, xf_message_t *m)
-{
-    xf_set_param_msg_t     *cmd = m->buffer;
-    xf_set_param_item_t    *param = &cmd->item[0];
-    WORD32                  n, i;
-
-    /* ...calculate total amount of parameters */
-    n = m->length / sizeof(*param);
-
-    /* ...check the message length is valid */
-    XF_CHK_ERR(m->length == XF_SET_PARAM_CMD_LEN(n), XA_API_FATAL_INVALID_CMD_TYPE);
-
-    /* ...apply all parameters; pass to codec-specific function */
-    for (i = 0; i < n; i++)
-    {
-        TRACE(SETUP, _b("set-param[%p]: [%u]=%u"), base, param[i].id, param[i].value);
-
-        if (base->setparam)
-        {
-            CODEC_API(base, setparam, param[i].id, &param[i].value);
-        }
-        else
-        {
-            XA_API(base, XA_API_CMD_SET_CONFIG_PARAM, param[i].id, &param[i].value);
-        }
-    }
-
-    /* ...check if we need to do post-initialization */
-    if ((base->state & XA_BASE_FLAG_POSTINIT) == 0)
-    {
-        /* ...do post-initialization step */
-        XA_CHK(xa_base_postinit(base, XF_MSG_DST_CORE(m->id)));
-        
-        /* ...mark the codec static configuration is set */
-        base->state ^= XA_BASE_FLAG_POSTINIT | XA_BASE_FLAG_RUNTIME_INIT;
-    }
-    
-    /* ...complete message processing; output buffer is empty */
-    xf_response_ok(m);
-
-    return XA_NO_ERROR;
-}
-
-/* ...GET-PARAM message processing (enabled in all states) */
-XA_ERRORCODE xa_base_get_param(XACodecBase *base, xf_message_t *m)
-{
-    xf_get_param_msg_t *cmd = m->buffer;
-    u32                *id = &cmd->c.id[0];
-    u32                *value = &cmd->r.value[0];
-    u32                 n, i;
-
-    /* ...calculate amount of parameters */
-    n = m->length / sizeof(*id);
-
-    /* ...check input parameter length */
-    XF_CHK_ERR(XF_GET_PARAM_CMD_LEN(n) == m->length, XA_API_FATAL_INVALID_CMD_TYPE);
-
-    /* ...retrieve the collection of codec  parameters */
-    for (i = 0; i < n; i++)
-    {
-        /* ...place the result into same location */
-        if (base->getparam)
-        {
-            CODEC_API(base, getparam, id[i], &value[i]);
-        }
-        else
-        {
-            XA_API(base, XA_API_CMD_GET_CONFIG_PARAM, id[i], &value[i]);
-        }
-    }
-
-    /* ...complete message specifying output buffer size */
-    xf_response_data(m, XF_GET_PARAM_RSP_LEN(n));
-
-    return XA_NO_ERROR;
-}
-
-/* ...SET-PARAM-EXT processing (enabled in all states) */
-XA_ERRORCODE xa_base_set_param_ext(XACodecBase *base, xf_message_t *m)
-{
-    xf_ext_param_msg_t *cmd = m->buffer;
-    u16                 length = m->length;
-    u16                 remaining = (length + 3) & ~3;
-    u16                 i;
-    
-    for (i = 0; TRACE_CFG(SETUP) && i < remaining; i += 16)
-    {
-        TRACE(SETUP, _b("[%03x]: %02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X"),
-              i, 
-              ((u8 *)m->buffer)[i + 0], ((u8 *)m->buffer)[i + 1],
-              ((u8 *)m->buffer)[i + 2], ((u8 *)m->buffer)[i + 3],
-              ((u8 *)m->buffer)[i + 4], ((u8 *)m->buffer)[i + 5],
-              ((u8 *)m->buffer)[i + 6], ((u8 *)m->buffer)[i + 7],
-              ((u8 *)m->buffer)[i + 8], ((u8 *)m->buffer)[i + 9],
-              ((u8 *)m->buffer)[i + 10], ((u8 *)m->buffer)[i + 11],
-              ((u8 *)m->buffer)[i + 12], ((u8 *)m->buffer)[i + 13],
-              ((u8 *)m->buffer)[i + 14], ((u8 *)m->buffer)[i + 15]);
-    }    
-
-    /* ...process all parameters encapsulated in buffer */
-    while (remaining >= sizeof(*cmd))
-    {
-        u16     id = cmd->desc.id;
-        u16     dlen = cmd->desc.length;
-        u16     dsize = (dlen + 3) & ~3;
-        u16     pad = dlen & 3;
-
-        /* ...cut-off descriptor header */
-        remaining -= sizeof(*cmd);
-
-        TRACE(SETUP, _b("remaining:%u, desc_size:%u"), (u32)remaining, (u32)dsize);
-        
-        /* ...make sure length is sufficient */        
-        XF_CHK_ERR(remaining >= dsize, XA_API_FATAL_INVALID_CMD_TYPE);
-        
-        /* ...pad remaining bytes with zeroes */
-        (pad ? memset(cmd->data + dlen, 0, 4 - pad) : 0);
-
-        TRACE(SETUP, _b("set-ext-param[%p]: [%u]:%u - [%02X:%02X:%02X:%02X:...]"), base, id, dsize, cmd->data[0], cmd->data[1], cmd->data[2], cmd->data[3]);
-
-        /* ...apply parameter */
-        XA_API(base, XA_API_CMD_SET_CONFIG_PARAM, id, cmd->data);
-
-        /* ...move to next item (keep 4-bytes alignment for descriptor) */
-        cmd = (xf_ext_param_msg_t *)(&cmd->data[0] + dsize), remaining -= dsize;
-    }
-    
-    /* ...check the message is fully processed */
-    XF_CHK_ERR(remaining == 0, XA_API_FATAL_INVALID_CMD_TYPE);
-
-    /* ...complete message processing; output buffer is empty */
-    //xf_response_ok(m);
-
-    /* ...unfortunately, it looks like a bug of the library that updates the memory
-     * and leaves it in a dirty state causing subsequent cache inconsistency - tbd
-     */
-    xf_response_data(m, length);
-
-    return XA_NO_ERROR;
-}
-
-/* ...GET-PARAM-EXT message processing (enabled in all states) */
-XA_ERRORCODE xa_base_get_param_ext(XACodecBase *base, xf_message_t *m)
-{
-    xf_ext_param_msg_t *cmd = m->buffer;
-    u32                 length = m->length;
-    u32                 remaining = (length + 3) & ~3;
-    int                 i;
-
-    for (i = 0; TRACE_CFG(SETUP) && i < remaining; i += 16)
-    {
-        TRACE(SETUP, _b("[%03x]: %02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X"),
-              i, 
-              ((u8 *)m->buffer)[i + 0], ((u8 *)m->buffer)[i + 1],
-              ((u8 *)m->buffer)[i + 2], ((u8 *)m->buffer)[i + 3],
-              ((u8 *)m->buffer)[i + 4], ((u8 *)m->buffer)[i + 5],
-              ((u8 *)m->buffer)[i + 6], ((u8 *)m->buffer)[i + 7],
-              ((u8 *)m->buffer)[i + 8], ((u8 *)m->buffer)[i + 9],
-              ((u8 *)m->buffer)[i + 10], ((u8 *)m->buffer)[i + 11],
-              ((u8 *)m->buffer)[i + 12], ((u8 *)m->buffer)[i + 13],
-              ((u8 *)m->buffer)[i + 14], ((u8 *)m->buffer)[i + 15]);
-    }
-    
-    /* ...process all parameters encapsulated in buffer */
-    while (remaining >= sizeof(*cmd))
-    {
-        u16     id = cmd->desc.id;
-        u16     len = cmd->desc.length;
-        u16     size = (len + 3) & ~3;
-        u8      pad = len & 3;
-
-        /* ...cut-off command header */
-        remaining -= sizeof(*cmd);
-
-        /* ...make sure data buffer has sufficient length */
-        XF_CHK_ERR(remaining >= size, XA_API_FATAL_INVALID_CMD_TYPE);
-        
-        /* ...retrieve parameter from buffer (care about alignment? - tbd) */
-        XA_API(base, XA_API_CMD_GET_CONFIG_PARAM, id, cmd->data);
-
-        /* ...pad remaininig bytes with zeroes */
-        (pad ? memset(cmd->data + len, 0, 4 - pad) : 0);
-
-        TRACE(SETUP, _b("get-ext-param[%p]: [%u]:%u - [%02X:%02X:%02X:%02X:...]"), base, id, size, cmd->data[0], cmd->data[1], cmd->data[2], cmd->data[3]);
-        
-        /* ...move to next item (alignment issues? - tbd) */
-        cmd = (xf_ext_param_msg_t *)(&cmd->data[0] + size), remaining -= size;
-    }
-    
-    /* ...check the message is fully processed */
-    XF_CHK_ERR(remaining == 0, XA_API_FATAL_INVALID_CMD_TYPE);
-
-    /* ...complete message processing; output buffer has the same length */
-    xf_response_data(m, length);
-
-    return XA_NO_ERROR;
-}
-
-/*******************************************************************************
- * Command/data processing functions
- ******************************************************************************/
-
-/* ...generic codec data processing */
-static XA_ERRORCODE xa_base_process(XACodecBase *base)
-{
-    XA_ERRORCODE    error;
-    WORD32          done;
-
-    /* ...clear internal scheduling flag */
-    base->state &= ~XA_BASE_FLAG_SCHEDULE;
-        
-    /* ...codec-specific preprocessing (buffer maintenance) */
-    if ((error = CODEC_API(base, preprocess)) != XA_NO_ERROR)
-    {
-        /* ...return non-fatal codec error */
-        return error;
-    }
-
-    /* ...execution step */
-    if (base->state & XA_BASE_FLAG_RUNTIME_INIT)
-    {
-        /* ...kick initialization process */
-        XA_API(base, XA_API_CMD_INIT, XA_CMD_TYPE_INIT_PROCESS, NULL);
-
-        /* ...check if initialization is completed */
-        XA_API(base, XA_API_CMD_INIT, XA_CMD_TYPE_INIT_DONE_QUERY, &done);
-
-        TRACE(EXEC, _b("Initialization result: %d"), done);
-
-        /* ...switch to execution state if required */
-        (done ? base->state ^= XA_BASE_FLAG_RUNTIME_INIT | XA_BASE_FLAG_EXECUTION : 0);
-    }
-    else if (base->state & XA_BASE_FLAG_EXECUTION)
-    {
-        TRACE(1, _b("do exec"));
-        
-        /* ...execute decoding process */
-        XA_API(base, XA_API_CMD_EXECUTE, XA_CMD_TYPE_DO_EXECUTE, NULL);
-
-        /* ...check for end-of-stream condition */
-        XA_API(base, XA_API_CMD_EXECUTE, XA_CMD_TYPE_DONE_QUERY, &done);
-
-        TRACE(EXEC, _b("Execution result: %d"), done);
-
-        /* ...mark the output path is done to release all queued buffers */
-        (done ? base->state ^= XA_BASE_FLAG_EXECUTION | XA_BASE_FLAG_COMPLETED : 0);
-    }
-
-    /* ...codec-specific buffer post-processing */
-    return CODEC_API(base, postprocess, done);
-}
-                              
-/* ...message-processing function (component entry point) */
-static int xa_base_command(xf_component_t *component, xf_message_t *m)
-{
-    XACodecBase    *base = (XACodecBase *) component;
-    u32             cmd;
-    
-    /* ...invoke data-processing function if message is null */
-    if (m == NULL)
-    {
-        XF_CHK_ERR(!XA_ERROR_SEVERITY(xa_base_process(base)), -EPIPE);
-        return 0;
-    }
-
-    /* ...process the command */
-    TRACE(EXEC, _b("[%p]:state[%X]:(%X, %d, %p)"), base, base->state, m->opcode, m->length, m->buffer);
-
-    /* ...bail out if this is forced termination command (I do have a map; maybe I'd better have a hook? - tbd) */
-    if ((cmd = XF_OPCODE_TYPE(m->opcode)) == XF_OPCODE_TYPE(XF_UNREGISTER))
-    {
-        TRACE(INIT, _b("force component[%p] termination"), base);
-        return -1;    
-    }
-    
-    /* ...check opcode is valid */
-    XF_CHK_ERR(cmd < base->command_num, -EINVAL);
-
-    /* ...and has a hook */
-    XF_CHK_ERR(base->command[cmd] != NULL, -EINVAL);
-    
-    /* ...pass control to specific command */
-    XF_CHK_ERR(!XA_ERROR_SEVERITY(base->command[cmd](base, m)), -EPIPE);
-
-    /* ...execution completed successfully */
-    return 0;
-}
-
-/*******************************************************************************
- * Base codec API
- ******************************************************************************/
-
-/* ...data processing scheduling */
-void xa_base_schedule(XACodecBase *base, u32 dts)
-{
-    if ((base->state & XA_BASE_FLAG_SCHEDULE) == 0)
-    {
-        /* ...schedule component task execution */
-        xf_component_schedule(&base->component, dts);
-
-        /* ...and put scheduling flag */
-        base->state ^= XA_BASE_FLAG_SCHEDULE;
-    }
-    else
-    {
-        TRACE(EXEC, _b("codec[%p] processing pending"), base);
-    }
-}
-
-/* ...cancel data processing */
-void xa_base_cancel(XACodecBase *base)
-{
-    if (base->state & XA_BASE_FLAG_SCHEDULE)
-    {
-        /* ...cancel scheduled codec task */
-        xf_component_cancel(&base->component);
-
-        /* ...and clear scheduling flag */
-        base->state ^= XA_BASE_FLAG_SCHEDULE;
-
-        TRACE(EXEC, _b("codec[%p] processing cancelled"), base);
-    }
-}
-
-/* ...base codec destructor */
-void xa_base_destroy(XACodecBase *base, u32 size, u32 core)
-{
-    /* ...deallocate all resources */
-    xf_mm_free_buffer(&base->persist, core);
-    xf_mm_free_buffer(&base->mem_tabs, core);
-    xf_mm_free_buffer(&base->api, core);
-
-    /* ...destroy codec structure (and task) itself */
-    xf_mem_free(base, size, core, 0);
-
-    TRACE(INIT, _b("codec[%p]:%u destroyed"), base, core);
-}
-
-/* ...generic codec initialization routine */
-XACodecBase * xa_base_factory(u32 core, u32 size, xa_codec_func_t process)
-{
-    XACodecBase    *base;
-
-    /* ...make sure the size is valid */
-    XF_CHK_ERR(size >= sizeof(XACodecBase), NULL);
-    
-    /* ...allocate local memory for codec structure */
-    XF_CHK_ERR(base = xf_mem_alloc(size, 0, core, 0), NULL);
- 
-    /* ...reset codec memory */
-    memset(base, 0, size);
-
-    /* ...set low-level codec API function */
-    base->process = process;
-
-    /* ...set message processing function */
-    base->component.entry = xa_base_command;
-
-    /* ...do basic initialization */
-    if (xa_base_preinit(base, core) != XA_NO_ERROR)
-    {
-        /* ...initialization failed for some reason; do cleanup */
-        xa_base_destroy(base, size, core);
-
-        return NULL;
-    }   
-
-    /* ...initialization completed successfully */
-    TRACE(INIT, _b("Codec[%p]:%u initialized"), base, core);
-    
-    return base;
-}
diff --git a/hifi/xaf/hifi-dpf/audio/xa-class-base.h b/hifi/xaf/hifi-dpf/audio/xa-class-base.h
deleted file mode 100644
index 252044d..0000000
--- a/hifi/xaf/hifi-dpf/audio/xa-class-base.h
+++ /dev/null
@@ -1,263 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/*******************************************************************************
- * xa-class-base.h
- *
- * Generic Xtensa Audio codecs interfaces
- *
- ******************************************************************************/
-
-#ifndef __XA_CLASS_BASE_H
-#define __XA_CLASS_BASE_H
-
-/*******************************************************************************
- * Includes
- ******************************************************************************/
-
-/* ...audio-specific API */
-#include "audio/xa_type_def.h"
-#include "audio/xa_error_standards.h"
-#include "audio/xa_apicmd_standards.h"
-#include "audio/xa_memory_standards.h"
-
-/*******************************************************************************
- * Generic codec structure
- ******************************************************************************/
-
-typedef struct XACodecBase XACodecBase;
-
-/* ...memory buffer initialization */
-typedef XA_ERRORCODE  (*xa_codec_memtab_f)(XACodecBase *codec, WORD32 i, WORD32 type, WORD32 size, WORD32 align, u32 core);
-
-/* ...preprocessing operation */
-typedef XA_ERRORCODE  (*xa_codec_preprocess_f)(XACodecBase *);
-
-/* ...postprocessing operation */
-typedef XA_ERRORCODE  (*xa_codec_postprocess_f)(XACodecBase *, int);
-
-/* ...parameter setting function */
-typedef XA_ERRORCODE  (*xa_codec_setparam_f)(XACodecBase *, WORD32, pVOID p);
-
-/* ...parameter retrival function */
-typedef XA_ERRORCODE  (*xa_codec_getparam_f)(XACodecBase *, WORD32, pVOID p);
-
-/*******************************************************************************
- * Codec instance structure
- ******************************************************************************/
-
-struct XACodecBase
-{
-    /***************************************************************************
-     * Control data
-     **************************************************************************/
-
-    /* ...generic component handle */
-    xf_component_t          component;
-
-    /* ...codec API entry point (function) */
-    xa_codec_func_t        *process;
-
-    /* ...codec API handle, passed to *process */
-    xf_mm_buffer_t          api;
-
-    /* ...memory table buffer */
-    xf_mm_buffer_t          mem_tabs;
-
-    /* ...persistent memory buffer */
-    xf_mm_buffer_t          persist;
-
-    /* ...scratch memory pointer */
-    void                   *scratch;
-
-    /* ...codec control state */
-    u32                     state;
-
-    /***************************************************************************
-     * Codec-specific methods
-     **************************************************************************/
-
-    /* ...memory buffer initialization */
-    xa_codec_memtab_f       memtab;
- 
-    /* ...preprocessing function */
-    xa_codec_preprocess_f   preprocess;
-
-    /* ...postprocessing function */
-    xa_codec_postprocess_f  postprocess;
-
-    /* ...configuration parameter setting function */
-    xa_codec_setparam_f     setparam;
-
-    /* ...configuration parameter retrieval function */
-    xa_codec_getparam_f     getparam;
-    
-    /* ...command-processing table */
-    XA_ERRORCODE (* const * command)(XACodecBase *, xf_message_t *);
-    
-    /* ...command-processing table size */
-    u32                     command_num;
-};
-
-/*******************************************************************************
- * Base codec execution flags
- ******************************************************************************/
-
-/* ...codec static initialization completed */
-#define XA_BASE_FLAG_POSTINIT           (1 << 0)
-
-/* ...codec runtime initialization sequence */
-#define XA_BASE_FLAG_RUNTIME_INIT       (1 << 1)
-
-/* ...codec steady execution state */
-#define XA_BASE_FLAG_EXECUTION          (1 << 2)
-
-/* ...execution stage completed */
-#define XA_BASE_FLAG_COMPLETED          (1 << 3)
-
-/* ...data processing scheduling flag */
-#define XA_BASE_FLAG_SCHEDULE           (1 << 4)
-
-/* ...base codec flags accessor */
-#define __XA_BASE_FLAGS(flags)          ((flags) & ((1 << 5) - 1))
-
-/* ...custom execution flag */
-#define __XA_BASE_FLAG(f)               ((f) << 5)
-
-/*******************************************************************************
- * Local macros definitions
- ******************************************************************************/
-
-/* ...audio-framework API function execution */
-#define XA_CHK(cond)                            \
-({                                              \
-    XA_ERRORCODE  __e = (cond);                 \
-    if (__e != XA_NO_ERROR)                     \
-    {                                           \
-        if (XA_ERROR_SEVERITY(__e))             \
-        {                                       \
-            TRACE(ERROR, _x("error: %X"), __e); \
-            return __e;                         \
-        }                                       \
-        TRACE(WARNING, _x("warning: %X"), __e); \
-    }                                           \
-    __e;                                        \
-})
-
-/* ...low-level codec API function execution */
-#define XA_API(codec, cmd, idx, pv)                                                         \
-({                                                                                          \
-    XA_ERRORCODE  __e;                                                                      \
-    __e = (codec)->process((xa_codec_handle_t)(codec)->api.addr, (cmd), (idx), (pv));       \
-    if (__e != XA_NO_ERROR)                                                                 \
-    {                                                                                       \
-        if (XA_ERROR_SEVERITY(__e))                                                         \
-        {                                                                                   \
-            TRACE(ERROR, _x("[%p]:(%d, %d, %p): %X"), (codec), (cmd), (idx), (pv), __e);    \
-            return __e;                                                                     \
-        }                                                                                   \
-        TRACE(WARNING, _x("%X"), __e);                                                      \
-    }                                                                                       \
-    __e;                                                                                    \
-})
-
-#define XA_API_NORET(codec, cmd, idx, pv)                                                   \
-({                                                                                          \
-    XA_ERRORCODE  __e;                                                                      \
-    __e = (codec)->process((xa_codec_handle_t)(codec)->api.addr, (cmd), (idx), (pv));       \
-    if (__e != XA_NO_ERROR)                                                                 \
-    {                                                                                       \
-        if (XA_ERROR_SEVERITY(__e))                                                         \
-        {                                                                                   \
-            TRACE(ERROR, _x("[%p]:(%d, %d, %p): %X"), (codec), (cmd), (idx), (pv), __e);    \
-        }                                                                                   \
-        TRACE(WARNING, _x("%X"), __e);                                                      \
-    }                                                                                       \
-    __e;                                                                                    \
-})
-
-/* ...codec hook invocation */
-#define CODEC_API(codec, func, ...)                                 \
-({                                                                  \
-    XA_ERRORCODE    __e = (codec)->func((codec), ##__VA_ARGS__);    \
-                                                                    \
-    if (__e != XA_NO_ERROR)                                         \
-    {                                                               \
-        if (XA_ERROR_SEVERITY(__e))                                 \
-        {                                                           \
-            /* ...actual error is reported by the codec */          \
-            TRACE(ERROR, _x("[%p]: " #func ": %X"), (codec), __e);  \
-            return __e;                                             \
-        }                                                           \
-                                                                    \
-        TRACE(WARNING, _x("warning: %X"), __e);                     \
-    }                                                               \
-    __e;                                                            \
-})
-
-/* ...allocate local memory on specific core */
-#define XMALLOC(p, size, align, core)                                           \
-do                                                                              \
-{                                                                               \
-    if (xf_mm_alloc_buffer((size), (align), (core), (p)) != 0)                  \
-    {                                                                           \
-        TRACE(ERROR, _x("Failed to allocate %d bytes of memory"), (size));      \
-        return XA_API_FATAL_MEM_ALLOC;                                          \
-    }                                                                           \
-                                                                                \
-    if (((u32)((p)->addr) & ((align) - 1)) != 0)                                \
-    {                                                                           \
-        TRACE(ERROR, _x("Invalid %d-algnment: %p"), (align), (p)->addr);        \
-        return XA_API_FATAL_MEM_ALIGN;                                          \
-    }                                                                           \
-}                                                                               \
-while (0)
-
-/*******************************************************************************
- * Public API
- ******************************************************************************/
-
-/* ...SET-PARAM processing */
-extern XA_ERRORCODE xa_base_set_param(XACodecBase *base, xf_message_t *m);
-
-/* ...GET-PARAM-EXT message processing */
-extern XA_ERRORCODE xa_base_set_param_ext(XACodecBase *base, xf_message_t *m);
-
-/* ...GET-PARAM message processing */
-extern XA_ERRORCODE xa_base_get_param(XACodecBase *base, xf_message_t *m);
-
-/* ...GET-PARAM-EXT message processing */
-extern XA_ERRORCODE xa_base_get_param_ext(XACodecBase *base, xf_message_t *m);
-
-/* ...data processing scheduling */
-extern void xa_base_schedule(XACodecBase *base, u32 dts);
-
-/* ...cancel internal scheduling message */
-extern void xa_base_cancel(XACodecBase *base);
-
-/* ...base codec factory */
-extern XACodecBase * xa_base_factory(u32 core, u32 size, xa_codec_func_t process);
-
-/* ...base codec destructor */
-extern void xa_base_destroy(XACodecBase *base, u32 size, u32 core);
-
-#endif  /* __XA_CLASS_BASE_H */
diff --git a/hifi/xaf/hifi-dpf/audio/xa-class-mixer.c b/hifi/xaf/hifi-dpf/audio/xa-class-mixer.c
deleted file mode 100644
index 47b4740..0000000
--- a/hifi/xaf/hifi-dpf/audio/xa-class-mixer.c
+++ /dev/null
@@ -1,870 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/*******************************************************************************
- * xa-class-mixer.c
- *
- * Generic mixer component class
- *
- ******************************************************************************/
-
-#define MODULE_TAG                      MIXER
-
-/*******************************************************************************
- * Includes
- ******************************************************************************/
-
-#include "xf.h"
-#include "xa-class-base.h"
-#include "audio/xa-mixer-api.h"
-
-/*******************************************************************************
- * Tracing tags
- ******************************************************************************/
-
-TRACE_TAG(INIT, 1);
-TRACE_TAG(WARNING, 1);
-TRACE_TAG(INFO, 1);
-TRACE_TAG(INPUT, 1);
-TRACE_TAG(OUTPUT, 1);
-
-/*******************************************************************************
- * Data structures
- ******************************************************************************/
-
-/* ...mixed source - input data */
-typedef struct XATrack
-{
-    /* ...input port data */
-    xf_input_port_t     input;
-
-    /* ...current presentation timestamp (in samples; local to a mixer state) */
-    u32                 pts;
-
-    /* ...total amount of decoded frames since last synchronization point */
-    u32                 decoded;
-
-    /* ...total amount of rendered frames (consumed) since last synchronization point */
-    u32                 rendered;
-
-}   XATrack;
-
-/*******************************************************************************
- * Helpers
- ******************************************************************************/
-
-static inline u32 xa_track_test_flags(XATrack *track, u32 flags)
-{
-    return (track->input.flags & flags);
-}
-
-static inline u32 xa_track_set_flags(XATrack *track, u32 flags)
-{
-    return (track->input.flags |= flags);
-}
-
-static inline u32 xa_track_clear_flags(XATrack *track, u32 flags)
-{
-    return (track->input.flags &= ~flags);
-}
-
-static inline u32 xa_track_toggle_flags(XATrack *track, u32 flags)
-{
-    return (track->input.flags ^= flags);
-}
-
-/*******************************************************************************
- * Mixer data definitions
- ******************************************************************************/
-
-/* ...mixer data */
-typedef struct XAMixer
-{
-    /***************************************************************************
-     * Control data
-     **************************************************************************/
-
-    /* ...generic audio codec data */
-    XACodecBase         base;
-
-    /* ...input tracks */
-    XATrack             track[XA_MIXER_MAX_TRACK_NUMBER];
-    
-    /* ...output port */
-    xf_output_port_t    output;
-
-    /***************************************************************************
-     * Run-time configuration parameters
-     **************************************************************************/
-
-    /* ...audio frame size in samples */
-    u32                 frame_size;
-
-    /* ...audio frame duration */
-    u32                 frame_duration;
-    
-    /* ...presentation timestamp (in samples; local mixer scope) */
-    u32                 pts;
-    
-}   XAMixer;
-
-/*******************************************************************************
- * Mixer flags
- ******************************************************************************/
-
-/* ...output port setup completed */
-#define XA_MIXER_FLAG_OUTPUT_SETUP      __XA_BASE_FLAG(1 << 0)
-
-/*******************************************************************************
- * Track state flags
- ******************************************************************************/
-
-/* ...track is idle (will autostart as soon as input data received) */
-#define XA_TRACK_FLAG_IDLE              __XF_INPUT_FLAG(1 << 0)
-
-/* ...track is rendered */
-#define XA_TRACK_FLAG_ACTIVE            __XF_INPUT_FLAG(1 << 1)
-
-/* ...track is paused */
-#define XA_TRACK_FLAG_PAUSED            __XF_INPUT_FLAG(1 << 2)
-
-/* ...track input port is setup */
-#define XA_TRACK_FLAG_INPUT_SETUP       __XF_INPUT_FLAG(1 << 3)
-
-/* ...track has received data */
-#define XA_TRACK_FLAG_RECVD_DATA        __XF_INPUT_FLAG(1 << 4)
-
-/*******************************************************************************
- * Helper functions
- ******************************************************************************/
-/* ...Count the tracks that have received data or are active*/
-static inline UWORD32 xa_mixer_check_active(XAMixer *mixer)
-{
-    XATrack        *track;
-    UWORD32            i;
-    UWORD32            cnt = 0;
-    
-    for (track = &mixer->track[i = 0]; i < XA_MIXER_MAX_TRACK_NUMBER; i++, track++)
-    {
-        if (xa_track_test_flags(track, XA_TRACK_FLAG_RECVD_DATA | XA_TRACK_FLAG_ACTIVE))
-            cnt++;
-    }
-    return cnt;
-}
-
-/* ...prepare mixer for steady operation */
-static inline XA_ERRORCODE xa_mixer_prepare_runtime(XAMixer *mixer)
-{
-    XACodecBase    *base = (XACodecBase *) mixer;
-    xf_message_t   *m = xf_msg_dequeue(&mixer->output.queue);
-    xf_start_msg_t *msg = m->buffer;
-    u32             frame_size;
-    u32             factor;
-    
-    /* ...query mixer parameters */
-    XA_API(base, XA_API_CMD_GET_CONFIG_PARAM, XA_MIXER_CONFIG_PARAM_SAMPLE_RATE, &msg->sample_rate);
-    XA_API(base, XA_API_CMD_GET_CONFIG_PARAM, XA_MIXER_CONFIG_PARAM_CHANNELS, &msg->channels);
-    XA_API(base, XA_API_CMD_GET_CONFIG_PARAM, XA_MIXER_CONFIG_PARAM_PCM_WIDTH, &msg->pcm_width);
-    XA_API(base, XA_API_CMD_GET_MEM_INFO_SIZE, 0, &msg->input_length);
-    XA_API(base, XA_API_CMD_GET_MEM_INFO_SIZE, XA_MIXER_MAX_TRACK_NUMBER, &msg->output_length);
-    XA_API(base, XA_API_CMD_GET_CONFIG_PARAM, XA_MIXER_CONFIG_PARAM_FRAME_SIZE, &frame_size);
-
-    /* ...calculate mixer frame duration; get upsample factor */
-    XF_CHK_ERR(factor = xf_timebase_factor(msg->sample_rate), XA_MIXER_CONFIG_FATAL_RANGE);
-
-    /* ...set mixer frame duration */
-    mixer->frame_duration = frame_size * factor;
-    
-    /* ...pass response to caller */
-    xf_response_data(m, sizeof(*msg));
-
-    return XA_NO_ERROR;
-}
-
-/*******************************************************************************
- * Commands handlers
- ******************************************************************************/
-
-/* ...EMPTY-THIS-BUFFER command processing */
-static XA_ERRORCODE xa_mixer_empty_this_buffer(XACodecBase *base, xf_message_t *m)
-{
-    XAMixer    *mixer = (XAMixer *) base;
-    u32         i = XF_MSG_DST_PORT(m->id);
-    XATrack    *track = &mixer->track[i];
-
-    /* ...make sure the port is valid */
-    XF_CHK_ERR(i < XA_MIXER_MAX_TRACK_NUMBER, XA_API_FATAL_INVALID_CMD_TYPE);
-    
-    /* ...command is allowed only in "postinit" state */
-    XF_CHK_ERR(base->state & XA_BASE_FLAG_POSTINIT, XA_API_FATAL_INVALID_CMD);
-
-    TRACE(INPUT, _b("track-%u: received buffer [%p]:%u"), i, m->buffer, m->length);
-
-    /* ...update received data for the track */
-    if (m->length)
-        xa_track_set_flags(track, XA_TRACK_FLAG_RECVD_DATA);
-    else
-        xa_track_clear_flags(track, XA_TRACK_FLAG_RECVD_DATA);
-    
-    /* ...place received message into track input port */
-    if (xf_input_port_put(&track->input, m))
-    {
-        /* ...process track autostart if needed */
-        if (xa_track_test_flags(track, XA_TRACK_FLAG_IDLE))
-        {
-            /* ...put track into active state */
-            xa_track_toggle_flags(track, XA_TRACK_FLAG_IDLE | XA_TRACK_FLAG_ACTIVE);
-            
-            /* ...save track presentation timestamp */
-            track->pts = mixer->pts;
-
-            TRACE(INFO, _b("track-%u started (pts=%x)"), i, track->pts);
-        }
-        
-        /* ...schedule data processing if there is output port available */
-        if (xf_output_port_ready(&mixer->output))
-        {
-            /* ...force data processing */
-            xa_base_schedule(base, 0);
-        }
-    }
-    
-    return XA_NO_ERROR;
-}
-
-/* ...FILL-THIS-BUFFER command processing */
-static XA_ERRORCODE xa_mixer_fill_this_buffer(XACodecBase *base, xf_message_t *m)
-{
-    XAMixer    *mixer = (XAMixer *) base;
-    u32         i = XF_MSG_DST_PORT(m->id);
-    
-    /* ...make sure the port is valid */
-    XF_CHK_ERR(i == XA_MIXER_MAX_TRACK_NUMBER, XA_API_FATAL_INVALID_CMD_TYPE);
-    
-    /* ...command is allowed only in "postinit" state */
-    XF_CHK_ERR(base->state & XA_BASE_FLAG_POSTINIT, XA_API_FATAL_INVALID_CMD);
-
-    /* ...process runtime initialization explicitly */
-    if (base->state & XA_BASE_FLAG_RUNTIME_INIT)
-    {
-        /* ...message must be zero-length */
-        XF_CHK_ERR(m->length == 0, XA_MIXER_EXEC_FATAL_STATE);
-    }
-    else if (m->length != 0) /* ...EOS response */
-    {
-        /* ...message must have exactly expected size (there is no ordered abortion) */
-        XF_CHK_ERR(m->length == mixer->output.length, XA_MIXER_EXEC_FATAL_STATE);
-    }
-
-    TRACE(OUTPUT, _b("received output buffer [%p]:%u"), m->buffer, m->length);
-    
-    /* ...put message into output port */
-    if (xf_output_port_put(&mixer->output, m))
-    {
-        /* ...force data processing */
-        xa_base_schedule(base, 0);
-    }
-
-    return XA_NO_ERROR;
-}
-
-/* ...output port routing */
-static XA_ERRORCODE xa_mixer_port_route(XACodecBase *base, xf_message_t *m)
-{
-    XAMixer                *mixer = (XAMixer *) base;
-    xf_route_port_msg_t    *cmd = m->buffer;
-    xf_output_port_t       *port = &mixer->output;
-    u32                     src = XF_MSG_DST(m->id);
-    u32                     dst = cmd->dst;
-    
-    /* ...command is allowed only in "postinit" state */
-    XF_CHK_ERR(base->state & XA_BASE_FLAG_POSTINIT, XA_API_FATAL_INVALID_CMD);
-
-    /* ...make sure output port is addressed */
-    XF_CHK_ERR(XF_MSG_DST_PORT(m->id) == XA_MIXER_MAX_TRACK_NUMBER, XA_API_FATAL_INVALID_CMD_TYPE);
-
-    /* ...make sure port is not routed yet */
-    XF_CHK_ERR(!xf_output_port_routed(port), XA_API_FATAL_INVALID_CMD_TYPE);
-
-    /* ...route output port - allocate queue */
-    XF_CHK_ERR(xf_output_port_route(port, __XF_MSG_ID(dst, src), cmd->alloc_number, cmd->alloc_size, cmd->alloc_align) == 0, XA_API_FATAL_MEM_ALLOC);
-
-    /* ...schedule processing instantly - tbd - check if we have anything pending on input */
-    xa_base_schedule(base, 0);
-    
-    /* ...pass success result to caller */
-    xf_response_ok(m);
-    
-    return XA_NO_ERROR;
-}
-
-/* ...port unroute command */
-static XA_ERRORCODE xa_mixer_port_unroute(XACodecBase *base, xf_message_t *m)
-{
-    XAMixer            *mixer = (XAMixer *) base;
-    xf_output_port_t   *port = &mixer->output;
-    
-    /* ...command is allowed only in "postinit" state */
-    XF_CHK_ERR(base->state & XA_BASE_FLAG_POSTINIT, XA_API_FATAL_INVALID_CMD);
-
-    /* ...make sure output port is addressed */
-    XF_CHK_ERR(XF_MSG_DST_PORT(m->id) == XA_MIXER_MAX_TRACK_NUMBER, XA_API_FATAL_INVALID_CMD_TYPE);
-
-    /* ...cancel any pending processing */
-    xa_base_cancel(base);
-
-    /* ...clear output-port-setup condition */
-    base->state &= ~XA_MIXER_FLAG_OUTPUT_SETUP;
-
-    /* ...pass flush command down the graph */
-    if (xf_output_port_flush(port, XF_FLUSH))
-    {
-        TRACE(INFO, _b("port is idle; instantly unroute"));
-
-        /* ...flushing sequence is not needed; command may be satisfied instantly */
-        xf_output_port_unroute(port);
-
-        /* ...pass response to the proxy */
-        xf_response_ok(m);
-    }
-    else
-    {
-        TRACE(INFO, _b("port is busy; propagate unroute command"));
-
-        /* ...flushing sequence is started; save flow-control message */
-        xf_output_port_unroute_start(port, m);
-    }
-
-    return XA_NO_ERROR;
-}
-
-/* ...PAUSE message processing */
-static XA_ERRORCODE xa_mixer_pause(XACodecBase *base, xf_message_t *m)
-{
-    XAMixer    *mixer = (XAMixer *) base;
-    u32         i = XF_MSG_DST_PORT(m->id);
-    XATrack    *track = &mixer->track[i];
-    
-    /* ...make sure the buffer is empty */
-    XF_CHK_ERR(m->length == 0, XA_API_FATAL_INVALID_CMD_TYPE);
-    
-    /* ...check destination port is valid */
-    XF_CHK_ERR(i < XA_MIXER_MAX_TRACK_NUMBER, XA_API_FATAL_INVALID_CMD_TYPE);
-
-    /* ...check for actual track flags */
-    if (xa_track_test_flags(track, XA_TRACK_FLAG_ACTIVE))
-    {
-        /* ...switch to paused state */
-        xa_track_toggle_flags(track, XA_TRACK_FLAG_ACTIVE | XA_TRACK_FLAG_PAUSED);
-
-        /* ...other tracks may be waiting for this one, so force data processing */
-        if (xf_output_port_ready(&mixer->output))
-        {
-            xa_base_schedule(base, 0);
-        }
-
-        TRACE(INFO, _b("mixer[%p]::track[%u] paused"), mixer, i);
-    }
-    else
-    {
-        /* ...track is in idle state and pausing here means suspending */
-        TRACE(INFO, _b("mixer[%p]::track[%u] is not active"), mixer, i);
-    }
-
-    /* ...complete message immediately */
-    xf_response(m);
-    
-    return XA_NO_ERROR;
-}
-
-/* ...RESUME command processing */
-static XA_ERRORCODE xa_mixer_resume(XACodecBase *base, xf_message_t *m)
-{
-    XAMixer    *mixer = (XAMixer *) base;
-    u32         i = XF_MSG_DST_PORT(m->id);
-    XATrack    *track = &mixer->track[i];
-    
-    /* ...make sure the buffer is empty */
-    XF_CHK_ERR(m->length == 0, XA_API_FATAL_INVALID_CMD_TYPE);
-    
-    /* ...check destination port is valid */
-    XF_CHK_ERR(i < XA_MIXER_MAX_TRACK_NUMBER, XA_API_FATAL_INVALID_CMD_TYPE);
-    
-    /* ...check for actual track state */
-    if (xa_track_test_flags(track, XA_TRACK_FLAG_PAUSED))
-    {
-        /* ...switch track to active state */
-        xa_track_toggle_flags(track, XA_TRACK_FLAG_ACTIVE | XA_TRACK_FLAG_PAUSED);
-
-        /* ...reset track presentation timestamp - tbd */
-        track->pts = mixer->pts;
-
-        /* ...force data processing if there is an output buffer */
-        if (xf_output_port_ready(&mixer->output))
-        {
-            xa_base_schedule(base, 0);
-        }
-
-        TRACE(INFO, _b("mixer[%p]::track[%u] resumed"), mixer, i);
-    }
-    else
-    {
-        /* ...track is in idle state; do nothing */
-        TRACE(INFO, _b("mixer[%p]::track[%u] is not paused"), mixer, i);
-    }
-    
-    /* ...complete message */
-    xf_response(m);
-    
-    return XA_NO_ERROR;
-}
-
-/* ...FLUSH command processing */
-static XA_ERRORCODE xa_mixer_flush(XACodecBase *base, xf_message_t *m)
-{
-    XAMixer    *mixer = (XAMixer *) base;
-    u32         i = XF_MSG_DST_PORT(m->id);
-    XATrack    *track = &mixer->track[i];
-
-    /* ...make sure the buffer is empty */
-    XF_CHK_ERR(m->length == 0, XA_API_FATAL_INVALID_CMD_TYPE);
-
-    /* ...check destination port index */
-    if (i == XA_MIXER_MAX_TRACK_NUMBER)
-    {
-        /* ...flushing response received; that is a port unrouting sequence */
-        XF_CHK_ERR(xf_output_port_unrouting(&mixer->output), XA_API_FATAL_INVALID_CMD_TYPE);
-        
-        /* ...complete unroute sequence */
-        xf_output_port_unroute_done(&mixer->output);
-
-        TRACE(INFO, _b("port is unrouted"));
-
-        return XA_NO_ERROR;
-    }
-
-    /* ...check destination port index is valid */
-    XF_CHK_ERR(i < XA_MIXER_MAX_TRACK_NUMBER, XA_API_FATAL_INVALID_CMD_TYPE);
-
-    /* ...input port flushing; check the track state is valid */
-    if (xa_track_test_flags(track, XA_TRACK_FLAG_ACTIVE | XA_TRACK_FLAG_PAUSED))
-    {
-        /* ...purge input port */
-        xf_input_port_purge(&track->input);
-
-        /* ...force clearing of ACTIVE and INPUT_SETUP condition */
-        xa_track_clear_flags(track, XA_TRACK_FLAG_ACTIVE | XA_TRACK_FLAG_PAUSED | XA_TRACK_FLAG_INPUT_SETUP);
-
-        /* ...and enter into idle state */
-        xa_track_set_flags(track, XA_TRACK_FLAG_IDLE);
-
-        /* ...other tracks may be waiting for this track, so force data processing */
-        if (xf_output_port_ready(&mixer->output))
-        {
-            xa_base_schedule(base, 0);
-        }
-
-        TRACE(INFO, _b("mixer[%p]::track[%u] flushed"), mixer, i);
-    }
-
-    /* ...complete message instantly (no propagation to output port) */
-    xf_response(m);
-
-    return XA_NO_ERROR;
-}
-
-/*******************************************************************************
- * Codec API implementation
- ******************************************************************************/
-
-/* ...buffers handling */
-static XA_ERRORCODE xa_mixer_memtab(XACodecBase *base, WORD32 idx, WORD32 type, WORD32 size, WORD32 align, u32 core)
-{
-    XAMixer    *mixer = (XAMixer *)base;
-    
-    if (type == XA_MEMTYPE_INPUT)
-    {
-        XATrack    *track = &mixer->track[idx];
-
-        /* ...input buffer allocation; check track number is valid */
-        XF_CHK_ERR(idx < XA_MIXER_MAX_TRACK_NUMBER, XA_API_FATAL_INVALID_CMD_TYPE);
-
-        /* ...create input port for a track */
-        XF_CHK_ERR(xf_input_port_init(&track->input, size, align, core) == 0, XA_API_FATAL_MEM_ALLOC);
-
-        /* ...set input port buffer */
-        XA_API(base, XA_API_CMD_SET_MEM_PTR, idx, track->input.buffer);
-
-        /* ...put track into idle state (will start as soon as we receive data) */
-        xa_track_set_flags(track, XA_TRACK_FLAG_IDLE);
-        
-        TRACE(INIT, _b("mixer[%p]::track[%u] input port created - size=%u"), mixer, idx, size);
-    }
-    else
-    {
-        /* ...output buffer allocation */
-        XF_CHK_ERR(type == XA_MEMTYPE_OUTPUT, XA_API_FATAL_INVALID_CMD_TYPE);
-
-        /* ...check port number is what we expect */
-        XF_CHK_ERR(idx == XA_MIXER_MAX_TRACK_NUMBER, XA_API_FATAL_INVALID_CMD_TYPE);
-
-        /* ...set mixer frame-size (in samples - for timestamp tracking) */
-        XA_API(base, XA_API_CMD_GET_CONFIG_PARAM, XA_MIXER_CONFIG_PARAM_FRAME_SIZE, &mixer->frame_size);
-        
-        /* ...create output port for a track */
-        XF_CHK_ERR(xf_output_port_init(&mixer->output, size) == 0, XA_API_FATAL_MEM_ALLOC);
-        
-        TRACE(INIT, _b("mixer[%p] output port created; size=%u"), mixer, size);
-    }
-
-    return XA_NO_ERROR;
-}
-
-/* ...preprocessing function */
-static XA_ERRORCODE xa_mixer_preprocess(XACodecBase *base)
-{
-    XAMixer        *mixer = (XAMixer *) base;
-    XATrack        *track;
-    u8              i;
-    XA_ERRORCODE    e = XA_MIXER_EXEC_NONFATAL_NO_DATA;
-
-    /* ...prepare output buffer */
-    if (!(base->state & XA_MIXER_FLAG_OUTPUT_SETUP))
-    {
-        void   *output;
-
-        /* ...set output buffer pointer */
-        if (base->state & XA_BASE_FLAG_RUNTIME_INIT)
-        {
-            /* ...no actual data processing during initialization */
-            return XA_NO_ERROR;
-        }
-        else if ((output = xf_output_port_data(&mixer->output)) == NULL)
-        {
-            /* ...no output buffer available */
-            return e;
-        }
-            
-        /* ...set output buffer pointer */
-        XA_API(base, XA_API_CMD_SET_MEM_PTR, XA_MIXER_MAX_TRACK_NUMBER, output);
-
-        /* ...mark output port is setup */
-        base->state ^= XA_MIXER_FLAG_OUTPUT_SETUP;
-    }
-    
-    /* ...check EOS */
-    if (!xa_mixer_check_active(mixer))
-    {
-        /* ...push EOS to output port */
-        xf_output_port_produce(&mixer->output, 0);
-        TRACE(INFO, _b("mixer[%p]::EOS generated"), mixer);
-    }
-
-    /* ...setup input buffer pointers and length */
-    for (track = &mixer->track[i = 0]; i < XA_MIXER_MAX_TRACK_NUMBER; i++, track++)
-    {
-        /* ...skip tracks that are not played */
-        if (!xa_track_test_flags(track, XA_TRACK_FLAG_ACTIVE))  continue;
-
-        /* ...set temporary mixing request */
-        e = XA_NO_ERROR;
-
-        /* ...skip the tracks that has been setup already */
-        if (xa_track_test_flags(track, XA_TRACK_FLAG_INPUT_SETUP))  continue;
-
-        /* ...found active track that hasn't been setup yet */
-        TRACE(INPUT, _b("track-%u: ts=%x vs mts=%x"), i, track->pts, mixer->pts);
-
-        /* ...if track presentation timestamp is in the future, do nothing yet really */
-        if (!xf_time_after(track->pts, mixer->pts))
-        {
-            u32     filled;
-            
-            /* ...take actual data from input port (mixer is always using internal buffer) */
-            if (!xf_input_port_fill(&track->input))
-            {
-                /* ...failed to prefill input buffer - no sufficient data yet */
-                return XA_MIXER_EXEC_NONFATAL_NO_DATA;
-            }
-            else
-            {
-                /* ...retrieve number of bytes available */
-                filled = xf_input_port_level(&track->input);
-            }
-
-            /* ...set total number of bytes we have in buffer */
-            XA_API(base, XA_API_CMD_SET_INPUT_BYTES, i, &filled);
-
-            /* ...actual data is to be played */
-            TRACE(INPUT, _b("track-%u: filled %u bytes"), i, filled);
-        }
-        
-        /* ...mark the track input is setup (emit silence or actual data) */
-        xa_track_set_flags(track, XA_TRACK_FLAG_INPUT_SETUP);
-    }
-
-    /* ...do mixing operation only when all active tracks are setup */
-    return e;
-}
-
-/* ...postprocessing function */
-static XA_ERRORCODE xa_mixer_postprocess(XACodecBase *base, int done)
-{
-    XAMixer        *mixer = (XAMixer *) base;
-    XATrack        *track;
-    u32             produced;
-    u32             consumed;
-    u8              i;
-
-    /* ...process execution stage transitions */
-    if (done)
-    {
-        if (base->state & XA_BASE_FLAG_RUNTIME_INIT)
-        {
-            /* ...failed to initialize runtime (can't be? - tbd)*/
-            BUG(1, _x("breakpoint"));
-        }
-        else if (base->state & XA_BASE_FLAG_EXECUTION)
-        {
-            /* ...enter into execution state; initialize runtime */
-            return XA_CHK(xa_mixer_prepare_runtime(mixer));
-        }
-        else
-        {
-            /* ...mixer operation is over (can't be? - tbd) */
-            BUG(1, _x("breakpoint"));
-        }
-    }
-
-    /* ...input ports maintenance; process all tracks */
-    for (track = &mixer->track[i = 0]; i < XA_MIXER_MAX_TRACK_NUMBER; i++, track++)
-    {
-        /* ...skip the tracks that are not runing */
-        if (!xa_track_test_flags(track, XA_TRACK_FLAG_ACTIVE))  continue;
-
-        /* ...clear input setup flag */
-        xa_track_clear_flags(track, XA_TRACK_FLAG_INPUT_SETUP);
-        
-        /* ...advance track presentation timestamp */
-        track->pts += mixer->frame_size;
-        
-        /* ...get total amount of consumed bytes */
-        XA_API(base, XA_API_CMD_GET_CURIDX_INPUT_BUF, i, &consumed);
-
-        TRACE(INPUT, _b("track-%u::postprocess(c=%u, ts=%x)"), i, consumed, track->pts);
-
-        /* ...consume that amount from input port (may be zero) */
-        xf_input_port_consume(&track->input, consumed);
-        
-        /* ...check if input port is done */
-        if (xf_input_port_done(&track->input))
-        {
-            /* ...input stream is over; return zero-length input back to caller */
-            xf_input_port_purge(&track->input);
-
-            /* ...switch to idle state */
-            xa_track_toggle_flags(track, XA_TRACK_FLAG_ACTIVE | XA_TRACK_FLAG_IDLE);
-
-            TRACE(INFO, _b("mixer[%p]::track[%u] completed"), mixer, i);
-        }
-    }
-
-    /* ...check if we have produced anything */
-    XA_API(base, XA_API_CMD_GET_OUTPUT_BYTES, XA_MIXER_MAX_TRACK_NUMBER, &produced);
-
-    TRACE(OUTPUT, _b("mixer[%p]::postprocess(p=%u, ts=%x, done=%u)"), mixer, produced, mixer->pts, done);
-
-    /* ...output port maintenance */
-    if (produced)
-    {
-        /* ...make sure we have produced exactly single frame */
-        BUG(produced != mixer->output.length, _x("Invalid length: %u != %u"), produced, mixer->output.length);
-        
-        /* ...steady mixing process; advance mixer presentation timestamp */
-        mixer->pts += mixer->frame_size;
-
-        /* ...push data from output port */
-        xf_output_port_produce(&mixer->output, produced);
-
-        /* ...clear output-setup condition */
-        base->state &= ~XA_MIXER_FLAG_OUTPUT_SETUP;
-    }    
-    
-    /* ...reschedule data processing if there is a pending output message */
-    if (xf_output_port_ready(&mixer->output))
-    {
-        /* ...schedule execution with respect to urgency */
-        xa_base_schedule(base, (produced ? mixer->frame_duration : 0));
-    }
-
-    return XA_NO_ERROR;
-}
-
-/*******************************************************************************
- * Command-processing function
- ******************************************************************************/
-
-/* ...command hooks */
-static XA_ERRORCODE (* const xa_mixer_cmd[])(XACodecBase *, xf_message_t *) =
-{
-    /* ...set-parameter - actually, same as in generic case */
-    [XF_OPCODE_TYPE(XF_SET_PARAM)] = xa_base_set_param,
-    [XF_OPCODE_TYPE(XF_GET_PARAM)] = xa_base_get_param,
-
-    /* ...output port routing/unrouting */
-    [XF_OPCODE_TYPE(XF_ROUTE)] = xa_mixer_port_route,
-    [XF_OPCODE_TYPE(XF_UNROUTE)] = xa_mixer_port_unroute,
-
-    /* ...input/output buffers processing */
-    [XF_OPCODE_TYPE(XF_EMPTY_THIS_BUFFER)] = xa_mixer_empty_this_buffer,
-    [XF_OPCODE_TYPE(XF_FILL_THIS_BUFFER)] = xa_mixer_fill_this_buffer,
-    [XF_OPCODE_TYPE(XF_FLUSH)] = xa_mixer_flush,
-
-    /* ...track control */
-    [XF_OPCODE_TYPE(XF_PAUSE)] = xa_mixer_pause,
-    [XF_OPCODE_TYPE(XF_RESUME)] = xa_mixer_resume,
-};
-
-/* ...total number of commands supported */
-#define XA_MIXER_CMD_NUM        (sizeof(xa_mixer_cmd) / sizeof(xa_mixer_cmd[0]))
-
-/*******************************************************************************
- * Entry points
- ******************************************************************************/
-
-/* ...mixer termination-state command processor */
-static int xa_mixer_terminate(xf_component_t *component, xf_message_t *m)
-{
-    XAMixer    *mixer = (XAMixer *) component;
-    u32         opcode = m->opcode;
-    
-    if (m == xf_output_port_control_msg(&mixer->output))
-    {
-        /* ...output port flushing complete; mark port is idle and terminate */
-        xf_output_port_flush_done(&mixer->output);
-        return -1;
-    }
-    else if (opcode == XF_FILL_THIS_BUFFER && xf_output_port_routed(&mixer->output))
-    {
-        /* ...output buffer returned by the sink component; ignore and keep waiting */
-        TRACE(OUTPUT, _b("collect output buffer"));
-        return 0;
-    }
-    else if (opcode == XF_UNREGISTER)
-    {
-        /* ...ignore subsequent unregister command/response */
-        return 0;
-    }
-    else
-    {
-        /* ...everything else is responded with generic failure */
-        xf_response_err(m);
-        return 0;
-    }
-}
-
-/* ...mixer class destructor */
-static int xa_mixer_destroy(xf_component_t *component, xf_message_t *m)
-{
-    XAMixer    *mixer = (XAMixer *) component;
-    u32         core = xf_component_core(component);
-    u32         i;
-    
-    /* ...destroy all inputs */
-    for (i = 0; i < XA_MIXER_MAX_TRACK_NUMBER; i++)
-    {
-        xf_input_port_destroy(&mixer->track[i].input, core);
-    }
-
-    /* ...destroy output port */
-    xf_output_port_destroy(&mixer->output, core);
-
-    /* ...destroy base object */
-    xa_base_destroy(&mixer->base, XF_MM(sizeof(*mixer)), core);
-
-    TRACE(INIT, _b("mixer[%p] destroyed"), mixer);
-
-    return 0;
-}
-
-/* ...mixer class first-stage destructor */
-static int xa_mixer_cleanup(xf_component_t *component, xf_message_t *m)
-{
-    XAMixer    *mixer = (XAMixer *) component;
-    u32         i;
-
-    /* ...complete message with error result code */
-    xf_response_err(m);
-    
-    /* ...cancel internal scheduling message if needed */
-    xa_base_cancel(&mixer->base);    
-    
-    /* ...purge all input ports (specify "unregister"? - don't know yet - tbd) */
-    for (i = 0; i < XA_MIXER_MAX_TRACK_NUMBER; i++)
-    {
-        xf_input_port_purge(&mixer->track[i].input);
-    }
-
-    /* ...flush output port */
-    if (xf_output_port_flush(&mixer->output, XF_FLUSH))
-    {
-        /* ...flushing sequence is not needed; destroy mixer */
-        return xa_mixer_destroy(component, NULL);
-    }
-    else
-    {
-        /* ...wait until output port is cleaned; adjust component hooks */
-        component->entry = xa_mixer_terminate;
-        component->exit = xa_mixer_destroy;
-        
-        TRACE(INIT, _b("mixer[%p] cleanup sequence started"), mixer);
-
-        /* ...indicate that second stage is required */
-        return 1;
-    }
-}
-
-/* ...mixer class factory */
-xf_component_t * xa_mixer_factory(u32 core, xa_codec_func_t process)
-{
-    XAMixer    *mixer;
-
-    /* ...construct generic audio component */
-    XF_CHK_ERR(mixer = (XAMixer *)xa_base_factory(core, XF_MM(sizeof(*mixer)), process), NULL);
-
-    /* ...set generic codec API */
-    mixer->base.memtab = xa_mixer_memtab;
-    mixer->base.preprocess = xa_mixer_preprocess;
-    mixer->base.postprocess = xa_mixer_postprocess;
-
-    /* ...set message-processing table */
-    mixer->base.command = xa_mixer_cmd;
-    mixer->base.command_num = XA_MIXER_CMD_NUM;
-
-    /* ...set component destructor hook */
-    mixer->base.component.exit = xa_mixer_cleanup;
-    
-    TRACE(INIT, _b("Mixer[%p] created"), mixer);
-
-    /* ...return handle to component */
-    return (xf_component_t *) mixer;
-}
diff --git a/hifi/xaf/hifi-dpf/build_hikey/Makefile b/hifi/xaf/hifi-dpf/build_hikey/Makefile
deleted file mode 100644
index e1980a0..0000000
--- a/hifi/xaf/hifi-dpf/build_hikey/Makefile
+++ /dev/null
@@ -1,135 +0,0 @@
-#
-# Copyright (C) 2018 Cadence Design Systems, Inc.
-# 
-# Permission is hereby granted, free of charge, to any person obtaining
-# a copy of this software and associated documentation files (the
-# "Software"), to use this Software with Cadence processor cores only and 
-# not with any other processors and platforms, subject to
-# the following conditions:
-# 
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-# 
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-
-
-.PHONY: all install clean HIKEY960
-
-NOSTRIP = 1
-XF_TRACE = 1
-
-ROOTDIR = ..
-CODEC_NAME = hikey
-
-PLUGINO2OBJS =
-PLUGINLIBS =
-PLUGININCLUDES =
-
-XA_MP3_DECODER ?= 0
-XA_VORBIS_DECODER ?= 1
-XA_MIXER 	   ?= 1
-XA_PCM 	   ?= 1
-
-
-vpath %.c $(ROOTDIR)/ipc/xt-shmem/hikey
-vpath %.c $(ROOTDIR)/ipc/xt-shmem
-vpath %.c $(ROOTDIR)/core/util
-vpath %.c $(ROOTDIR)/core/util/gdbstub
-vpath %.c $(ROOTDIR)/core
-vpath %.c $(ROOTDIR)/app
-vpath %.c $(ROOTDIR)/audio
-
-vpath %.S $(ROOTDIR)/ipc/xt-shmem/hikey
-vpath %.S $(ROOTDIR)/core/util/gdbstub
-
-vpath %.c $(ROOTDIR)/plugins/cadence/mixer
-
-LIBXAFASMOBJS = \
-			reset.o \
-			int_vector.o \
-			arch_hifi330.o \
-			gdbstub-entry.o
-
-LIBXAFO2OBJS = \
-            cpu_c.o \
-			dsp_debug.o \
-			dsp_comm.o \
-			mutex.o \
-			rbtree.o \
-			xf-core.o \
-			xf-io.o \
-			xf-mem.o \
-			xf-msg.o \
-			xf-sched.o \
-			xa-factory.o \
-			xf-shmem.o \
-			tinyvprintf.o \
-			xf-isr.o \
-			gdbstub.o \
-			xa-class-base.o \
-			xa-class-audio-codec.o \
-			xa-class-mixer.o \
-			xf-main.o 
-
-ifeq ($(XF_TRACE),1)
-  CFLAGS         += -DXF_TRACE=1
-  CFLAGS         += -DXAF_PROFILE_DSP=1
-endif
-
-ifeq ($(XA_MP3_DECODER),1)
-  vpath %.c $(ROOTDIR)/plugins/cadence/mp3_dec
-  CFLAGS         += -DXA_MP3_DECODER=1
-  PLUGINO2OBJS   += xa-mp3-decoder.o
-  PLUGINLIBS     += $(ROOTDIR)/plugins/cadence/mp3_dec/lib/hifi2/xa_mp3_dec.a 
-  PLUGININCLUDES += -I$(ROOTDIR)/plugins/cadence/mp3_dec
-endif
-
-ifeq ($(XA_PCM),1)
-  vpath %.c $(ROOTDIR)/plugins/cadence/pcm_proc
-  CFLAGS         += -DXA_PCM=1
-  PLUGINO2OBJS   += xa-pcm.o
-  PLUGINLIBS     += 
-  PLUGININCLUDES += -I$(ROOTDIR)/plugins/cadence/pcm_proc
-endif  
-
-ifeq ($(XA_VORBIS_DECODER),1)
-  vpath %.c $(ROOTDIR)/plugins/cadence/vorbis_dec
-  CFLAGS         += -DXA_VORBIS_DECODER=1
-  PLUGINO2OBJS   += xa-vorbis-decoder.o
-  PLUGINLIBS     += $(ROOTDIR)/plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a
-  PLUGININCLUDES += -I$(ROOTDIR)/plugins/cadence/vorbis_dec
-endif
-
-ifeq ($(XA_MIXER),1)
-  vpath %.c $(ROOTDIR)/plugins/cadence/mixer
-  CFLAGS         += -DXA_MIXER=1
-  PLUGINO2OBJS   += xa-mixer.o
-  PLUGINLIBS     += 
-  PLUGININCLUDES += -I$(ROOTDIR)/plugins/cadence/mixer
-endif
-
-LIBO2OBJS = $(LIBXAFO2OBJS) $(LIBMP3DECO2OBJS) $(LIBMIXERO2OBJS) $(PLUGINO2OBJS)
-LIBASMOBJS = $(LIBXAFASMOBJS)
- 
-INCLUDES += \
-    -I$(ROOTDIR)/include \
-    -I$(ROOTDIR)/include/audio \
-    -I$(ROOTDIR)/include/sys/xt-shmem \
-	-I$(ROOTDIR)/include/sys/xt-shmem/board-hikey \
-    -I$(ROOTDIR)/plugins/cadence/mp3_dec 
-    
-INCLUDES += $(PLUGININCLUDES)
-
-LDFLAGS += -nostdlib -lhal -lhandlers-board -lc -lgcc 
-LDFLAGS += -mlsp="./hifi_hikey_lsp"
-
-HIKEY960: $(CODEC_NAME) 
-
-include $(ROOTDIR)/build_hikey/common.mk
diff --git a/hifi/xaf/hifi-dpf/build_hikey/common.mk b/hifi/xaf/hifi-dpf/build_hikey/common.mk
deleted file mode 100644
index ef4429e..0000000
--- a/hifi/xaf/hifi-dpf/build_hikey/common.mk
+++ /dev/null
@@ -1,156 +0,0 @@
-#
-# Copyright (C) 2018 Cadence Design Systems, Inc.
-# 
-# Permission is hereby granted, free of charge, to any person obtaining
-# a copy of this software and associated documentation files (the
-# "Software"), to use this Software with Cadence processor cores only and 
-# not with any other processors and platforms, subject to
-# the following conditions:
-# 
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-# 
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-
-QUIET =
-MAPFILE  = map_$(CODEC_NAME).txt
-LDSCRIPT = ldscript_$(CODEC_NAME).txt
-SYMFILE  = symbols_$(CODEC_NAME).txt
-ELFTOBIN = $(ROOTDIR)/build_hikey/tools/elftobin.sh
-
-ifeq ($(CPU), gcc)
-    S = /
-    AR = ar
-    OBJCOPY = objcopy
-    CC = gcc
-    CXX = g++
-    CFLAGS += -fno-exceptions -DCSTUB=1
-    CFLAGS += -ffloat-store 
-    CFLAGS += -DHIFI3_CSTUB
-    RM = rm -f
-    RM_R = rm -rf
-    MKPATH = mkdir -p
-    CP = cp -f
-    INCLUDES += \
-    -I$(ROOTDIR)/test/include
-else
-    AR = xt-ar $(XTCORE)
-    OBJCOPY = xt-objcopy $(XTCORE)
-    CC = xt-xcc $(XTCORE)
-    CXX = xt-xc++ $(XTCORE)
-    ISS = xt-run $(XTCORE)
-    CONFIGDIR := $(shell $(ISS) --show-config=config)
-    include $(CONFIGDIR)/misc/hostenv.mk
-    #CFLAGS += -Wall 
-    #CFLAGS += -Werror 
-    #CFLAGS += -mno-mul16 -mno-mul32 -mno-div32 -fsigned-char -fno-exceptions -mlongcalls -INLINE:requested -mcoproc -fno-zero-initialized-in-bss
-    CFLAGS += -mlongcalls -mtext-section-literals
-    ASMFLAGS += -mlongcalls
-endif
-
-OBJDIR = objs$(S)$(CODEC_NAME)
-LIBDIR = $(ROOTDIR)$(S)lib
-
-OBJ_LIBO2OBJS = $(addprefix $(OBJDIR)/,$(LIBO2OBJS))
-OBJ_LIBOSOBJS = $(addprefix $(OBJDIR)/,$(LIBOSOBJS))
-OBJ_LIBO2CPPOBJS = $(addprefix $(OBJDIR)/,$(LIBO2CPPOBJS))
-OBJ_LIBOSCPPOBJS = $(addprefix $(OBJDIR)/,$(LIBOSCPPOBJS))
-OBJ_LIBASMOBJS = $(addprefix $(OBJDIR)/,$(LIBASMOBJS))
-
-TEMPOBJ = temp.o    
-
-ifeq ($(CPU), gcc)
-    LIBOBJ   = $(OBJDIR)/xgcc_$(CODEC_NAME).o
-    LIB      = xgcc_$(CODEC_NAME).img
-else
-    LIBOBJ   = $(OBJDIR)/xa_$(CODEC_NAME).o
-    LIB      = xa_$(CODEC_NAME).img
-endif
-
-CFLAGS += \
-    $(EXTRA_CFLAGS) $(EXTRA_CFLAGS2)
-
-
-ifeq ($(DEBUG),1)
-  NOSTRIP = 1
-  OPT_O2 = -O0 -g 
-  OPT_OS = -O0 -g
-  CFLAGS += -DDEBUG
-else
-ifeq ($(CPU), gcc)
-  OPT_O2 = -O2 -g 
-  OPT_OS = -O2 -g 
-else
-  #OPT_O2 = -O3 -LNO:simd 
-  OPT_O2 = -g -O2 
-  OPT_OS = -Os 
-endif
-endif
-
-OPT_ASM = -g -Wa,--gdwarf-2
-
-
-all: $(OBJDIR) $(LIB) 
-$(CODEC_NAME): $(OBJDIR) $(LIB) 
-
-install: $(LIB)
-	@echo "Installing $(LIB)"
-	$(QUIET) -$(MKPATH) "$(LIBDIR)"
-	$(QUIET) $(CP) $(LIB) "$(LIBDIR)"
-
-$(OBJDIR):
-	$(QUIET) -$(MKPATH) $@
-
-ifeq ($(NOSTRIP), 1)
-$(LIBOBJ): $(OBJ_LIBO2OBJS) $(OBJ_LIBOSOBJS) $(OBJ_LIBO2CPPOBJS) $(OBJ_LIBOSCPPOBJS) $(OBJ_LIBASMOBJS) $(PLUGINLIBS)
-	@echo "Linking Objects"
-	$(QUIET) $(CXX) -c $(OPT_O2) $(CFLAGS) -o $@ $^ \
-	-Wl,-Map,$(MAPFILE) --no-standard-libraries \
-	$(LDFLAGS) $(EXTRA_LDFLAGS)
-else
-$(LIBOBJ): $(OBJ_LIBO2OBJS) $(OBJ_LIBOSOBJS) $(OBJ_LIBO2CPPOBJS) $(OBJ_LIBOSCPPOBJS) $(OBJ_LIBASMOBJS) $(PLUGINLIBS)
-	@echo "Linking Objects"
-	$(QUIET) $(CXX) -c $(OPT_O2) $(CFLAGS) -o $@ $^ \
-	-Wl,-Map,$(MAPFILE) --no-standard-libraries \
-	-Wl,--retain-symbols-file,$(SYMFILE) \
-	$(IPA_FLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS)
-	$(QUIET) $(OBJCOPY) --keep-global-symbols=$(SYMFILE) $@ $(TEMPOBJ)
-	$(QUIET) $(OBJCOPY) --strip-unneeded $(TEMPOBJ) $@
-	$(QUIET) -$(RM) $(TEMPOBJ)
-endif 
-
-
-$(OBJ_LIBO2OBJS): $(OBJDIR)/%.o: %.c
-	@echo "Compiling $<"
-	$(QUIET) $(CC) -o $@ $(OPT_O2) $(CFLAGS) $(INCLUDES) -c $<
-	
-$(OBJ_LIBOSOBJS): $(OBJDIR)/%.o: %.c
-	@echo "Compiling $<"
-	$(QUIET) $(CC) -o $@ $(OPT_OS) $(CFLAGS) $(INCLUDES) -c $<
-	
-$(OBJ_LIBO2CPPOBJS): $(OBJDIR)/%.o: %.cpp
-	@echo "Compiling $<"
-	$(QUIET) $(CXX) -o $@ $(OPT_O2) $(CFLAGS) $(INCLUDES) -c $<
-	
-$(OBJ_LIBOSCPPOBJS): $(OBJDIR)/%.o: %.cpp
-	@echo "Compiling $<"
-	$(QUIET) $(CXX) -o $@ $(OPT_OS) $(CFLAGS) $(INCLUDES) -c $<
-
-$(OBJ_LIBASMOBJS): $(OBJDIR)/%.o: %.S
-	@echo "Compiling $<"
-	$(QUIET) $(CC) -o $@ $(OPT_ASM) $(ASMFLAGS) $(INCLUDES) -c $<
-	
-$(LIB): %.img: $(OBJDIR)/%.o
-	@echo "Creating Library $@"
-	$(ELFTOBIN) $< $@
-
-clean:
-	-$(RM) $(LIB) $(MAPFILE)
-	-$(RM_R) $(OBJDIR) $(LIBDIR) 
diff --git a/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/ldscripts/elf32xtensa.x b/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/ldscripts/elf32xtensa.x
deleted file mode 100644
index 67507ed..0000000
--- a/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/ldscripts/elf32xtensa.x
+++ /dev/null
@@ -1,827 +0,0 @@
-/* This linker script generated from xt-genldscripts.tpp for LSP hifi_hikey_lsp */
-/* Linker Script for default link */
-MEMORY
-{
-  sram0_seg :                         	org = 0xC0000000, len = 0x408000
-  old_vlpd_seg :                      	org = 0xC0408000, len = 0x10000
-  efr_fr_hr_vlpd_seg :                	org = 0xC0418000, len = 0x10000
-  amr_vlpd_seg :                      	org = 0xC0428000, len = 0x10000
-  amrwb_vlpd_seg :                    	org = 0xC0438000, len = 0x10000
-  evrc_evrcb_vlpt_seg :               	org = 0xC0448000, len = 0x48000
-  efr_fr_hr_vlpt_seg :                	org = 0xC0490000, len = 0x30000
-  amr_vlpt_seg :                      	org = 0xC04C0000, len = 0x20000
-  amrwb_vlpt_seg :                    	org = 0xC04E0000, len = 0x30000
-  vlpt_seg :                          	org = 0xC0510000, len = 0x48000
-  vlpd_seg :                          	org = 0xC0558000, len = 0x20000
-  ulpp_seg :                          	org = 0xC0578000, len = 0x40000
-  dtsv3_seg :                         	org = 0xC05B8000, len = 0x20000
-  dtsv4_seg :                         	org = 0xC05D8000, len = 0x28000
-  dram0_0_seg :                       	org = 0xE8058000, len = 0x28000
-  iram0_0_seg :                       	org = 0xE8080000, len = 0x300
-  iram0_1_seg :                       	org = 0xE8080300, len = 0x100
-  iram0_2_seg :                       	org = 0xE8080400, len = 0x178
-  iram0_3_seg :                       	org = 0xE8080578, len = 0x8
-  iram0_4_seg :                       	org = 0xE8080580, len = 0x38
-  iram0_5_seg :                       	org = 0xE80805B8, len = 0x8
-  iram0_6_seg :                       	org = 0xE80805C0, len = 0x38
-  iram0_7_seg :                       	org = 0xE80805F8, len = 0x8
-  iram0_8_seg :                       	org = 0xE8080600, len = 0x38
-  iram0_9_seg :                       	org = 0xE8080638, len = 0x8
-  iram0_10_seg :                      	org = 0xE8080640, len = 0x38
-  iram0_11_seg :                      	org = 0xE8080678, len = 0x48
-  iram0_12_seg :                      	org = 0xE80806C0, len = 0x38
-  iram0_13_seg :                      	org = 0xE80806F8, len = 0x8
-  iram0_14_seg :                      	org = 0xE8080700, len = 0x38
-  iram0_15_seg :                      	org = 0xE8080738, len = 0x8
-  iram0_16_seg :                      	org = 0xE8080740, len = 0x38
-  iram0_17_seg :                      	org = 0xE8080778, len = 0x48
-  iram0_18_seg :                      	org = 0xE80807C0, len = 0x40
-  iram0_19_seg :                      	org = 0xE8080800, len = 0xB800
-}
-
-PHDRS
-{
-  sram0_phdr PT_LOAD;
-  sram0_bss_phdr PT_LOAD;
-  old_vlpd_phdr PT_LOAD;
-  old_vlpd_bss_phdr PT_LOAD;
-  efr_fr_hr_vlpd_phdr PT_LOAD;
-  efr_fr_hr_vlpd_bss_phdr PT_LOAD;
-  amr_vlpd_phdr PT_LOAD;
-  amr_vlpd_bss_phdr PT_LOAD;
-  amrwb_vlpd_phdr PT_LOAD;
-  amrwb_vlpd_bss_phdr PT_LOAD;
-  evrc_evrcb_vlpt_phdr PT_LOAD;
-  efr_fr_hr_vlpt_phdr PT_LOAD;
-  amr_vlpt_phdr PT_LOAD;
-  amrwb_vlpt_phdr PT_LOAD;
-  vlpt_phdr PT_LOAD;
-  vlpd_phdr PT_LOAD;
-  ulpp_phdr PT_LOAD;
-  ulpp_bss_phdr PT_LOAD;
-  dtsv3_phdr PT_LOAD;
-  dtsv3_bss_phdr PT_LOAD;
-  dtsv4_phdr PT_LOAD;
-  dtsv4_bss_phdr PT_LOAD;
-  dram0_0_phdr PT_LOAD;
-  dram0_0_bss_phdr PT_LOAD;
-  iram0_0_phdr PT_LOAD;
-  iram0_1_phdr PT_LOAD;
-  iram0_2_phdr PT_LOAD;
-  iram0_3_phdr PT_LOAD;
-  iram0_4_phdr PT_LOAD;
-  iram0_5_phdr PT_LOAD;
-  iram0_6_phdr PT_LOAD;
-  iram0_7_phdr PT_LOAD;
-  iram0_8_phdr PT_LOAD;
-  iram0_9_phdr PT_LOAD;
-  iram0_10_phdr PT_LOAD;
-  iram0_11_phdr PT_LOAD;
-  iram0_12_phdr PT_LOAD;
-  iram0_13_phdr PT_LOAD;
-  iram0_14_phdr PT_LOAD;
-  iram0_15_phdr PT_LOAD;
-  iram0_16_phdr PT_LOAD;
-  iram0_17_phdr PT_LOAD;
-  iram0_18_phdr PT_LOAD;
-  iram0_19_phdr PT_LOAD;
-}
-
-
-/*  Default entry point:  */
-ENTRY(_ResetVector)
-
-/*  Memory boundary addresses:  */
-_memmap_mem_iram0_start = 0xe8080000;
-_memmap_mem_iram0_end   = 0xe808c000;
-_memmap_mem_dram0_start = 0xe8058000;
-_memmap_mem_dram0_end   = 0xe8080000;
-_memmap_mem_sram_start = 0xc0000000;
-_memmap_mem_sram_end   = 0xc0600000;
-
-/*  Memory segment boundary addresses:  */
-_memmap_seg_sram0_start = 0xc0000000;
-_memmap_seg_sram0_max   = 0xc0408000;
-_memmap_seg_old_vlpd_start = 0xc0408000;
-_memmap_seg_old_vlpd_max   = 0xc0418000;
-_memmap_seg_efr_fr_hr_vlpd_start = 0xc0418000;
-_memmap_seg_efr_fr_hr_vlpd_max   = 0xc0428000;
-_memmap_seg_amr_vlpd_start = 0xc0428000;
-_memmap_seg_amr_vlpd_max   = 0xc0438000;
-_memmap_seg_amrwb_vlpd_start = 0xc0438000;
-_memmap_seg_amrwb_vlpd_max   = 0xc0448000;
-_memmap_seg_evrc_evrcb_vlpt_start = 0xc0448000;
-_memmap_seg_evrc_evrcb_vlpt_max   = 0xc0490000;
-_memmap_seg_efr_fr_hr_vlpt_start = 0xc0490000;
-_memmap_seg_efr_fr_hr_vlpt_max   = 0xc04c0000;
-_memmap_seg_amr_vlpt_start = 0xc04c0000;
-_memmap_seg_amr_vlpt_max   = 0xc04e0000;
-_memmap_seg_amrwb_vlpt_start = 0xc04e0000;
-_memmap_seg_amrwb_vlpt_max   = 0xc0510000;
-_memmap_seg_vlpt_start = 0xc0510000;
-_memmap_seg_vlpt_max   = 0xc0558000;
-_memmap_seg_vlpd_start = 0xc0558000;
-_memmap_seg_vlpd_max   = 0xc0578000;
-_memmap_seg_ulpp_start = 0xc0578000;
-_memmap_seg_ulpp_max   = 0xc05b8000;
-_memmap_seg_dtsv3_start = 0xc05b8000;
-_memmap_seg_dtsv3_max   = 0xc05d8000;
-_memmap_seg_dtsv4_start = 0xc05d8000;
-_memmap_seg_dtsv4_max   = 0xc0600000;
-_memmap_seg_dram0_0_start = 0xe8058000;
-_memmap_seg_dram0_0_max   = 0xe8080000;
-_memmap_seg_iram0_0_start = 0xe8080000;
-_memmap_seg_iram0_0_max   = 0xe8080300;
-_memmap_seg_iram0_1_start = 0xe8080300;
-_memmap_seg_iram0_1_max   = 0xe8080400;
-_memmap_seg_iram0_2_start = 0xe8080400;
-_memmap_seg_iram0_2_max   = 0xe8080578;
-_memmap_seg_iram0_3_start = 0xe8080578;
-_memmap_seg_iram0_3_max   = 0xe8080580;
-_memmap_seg_iram0_4_start = 0xe8080580;
-_memmap_seg_iram0_4_max   = 0xe80805b8;
-_memmap_seg_iram0_5_start = 0xe80805b8;
-_memmap_seg_iram0_5_max   = 0xe80805c0;
-_memmap_seg_iram0_6_start = 0xe80805c0;
-_memmap_seg_iram0_6_max   = 0xe80805f8;
-_memmap_seg_iram0_7_start = 0xe80805f8;
-_memmap_seg_iram0_7_max   = 0xe8080600;
-_memmap_seg_iram0_8_start = 0xe8080600;
-_memmap_seg_iram0_8_max   = 0xe8080638;
-_memmap_seg_iram0_9_start = 0xe8080638;
-_memmap_seg_iram0_9_max   = 0xe8080640;
-_memmap_seg_iram0_10_start = 0xe8080640;
-_memmap_seg_iram0_10_max   = 0xe8080678;
-_memmap_seg_iram0_11_start = 0xe8080678;
-_memmap_seg_iram0_11_max   = 0xe80806c0;
-_memmap_seg_iram0_12_start = 0xe80806c0;
-_memmap_seg_iram0_12_max   = 0xe80806f8;
-_memmap_seg_iram0_13_start = 0xe80806f8;
-_memmap_seg_iram0_13_max   = 0xe8080700;
-_memmap_seg_iram0_14_start = 0xe8080700;
-_memmap_seg_iram0_14_max   = 0xe8080738;
-_memmap_seg_iram0_15_start = 0xe8080738;
-_memmap_seg_iram0_15_max   = 0xe8080740;
-_memmap_seg_iram0_16_start = 0xe8080740;
-_memmap_seg_iram0_16_max   = 0xe8080778;
-_memmap_seg_iram0_17_start = 0xe8080778;
-_memmap_seg_iram0_17_max   = 0xe80807c0;
-_memmap_seg_iram0_18_start = 0xe80807c0;
-_memmap_seg_iram0_18_max   = 0xe8080800;
-_memmap_seg_iram0_19_start = 0xe8080800;
-_memmap_seg_iram0_19_max   = 0xe808c000;
-
-_rom_store_table = 0;
-PROVIDE(_memmap_vecbase_reset = 0xe8080400);
-PROVIDE(_memmap_reset_vector = 0xe8080000);
-/* Various memory-map dependent cache attribute settings: */
-_memmap_cacheattr_wb_base = 0x44000000;
-_memmap_cacheattr_wt_base = 0x11000000;
-_memmap_cacheattr_bp_base = 0x22000000;
-_memmap_cacheattr_unused_mask = 0x00FFFFFF;
-_memmap_cacheattr_wb_trapnull = 0x4422222F;
-_memmap_cacheattr_wba_trapnull = 0x4422222F;
-_memmap_cacheattr_wbna_trapnull = 0x5522222F;
-_memmap_cacheattr_wt_trapnull = 0x1122222F;
-_memmap_cacheattr_bp_trapnull = 0x2222222F;
-_memmap_cacheattr_wb_strict = 0x44FFFFFF;
-_memmap_cacheattr_wt_strict = 0x11FFFFFF;
-_memmap_cacheattr_bp_strict = 0x22FFFFFF;
-_memmap_cacheattr_wb_allvalid = 0x44222222;
-_memmap_cacheattr_wt_allvalid = 0x11222222;
-_memmap_cacheattr_bp_allvalid = 0x22222222;
-PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
-
-SECTIONS
-{
-
-  .vlpd.rodata : ALIGN(4)
-  {
-    _vlpd_rodata_start = ABSOLUTE(.);
-    *(.vlpd.rodata)
-    _vlpd_rodata_end = ABSOLUTE(.);
-  } >old_vlpd_seg :old_vlpd_phdr
-
-  .vlpd.data : ALIGN(4)
-  {
-    _vlpd_data_start = ABSOLUTE(.);
-    *(.vlpd.data)
-    _vlpd_data_end = ABSOLUTE(.);
-  } >old_vlpd_seg :old_vlpd_phdr
-
-  .vlpd.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _vlpd_bss_start = ABSOLUTE(.);
-    *(.vlpd.bss)
-    . = ALIGN (8);
-    _vlpd_bss_end = ABSOLUTE(.);
-    _memmap_seg_old_vlpd_end = ALIGN(0x8);
-  } >old_vlpd_seg :old_vlpd_bss_phdr
-
-  .efr_fr_hr_vlpd.rodata : ALIGN(4)
-  {
-    _efr_fr_hr_vlpd_rodata_start = ABSOLUTE(.);
-    *(.efr_fr_hr_vlpd.rodata)
-    _efr_fr_hr_vlpd_rodata_end = ABSOLUTE(.);
-  } >efr_fr_hr_vlpd_seg :efr_fr_hr_vlpd_phdr
-
-  .efr_fr_hr_vlpd.data : ALIGN(4)
-  {
-    _efr_fr_hr_vlpd_data_start = ABSOLUTE(.);
-    *(.efr_fr_hr_vlpd.data)
-    _efr_fr_hr_vlpd_data_end = ABSOLUTE(.);
-  } >efr_fr_hr_vlpd_seg :efr_fr_hr_vlpd_phdr
-
-  .efr_fr_hr_vlpd.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _efr_fr_hr_vlpd_bss_start = ABSOLUTE(.);
-    *(.efr_fr_hr_vlpd.bss)
-    . = ALIGN (8);
-    _efr_fr_hr_vlpd_bss_end = ABSOLUTE(.);
-    _memmap_seg_efr_fr_hr_vlpd_end = ALIGN(0x8);
-  } >efr_fr_hr_vlpd_seg :efr_fr_hr_vlpd_bss_phdr
-
-  .amr_vlpd.rodata : ALIGN(4)
-  {
-    _amr_vlpd_rodata_start = ABSOLUTE(.);
-    *(.amr_vlpd.rodata)
-    _amr_vlpd_rodata_end = ABSOLUTE(.);
-  } >amr_vlpd_seg :amr_vlpd_phdr
-
-  .amr_vlpd.data : ALIGN(4)
-  {
-    _amr_vlpd_data_start = ABSOLUTE(.);
-    *(.amr_vlpd.data)
-    _amr_vlpd_data_end = ABSOLUTE(.);
-  } >amr_vlpd_seg :amr_vlpd_phdr
-
-  .amr_vlpd.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _amr_vlpd_bss_start = ABSOLUTE(.);
-    *(.amr_vlpd.bss)
-    . = ALIGN (8);
-    _amr_vlpd_bss_end = ABSOLUTE(.);
-    _memmap_seg_amr_vlpd_end = ALIGN(0x8);
-  } >amr_vlpd_seg :amr_vlpd_bss_phdr
-
-  .amrwb_vlpd.rodata : ALIGN(4)
-  {
-    _amrwb_vlpd_rodata_start = ABSOLUTE(.);
-    *(.amrwb_vlpd.rodata)
-    _amrwb_vlpd_rodata_end = ABSOLUTE(.);
-  } >amrwb_vlpd_seg :amrwb_vlpd_phdr
-
-  .amrwb_vlpd.data : ALIGN(4)
-  {
-    _amrwb_vlpd_data_start = ABSOLUTE(.);
-    *(.amrwb_vlpd.data)
-    _amrwb_vlpd_data_end = ABSOLUTE(.);
-  } >amrwb_vlpd_seg :amrwb_vlpd_phdr
-
-  .amrwb_vlpd.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _amrwb_vlpd_bss_start = ABSOLUTE(.);
-    *(.amrwb_vlpd.bss)
-    . = ALIGN (8);
-    _amrwb_vlpd_bss_end = ABSOLUTE(.);
-    _memmap_seg_amrwb_vlpd_end = ALIGN(0x8);
-  } >amrwb_vlpd_seg :amrwb_vlpd_bss_phdr
-
-  .evrc_evrcb_vlpt.text : ALIGN(4)
-  {
-    _evrc_evrcb_vlpt_text_start = ABSOLUTE(.);
-    *(.evrc_evrcb_vlpt.literal .evrc_evrcb_vlpt.text)
-    _evrc_evrcb_vlpt_text_end = ABSOLUTE(.);
-    _memmap_seg_evrc_evrcb_vlpt_end = ALIGN(0x8);
-  } >evrc_evrcb_vlpt_seg :evrc_evrcb_vlpt_phdr
-
-  .efr_fr_hr_vlpt.text : ALIGN(4)
-  {
-    _efr_fr_hr_vlpt_text_start = ABSOLUTE(.);
-    *(.efr_fr_hr_vlpt.literal .efr_fr_hr_vlpt.text)
-    _efr_fr_hr_vlpt_text_end = ABSOLUTE(.);
-    _memmap_seg_efr_fr_hr_vlpt_end = ALIGN(0x8);
-  } >efr_fr_hr_vlpt_seg :efr_fr_hr_vlpt_phdr
-
-  .amr_vlpt.text : ALIGN(4)
-  {
-    _amr_vlpt_text_start = ABSOLUTE(.);
-    *(.amr_vlpt.literal .amr_vlpt.text)
-    _amr_vlpt_text_end = ABSOLUTE(.);
-    _memmap_seg_amr_vlpt_end = ALIGN(0x8);
-  } >amr_vlpt_seg :amr_vlpt_phdr
-
-  .amrwb_vlpt.text : ALIGN(4)
-  {
-    _amrwb_vlpt_text_start = ABSOLUTE(.);
-    *(.amrwb_vlpt.literal .amrwb_vlpt.text)
-    _amrwb_vlpt_text_end = ABSOLUTE(.);
-    _memmap_seg_amrwb_vlpt_end = ALIGN(0x8);
-  } >amrwb_vlpt_seg :amrwb_vlpt_phdr
-
-  .vlpt.text : ALIGN(4)
-  {
-    _vlpt_text_start = ABSOLUTE(.);
-    *(.vlpt.literal .vlpt.text)
-    _vlpt_text_end = ABSOLUTE(.);
-    _memmap_seg_vlpt_end = ALIGN(0x8);
-  } >vlpt_seg :vlpt_phdr
-
-  .low_power_dyn_alloc : ALIGN(4)
-  {
-    _low_power_dyn_alloc_start = ABSOLUTE(.);
-    *(.low_power_dyn_alloc)
-    _low_power_dyn_alloc_end = ABSOLUTE(.);
-    _memmap_seg_vlpd_end = ALIGN(0x8);
-  } >vlpd_seg :vlpd_phdr
-
-  .ulpp.rodata : ALIGN(4)
-  {
-    _ulpp_rodata_start = ABSOLUTE(.);
-    *(.ulpp.rodata)
-    _ulpp_rodata_end = ABSOLUTE(.);
-  } >ulpp_seg :ulpp_phdr
-
-  .ulpp.data : ALIGN(4)
-  {
-    _ulpp_data_start = ABSOLUTE(.);
-    *(.ulpp.data)
-    _ulpp_data_end = ABSOLUTE(.);
-  } >ulpp_seg :ulpp_phdr
-
-  .ulpp.text : ALIGN(4)
-  {
-    _ulpp_text_start = ABSOLUTE(.);
-    *(.ulpp.literal .ulpp.text)
-    _ulpp_text_end = ABSOLUTE(.);
-  } >ulpp_seg :ulpp_phdr
-
-  .ulpp.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _ulpp_bss_start = ABSOLUTE(.);
-    *(.ulpp.bss)
-    . = ALIGN (8);
-    _ulpp_bss_end = ABSOLUTE(.);
-    _memmap_seg_ulpp_end = ALIGN(0x8);
-  } >ulpp_seg :ulpp_bss_phdr
-
-  .dtsv3.rodata : ALIGN(4)
-  {
-    _dtsv3_rodata_start = ABSOLUTE(.);
-    *(.dtsv3.rodata)
-    _dtsv3_rodata_end = ABSOLUTE(.);
-  } >dtsv3_seg :dtsv3_phdr
-
-  .dtsv3.data : ALIGN(4)
-  {
-    _dtsv3_data_start = ABSOLUTE(.);
-    *(.dtsv3.data)
-    _dtsv3_data_end = ABSOLUTE(.);
-  } >dtsv3_seg :dtsv3_phdr
-
-  .dtsv3.text : ALIGN(4)
-  {
-    _dtsv3_text_start = ABSOLUTE(.);
-    *(.dtsv3.literal .dtsv3.text)
-    _dtsv3_text_end = ABSOLUTE(.);
-  } >dtsv3_seg :dtsv3_phdr
-
-  .dtsv3.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _dtsv3_bss_start = ABSOLUTE(.);
-    *(.dtsv3.bss)
-    . = ALIGN (8);
-    _dtsv3_bss_end = ABSOLUTE(.);
-    _memmap_seg_dtsv3_end = ALIGN(0x8);
-  } >dtsv3_seg :dtsv3_bss_phdr
-
-  .dtsv4.rodata : ALIGN(4)
-  {
-    _dtsv4_rodata_start = ABSOLUTE(.);
-    *(.dtsv4.rodata)
-    _dtsv4_rodata_end = ABSOLUTE(.);
-  } >dtsv4_seg :dtsv4_phdr
-
-  .dtsv4.data : ALIGN(4)
-  {
-    _dtsv4_data_start = ABSOLUTE(.);
-    *(.dtsv4.data)
-    _dtsv4_data_end = ABSOLUTE(.);
-  } >dtsv4_seg :dtsv4_phdr
-
-  .dtsv4.text : ALIGN(4)
-  {
-    _dtsv4_text_start = ABSOLUTE(.);
-    *(.dtsv4.literal .dtsv4.text)
-    _dtsv4_text_end = ABSOLUTE(.);
-  } >dtsv4_seg :dtsv4_phdr
-
-  .dtsv4.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _dtsv4_bss_start = ABSOLUTE(.);
-    *(.dtsv4.bss)
-    . = ALIGN (8);
-    _dtsv4_bss_end = ABSOLUTE(.);
-    _memmap_seg_dtsv4_end = ALIGN(0x8);
-  } >dtsv4_seg :dtsv4_bss_phdr
-
-  .dram0.rodata : ALIGN(4)
-  {
-    _dram0_rodata_start = ABSOLUTE(.);
-    *(.dram0.rodata)
-    *(.dram.rodata)
-    _dram0_rodata_end = ABSOLUTE(.);
-  } >dram0_0_seg :dram0_0_phdr
-
-  .dram0.literal : ALIGN(4)
-  {
-    _dram0_literal_start = ABSOLUTE(.);
-    *(.dram0.literal)
-    *(.dram.literal)
-    _dram0_literal_end = ABSOLUTE(.);
-  } >dram0_0_seg :dram0_0_phdr
-
-  .dram0.data : ALIGN(4)
-  {
-    _dram0_data_start = ABSOLUTE(.);
-    *(.dram0.data)
-    *(.dram.data)
-    _dram0_data_end = ABSOLUTE(.);
-  } >dram0_0_seg :dram0_0_phdr
-
-  .dram0.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _dram0_bss_start = ABSOLUTE(.);
-    *(.dram0.bss)
-    *(.om.debug.bss)
-    *(.os.stack.bss)
-    . = ALIGN (8);
-    _dram0_bss_end = ABSOLUTE(.);
-    _end = ALIGN(0x8);
-    PROVIDE(end = ALIGN(0x8));
-    _stack_sentry = ALIGN(0x8);
-    _memmap_seg_dram0_0_end = ALIGN(0x8);
-  } >dram0_0_seg :dram0_0_bss_phdr
-  __stack = 0xe8080000;
-  _heap_sentry = 0xe8080000;
-
-  .ResetVector.text : ALIGN(4)
-  {
-    _ResetVector_text_start = ABSOLUTE(.);
-    KEEP (*(.ResetVector.text))
-    _ResetVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_0_end = ALIGN(0x8);
-  } >iram0_0_seg :iram0_0_phdr
-
-  .Reset.literal : ALIGN(4)
-  {
-    _Reset_literal_start = ABSOLUTE(.);
-    *(.Reset.literal)
-    _Reset_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_1_end = ALIGN(0x8);
-  } >iram0_1_seg :iram0_1_phdr
-
-  .WindowVectors.text : ALIGN(4)
-  {
-    _WindowVectors_text_start = ABSOLUTE(.);
-    KEEP (*(.WindowVectors.text))
-    _WindowVectors_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_2_end = ALIGN(0x8);
-  } >iram0_2_seg :iram0_2_phdr
-
-  .Level2InterruptVector.literal : ALIGN(4)
-  {
-    _Level2InterruptVector_literal_start = ABSOLUTE(.);
-    *(.Level2InterruptVector.literal)
-    _Level2InterruptVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_3_end = ALIGN(0x8);
-  } >iram0_3_seg :iram0_3_phdr
-
-  .Level2InterruptVector.text : ALIGN(4)
-  {
-    _Level2InterruptVector_text_start = ABSOLUTE(.);
-    KEEP (*(.Level2InterruptVector.text))
-    _Level2InterruptVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_4_end = ALIGN(0x8);
-  } >iram0_4_seg :iram0_4_phdr
-
-  .Level3InterruptVector.literal : ALIGN(4)
-  {
-    _Level3InterruptVector_literal_start = ABSOLUTE(.);
-    *(.Level3InterruptVector.literal)
-    _Level3InterruptVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_5_end = ALIGN(0x8);
-  } >iram0_5_seg :iram0_5_phdr
-
-  .Level3InterruptVector.text : ALIGN(4)
-  {
-    _Level3InterruptVector_text_start = ABSOLUTE(.);
-    KEEP (*(.Level3InterruptVector.text))
-    _Level3InterruptVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_6_end = ALIGN(0x8);
-  } >iram0_6_seg :iram0_6_phdr
-
-  .Level4InterruptVector.literal : ALIGN(4)
-  {
-    _Level4InterruptVector_literal_start = ABSOLUTE(.);
-    *(.Level4InterruptVector.literal)
-    _Level4InterruptVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_7_end = ALIGN(0x8);
-  } >iram0_7_seg :iram0_7_phdr
-
-  .Level4InterruptVector.text : ALIGN(4)
-  {
-    _Level4InterruptVector_text_start = ABSOLUTE(.);
-    KEEP (*(.Level4InterruptVector.text))
-    _Level4InterruptVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_8_end = ALIGN(0x8);
-  } >iram0_8_seg :iram0_8_phdr
-
-  .DebugExceptionVector.literal : ALIGN(4)
-  {
-    _DebugExceptionVector_literal_start = ABSOLUTE(.);
-    *(.DebugExceptionVector.literal)
-    _DebugExceptionVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_9_end = ALIGN(0x8);
-  } >iram0_9_seg :iram0_9_phdr
-
-  .DebugExceptionVector.text : ALIGN(4)
-  {
-    _DebugExceptionVector_text_start = ABSOLUTE(.);
-    KEEP (*(.DebugExceptionVector.text))
-    _DebugExceptionVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_10_end = ALIGN(0x8);
-  } >iram0_10_seg :iram0_10_phdr
-
-  .NMIExceptionVector.literal : ALIGN(4)
-  {
-    _NMIExceptionVector_literal_start = ABSOLUTE(.);
-    *(.NMIExceptionVector.literal)
-    _NMIExceptionVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_11_end = ALIGN(0x8);
-  } >iram0_11_seg :iram0_11_phdr
-
-  .NMIExceptionVector.text : ALIGN(4)
-  {
-    _NMIExceptionVector_text_start = ABSOLUTE(.);
-    KEEP (*(.NMIExceptionVector.text))
-    _NMIExceptionVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_12_end = ALIGN(0x8);
-  } >iram0_12_seg :iram0_12_phdr
-
-  .KernelExceptionVector.literal : ALIGN(4)
-  {
-    _KernelExceptionVector_literal_start = ABSOLUTE(.);
-    *(.KernelExceptionVector.literal)
-    _KernelExceptionVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_13_end = ALIGN(0x8);
-  } >iram0_13_seg :iram0_13_phdr
-
-  .KernelExceptionVector.text : ALIGN(4)
-  {
-    _KernelExceptionVector_text_start = ABSOLUTE(.);
-    KEEP (*(.KernelExceptionVector.text))
-    _KernelExceptionVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_14_end = ALIGN(0x8);
-  } >iram0_14_seg :iram0_14_phdr
-
-  .UserExceptionVector.literal : ALIGN(4)
-  {
-    _UserExceptionVector_literal_start = ABSOLUTE(.);
-    *(.UserExceptionVector.literal)
-    _UserExceptionVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_15_end = ALIGN(0x8);
-  } >iram0_15_seg :iram0_15_phdr
-
-  .UserExceptionVector.text : ALIGN(4)
-  {
-    _UserExceptionVector_text_start = ABSOLUTE(.);
-    KEEP (*(.UserExceptionVector.text))
-    _UserExceptionVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_16_end = ALIGN(0x8);
-  } >iram0_16_seg :iram0_16_phdr
-
-  .DoubleExceptionVector.literal : ALIGN(4)
-  {
-    _DoubleExceptionVector_literal_start = ABSOLUTE(.);
-    *(.DoubleExceptionVector.literal)
-    _DoubleExceptionVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_17_end = ALIGN(0x8);
-  } >iram0_17_seg :iram0_17_phdr
-
-  .DoubleExceptionVector.text : ALIGN(4)
-  {
-    _DoubleExceptionVector_text_start = ABSOLUTE(.);
-    KEEP (*(.DoubleExceptionVector.text))
-    _DoubleExceptionVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_18_end = ALIGN(0x8);
-  } >iram0_18_seg :iram0_18_phdr
-
-  .Reset.text : ALIGN(4)
-  {
-    _Reset_text_start = ABSOLUTE(.);
-    *(.Reset.text)
-    _Reset_text_end = ABSOLUTE(.);
-  } >iram0_19_seg :iram0_19_phdr
-
-  .iram0.text : ALIGN(4)
-  {
-    _iram0_text_start = ABSOLUTE(.);
-    *(.iram0.literal .iram.literal .iram.text.literal .iram0.text .iram.text)
-    _iram0_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_19_end = ALIGN(0x8);
-  } >iram0_19_seg :iram0_19_phdr
-
-  .sram.shareaddr : ALIGN(4)
-  {
-    _sram_shareaddr_start = ABSOLUTE(.);
-    *(.sram.shareaddr)
-    _sram_shareaddr_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .sram.rodata : ALIGN(4)
-  {
-    _sram_rodata_start = ABSOLUTE(.);
-    *(.sram.rodata)
-    _sram_rodata_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .rodata : ALIGN(4)
-  {
-    _rodata_start = ABSOLUTE(.);
-    *(.rodata)
-    *(.rodata.*)
-    *(.gnu.linkonce.r.*)
-    *(.rodata1)
-    __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
-    KEEP (*(.xt_except_table))
-    KEEP (*(.gcc_except_table))
-    *(.gnu.linkonce.e.*)
-    *(.gnu.version_r)
-    KEEP (*(.eh_frame))
-    /*  C++ constructor and destructor tables, properly ordered:  */
-    KEEP (*crtbegin.o(.ctors))
-    KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
-    KEEP (*(SORT(.ctors.*)))
-    KEEP (*(.ctors))
-    KEEP (*crtbegin.o(.dtors))
-    KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
-    KEEP (*(SORT(.dtors.*)))
-    KEEP (*(.dtors))
-    /*  C++ exception handlers table:  */
-    __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
-    *(.xt_except_desc)
-    *(.gnu.linkonce.h.*)
-    __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
-    *(.xt_except_desc_end)
-    *(.dynamic)
-    *(.gnu.version_d)
-    . = ALIGN(4);		/* this table MUST be 4-byte aligned */
-    _bss_table_start = ABSOLUTE(.);
-    LONG(_vlpd_bss_start)
-    LONG(_vlpd_bss_end)
-    LONG(_efr_fr_hr_vlpd_bss_start)
-    LONG(_efr_fr_hr_vlpd_bss_end)
-    LONG(_amr_vlpd_bss_start)
-    LONG(_amr_vlpd_bss_end)
-    LONG(_amrwb_vlpd_bss_start)
-    LONG(_amrwb_vlpd_bss_end)
-    LONG(_ulpp_bss_start)
-    LONG(_ulpp_bss_end)
-    LONG(_dtsv3_bss_start)
-    LONG(_dtsv3_bss_end)
-    LONG(_dtsv4_bss_start)
-    LONG(_dtsv4_bss_end)
-    LONG(_dram0_bss_start)
-    LONG(_dram0_bss_end)
-    LONG(_bss_start)
-    LONG(_bss_end)
-    _bss_table_end = ABSOLUTE(.);
-    _rodata_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .sram.text : ALIGN(4)
-  {
-    _sram_text_start = ABSOLUTE(.);
-    *(.sram.literal .sram.text)
-    _sram_text_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .text : ALIGN(4)
-  {
-    _stext = .;
-    _text_start = ABSOLUTE(.);
-    *(.entry.text)
-    *(.init.literal)
-    KEEP(*(.init))
-    *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
-    *(.fini.literal)
-    KEEP(*(.fini))
-    *(.gnu.version)
-    _text_end = ABSOLUTE(.);
-    _etext = .;
-  } >sram0_seg :sram0_phdr
-
-  .sram.data : ALIGN(4)
-  {
-    _sram_data_start = ABSOLUTE(.);
-    *(.sram.data)
-    _sram_data_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .data : ALIGN(4)
-  {
-    _data_start = ABSOLUTE(.);
-    *(.data)
-    *(.data.*)
-    *(.gnu.linkonce.d.*)
-    KEEP(*(.gnu.linkonce.d.*personality*))
-    *(.data1)
-    *(.sdata)
-    *(.sdata.*)
-    *(.gnu.linkonce.s.*)
-    *(.sdata2)
-    *(.sdata2.*)
-    *(.gnu.linkonce.s2.*)
-    KEEP(*(.jcr))
-    _data_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .sram.uninit : ALIGN(4)
-  {
-    _sram_uninit_start = ABSOLUTE(.);
-    *(.sram.uninit)
-    _sram_uninit_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _bss_start = ABSOLUTE(.);
-    *(.dynsbss)
-    *(.sbss)
-    *(.sbss.*)
-    *(.gnu.linkonce.sb.*)
-    *(.scommon)
-    *(.sbss2)
-    *(.sbss2.*)
-    *(.gnu.linkonce.sb2.*)
-    *(.dynbss)
-    *(.bss)
-    *(.bss.*)
-    *(.gnu.linkonce.b.*)
-    *(COMMON)
-    *(.sram.pool.bss)
-    *(.sram.bss)
-    . = ALIGN (8);
-    _bss_end = ABSOLUTE(.);
-    _memmap_seg_sram0_end = ALIGN(0x8);
-  } >sram0_seg :sram0_bss_phdr
-  .debug  0 :  { *(.debug) }
-  .line  0 :  { *(.line) }
-  .debug_srcinfo  0 :  { *(.debug_srcinfo) }
-  .debug_sfnames  0 :  { *(.debug_sfnames) }
-  .debug_aranges  0 :  { *(.debug_aranges) }
-  .debug_pubnames  0 :  { *(.debug_pubnames) }
-  .debug_info  0 :  { *(.debug_info) }
-  .debug_abbrev  0 :  { *(.debug_abbrev) }
-  .debug_line  0 :  { *(.debug_line) }
-  .debug_frame  0 :  { *(.debug_frame) }
-  .debug_str  0 :  { *(.debug_str) }
-  .debug_loc  0 :  { *(.debug_loc) }
-  .debug_macinfo  0 :  { *(.debug_macinfo) }
-  .debug_weaknames  0 :  { *(.debug_weaknames) }
-  .debug_funcnames  0 :  { *(.debug_funcnames) }
-  .debug_typenames  0 :  { *(.debug_typenames) }
-  .debug_varnames  0 :  { *(.debug_varnames) }
-  .xt.insn 0 :
-  {
-    KEEP (*(.xt.insn))
-    KEEP (*(.gnu.linkonce.x.*))
-  }
-  .xt.prop 0 :
-  {
-    KEEP (*(.xt.prop))
-    KEEP (*(.xt.prop.*))
-    KEEP (*(.gnu.linkonce.prop.*))
-  }
-  .xt.lit 0 :
-  {
-    KEEP (*(.xt.lit))
-    KEEP (*(.xt.lit.*))
-    KEEP (*(.gnu.linkonce.p.*))
-  }
-  .debug.xt.callgraph 0 :
-  {
-    KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
-  }
-}
-
diff --git a/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/ldscripts/elf32xtensa.xbn b/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/ldscripts/elf32xtensa.xbn
deleted file mode 100644
index e226d64..0000000
--- a/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/ldscripts/elf32xtensa.xbn
+++ /dev/null
@@ -1,827 +0,0 @@
-/* This linker script generated from xt-genldscripts.tpp for LSP hifi_hikey_lsp */
-/* Linker Script for ld -N */
-MEMORY
-{
-  sram0_seg :                         	org = 0xC0000000, len = 0x408000
-  old_vlpd_seg :                      	org = 0xC0408000, len = 0x10000
-  efr_fr_hr_vlpd_seg :                	org = 0xC0418000, len = 0x10000
-  amr_vlpd_seg :                      	org = 0xC0428000, len = 0x10000
-  amrwb_vlpd_seg :                    	org = 0xC0438000, len = 0x10000
-  evrc_evrcb_vlpt_seg :               	org = 0xC0448000, len = 0x48000
-  efr_fr_hr_vlpt_seg :                	org = 0xC0490000, len = 0x30000
-  amr_vlpt_seg :                      	org = 0xC04C0000, len = 0x20000
-  amrwb_vlpt_seg :                    	org = 0xC04E0000, len = 0x30000
-  vlpt_seg :                          	org = 0xC0510000, len = 0x48000
-  vlpd_seg :                          	org = 0xC0558000, len = 0x20000
-  ulpp_seg :                          	org = 0xC0578000, len = 0x40000
-  dtsv3_seg :                         	org = 0xC05B8000, len = 0x20000
-  dtsv4_seg :                         	org = 0xC05D8000, len = 0x28000
-  dram0_0_seg :                       	org = 0xE8058000, len = 0x28000
-  iram0_0_seg :                       	org = 0xE8080000, len = 0x300
-  iram0_1_seg :                       	org = 0xE8080300, len = 0x100
-  iram0_2_seg :                       	org = 0xE8080400, len = 0x178
-  iram0_3_seg :                       	org = 0xE8080578, len = 0x8
-  iram0_4_seg :                       	org = 0xE8080580, len = 0x38
-  iram0_5_seg :                       	org = 0xE80805B8, len = 0x8
-  iram0_6_seg :                       	org = 0xE80805C0, len = 0x38
-  iram0_7_seg :                       	org = 0xE80805F8, len = 0x8
-  iram0_8_seg :                       	org = 0xE8080600, len = 0x38
-  iram0_9_seg :                       	org = 0xE8080638, len = 0x8
-  iram0_10_seg :                      	org = 0xE8080640, len = 0x38
-  iram0_11_seg :                      	org = 0xE8080678, len = 0x48
-  iram0_12_seg :                      	org = 0xE80806C0, len = 0x38
-  iram0_13_seg :                      	org = 0xE80806F8, len = 0x8
-  iram0_14_seg :                      	org = 0xE8080700, len = 0x38
-  iram0_15_seg :                      	org = 0xE8080738, len = 0x8
-  iram0_16_seg :                      	org = 0xE8080740, len = 0x38
-  iram0_17_seg :                      	org = 0xE8080778, len = 0x48
-  iram0_18_seg :                      	org = 0xE80807C0, len = 0x40
-  iram0_19_seg :                      	org = 0xE8080800, len = 0xB800
-}
-
-PHDRS
-{
-  sram0_phdr PT_LOAD;
-  sram0_bss_phdr PT_LOAD;
-  old_vlpd_phdr PT_LOAD;
-  old_vlpd_bss_phdr PT_LOAD;
-  efr_fr_hr_vlpd_phdr PT_LOAD;
-  efr_fr_hr_vlpd_bss_phdr PT_LOAD;
-  amr_vlpd_phdr PT_LOAD;
-  amr_vlpd_bss_phdr PT_LOAD;
-  amrwb_vlpd_phdr PT_LOAD;
-  amrwb_vlpd_bss_phdr PT_LOAD;
-  evrc_evrcb_vlpt_phdr PT_LOAD;
-  efr_fr_hr_vlpt_phdr PT_LOAD;
-  amr_vlpt_phdr PT_LOAD;
-  amrwb_vlpt_phdr PT_LOAD;
-  vlpt_phdr PT_LOAD;
-  vlpd_phdr PT_LOAD;
-  ulpp_phdr PT_LOAD;
-  ulpp_bss_phdr PT_LOAD;
-  dtsv3_phdr PT_LOAD;
-  dtsv3_bss_phdr PT_LOAD;
-  dtsv4_phdr PT_LOAD;
-  dtsv4_bss_phdr PT_LOAD;
-  dram0_0_phdr PT_LOAD;
-  dram0_0_bss_phdr PT_LOAD;
-  iram0_0_phdr PT_LOAD;
-  iram0_1_phdr PT_LOAD;
-  iram0_2_phdr PT_LOAD;
-  iram0_3_phdr PT_LOAD;
-  iram0_4_phdr PT_LOAD;
-  iram0_5_phdr PT_LOAD;
-  iram0_6_phdr PT_LOAD;
-  iram0_7_phdr PT_LOAD;
-  iram0_8_phdr PT_LOAD;
-  iram0_9_phdr PT_LOAD;
-  iram0_10_phdr PT_LOAD;
-  iram0_11_phdr PT_LOAD;
-  iram0_12_phdr PT_LOAD;
-  iram0_13_phdr PT_LOAD;
-  iram0_14_phdr PT_LOAD;
-  iram0_15_phdr PT_LOAD;
-  iram0_16_phdr PT_LOAD;
-  iram0_17_phdr PT_LOAD;
-  iram0_18_phdr PT_LOAD;
-  iram0_19_phdr PT_LOAD;
-}
-
-
-/*  Default entry point:  */
-ENTRY(_ResetVector)
-
-/*  Memory boundary addresses:  */
-_memmap_mem_iram0_start = 0xe8080000;
-_memmap_mem_iram0_end   = 0xe808c000;
-_memmap_mem_dram0_start = 0xe8058000;
-_memmap_mem_dram0_end   = 0xe8080000;
-_memmap_mem_sram_start = 0xc0000000;
-_memmap_mem_sram_end   = 0xc0600000;
-
-/*  Memory segment boundary addresses:  */
-_memmap_seg_sram0_start = 0xc0000000;
-_memmap_seg_sram0_max   = 0xc0408000;
-_memmap_seg_old_vlpd_start = 0xc0408000;
-_memmap_seg_old_vlpd_max   = 0xc0418000;
-_memmap_seg_efr_fr_hr_vlpd_start = 0xc0418000;
-_memmap_seg_efr_fr_hr_vlpd_max   = 0xc0428000;
-_memmap_seg_amr_vlpd_start = 0xc0428000;
-_memmap_seg_amr_vlpd_max   = 0xc0438000;
-_memmap_seg_amrwb_vlpd_start = 0xc0438000;
-_memmap_seg_amrwb_vlpd_max   = 0xc0448000;
-_memmap_seg_evrc_evrcb_vlpt_start = 0xc0448000;
-_memmap_seg_evrc_evrcb_vlpt_max   = 0xc0490000;
-_memmap_seg_efr_fr_hr_vlpt_start = 0xc0490000;
-_memmap_seg_efr_fr_hr_vlpt_max   = 0xc04c0000;
-_memmap_seg_amr_vlpt_start = 0xc04c0000;
-_memmap_seg_amr_vlpt_max   = 0xc04e0000;
-_memmap_seg_amrwb_vlpt_start = 0xc04e0000;
-_memmap_seg_amrwb_vlpt_max   = 0xc0510000;
-_memmap_seg_vlpt_start = 0xc0510000;
-_memmap_seg_vlpt_max   = 0xc0558000;
-_memmap_seg_vlpd_start = 0xc0558000;
-_memmap_seg_vlpd_max   = 0xc0578000;
-_memmap_seg_ulpp_start = 0xc0578000;
-_memmap_seg_ulpp_max   = 0xc05b8000;
-_memmap_seg_dtsv3_start = 0xc05b8000;
-_memmap_seg_dtsv3_max   = 0xc05d8000;
-_memmap_seg_dtsv4_start = 0xc05d8000;
-_memmap_seg_dtsv4_max   = 0xc0600000;
-_memmap_seg_dram0_0_start = 0xe8058000;
-_memmap_seg_dram0_0_max   = 0xe8080000;
-_memmap_seg_iram0_0_start = 0xe8080000;
-_memmap_seg_iram0_0_max   = 0xe8080300;
-_memmap_seg_iram0_1_start = 0xe8080300;
-_memmap_seg_iram0_1_max   = 0xe8080400;
-_memmap_seg_iram0_2_start = 0xe8080400;
-_memmap_seg_iram0_2_max   = 0xe8080578;
-_memmap_seg_iram0_3_start = 0xe8080578;
-_memmap_seg_iram0_3_max   = 0xe8080580;
-_memmap_seg_iram0_4_start = 0xe8080580;
-_memmap_seg_iram0_4_max   = 0xe80805b8;
-_memmap_seg_iram0_5_start = 0xe80805b8;
-_memmap_seg_iram0_5_max   = 0xe80805c0;
-_memmap_seg_iram0_6_start = 0xe80805c0;
-_memmap_seg_iram0_6_max   = 0xe80805f8;
-_memmap_seg_iram0_7_start = 0xe80805f8;
-_memmap_seg_iram0_7_max   = 0xe8080600;
-_memmap_seg_iram0_8_start = 0xe8080600;
-_memmap_seg_iram0_8_max   = 0xe8080638;
-_memmap_seg_iram0_9_start = 0xe8080638;
-_memmap_seg_iram0_9_max   = 0xe8080640;
-_memmap_seg_iram0_10_start = 0xe8080640;
-_memmap_seg_iram0_10_max   = 0xe8080678;
-_memmap_seg_iram0_11_start = 0xe8080678;
-_memmap_seg_iram0_11_max   = 0xe80806c0;
-_memmap_seg_iram0_12_start = 0xe80806c0;
-_memmap_seg_iram0_12_max   = 0xe80806f8;
-_memmap_seg_iram0_13_start = 0xe80806f8;
-_memmap_seg_iram0_13_max   = 0xe8080700;
-_memmap_seg_iram0_14_start = 0xe8080700;
-_memmap_seg_iram0_14_max   = 0xe8080738;
-_memmap_seg_iram0_15_start = 0xe8080738;
-_memmap_seg_iram0_15_max   = 0xe8080740;
-_memmap_seg_iram0_16_start = 0xe8080740;
-_memmap_seg_iram0_16_max   = 0xe8080778;
-_memmap_seg_iram0_17_start = 0xe8080778;
-_memmap_seg_iram0_17_max   = 0xe80807c0;
-_memmap_seg_iram0_18_start = 0xe80807c0;
-_memmap_seg_iram0_18_max   = 0xe8080800;
-_memmap_seg_iram0_19_start = 0xe8080800;
-_memmap_seg_iram0_19_max   = 0xe808c000;
-
-_rom_store_table = 0;
-PROVIDE(_memmap_vecbase_reset = 0xe8080400);
-PROVIDE(_memmap_reset_vector = 0xe8080000);
-/* Various memory-map dependent cache attribute settings: */
-_memmap_cacheattr_wb_base = 0x44000000;
-_memmap_cacheattr_wt_base = 0x11000000;
-_memmap_cacheattr_bp_base = 0x22000000;
-_memmap_cacheattr_unused_mask = 0x00FFFFFF;
-_memmap_cacheattr_wb_trapnull = 0x4422222F;
-_memmap_cacheattr_wba_trapnull = 0x4422222F;
-_memmap_cacheattr_wbna_trapnull = 0x5522222F;
-_memmap_cacheattr_wt_trapnull = 0x1122222F;
-_memmap_cacheattr_bp_trapnull = 0x2222222F;
-_memmap_cacheattr_wb_strict = 0x44FFFFFF;
-_memmap_cacheattr_wt_strict = 0x11FFFFFF;
-_memmap_cacheattr_bp_strict = 0x22FFFFFF;
-_memmap_cacheattr_wb_allvalid = 0x44222222;
-_memmap_cacheattr_wt_allvalid = 0x11222222;
-_memmap_cacheattr_bp_allvalid = 0x22222222;
-PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
-
-SECTIONS
-{
-
-  .vlpd.rodata : ALIGN(4)
-  {
-    _vlpd_rodata_start = ABSOLUTE(.);
-    *(.vlpd.rodata)
-    _vlpd_rodata_end = ABSOLUTE(.);
-  } >old_vlpd_seg :old_vlpd_phdr
-
-  .vlpd.data : ALIGN(4)
-  {
-    _vlpd_data_start = ABSOLUTE(.);
-    *(.vlpd.data)
-    _vlpd_data_end = ABSOLUTE(.);
-  } >old_vlpd_seg :old_vlpd_phdr
-
-  .vlpd.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _vlpd_bss_start = ABSOLUTE(.);
-    *(.vlpd.bss)
-    . = ALIGN (8);
-    _vlpd_bss_end = ABSOLUTE(.);
-    _memmap_seg_old_vlpd_end = ALIGN(0x8);
-  } >old_vlpd_seg :old_vlpd_bss_phdr
-
-  .efr_fr_hr_vlpd.rodata : ALIGN(4)
-  {
-    _efr_fr_hr_vlpd_rodata_start = ABSOLUTE(.);
-    *(.efr_fr_hr_vlpd.rodata)
-    _efr_fr_hr_vlpd_rodata_end = ABSOLUTE(.);
-  } >efr_fr_hr_vlpd_seg :efr_fr_hr_vlpd_phdr
-
-  .efr_fr_hr_vlpd.data : ALIGN(4)
-  {
-    _efr_fr_hr_vlpd_data_start = ABSOLUTE(.);
-    *(.efr_fr_hr_vlpd.data)
-    _efr_fr_hr_vlpd_data_end = ABSOLUTE(.);
-  } >efr_fr_hr_vlpd_seg :efr_fr_hr_vlpd_phdr
-
-  .efr_fr_hr_vlpd.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _efr_fr_hr_vlpd_bss_start = ABSOLUTE(.);
-    *(.efr_fr_hr_vlpd.bss)
-    . = ALIGN (8);
-    _efr_fr_hr_vlpd_bss_end = ABSOLUTE(.);
-    _memmap_seg_efr_fr_hr_vlpd_end = ALIGN(0x8);
-  } >efr_fr_hr_vlpd_seg :efr_fr_hr_vlpd_bss_phdr
-
-  .amr_vlpd.rodata : ALIGN(4)
-  {
-    _amr_vlpd_rodata_start = ABSOLUTE(.);
-    *(.amr_vlpd.rodata)
-    _amr_vlpd_rodata_end = ABSOLUTE(.);
-  } >amr_vlpd_seg :amr_vlpd_phdr
-
-  .amr_vlpd.data : ALIGN(4)
-  {
-    _amr_vlpd_data_start = ABSOLUTE(.);
-    *(.amr_vlpd.data)
-    _amr_vlpd_data_end = ABSOLUTE(.);
-  } >amr_vlpd_seg :amr_vlpd_phdr
-
-  .amr_vlpd.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _amr_vlpd_bss_start = ABSOLUTE(.);
-    *(.amr_vlpd.bss)
-    . = ALIGN (8);
-    _amr_vlpd_bss_end = ABSOLUTE(.);
-    _memmap_seg_amr_vlpd_end = ALIGN(0x8);
-  } >amr_vlpd_seg :amr_vlpd_bss_phdr
-
-  .amrwb_vlpd.rodata : ALIGN(4)
-  {
-    _amrwb_vlpd_rodata_start = ABSOLUTE(.);
-    *(.amrwb_vlpd.rodata)
-    _amrwb_vlpd_rodata_end = ABSOLUTE(.);
-  } >amrwb_vlpd_seg :amrwb_vlpd_phdr
-
-  .amrwb_vlpd.data : ALIGN(4)
-  {
-    _amrwb_vlpd_data_start = ABSOLUTE(.);
-    *(.amrwb_vlpd.data)
-    _amrwb_vlpd_data_end = ABSOLUTE(.);
-  } >amrwb_vlpd_seg :amrwb_vlpd_phdr
-
-  .amrwb_vlpd.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _amrwb_vlpd_bss_start = ABSOLUTE(.);
-    *(.amrwb_vlpd.bss)
-    . = ALIGN (8);
-    _amrwb_vlpd_bss_end = ABSOLUTE(.);
-    _memmap_seg_amrwb_vlpd_end = ALIGN(0x8);
-  } >amrwb_vlpd_seg :amrwb_vlpd_bss_phdr
-
-  .evrc_evrcb_vlpt.text : ALIGN(4)
-  {
-    _evrc_evrcb_vlpt_text_start = ABSOLUTE(.);
-    *(.evrc_evrcb_vlpt.literal .evrc_evrcb_vlpt.text)
-    _evrc_evrcb_vlpt_text_end = ABSOLUTE(.);
-    _memmap_seg_evrc_evrcb_vlpt_end = ALIGN(0x8);
-  } >evrc_evrcb_vlpt_seg :evrc_evrcb_vlpt_phdr
-
-  .efr_fr_hr_vlpt.text : ALIGN(4)
-  {
-    _efr_fr_hr_vlpt_text_start = ABSOLUTE(.);
-    *(.efr_fr_hr_vlpt.literal .efr_fr_hr_vlpt.text)
-    _efr_fr_hr_vlpt_text_end = ABSOLUTE(.);
-    _memmap_seg_efr_fr_hr_vlpt_end = ALIGN(0x8);
-  } >efr_fr_hr_vlpt_seg :efr_fr_hr_vlpt_phdr
-
-  .amr_vlpt.text : ALIGN(4)
-  {
-    _amr_vlpt_text_start = ABSOLUTE(.);
-    *(.amr_vlpt.literal .amr_vlpt.text)
-    _amr_vlpt_text_end = ABSOLUTE(.);
-    _memmap_seg_amr_vlpt_end = ALIGN(0x8);
-  } >amr_vlpt_seg :amr_vlpt_phdr
-
-  .amrwb_vlpt.text : ALIGN(4)
-  {
-    _amrwb_vlpt_text_start = ABSOLUTE(.);
-    *(.amrwb_vlpt.literal .amrwb_vlpt.text)
-    _amrwb_vlpt_text_end = ABSOLUTE(.);
-    _memmap_seg_amrwb_vlpt_end = ALIGN(0x8);
-  } >amrwb_vlpt_seg :amrwb_vlpt_phdr
-
-  .vlpt.text : ALIGN(4)
-  {
-    _vlpt_text_start = ABSOLUTE(.);
-    *(.vlpt.literal .vlpt.text)
-    _vlpt_text_end = ABSOLUTE(.);
-    _memmap_seg_vlpt_end = ALIGN(0x8);
-  } >vlpt_seg :vlpt_phdr
-
-  .low_power_dyn_alloc : ALIGN(4)
-  {
-    _low_power_dyn_alloc_start = ABSOLUTE(.);
-    *(.low_power_dyn_alloc)
-    _low_power_dyn_alloc_end = ABSOLUTE(.);
-    _memmap_seg_vlpd_end = ALIGN(0x8);
-  } >vlpd_seg :vlpd_phdr
-
-  .ulpp.rodata : ALIGN(4)
-  {
-    _ulpp_rodata_start = ABSOLUTE(.);
-    *(.ulpp.rodata)
-    _ulpp_rodata_end = ABSOLUTE(.);
-  } >ulpp_seg :ulpp_phdr
-
-  .ulpp.data : ALIGN(4)
-  {
-    _ulpp_data_start = ABSOLUTE(.);
-    *(.ulpp.data)
-    _ulpp_data_end = ABSOLUTE(.);
-  } >ulpp_seg :ulpp_phdr
-
-  .ulpp.text : ALIGN(4)
-  {
-    _ulpp_text_start = ABSOLUTE(.);
-    *(.ulpp.literal .ulpp.text)
-    _ulpp_text_end = ABSOLUTE(.);
-  } >ulpp_seg :ulpp_phdr
-
-  .ulpp.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _ulpp_bss_start = ABSOLUTE(.);
-    *(.ulpp.bss)
-    . = ALIGN (8);
-    _ulpp_bss_end = ABSOLUTE(.);
-    _memmap_seg_ulpp_end = ALIGN(0x8);
-  } >ulpp_seg :ulpp_bss_phdr
-
-  .dtsv3.rodata : ALIGN(4)
-  {
-    _dtsv3_rodata_start = ABSOLUTE(.);
-    *(.dtsv3.rodata)
-    _dtsv3_rodata_end = ABSOLUTE(.);
-  } >dtsv3_seg :dtsv3_phdr
-
-  .dtsv3.data : ALIGN(4)
-  {
-    _dtsv3_data_start = ABSOLUTE(.);
-    *(.dtsv3.data)
-    _dtsv3_data_end = ABSOLUTE(.);
-  } >dtsv3_seg :dtsv3_phdr
-
-  .dtsv3.text : ALIGN(4)
-  {
-    _dtsv3_text_start = ABSOLUTE(.);
-    *(.dtsv3.literal .dtsv3.text)
-    _dtsv3_text_end = ABSOLUTE(.);
-  } >dtsv3_seg :dtsv3_phdr
-
-  .dtsv3.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _dtsv3_bss_start = ABSOLUTE(.);
-    *(.dtsv3.bss)
-    . = ALIGN (8);
-    _dtsv3_bss_end = ABSOLUTE(.);
-    _memmap_seg_dtsv3_end = ALIGN(0x8);
-  } >dtsv3_seg :dtsv3_bss_phdr
-
-  .dtsv4.rodata : ALIGN(4)
-  {
-    _dtsv4_rodata_start = ABSOLUTE(.);
-    *(.dtsv4.rodata)
-    _dtsv4_rodata_end = ABSOLUTE(.);
-  } >dtsv4_seg :dtsv4_phdr
-
-  .dtsv4.data : ALIGN(4)
-  {
-    _dtsv4_data_start = ABSOLUTE(.);
-    *(.dtsv4.data)
-    _dtsv4_data_end = ABSOLUTE(.);
-  } >dtsv4_seg :dtsv4_phdr
-
-  .dtsv4.text : ALIGN(4)
-  {
-    _dtsv4_text_start = ABSOLUTE(.);
-    *(.dtsv4.literal .dtsv4.text)
-    _dtsv4_text_end = ABSOLUTE(.);
-  } >dtsv4_seg :dtsv4_phdr
-
-  .dtsv4.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _dtsv4_bss_start = ABSOLUTE(.);
-    *(.dtsv4.bss)
-    . = ALIGN (8);
-    _dtsv4_bss_end = ABSOLUTE(.);
-    _memmap_seg_dtsv4_end = ALIGN(0x8);
-  } >dtsv4_seg :dtsv4_bss_phdr
-
-  .dram0.rodata : ALIGN(4)
-  {
-    _dram0_rodata_start = ABSOLUTE(.);
-    *(.dram0.rodata)
-    *(.dram.rodata)
-    _dram0_rodata_end = ABSOLUTE(.);
-  } >dram0_0_seg :dram0_0_phdr
-
-  .dram0.literal : ALIGN(4)
-  {
-    _dram0_literal_start = ABSOLUTE(.);
-    *(.dram0.literal)
-    *(.dram.literal)
-    _dram0_literal_end = ABSOLUTE(.);
-  } >dram0_0_seg :dram0_0_phdr
-
-  .dram0.data : ALIGN(4)
-  {
-    _dram0_data_start = ABSOLUTE(.);
-    *(.dram0.data)
-    *(.dram.data)
-    _dram0_data_end = ABSOLUTE(.);
-  } >dram0_0_seg :dram0_0_phdr
-
-  .dram0.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _dram0_bss_start = ABSOLUTE(.);
-    *(.dram0.bss)
-    *(.om.debug.bss)
-    *(.os.stack.bss)
-    . = ALIGN (8);
-    _dram0_bss_end = ABSOLUTE(.);
-    _end = ALIGN(0x8);
-    PROVIDE(end = ALIGN(0x8));
-    _stack_sentry = ALIGN(0x8);
-    _memmap_seg_dram0_0_end = ALIGN(0x8);
-  } >dram0_0_seg :dram0_0_bss_phdr
-  __stack = 0xe8080000;
-  _heap_sentry = 0xe8080000;
-
-  .ResetVector.text : ALIGN(4)
-  {
-    _ResetVector_text_start = ABSOLUTE(.);
-    KEEP (*(.ResetVector.text))
-    _ResetVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_0_end = ALIGN(0x8);
-  } >iram0_0_seg :iram0_0_phdr
-
-  .Reset.literal : ALIGN(4)
-  {
-    _Reset_literal_start = ABSOLUTE(.);
-    *(.Reset.literal)
-    _Reset_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_1_end = ALIGN(0x8);
-  } >iram0_1_seg :iram0_1_phdr
-
-  .WindowVectors.text : ALIGN(4)
-  {
-    _WindowVectors_text_start = ABSOLUTE(.);
-    KEEP (*(.WindowVectors.text))
-    _WindowVectors_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_2_end = ALIGN(0x8);
-  } >iram0_2_seg :iram0_2_phdr
-
-  .Level2InterruptVector.literal : ALIGN(4)
-  {
-    _Level2InterruptVector_literal_start = ABSOLUTE(.);
-    *(.Level2InterruptVector.literal)
-    _Level2InterruptVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_3_end = ALIGN(0x8);
-  } >iram0_3_seg :iram0_3_phdr
-
-  .Level2InterruptVector.text : ALIGN(4)
-  {
-    _Level2InterruptVector_text_start = ABSOLUTE(.);
-    KEEP (*(.Level2InterruptVector.text))
-    _Level2InterruptVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_4_end = ALIGN(0x8);
-  } >iram0_4_seg :iram0_4_phdr
-
-  .Level3InterruptVector.literal : ALIGN(4)
-  {
-    _Level3InterruptVector_literal_start = ABSOLUTE(.);
-    *(.Level3InterruptVector.literal)
-    _Level3InterruptVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_5_end = ALIGN(0x8);
-  } >iram0_5_seg :iram0_5_phdr
-
-  .Level3InterruptVector.text : ALIGN(4)
-  {
-    _Level3InterruptVector_text_start = ABSOLUTE(.);
-    KEEP (*(.Level3InterruptVector.text))
-    _Level3InterruptVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_6_end = ALIGN(0x8);
-  } >iram0_6_seg :iram0_6_phdr
-
-  .Level4InterruptVector.literal : ALIGN(4)
-  {
-    _Level4InterruptVector_literal_start = ABSOLUTE(.);
-    *(.Level4InterruptVector.literal)
-    _Level4InterruptVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_7_end = ALIGN(0x8);
-  } >iram0_7_seg :iram0_7_phdr
-
-  .Level4InterruptVector.text : ALIGN(4)
-  {
-    _Level4InterruptVector_text_start = ABSOLUTE(.);
-    KEEP (*(.Level4InterruptVector.text))
-    _Level4InterruptVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_8_end = ALIGN(0x8);
-  } >iram0_8_seg :iram0_8_phdr
-
-  .DebugExceptionVector.literal : ALIGN(4)
-  {
-    _DebugExceptionVector_literal_start = ABSOLUTE(.);
-    *(.DebugExceptionVector.literal)
-    _DebugExceptionVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_9_end = ALIGN(0x8);
-  } >iram0_9_seg :iram0_9_phdr
-
-  .DebugExceptionVector.text : ALIGN(4)
-  {
-    _DebugExceptionVector_text_start = ABSOLUTE(.);
-    KEEP (*(.DebugExceptionVector.text))
-    _DebugExceptionVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_10_end = ALIGN(0x8);
-  } >iram0_10_seg :iram0_10_phdr
-
-  .NMIExceptionVector.literal : ALIGN(4)
-  {
-    _NMIExceptionVector_literal_start = ABSOLUTE(.);
-    *(.NMIExceptionVector.literal)
-    _NMIExceptionVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_11_end = ALIGN(0x8);
-  } >iram0_11_seg :iram0_11_phdr
-
-  .NMIExceptionVector.text : ALIGN(4)
-  {
-    _NMIExceptionVector_text_start = ABSOLUTE(.);
-    KEEP (*(.NMIExceptionVector.text))
-    _NMIExceptionVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_12_end = ALIGN(0x8);
-  } >iram0_12_seg :iram0_12_phdr
-
-  .KernelExceptionVector.literal : ALIGN(4)
-  {
-    _KernelExceptionVector_literal_start = ABSOLUTE(.);
-    *(.KernelExceptionVector.literal)
-    _KernelExceptionVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_13_end = ALIGN(0x8);
-  } >iram0_13_seg :iram0_13_phdr
-
-  .KernelExceptionVector.text : ALIGN(4)
-  {
-    _KernelExceptionVector_text_start = ABSOLUTE(.);
-    KEEP (*(.KernelExceptionVector.text))
-    _KernelExceptionVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_14_end = ALIGN(0x8);
-  } >iram0_14_seg :iram0_14_phdr
-
-  .UserExceptionVector.literal : ALIGN(4)
-  {
-    _UserExceptionVector_literal_start = ABSOLUTE(.);
-    *(.UserExceptionVector.literal)
-    _UserExceptionVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_15_end = ALIGN(0x8);
-  } >iram0_15_seg :iram0_15_phdr
-
-  .UserExceptionVector.text : ALIGN(4)
-  {
-    _UserExceptionVector_text_start = ABSOLUTE(.);
-    KEEP (*(.UserExceptionVector.text))
-    _UserExceptionVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_16_end = ALIGN(0x8);
-  } >iram0_16_seg :iram0_16_phdr
-
-  .DoubleExceptionVector.literal : ALIGN(4)
-  {
-    _DoubleExceptionVector_literal_start = ABSOLUTE(.);
-    *(.DoubleExceptionVector.literal)
-    _DoubleExceptionVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_17_end = ALIGN(0x8);
-  } >iram0_17_seg :iram0_17_phdr
-
-  .DoubleExceptionVector.text : ALIGN(4)
-  {
-    _DoubleExceptionVector_text_start = ABSOLUTE(.);
-    KEEP (*(.DoubleExceptionVector.text))
-    _DoubleExceptionVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_18_end = ALIGN(0x8);
-  } >iram0_18_seg :iram0_18_phdr
-
-  .Reset.text : ALIGN(4)
-  {
-    _Reset_text_start = ABSOLUTE(.);
-    *(.Reset.text)
-    _Reset_text_end = ABSOLUTE(.);
-  } >iram0_19_seg :iram0_19_phdr
-
-  .iram0.text : ALIGN(4)
-  {
-    _iram0_text_start = ABSOLUTE(.);
-    *(.iram0.literal .iram.literal .iram.text.literal .iram0.text .iram.text)
-    _iram0_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_19_end = ALIGN(0x8);
-  } >iram0_19_seg :iram0_19_phdr
-
-  .sram.shareaddr : ALIGN(4)
-  {
-    _sram_shareaddr_start = ABSOLUTE(.);
-    *(.sram.shareaddr)
-    _sram_shareaddr_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .sram.rodata : ALIGN(4)
-  {
-    _sram_rodata_start = ABSOLUTE(.);
-    *(.sram.rodata)
-    _sram_rodata_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .rodata : ALIGN(4)
-  {
-    _rodata_start = ABSOLUTE(.);
-    *(.rodata)
-    *(.rodata.*)
-    *(.gnu.linkonce.r.*)
-    *(.rodata1)
-    __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
-    KEEP (*(.xt_except_table))
-    KEEP (*(.gcc_except_table))
-    *(.gnu.linkonce.e.*)
-    *(.gnu.version_r)
-    KEEP (*(.eh_frame))
-    /*  C++ constructor and destructor tables, properly ordered:  */
-    KEEP (*crtbegin.o(.ctors))
-    KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
-    KEEP (*(SORT(.ctors.*)))
-    KEEP (*(.ctors))
-    KEEP (*crtbegin.o(.dtors))
-    KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
-    KEEP (*(SORT(.dtors.*)))
-    KEEP (*(.dtors))
-    /*  C++ exception handlers table:  */
-    __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
-    *(.xt_except_desc)
-    *(.gnu.linkonce.h.*)
-    __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
-    *(.xt_except_desc_end)
-    *(.dynamic)
-    *(.gnu.version_d)
-    . = ALIGN(4);		/* this table MUST be 4-byte aligned */
-    _bss_table_start = ABSOLUTE(.);
-    LONG(_vlpd_bss_start)
-    LONG(_vlpd_bss_end)
-    LONG(_efr_fr_hr_vlpd_bss_start)
-    LONG(_efr_fr_hr_vlpd_bss_end)
-    LONG(_amr_vlpd_bss_start)
-    LONG(_amr_vlpd_bss_end)
-    LONG(_amrwb_vlpd_bss_start)
-    LONG(_amrwb_vlpd_bss_end)
-    LONG(_ulpp_bss_start)
-    LONG(_ulpp_bss_end)
-    LONG(_dtsv3_bss_start)
-    LONG(_dtsv3_bss_end)
-    LONG(_dtsv4_bss_start)
-    LONG(_dtsv4_bss_end)
-    LONG(_dram0_bss_start)
-    LONG(_dram0_bss_end)
-    LONG(_bss_start)
-    LONG(_bss_end)
-    _bss_table_end = ABSOLUTE(.);
-    _rodata_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .sram.text : ALIGN(4)
-  {
-    _sram_text_start = ABSOLUTE(.);
-    *(.sram.literal .sram.text)
-    _sram_text_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .text : ALIGN(4)
-  {
-    _stext = .;
-    _text_start = ABSOLUTE(.);
-    *(.entry.text)
-    *(.init.literal)
-    KEEP(*(.init))
-    *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
-    *(.fini.literal)
-    KEEP(*(.fini))
-    *(.gnu.version)
-    _text_end = ABSOLUTE(.);
-    _etext = .;
-  } >sram0_seg :sram0_phdr
-
-  .sram.data : ALIGN(4)
-  {
-    _sram_data_start = ABSOLUTE(.);
-    *(.sram.data)
-    _sram_data_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .data : ALIGN(4)
-  {
-    _data_start = ABSOLUTE(.);
-    *(.data)
-    *(.data.*)
-    *(.gnu.linkonce.d.*)
-    KEEP(*(.gnu.linkonce.d.*personality*))
-    *(.data1)
-    *(.sdata)
-    *(.sdata.*)
-    *(.gnu.linkonce.s.*)
-    *(.sdata2)
-    *(.sdata2.*)
-    *(.gnu.linkonce.s2.*)
-    KEEP(*(.jcr))
-    _data_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .sram.uninit : ALIGN(4)
-  {
-    _sram_uninit_start = ABSOLUTE(.);
-    *(.sram.uninit)
-    _sram_uninit_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _bss_start = ABSOLUTE(.);
-    *(.dynsbss)
-    *(.sbss)
-    *(.sbss.*)
-    *(.gnu.linkonce.sb.*)
-    *(.scommon)
-    *(.sbss2)
-    *(.sbss2.*)
-    *(.gnu.linkonce.sb2.*)
-    *(.dynbss)
-    *(.bss)
-    *(.bss.*)
-    *(.gnu.linkonce.b.*)
-    *(COMMON)
-    *(.sram.pool.bss)
-    *(.sram.bss)
-    . = ALIGN (8);
-    _bss_end = ABSOLUTE(.);
-    _memmap_seg_sram0_end = ALIGN(0x8);
-  } >sram0_seg :sram0_bss_phdr
-  .debug  0 :  { *(.debug) }
-  .line  0 :  { *(.line) }
-  .debug_srcinfo  0 :  { *(.debug_srcinfo) }
-  .debug_sfnames  0 :  { *(.debug_sfnames) }
-  .debug_aranges  0 :  { *(.debug_aranges) }
-  .debug_pubnames  0 :  { *(.debug_pubnames) }
-  .debug_info  0 :  { *(.debug_info) }
-  .debug_abbrev  0 :  { *(.debug_abbrev) }
-  .debug_line  0 :  { *(.debug_line) }
-  .debug_frame  0 :  { *(.debug_frame) }
-  .debug_str  0 :  { *(.debug_str) }
-  .debug_loc  0 :  { *(.debug_loc) }
-  .debug_macinfo  0 :  { *(.debug_macinfo) }
-  .debug_weaknames  0 :  { *(.debug_weaknames) }
-  .debug_funcnames  0 :  { *(.debug_funcnames) }
-  .debug_typenames  0 :  { *(.debug_typenames) }
-  .debug_varnames  0 :  { *(.debug_varnames) }
-  .xt.insn 0 :
-  {
-    KEEP (*(.xt.insn))
-    KEEP (*(.gnu.linkonce.x.*))
-  }
-  .xt.prop 0 :
-  {
-    KEEP (*(.xt.prop))
-    KEEP (*(.xt.prop.*))
-    KEEP (*(.gnu.linkonce.prop.*))
-  }
-  .xt.lit 0 :
-  {
-    KEEP (*(.xt.lit))
-    KEEP (*(.xt.lit.*))
-    KEEP (*(.gnu.linkonce.p.*))
-  }
-  .debug.xt.callgraph 0 :
-  {
-    KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
-  }
-}
-
diff --git a/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/ldscripts/elf32xtensa.xn b/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/ldscripts/elf32xtensa.xn
deleted file mode 100644
index 17c05e1..0000000
--- a/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/ldscripts/elf32xtensa.xn
+++ /dev/null
@@ -1,827 +0,0 @@
-/* This linker script generated from xt-genldscripts.tpp for LSP hifi_hikey_lsp */
-/* Linker Script for ld -n */
-MEMORY
-{
-  sram0_seg :                         	org = 0xC0000000, len = 0x408000
-  old_vlpd_seg :                      	org = 0xC0408000, len = 0x10000
-  efr_fr_hr_vlpd_seg :                	org = 0xC0418000, len = 0x10000
-  amr_vlpd_seg :                      	org = 0xC0428000, len = 0x10000
-  amrwb_vlpd_seg :                    	org = 0xC0438000, len = 0x10000
-  evrc_evrcb_vlpt_seg :               	org = 0xC0448000, len = 0x48000
-  efr_fr_hr_vlpt_seg :                	org = 0xC0490000, len = 0x30000
-  amr_vlpt_seg :                      	org = 0xC04C0000, len = 0x20000
-  amrwb_vlpt_seg :                    	org = 0xC04E0000, len = 0x30000
-  vlpt_seg :                          	org = 0xC0510000, len = 0x48000
-  vlpd_seg :                          	org = 0xC0558000, len = 0x20000
-  ulpp_seg :                          	org = 0xC0578000, len = 0x40000
-  dtsv3_seg :                         	org = 0xC05B8000, len = 0x20000
-  dtsv4_seg :                         	org = 0xC05D8000, len = 0x28000
-  dram0_0_seg :                       	org = 0xE8058000, len = 0x28000
-  iram0_0_seg :                       	org = 0xE8080000, len = 0x300
-  iram0_1_seg :                       	org = 0xE8080300, len = 0x100
-  iram0_2_seg :                       	org = 0xE8080400, len = 0x178
-  iram0_3_seg :                       	org = 0xE8080578, len = 0x8
-  iram0_4_seg :                       	org = 0xE8080580, len = 0x38
-  iram0_5_seg :                       	org = 0xE80805B8, len = 0x8
-  iram0_6_seg :                       	org = 0xE80805C0, len = 0x38
-  iram0_7_seg :                       	org = 0xE80805F8, len = 0x8
-  iram0_8_seg :                       	org = 0xE8080600, len = 0x38
-  iram0_9_seg :                       	org = 0xE8080638, len = 0x8
-  iram0_10_seg :                      	org = 0xE8080640, len = 0x38
-  iram0_11_seg :                      	org = 0xE8080678, len = 0x48
-  iram0_12_seg :                      	org = 0xE80806C0, len = 0x38
-  iram0_13_seg :                      	org = 0xE80806F8, len = 0x8
-  iram0_14_seg :                      	org = 0xE8080700, len = 0x38
-  iram0_15_seg :                      	org = 0xE8080738, len = 0x8
-  iram0_16_seg :                      	org = 0xE8080740, len = 0x38
-  iram0_17_seg :                      	org = 0xE8080778, len = 0x48
-  iram0_18_seg :                      	org = 0xE80807C0, len = 0x40
-  iram0_19_seg :                      	org = 0xE8080800, len = 0xB800
-}
-
-PHDRS
-{
-  sram0_phdr PT_LOAD;
-  sram0_bss_phdr PT_LOAD;
-  old_vlpd_phdr PT_LOAD;
-  old_vlpd_bss_phdr PT_LOAD;
-  efr_fr_hr_vlpd_phdr PT_LOAD;
-  efr_fr_hr_vlpd_bss_phdr PT_LOAD;
-  amr_vlpd_phdr PT_LOAD;
-  amr_vlpd_bss_phdr PT_LOAD;
-  amrwb_vlpd_phdr PT_LOAD;
-  amrwb_vlpd_bss_phdr PT_LOAD;
-  evrc_evrcb_vlpt_phdr PT_LOAD;
-  efr_fr_hr_vlpt_phdr PT_LOAD;
-  amr_vlpt_phdr PT_LOAD;
-  amrwb_vlpt_phdr PT_LOAD;
-  vlpt_phdr PT_LOAD;
-  vlpd_phdr PT_LOAD;
-  ulpp_phdr PT_LOAD;
-  ulpp_bss_phdr PT_LOAD;
-  dtsv3_phdr PT_LOAD;
-  dtsv3_bss_phdr PT_LOAD;
-  dtsv4_phdr PT_LOAD;
-  dtsv4_bss_phdr PT_LOAD;
-  dram0_0_phdr PT_LOAD;
-  dram0_0_bss_phdr PT_LOAD;
-  iram0_0_phdr PT_LOAD;
-  iram0_1_phdr PT_LOAD;
-  iram0_2_phdr PT_LOAD;
-  iram0_3_phdr PT_LOAD;
-  iram0_4_phdr PT_LOAD;
-  iram0_5_phdr PT_LOAD;
-  iram0_6_phdr PT_LOAD;
-  iram0_7_phdr PT_LOAD;
-  iram0_8_phdr PT_LOAD;
-  iram0_9_phdr PT_LOAD;
-  iram0_10_phdr PT_LOAD;
-  iram0_11_phdr PT_LOAD;
-  iram0_12_phdr PT_LOAD;
-  iram0_13_phdr PT_LOAD;
-  iram0_14_phdr PT_LOAD;
-  iram0_15_phdr PT_LOAD;
-  iram0_16_phdr PT_LOAD;
-  iram0_17_phdr PT_LOAD;
-  iram0_18_phdr PT_LOAD;
-  iram0_19_phdr PT_LOAD;
-}
-
-
-/*  Default entry point:  */
-ENTRY(_ResetVector)
-
-/*  Memory boundary addresses:  */
-_memmap_mem_iram0_start = 0xe8080000;
-_memmap_mem_iram0_end   = 0xe808c000;
-_memmap_mem_dram0_start = 0xe8058000;
-_memmap_mem_dram0_end   = 0xe8080000;
-_memmap_mem_sram_start = 0xc0000000;
-_memmap_mem_sram_end   = 0xc0600000;
-
-/*  Memory segment boundary addresses:  */
-_memmap_seg_sram0_start = 0xc0000000;
-_memmap_seg_sram0_max   = 0xc0408000;
-_memmap_seg_old_vlpd_start = 0xc0408000;
-_memmap_seg_old_vlpd_max   = 0xc0418000;
-_memmap_seg_efr_fr_hr_vlpd_start = 0xc0418000;
-_memmap_seg_efr_fr_hr_vlpd_max   = 0xc0428000;
-_memmap_seg_amr_vlpd_start = 0xc0428000;
-_memmap_seg_amr_vlpd_max   = 0xc0438000;
-_memmap_seg_amrwb_vlpd_start = 0xc0438000;
-_memmap_seg_amrwb_vlpd_max   = 0xc0448000;
-_memmap_seg_evrc_evrcb_vlpt_start = 0xc0448000;
-_memmap_seg_evrc_evrcb_vlpt_max   = 0xc0490000;
-_memmap_seg_efr_fr_hr_vlpt_start = 0xc0490000;
-_memmap_seg_efr_fr_hr_vlpt_max   = 0xc04c0000;
-_memmap_seg_amr_vlpt_start = 0xc04c0000;
-_memmap_seg_amr_vlpt_max   = 0xc04e0000;
-_memmap_seg_amrwb_vlpt_start = 0xc04e0000;
-_memmap_seg_amrwb_vlpt_max   = 0xc0510000;
-_memmap_seg_vlpt_start = 0xc0510000;
-_memmap_seg_vlpt_max   = 0xc0558000;
-_memmap_seg_vlpd_start = 0xc0558000;
-_memmap_seg_vlpd_max   = 0xc0578000;
-_memmap_seg_ulpp_start = 0xc0578000;
-_memmap_seg_ulpp_max   = 0xc05b8000;
-_memmap_seg_dtsv3_start = 0xc05b8000;
-_memmap_seg_dtsv3_max   = 0xc05d8000;
-_memmap_seg_dtsv4_start = 0xc05d8000;
-_memmap_seg_dtsv4_max   = 0xc0600000;
-_memmap_seg_dram0_0_start = 0xe8058000;
-_memmap_seg_dram0_0_max   = 0xe8080000;
-_memmap_seg_iram0_0_start = 0xe8080000;
-_memmap_seg_iram0_0_max   = 0xe8080300;
-_memmap_seg_iram0_1_start = 0xe8080300;
-_memmap_seg_iram0_1_max   = 0xe8080400;
-_memmap_seg_iram0_2_start = 0xe8080400;
-_memmap_seg_iram0_2_max   = 0xe8080578;
-_memmap_seg_iram0_3_start = 0xe8080578;
-_memmap_seg_iram0_3_max   = 0xe8080580;
-_memmap_seg_iram0_4_start = 0xe8080580;
-_memmap_seg_iram0_4_max   = 0xe80805b8;
-_memmap_seg_iram0_5_start = 0xe80805b8;
-_memmap_seg_iram0_5_max   = 0xe80805c0;
-_memmap_seg_iram0_6_start = 0xe80805c0;
-_memmap_seg_iram0_6_max   = 0xe80805f8;
-_memmap_seg_iram0_7_start = 0xe80805f8;
-_memmap_seg_iram0_7_max   = 0xe8080600;
-_memmap_seg_iram0_8_start = 0xe8080600;
-_memmap_seg_iram0_8_max   = 0xe8080638;
-_memmap_seg_iram0_9_start = 0xe8080638;
-_memmap_seg_iram0_9_max   = 0xe8080640;
-_memmap_seg_iram0_10_start = 0xe8080640;
-_memmap_seg_iram0_10_max   = 0xe8080678;
-_memmap_seg_iram0_11_start = 0xe8080678;
-_memmap_seg_iram0_11_max   = 0xe80806c0;
-_memmap_seg_iram0_12_start = 0xe80806c0;
-_memmap_seg_iram0_12_max   = 0xe80806f8;
-_memmap_seg_iram0_13_start = 0xe80806f8;
-_memmap_seg_iram0_13_max   = 0xe8080700;
-_memmap_seg_iram0_14_start = 0xe8080700;
-_memmap_seg_iram0_14_max   = 0xe8080738;
-_memmap_seg_iram0_15_start = 0xe8080738;
-_memmap_seg_iram0_15_max   = 0xe8080740;
-_memmap_seg_iram0_16_start = 0xe8080740;
-_memmap_seg_iram0_16_max   = 0xe8080778;
-_memmap_seg_iram0_17_start = 0xe8080778;
-_memmap_seg_iram0_17_max   = 0xe80807c0;
-_memmap_seg_iram0_18_start = 0xe80807c0;
-_memmap_seg_iram0_18_max   = 0xe8080800;
-_memmap_seg_iram0_19_start = 0xe8080800;
-_memmap_seg_iram0_19_max   = 0xe808c000;
-
-_rom_store_table = 0;
-PROVIDE(_memmap_vecbase_reset = 0xe8080400);
-PROVIDE(_memmap_reset_vector = 0xe8080000);
-/* Various memory-map dependent cache attribute settings: */
-_memmap_cacheattr_wb_base = 0x44000000;
-_memmap_cacheattr_wt_base = 0x11000000;
-_memmap_cacheattr_bp_base = 0x22000000;
-_memmap_cacheattr_unused_mask = 0x00FFFFFF;
-_memmap_cacheattr_wb_trapnull = 0x4422222F;
-_memmap_cacheattr_wba_trapnull = 0x4422222F;
-_memmap_cacheattr_wbna_trapnull = 0x5522222F;
-_memmap_cacheattr_wt_trapnull = 0x1122222F;
-_memmap_cacheattr_bp_trapnull = 0x2222222F;
-_memmap_cacheattr_wb_strict = 0x44FFFFFF;
-_memmap_cacheattr_wt_strict = 0x11FFFFFF;
-_memmap_cacheattr_bp_strict = 0x22FFFFFF;
-_memmap_cacheattr_wb_allvalid = 0x44222222;
-_memmap_cacheattr_wt_allvalid = 0x11222222;
-_memmap_cacheattr_bp_allvalid = 0x22222222;
-PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
-
-SECTIONS
-{
-
-  .vlpd.rodata : ALIGN(4)
-  {
-    _vlpd_rodata_start = ABSOLUTE(.);
-    *(.vlpd.rodata)
-    _vlpd_rodata_end = ABSOLUTE(.);
-  } >old_vlpd_seg :old_vlpd_phdr
-
-  .vlpd.data : ALIGN(4)
-  {
-    _vlpd_data_start = ABSOLUTE(.);
-    *(.vlpd.data)
-    _vlpd_data_end = ABSOLUTE(.);
-  } >old_vlpd_seg :old_vlpd_phdr
-
-  .vlpd.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _vlpd_bss_start = ABSOLUTE(.);
-    *(.vlpd.bss)
-    . = ALIGN (8);
-    _vlpd_bss_end = ABSOLUTE(.);
-    _memmap_seg_old_vlpd_end = ALIGN(0x8);
-  } >old_vlpd_seg :old_vlpd_bss_phdr
-
-  .efr_fr_hr_vlpd.rodata : ALIGN(4)
-  {
-    _efr_fr_hr_vlpd_rodata_start = ABSOLUTE(.);
-    *(.efr_fr_hr_vlpd.rodata)
-    _efr_fr_hr_vlpd_rodata_end = ABSOLUTE(.);
-  } >efr_fr_hr_vlpd_seg :efr_fr_hr_vlpd_phdr
-
-  .efr_fr_hr_vlpd.data : ALIGN(4)
-  {
-    _efr_fr_hr_vlpd_data_start = ABSOLUTE(.);
-    *(.efr_fr_hr_vlpd.data)
-    _efr_fr_hr_vlpd_data_end = ABSOLUTE(.);
-  } >efr_fr_hr_vlpd_seg :efr_fr_hr_vlpd_phdr
-
-  .efr_fr_hr_vlpd.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _efr_fr_hr_vlpd_bss_start = ABSOLUTE(.);
-    *(.efr_fr_hr_vlpd.bss)
-    . = ALIGN (8);
-    _efr_fr_hr_vlpd_bss_end = ABSOLUTE(.);
-    _memmap_seg_efr_fr_hr_vlpd_end = ALIGN(0x8);
-  } >efr_fr_hr_vlpd_seg :efr_fr_hr_vlpd_bss_phdr
-
-  .amr_vlpd.rodata : ALIGN(4)
-  {
-    _amr_vlpd_rodata_start = ABSOLUTE(.);
-    *(.amr_vlpd.rodata)
-    _amr_vlpd_rodata_end = ABSOLUTE(.);
-  } >amr_vlpd_seg :amr_vlpd_phdr
-
-  .amr_vlpd.data : ALIGN(4)
-  {
-    _amr_vlpd_data_start = ABSOLUTE(.);
-    *(.amr_vlpd.data)
-    _amr_vlpd_data_end = ABSOLUTE(.);
-  } >amr_vlpd_seg :amr_vlpd_phdr
-
-  .amr_vlpd.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _amr_vlpd_bss_start = ABSOLUTE(.);
-    *(.amr_vlpd.bss)
-    . = ALIGN (8);
-    _amr_vlpd_bss_end = ABSOLUTE(.);
-    _memmap_seg_amr_vlpd_end = ALIGN(0x8);
-  } >amr_vlpd_seg :amr_vlpd_bss_phdr
-
-  .amrwb_vlpd.rodata : ALIGN(4)
-  {
-    _amrwb_vlpd_rodata_start = ABSOLUTE(.);
-    *(.amrwb_vlpd.rodata)
-    _amrwb_vlpd_rodata_end = ABSOLUTE(.);
-  } >amrwb_vlpd_seg :amrwb_vlpd_phdr
-
-  .amrwb_vlpd.data : ALIGN(4)
-  {
-    _amrwb_vlpd_data_start = ABSOLUTE(.);
-    *(.amrwb_vlpd.data)
-    _amrwb_vlpd_data_end = ABSOLUTE(.);
-  } >amrwb_vlpd_seg :amrwb_vlpd_phdr
-
-  .amrwb_vlpd.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _amrwb_vlpd_bss_start = ABSOLUTE(.);
-    *(.amrwb_vlpd.bss)
-    . = ALIGN (8);
-    _amrwb_vlpd_bss_end = ABSOLUTE(.);
-    _memmap_seg_amrwb_vlpd_end = ALIGN(0x8);
-  } >amrwb_vlpd_seg :amrwb_vlpd_bss_phdr
-
-  .evrc_evrcb_vlpt.text : ALIGN(4)
-  {
-    _evrc_evrcb_vlpt_text_start = ABSOLUTE(.);
-    *(.evrc_evrcb_vlpt.literal .evrc_evrcb_vlpt.text)
-    _evrc_evrcb_vlpt_text_end = ABSOLUTE(.);
-    _memmap_seg_evrc_evrcb_vlpt_end = ALIGN(0x8);
-  } >evrc_evrcb_vlpt_seg :evrc_evrcb_vlpt_phdr
-
-  .efr_fr_hr_vlpt.text : ALIGN(4)
-  {
-    _efr_fr_hr_vlpt_text_start = ABSOLUTE(.);
-    *(.efr_fr_hr_vlpt.literal .efr_fr_hr_vlpt.text)
-    _efr_fr_hr_vlpt_text_end = ABSOLUTE(.);
-    _memmap_seg_efr_fr_hr_vlpt_end = ALIGN(0x8);
-  } >efr_fr_hr_vlpt_seg :efr_fr_hr_vlpt_phdr
-
-  .amr_vlpt.text : ALIGN(4)
-  {
-    _amr_vlpt_text_start = ABSOLUTE(.);
-    *(.amr_vlpt.literal .amr_vlpt.text)
-    _amr_vlpt_text_end = ABSOLUTE(.);
-    _memmap_seg_amr_vlpt_end = ALIGN(0x8);
-  } >amr_vlpt_seg :amr_vlpt_phdr
-
-  .amrwb_vlpt.text : ALIGN(4)
-  {
-    _amrwb_vlpt_text_start = ABSOLUTE(.);
-    *(.amrwb_vlpt.literal .amrwb_vlpt.text)
-    _amrwb_vlpt_text_end = ABSOLUTE(.);
-    _memmap_seg_amrwb_vlpt_end = ALIGN(0x8);
-  } >amrwb_vlpt_seg :amrwb_vlpt_phdr
-
-  .vlpt.text : ALIGN(4)
-  {
-    _vlpt_text_start = ABSOLUTE(.);
-    *(.vlpt.literal .vlpt.text)
-    _vlpt_text_end = ABSOLUTE(.);
-    _memmap_seg_vlpt_end = ALIGN(0x8);
-  } >vlpt_seg :vlpt_phdr
-
-  .low_power_dyn_alloc : ALIGN(4)
-  {
-    _low_power_dyn_alloc_start = ABSOLUTE(.);
-    *(.low_power_dyn_alloc)
-    _low_power_dyn_alloc_end = ABSOLUTE(.);
-    _memmap_seg_vlpd_end = ALIGN(0x8);
-  } >vlpd_seg :vlpd_phdr
-
-  .ulpp.rodata : ALIGN(4)
-  {
-    _ulpp_rodata_start = ABSOLUTE(.);
-    *(.ulpp.rodata)
-    _ulpp_rodata_end = ABSOLUTE(.);
-  } >ulpp_seg :ulpp_phdr
-
-  .ulpp.data : ALIGN(4)
-  {
-    _ulpp_data_start = ABSOLUTE(.);
-    *(.ulpp.data)
-    _ulpp_data_end = ABSOLUTE(.);
-  } >ulpp_seg :ulpp_phdr
-
-  .ulpp.text : ALIGN(4)
-  {
-    _ulpp_text_start = ABSOLUTE(.);
-    *(.ulpp.literal .ulpp.text)
-    _ulpp_text_end = ABSOLUTE(.);
-  } >ulpp_seg :ulpp_phdr
-
-  .ulpp.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _ulpp_bss_start = ABSOLUTE(.);
-    *(.ulpp.bss)
-    . = ALIGN (8);
-    _ulpp_bss_end = ABSOLUTE(.);
-    _memmap_seg_ulpp_end = ALIGN(0x8);
-  } >ulpp_seg :ulpp_bss_phdr
-
-  .dtsv3.rodata : ALIGN(4)
-  {
-    _dtsv3_rodata_start = ABSOLUTE(.);
-    *(.dtsv3.rodata)
-    _dtsv3_rodata_end = ABSOLUTE(.);
-  } >dtsv3_seg :dtsv3_phdr
-
-  .dtsv3.data : ALIGN(4)
-  {
-    _dtsv3_data_start = ABSOLUTE(.);
-    *(.dtsv3.data)
-    _dtsv3_data_end = ABSOLUTE(.);
-  } >dtsv3_seg :dtsv3_phdr
-
-  .dtsv3.text : ALIGN(4)
-  {
-    _dtsv3_text_start = ABSOLUTE(.);
-    *(.dtsv3.literal .dtsv3.text)
-    _dtsv3_text_end = ABSOLUTE(.);
-  } >dtsv3_seg :dtsv3_phdr
-
-  .dtsv3.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _dtsv3_bss_start = ABSOLUTE(.);
-    *(.dtsv3.bss)
-    . = ALIGN (8);
-    _dtsv3_bss_end = ABSOLUTE(.);
-    _memmap_seg_dtsv3_end = ALIGN(0x8);
-  } >dtsv3_seg :dtsv3_bss_phdr
-
-  .dtsv4.rodata : ALIGN(4)
-  {
-    _dtsv4_rodata_start = ABSOLUTE(.);
-    *(.dtsv4.rodata)
-    _dtsv4_rodata_end = ABSOLUTE(.);
-  } >dtsv4_seg :dtsv4_phdr
-
-  .dtsv4.data : ALIGN(4)
-  {
-    _dtsv4_data_start = ABSOLUTE(.);
-    *(.dtsv4.data)
-    _dtsv4_data_end = ABSOLUTE(.);
-  } >dtsv4_seg :dtsv4_phdr
-
-  .dtsv4.text : ALIGN(4)
-  {
-    _dtsv4_text_start = ABSOLUTE(.);
-    *(.dtsv4.literal .dtsv4.text)
-    _dtsv4_text_end = ABSOLUTE(.);
-  } >dtsv4_seg :dtsv4_phdr
-
-  .dtsv4.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _dtsv4_bss_start = ABSOLUTE(.);
-    *(.dtsv4.bss)
-    . = ALIGN (8);
-    _dtsv4_bss_end = ABSOLUTE(.);
-    _memmap_seg_dtsv4_end = ALIGN(0x8);
-  } >dtsv4_seg :dtsv4_bss_phdr
-
-  .dram0.rodata : ALIGN(4)
-  {
-    _dram0_rodata_start = ABSOLUTE(.);
-    *(.dram0.rodata)
-    *(.dram.rodata)
-    _dram0_rodata_end = ABSOLUTE(.);
-  } >dram0_0_seg :dram0_0_phdr
-
-  .dram0.literal : ALIGN(4)
-  {
-    _dram0_literal_start = ABSOLUTE(.);
-    *(.dram0.literal)
-    *(.dram.literal)
-    _dram0_literal_end = ABSOLUTE(.);
-  } >dram0_0_seg :dram0_0_phdr
-
-  .dram0.data : ALIGN(4)
-  {
-    _dram0_data_start = ABSOLUTE(.);
-    *(.dram0.data)
-    *(.dram.data)
-    _dram0_data_end = ABSOLUTE(.);
-  } >dram0_0_seg :dram0_0_phdr
-
-  .dram0.bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _dram0_bss_start = ABSOLUTE(.);
-    *(.dram0.bss)
-    *(.om.debug.bss)
-    *(.os.stack.bss)
-    . = ALIGN (8);
-    _dram0_bss_end = ABSOLUTE(.);
-    _end = ALIGN(0x8);
-    PROVIDE(end = ALIGN(0x8));
-    _stack_sentry = ALIGN(0x8);
-    _memmap_seg_dram0_0_end = ALIGN(0x8);
-  } >dram0_0_seg :dram0_0_bss_phdr
-  __stack = 0xe8080000;
-  _heap_sentry = 0xe8080000;
-
-  .ResetVector.text : ALIGN(4)
-  {
-    _ResetVector_text_start = ABSOLUTE(.);
-    KEEP (*(.ResetVector.text))
-    _ResetVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_0_end = ALIGN(0x8);
-  } >iram0_0_seg :iram0_0_phdr
-
-  .Reset.literal : ALIGN(4)
-  {
-    _Reset_literal_start = ABSOLUTE(.);
-    *(.Reset.literal)
-    _Reset_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_1_end = ALIGN(0x8);
-  } >iram0_1_seg :iram0_1_phdr
-
-  .WindowVectors.text : ALIGN(4)
-  {
-    _WindowVectors_text_start = ABSOLUTE(.);
-    KEEP (*(.WindowVectors.text))
-    _WindowVectors_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_2_end = ALIGN(0x8);
-  } >iram0_2_seg :iram0_2_phdr
-
-  .Level2InterruptVector.literal : ALIGN(4)
-  {
-    _Level2InterruptVector_literal_start = ABSOLUTE(.);
-    *(.Level2InterruptVector.literal)
-    _Level2InterruptVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_3_end = ALIGN(0x8);
-  } >iram0_3_seg :iram0_3_phdr
-
-  .Level2InterruptVector.text : ALIGN(4)
-  {
-    _Level2InterruptVector_text_start = ABSOLUTE(.);
-    KEEP (*(.Level2InterruptVector.text))
-    _Level2InterruptVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_4_end = ALIGN(0x8);
-  } >iram0_4_seg :iram0_4_phdr
-
-  .Level3InterruptVector.literal : ALIGN(4)
-  {
-    _Level3InterruptVector_literal_start = ABSOLUTE(.);
-    *(.Level3InterruptVector.literal)
-    _Level3InterruptVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_5_end = ALIGN(0x8);
-  } >iram0_5_seg :iram0_5_phdr
-
-  .Level3InterruptVector.text : ALIGN(4)
-  {
-    _Level3InterruptVector_text_start = ABSOLUTE(.);
-    KEEP (*(.Level3InterruptVector.text))
-    _Level3InterruptVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_6_end = ALIGN(0x8);
-  } >iram0_6_seg :iram0_6_phdr
-
-  .Level4InterruptVector.literal : ALIGN(4)
-  {
-    _Level4InterruptVector_literal_start = ABSOLUTE(.);
-    *(.Level4InterruptVector.literal)
-    _Level4InterruptVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_7_end = ALIGN(0x8);
-  } >iram0_7_seg :iram0_7_phdr
-
-  .Level4InterruptVector.text : ALIGN(4)
-  {
-    _Level4InterruptVector_text_start = ABSOLUTE(.);
-    KEEP (*(.Level4InterruptVector.text))
-    _Level4InterruptVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_8_end = ALIGN(0x8);
-  } >iram0_8_seg :iram0_8_phdr
-
-  .DebugExceptionVector.literal : ALIGN(4)
-  {
-    _DebugExceptionVector_literal_start = ABSOLUTE(.);
-    *(.DebugExceptionVector.literal)
-    _DebugExceptionVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_9_end = ALIGN(0x8);
-  } >iram0_9_seg :iram0_9_phdr
-
-  .DebugExceptionVector.text : ALIGN(4)
-  {
-    _DebugExceptionVector_text_start = ABSOLUTE(.);
-    KEEP (*(.DebugExceptionVector.text))
-    _DebugExceptionVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_10_end = ALIGN(0x8);
-  } >iram0_10_seg :iram0_10_phdr
-
-  .NMIExceptionVector.literal : ALIGN(4)
-  {
-    _NMIExceptionVector_literal_start = ABSOLUTE(.);
-    *(.NMIExceptionVector.literal)
-    _NMIExceptionVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_11_end = ALIGN(0x8);
-  } >iram0_11_seg :iram0_11_phdr
-
-  .NMIExceptionVector.text : ALIGN(4)
-  {
-    _NMIExceptionVector_text_start = ABSOLUTE(.);
-    KEEP (*(.NMIExceptionVector.text))
-    _NMIExceptionVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_12_end = ALIGN(0x8);
-  } >iram0_12_seg :iram0_12_phdr
-
-  .KernelExceptionVector.literal : ALIGN(4)
-  {
-    _KernelExceptionVector_literal_start = ABSOLUTE(.);
-    *(.KernelExceptionVector.literal)
-    _KernelExceptionVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_13_end = ALIGN(0x8);
-  } >iram0_13_seg :iram0_13_phdr
-
-  .KernelExceptionVector.text : ALIGN(4)
-  {
-    _KernelExceptionVector_text_start = ABSOLUTE(.);
-    KEEP (*(.KernelExceptionVector.text))
-    _KernelExceptionVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_14_end = ALIGN(0x8);
-  } >iram0_14_seg :iram0_14_phdr
-
-  .UserExceptionVector.literal : ALIGN(4)
-  {
-    _UserExceptionVector_literal_start = ABSOLUTE(.);
-    *(.UserExceptionVector.literal)
-    _UserExceptionVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_15_end = ALIGN(0x8);
-  } >iram0_15_seg :iram0_15_phdr
-
-  .UserExceptionVector.text : ALIGN(4)
-  {
-    _UserExceptionVector_text_start = ABSOLUTE(.);
-    KEEP (*(.UserExceptionVector.text))
-    _UserExceptionVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_16_end = ALIGN(0x8);
-  } >iram0_16_seg :iram0_16_phdr
-
-  .DoubleExceptionVector.literal : ALIGN(4)
-  {
-    _DoubleExceptionVector_literal_start = ABSOLUTE(.);
-    *(.DoubleExceptionVector.literal)
-    _DoubleExceptionVector_literal_end = ABSOLUTE(.);
-    _memmap_seg_iram0_17_end = ALIGN(0x8);
-  } >iram0_17_seg :iram0_17_phdr
-
-  .DoubleExceptionVector.text : ALIGN(4)
-  {
-    _DoubleExceptionVector_text_start = ABSOLUTE(.);
-    KEEP (*(.DoubleExceptionVector.text))
-    _DoubleExceptionVector_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_18_end = ALIGN(0x8);
-  } >iram0_18_seg :iram0_18_phdr
-
-  .Reset.text : ALIGN(4)
-  {
-    _Reset_text_start = ABSOLUTE(.);
-    *(.Reset.text)
-    _Reset_text_end = ABSOLUTE(.);
-  } >iram0_19_seg :iram0_19_phdr
-
-  .iram0.text : ALIGN(4)
-  {
-    _iram0_text_start = ABSOLUTE(.);
-    *(.iram0.literal .iram.literal .iram.text.literal .iram0.text .iram.text)
-    _iram0_text_end = ABSOLUTE(.);
-    _memmap_seg_iram0_19_end = ALIGN(0x8);
-  } >iram0_19_seg :iram0_19_phdr
-
-  .sram.shareaddr : ALIGN(4)
-  {
-    _sram_shareaddr_start = ABSOLUTE(.);
-    *(.sram.shareaddr)
-    _sram_shareaddr_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .sram.rodata : ALIGN(4)
-  {
-    _sram_rodata_start = ABSOLUTE(.);
-    *(.sram.rodata)
-    _sram_rodata_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .rodata : ALIGN(4)
-  {
-    _rodata_start = ABSOLUTE(.);
-    *(.rodata)
-    *(.rodata.*)
-    *(.gnu.linkonce.r.*)
-    *(.rodata1)
-    __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
-    KEEP (*(.xt_except_table))
-    KEEP (*(.gcc_except_table))
-    *(.gnu.linkonce.e.*)
-    *(.gnu.version_r)
-    KEEP (*(.eh_frame))
-    /*  C++ constructor and destructor tables, properly ordered:  */
-    KEEP (*crtbegin.o(.ctors))
-    KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
-    KEEP (*(SORT(.ctors.*)))
-    KEEP (*(.ctors))
-    KEEP (*crtbegin.o(.dtors))
-    KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
-    KEEP (*(SORT(.dtors.*)))
-    KEEP (*(.dtors))
-    /*  C++ exception handlers table:  */
-    __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
-    *(.xt_except_desc)
-    *(.gnu.linkonce.h.*)
-    __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
-    *(.xt_except_desc_end)
-    *(.dynamic)
-    *(.gnu.version_d)
-    . = ALIGN(4);		/* this table MUST be 4-byte aligned */
-    _bss_table_start = ABSOLUTE(.);
-    LONG(_vlpd_bss_start)
-    LONG(_vlpd_bss_end)
-    LONG(_efr_fr_hr_vlpd_bss_start)
-    LONG(_efr_fr_hr_vlpd_bss_end)
-    LONG(_amr_vlpd_bss_start)
-    LONG(_amr_vlpd_bss_end)
-    LONG(_amrwb_vlpd_bss_start)
-    LONG(_amrwb_vlpd_bss_end)
-    LONG(_ulpp_bss_start)
-    LONG(_ulpp_bss_end)
-    LONG(_dtsv3_bss_start)
-    LONG(_dtsv3_bss_end)
-    LONG(_dtsv4_bss_start)
-    LONG(_dtsv4_bss_end)
-    LONG(_dram0_bss_start)
-    LONG(_dram0_bss_end)
-    LONG(_bss_start)
-    LONG(_bss_end)
-    _bss_table_end = ABSOLUTE(.);
-    _rodata_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .sram.text : ALIGN(4)
-  {
-    _sram_text_start = ABSOLUTE(.);
-    *(.sram.literal .sram.text)
-    _sram_text_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .text : ALIGN(4)
-  {
-    _stext = .;
-    _text_start = ABSOLUTE(.);
-    *(.entry.text)
-    *(.init.literal)
-    KEEP(*(.init))
-    *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
-    *(.fini.literal)
-    KEEP(*(.fini))
-    *(.gnu.version)
-    _text_end = ABSOLUTE(.);
-    _etext = .;
-  } >sram0_seg :sram0_phdr
-
-  .sram.data : ALIGN(4)
-  {
-    _sram_data_start = ABSOLUTE(.);
-    *(.sram.data)
-    _sram_data_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .data : ALIGN(4)
-  {
-    _data_start = ABSOLUTE(.);
-    *(.data)
-    *(.data.*)
-    *(.gnu.linkonce.d.*)
-    KEEP(*(.gnu.linkonce.d.*personality*))
-    *(.data1)
-    *(.sdata)
-    *(.sdata.*)
-    *(.gnu.linkonce.s.*)
-    *(.sdata2)
-    *(.sdata2.*)
-    *(.gnu.linkonce.s2.*)
-    KEEP(*(.jcr))
-    _data_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .sram.uninit : ALIGN(4)
-  {
-    _sram_uninit_start = ABSOLUTE(.);
-    *(.sram.uninit)
-    _sram_uninit_end = ABSOLUTE(.);
-  } >sram0_seg :sram0_phdr
-
-  .bss (NOLOAD) : ALIGN(8)
-  {
-    . = ALIGN (8);
-    _bss_start = ABSOLUTE(.);
-    *(.dynsbss)
-    *(.sbss)
-    *(.sbss.*)
-    *(.gnu.linkonce.sb.*)
-    *(.scommon)
-    *(.sbss2)
-    *(.sbss2.*)
-    *(.gnu.linkonce.sb2.*)
-    *(.dynbss)
-    *(.bss)
-    *(.bss.*)
-    *(.gnu.linkonce.b.*)
-    *(COMMON)
-    *(.sram.pool.bss)
-    *(.sram.bss)
-    . = ALIGN (8);
-    _bss_end = ABSOLUTE(.);
-    _memmap_seg_sram0_end = ALIGN(0x8);
-  } >sram0_seg :sram0_bss_phdr
-  .debug  0 :  { *(.debug) }
-  .line  0 :  { *(.line) }
-  .debug_srcinfo  0 :  { *(.debug_srcinfo) }
-  .debug_sfnames  0 :  { *(.debug_sfnames) }
-  .debug_aranges  0 :  { *(.debug_aranges) }
-  .debug_pubnames  0 :  { *(.debug_pubnames) }
-  .debug_info  0 :  { *(.debug_info) }
-  .debug_abbrev  0 :  { *(.debug_abbrev) }
-  .debug_line  0 :  { *(.debug_line) }
-  .debug_frame  0 :  { *(.debug_frame) }
-  .debug_str  0 :  { *(.debug_str) }
-  .debug_loc  0 :  { *(.debug_loc) }
-  .debug_macinfo  0 :  { *(.debug_macinfo) }
-  .debug_weaknames  0 :  { *(.debug_weaknames) }
-  .debug_funcnames  0 :  { *(.debug_funcnames) }
-  .debug_typenames  0 :  { *(.debug_typenames) }
-  .debug_varnames  0 :  { *(.debug_varnames) }
-  .xt.insn 0 :
-  {
-    KEEP (*(.xt.insn))
-    KEEP (*(.gnu.linkonce.x.*))
-  }
-  .xt.prop 0 :
-  {
-    KEEP (*(.xt.prop))
-    KEEP (*(.xt.prop.*))
-    KEEP (*(.gnu.linkonce.prop.*))
-  }
-  .xt.lit 0 :
-  {
-    KEEP (*(.xt.lit))
-    KEEP (*(.xt.lit.*))
-    KEEP (*(.gnu.linkonce.p.*))
-  }
-  .debug.xt.callgraph 0 :
-  {
-    KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
-  }
-}
-
diff --git a/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/ldscripts/elf32xtensa.xr b/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/ldscripts/elf32xtensa.xr
deleted file mode 100644
index 3e9f189..0000000
--- a/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/ldscripts/elf32xtensa.xr
+++ /dev/null
@@ -1,42 +0,0 @@
-/* This linker script generated from xt-genldscripts.tpp for LSP hifi_hikey_lsp */
-/* Linker Script for ld -r or ld -i */
-
-/*  Default entry point:  */
-ENTRY(_ResetVector)
-
-SECTIONS
-{
-
-  .text 0 :
-  {
-    *(.literal .text)
-  }
-
-  .bss 0 :
-  {
-    *(.dynsbss)
-    *(.sbss)
-    *(.scommon)
-    *(.dynbss)
-    *(.bss)
-    *(COMMON)
-  }
-  .debug  0 :  { *(.debug) }
-  .line  0 :  { *(.line) }
-  .debug_srcinfo  0 :  { *(.debug_srcinfo) }
-  .debug_sfnames  0 :  { *(.debug_sfnames) }
-  .debug_aranges  0 :  { *(.debug_aranges) }
-  .debug_pubnames  0 :  { *(.debug_pubnames) }
-  .debug_info  0 :  { *(.debug_info) }
-  .debug_abbrev  0 :  { *(.debug_abbrev) }
-  .debug_line  0 :  { *(.debug_line) }
-  .debug_frame  0 :  { *(.debug_frame) }
-  .debug_str  0 :  { *(.debug_str) }
-  .debug_loc  0 :  { *(.debug_loc) }
-  .debug_macinfo  0 :  { *(.debug_macinfo) }
-  .debug_weaknames  0 :  { *(.debug_weaknames) }
-  .debug_funcnames  0 :  { *(.debug_funcnames) }
-  .debug_typenames  0 :  { *(.debug_typenames) }
-  .debug_varnames  0 :  { *(.debug_varnames) }
-}
-
diff --git a/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/ldscripts/elf32xtensa.xu b/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/ldscripts/elf32xtensa.xu
deleted file mode 100644
index d8e1986..0000000
--- a/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/ldscripts/elf32xtensa.xu
+++ /dev/null
@@ -1,42 +0,0 @@
-/* This linker script generated from xt-genldscripts.tpp for LSP hifi_hikey_lsp */
-/* Linker Script for ld -Ur */
-
-/*  Default entry point:  */
-ENTRY(_ResetVector)
-
-SECTIONS
-{
-
-  .text 0 :
-  {
-    *(.literal .text)
-  }
-
-  .bss 0 :
-  {
-    *(.dynsbss)
-    *(.sbss)
-    *(.scommon)
-    *(.dynbss)
-    *(.bss)
-    *(COMMON)
-  }
-  .debug  0 :  { *(.debug) }
-  .line  0 :  { *(.line) }
-  .debug_srcinfo  0 :  { *(.debug_srcinfo) }
-  .debug_sfnames  0 :  { *(.debug_sfnames) }
-  .debug_aranges  0 :  { *(.debug_aranges) }
-  .debug_pubnames  0 :  { *(.debug_pubnames) }
-  .debug_info  0 :  { *(.debug_info) }
-  .debug_abbrev  0 :  { *(.debug_abbrev) }
-  .debug_line  0 :  { *(.debug_line) }
-  .debug_frame  0 :  { *(.debug_frame) }
-  .debug_str  0 :  { *(.debug_str) }
-  .debug_loc  0 :  { *(.debug_loc) }
-  .debug_macinfo  0 :  { *(.debug_macinfo) }
-  .debug_weaknames  0 :  { *(.debug_weaknames) }
-  .debug_funcnames  0 :  { *(.debug_funcnames) }
-  .debug_typenames  0 :  { *(.debug_typenames) }
-  .debug_varnames  0 :  { *(.debug_varnames) }
-}
-
diff --git a/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/memmap.xmm b/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/memmap.xmm
deleted file mode 100644
index c7a94bc..0000000
--- a/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/memmap.xmm
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-BEGIN iram0
-0xe8080000: instRam : iram0 : 0xc000 : executable, writable ;
- iram0_0 : F : 0xe8080000 - 0xe80802ff : .ResetVector.text;
- iram0_1 : C : 0xe8080300 - 0xe80803ff : .Reset.literal;
- iram0_2 : F : 0xe8080400 - 0xe8080577 : .WindowVectors.text;
- iram0_3 : C : 0xe8080578 - 0xe808057f : .Level2InterruptVector.literal;
- iram0_4 : F : 0xe8080580 - 0xe80805b7 : .Level2InterruptVector.text;
- iram0_5 : C : 0xe80805b8 - 0xe80805bf : .Level3InterruptVector.literal;
- iram0_6 : F : 0xe80805c0 - 0xe80805f7 : .Level3InterruptVector.text;
- iram0_7 : C : 0xe80805f8 - 0xe80805ff : .Level4InterruptVector.literal;
- iram0_8 : F : 0xe8080600 - 0xe8080637 : .Level4InterruptVector.text;
- iram0_9 : C : 0xe8080638 - 0xe808063f : .DebugExceptionVector.literal;
- iram0_10 : F : 0xe8080640 - 0xe8080677 : .DebugExceptionVector.text;
- iram0_11 : C : 0xe8080678 - 0xe80806bf : .NMIExceptionVector.literal;
- iram0_12 : F : 0xe80806c0 - 0xe80806f7 : .NMIExceptionVector.text;
- iram0_13 : C : 0xe80806f8 - 0xe80806ff : .KernelExceptionVector.literal;
- iram0_14 : F : 0xe8080700 - 0xe8080737 : .KernelExceptionVector.text;
- iram0_15 : C : 0xe8080738 - 0xe808073f : .UserExceptionVector.literal;
- iram0_16 : F : 0xe8080740 - 0xe8080777 : .UserExceptionVector.text;
- iram0_17 : C : 0xe8080778 - 0xe80807bf : .DoubleExceptionVector.literal;
- iram0_18 : F : 0xe80807c0 - 0xe80807ff : .DoubleExceptionVector.text;
- iram0_19 : C : 0xe8080800 - 0xe808bfff : .iram0.literal .Reset.text .iram0.text;
-END iram0
-
-BEGIN dram0
-0xe8058000: dataRam : dram0 : 0x28000 : writable ;
- dram0_0 : C : 0xe8058000 - 0xe807ffff :  STACK :  HEAP : .dram0.rodata .dram0.literal .dram0.data .dram0.bss .om.debug.bss .os.stack.bss;
-END dram0
-
-BEGIN sram
-0xc0000000: sysram : sram : 0x600000 : executable, writable ;
- sram0 : C : 0xc0000000 - 0xC0407FFF : .sram.shareaddr .sram.rodata .rodata .sram.literal .literal .sram.text .text .sram.data .data .sram.uninit .sram.pool.bss .sram.bss .bss;
- old_vlpd : C : 0xC0408000 - 0xC0417FFF : .vlpd.rodata .vlpd.data .vlpd.bss;
- efr_fr_hr_vlpd : C : 0xC0418000 - 0xC0427FFF : .efr_fr_hr_vlpd.rodata .efr_fr_hr_vlpd.data .efr_fr_hr_vlpd.bss;
- amr_vlpd : C : 0xC0428000 - 0xC0437FFF : .amr_vlpd.rodata .amr_vlpd.data .amr_vlpd.bss;
- amrwb_vlpd : C : 0xC0438000 - 0xC0447FFF : .amrwb_vlpd.rodata .amrwb_vlpd.data .amrwb_vlpd.bss;
- evrc_evrcb_vlpt : C : 0xC0448000 - 0xC048FFFF : .evrc_evrcb_vlpt.literal .evrc_evrcb_vlpt.text;
- efr_fr_hr_vlpt : C : 0xC0490000 - 0xC04BFFFF : .efr_fr_hr_vlpt.literal .efr_fr_hr_vlpt.text;
- amr_vlpt : C : 0xC04C0000 - 0xC04DFFFF : .amr_vlpt.literal .amr_vlpt.text;
- amrwb_vlpt : C : 0xC04E0000 -0xC050FFFF : .amrwb_vlpt.literal .amrwb_vlpt.text;
- vlpt : C : 0xC0510000 - 0xC0557FFF : .vlpt.literal .vlpt.text;
- vlpd : C : 0xC0558000 - 0xC0577FFF : .low_power_dyn_alloc;
- ulpp : C : 0xc0578000 - 0xc05b7fff : .ulpp.rodata .ulpp.data .ulpp.literal .ulpp.text .ulpp.bss;
- dtsv3 : C : 0xc05b8000 - 0xc05d7fff : .dtsv3.rodata .dtsv3.data .dtsv3.literal .dtsv3.text .dtsv3.bss;
- dtsv4 : C : 0xc05d8000 - 0xc05fffff : .dtsv4.rodata .dtsv4.data .dtsv4.literal .dtsv4.text .dtsv4.bss;
-END sram
-
diff --git a/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/min-rt.parm b/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/min-rt.parm
deleted file mode 100644
index 25083ee..0000000
--- a/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/min-rt.parm
+++ /dev/null
@@ -1,15 +0,0 @@
-//  Memory map file to generate linker scripts for programs without board I/O.
-
-// $Id: //depot/rel/Cottonwood/Xtensa/SWConfig/ldscripts/min-rt.parm#1 $
-
-// Customer ID=9470; Build=0x42f97; Copyright (c) 2004-2007 by Tensilica Inc.  ALL RIGHTS RESERVED.
-// These coded instructions, statements, and computer programs are the
-// copyrighted works and confidential proprietary information of Tensilica Inc.
-// They may not be modified, copied, reproduced, distributed, or disclosed to
-// third parties in any manner, medium, or form, in whole or in part, without
-// the prior written consent of Tensilica Inc.
-
-//  Show more details if configuration targets the XT2000 board:
-INCLUDE_XT2000_MEMORIES = try
-RESERVE_SEGMENT_AREA = ".i_ocram.text 0x7800 + 0 start : .d_ocram.data 0x5000 + 0 start"
-
diff --git a/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/specs b/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/specs
deleted file mode 100644
index 2988e02..0000000
--- a/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/specs
+++ /dev/null
@@ -1,22 +0,0 @@
-# Customer ID=9470; Build=0x42f97; Copyright (c) 2001-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
-# These coded instructions, statements, and computer programs are the
-# copyrighted works and confidential proprietary information of Tensilica Inc.
-# They may not be modified, copied, reproduced, distributed, or disclosed to
-# third parties in any manner, medium, or form, in whole or in part, without
-# the prior written consent of Tensilica Inc.
-
-
-# The %O suffix on the start and end files indicates that the system's
-# standard suffix for object files (e.g., ".o") should be appended.
-# The %s suffix tells the compiler driver to search for the file in the
-# list of known locations for startfiles.
-
-*startfile:
-crt1-boards%O%s crti%O%s crtbegin%O%s _sharedvectors%O%s _vectors%O%s
-
-*endfile:
-crtend%O%s crtn%O%s
-
-*lib:
--lc -lgloss -lminrt -lc -lhandler-reset -lhandlers-board -lminrt -lhal -lc
-
diff --git a/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/tag b/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/tag
deleted file mode 100644
index 7be80f2..0000000
--- a/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/tag
+++ /dev/null
@@ -1,3 +0,0 @@
-#This file is generated by Xplorer, do not edit.
-#Mon Aug 26 15:41:31 CST 2013
-standardlsp=min-rt
diff --git a/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/user.parm b/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/user.parm
deleted file mode 100644
index e69de29..0000000
--- a/hifi/xaf/hifi-dpf/build_hikey/hifi_hikey_lsp/user.parm
+++ /dev/null
diff --git a/hifi/xaf/hifi-dpf/build_hikey/map_hikey.txt b/hifi/xaf/hifi-dpf/build_hikey/map_hikey.txt
deleted file mode 100644
index 58a3efc..0000000
--- a/hifi/xaf/hifi-dpf/build_hikey/map_hikey.txt
+++ /dev/null
@@ -1,2167 +0,0 @@
-Archive member included because of file (symbol)
-
-../plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a(xa_vorbis_dec.o)
-                              objs/hikey/xa-vorbis-decoder.o (xa_vorbis_dec)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(windowspill_asm.o)
-                              objs/hikey/arch_hifi330.o (xthal_window_spill_nw)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_invalidate.o)
-                              objs/hikey/xf-shmem.o (xthal_dcache_region_invalidate)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_writeback.o)
-                              objs/hikey/xf-shmem.o (xthal_dcache_region_writeback)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--hw_configid0.o)
-                              /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_invalidate.o) (xthals_hw_configid0)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--hw_configid1.o)
-                              /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_invalidate.o) (xthals_hw_configid1)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--release_major.o)
-                              /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_invalidate.o) (xthals_release_major)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--release_minor.o)
-                              /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_invalidate.o) (xthals_release_minor)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(int_asm--get_intenable.o)
-                              objs/hikey/cpu_c.o (xthal_get_intenable)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(int_asm--set_intenable.o)
-                              objs/hikey/cpu_c.o (xthal_set_intenable)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(state_asm--restore_extra_nw.o)
-                              objs/hikey/arch_hifi330.o (xthal_restore_extra_nw)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(state_asm--save_extra_nw.o)
-                              objs/hikey/arch_hifi330.o (xthal_save_extra_nw)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-on.o)
-                              objs/hikey/xf-main.o (_xtos_ints_on)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-off.o)
-                              objs/hikey/mutex.o (_xtos_ints_off)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(interrupt-table.o)
-                              /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-on.o) (_xtos_intstruct)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memchr.o)
-                              ../plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a(xa_vorbis_dec.o) (memchr)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcmp.o)
-                              ../plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a(xa_vorbis_dec.o) (memcmp)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcpy.o)
-                              objs/hikey/xf-io.o (memcpy)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memset.o)
-                              objs/hikey/xf-io.o (memset)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-qsort.o)
-                              ../plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a(xa_vorbis_dec.o) (qsort)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-strncmp.o)
-                              objs/hikey/xa-factory.o (strncmp)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divsi3.o)
-                              ../plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a(xa_vorbis_dec.o) (__divsi3)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_modsi3.o)
-                              ../plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a(xa_vorbis_dec.o) (__modsi3)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_addsubdf3.o)
-                              objs/hikey/xf-core.o (__adddf3)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_muldf3.o)
-                              objs/hikey/dsp_debug.o (__muldf3)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_cmpdf2.o)
-                              objs/hikey/dsp_debug.o (__ltdf2)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfsi.o)
-                              objs/hikey/xf-core.o (__fixunsdfsi)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfdi.o)
-                              objs/hikey/dsp_debug.o (__fixunsdfdi)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_floatsidf.o)
-                              objs/hikey/xf-core.o (__floatunsidf)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_floatdidf.o)
-                              objs/hikey/dsp_debug.o (__floatundidf)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divdi3.o)
-                              ../plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a(xa_vorbis_dec.o) (__divdi3)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_udivdi3.o)
-                              objs/hikey/dsp_debug.o (__udivdi3)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_umoddi3.o)
-                              objs/hikey/dsp_debug.o (__umoddi3)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memcpy.o)
-                              ../plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a(xa_vorbis_dec.o) (__vec_memcpy)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memset.o)
-                              ../plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a(xa_vorbis_dec.o) (__vec_memset)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_div_df.o)
-                              objs/hikey/xf-core.o (__divdf3)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_df.o)
-                              /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_div_df.o) (__propagateFloat64NaN)
-/scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_div.o)
-                              /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_div_df.o) (__estimateDiv64To32)
-
-Memory Configuration
-
-Name             Origin             Length             Attributes
-sram0_seg        0xc0000000         0x00408000
-old_vlpd_seg     0xc0408000         0x00010000
-efr_fr_hr_vlpd_seg 0xc0418000         0x00010000
-amr_vlpd_seg     0xc0428000         0x00010000
-amrwb_vlpd_seg   0xc0438000         0x00010000
-evrc_evrcb_vlpt_seg 0xc0448000         0x00048000
-efr_fr_hr_vlpt_seg 0xc0490000         0x00030000
-amr_vlpt_seg     0xc04c0000         0x00020000
-amrwb_vlpt_seg   0xc04e0000         0x00030000
-vlpt_seg         0xc0510000         0x00048000
-vlpd_seg         0xc0558000         0x00020000
-ulpp_seg         0xc0578000         0x00040000
-dtsv3_seg        0xc05b8000         0x00020000
-dtsv4_seg        0xc05d8000         0x00028000
-dram0_0_seg      0xe8058000         0x00028000
-iram0_0_seg      0xe8080000         0x00000300
-iram0_1_seg      0xe8080300         0x00000100
-iram0_2_seg      0xe8080400         0x00000178
-iram0_3_seg      0xe8080578         0x00000008
-iram0_4_seg      0xe8080580         0x00000038
-iram0_5_seg      0xe80805b8         0x00000008
-iram0_6_seg      0xe80805c0         0x00000038
-iram0_7_seg      0xe80805f8         0x00000008
-iram0_8_seg      0xe8080600         0x00000038
-iram0_9_seg      0xe8080638         0x00000008
-iram0_10_seg     0xe8080640         0x00000038
-iram0_11_seg     0xe8080678         0x00000048
-iram0_12_seg     0xe80806c0         0x00000038
-iram0_13_seg     0xe80806f8         0x00000008
-iram0_14_seg     0xe8080700         0x00000038
-iram0_15_seg     0xe8080738         0x00000008
-iram0_16_seg     0xe8080740         0x00000038
-iram0_17_seg     0xe8080778         0x00000048
-iram0_18_seg     0xe80807c0         0x00000040
-iram0_19_seg     0xe8080800         0x0000b800
-*default*        0x00000000         0xffffffff
-
-Linker script and memory map
-
-LOAD objs/hikey/cpu_c.o
-LOAD objs/hikey/dsp_debug.o
-LOAD objs/hikey/dsp_comm.o
-LOAD objs/hikey/mutex.o
-LOAD objs/hikey/rbtree.o
-LOAD objs/hikey/xf-core.o
-LOAD objs/hikey/xf-io.o
-LOAD objs/hikey/xf-mem.o
-LOAD objs/hikey/xf-msg.o
-LOAD objs/hikey/xf-sched.o
-LOAD objs/hikey/xa-factory.o
-LOAD objs/hikey/xf-shmem.o
-LOAD objs/hikey/tinyvprintf.o
-LOAD objs/hikey/xf-isr.o
-LOAD objs/hikey/gdbstub.o
-LOAD objs/hikey/xa-class-base.o
-LOAD objs/hikey/xa-class-audio-codec.o
-LOAD objs/hikey/xa-class-mixer.o
-LOAD objs/hikey/xf-main.o
-LOAD objs/hikey/xa-pcm.o
-LOAD objs/hikey/xa-vorbis-decoder.o
-LOAD objs/hikey/xa-mixer.o
-LOAD objs/hikey/reset.o
-LOAD objs/hikey/int_vector.o
-LOAD objs/hikey/arch_hifi330.o
-LOAD objs/hikey/gdbstub-entry.o
-LOAD ../plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a
-LOAD /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a
-LOAD /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a
-LOAD /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a
-LOAD /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a
-                0xe8080000                _memmap_mem_iram0_start = 0xe8080000
-                0xe808c000                _memmap_mem_iram0_end = 0xe808c000
-                0xe8058000                _memmap_mem_dram0_start = 0xe8058000
-                0xe8080000                _memmap_mem_dram0_end = 0xe8080000
-                0xc0000000                _memmap_mem_sram_start = 0xc0000000
-                0xc0600000                _memmap_mem_sram_end = 0xc0600000
-                0xc0000000                _memmap_seg_sram0_start = 0xc0000000
-                0xc0408000                _memmap_seg_sram0_max = 0xc0408000
-                0xc0408000                _memmap_seg_old_vlpd_start = 0xc0408000
-                0xc0418000                _memmap_seg_old_vlpd_max = 0xc0418000
-                0xc0418000                _memmap_seg_efr_fr_hr_vlpd_start = 0xc0418000
-                0xc0428000                _memmap_seg_efr_fr_hr_vlpd_max = 0xc0428000
-                0xc0428000                _memmap_seg_amr_vlpd_start = 0xc0428000
-                0xc0438000                _memmap_seg_amr_vlpd_max = 0xc0438000
-                0xc0438000                _memmap_seg_amrwb_vlpd_start = 0xc0438000
-                0xc0448000                _memmap_seg_amrwb_vlpd_max = 0xc0448000
-                0xc0448000                _memmap_seg_evrc_evrcb_vlpt_start = 0xc0448000
-                0xc0490000                _memmap_seg_evrc_evrcb_vlpt_max = 0xc0490000
-                0xc0490000                _memmap_seg_efr_fr_hr_vlpt_start = 0xc0490000
-                0xc04c0000                _memmap_seg_efr_fr_hr_vlpt_max = 0xc04c0000
-                0xc04c0000                _memmap_seg_amr_vlpt_start = 0xc04c0000
-                0xc04e0000                _memmap_seg_amr_vlpt_max = 0xc04e0000
-                0xc04e0000                _memmap_seg_amrwb_vlpt_start = 0xc04e0000
-                0xc0510000                _memmap_seg_amrwb_vlpt_max = 0xc0510000
-                0xc0510000                _memmap_seg_vlpt_start = 0xc0510000
-                0xc0558000                _memmap_seg_vlpt_max = 0xc0558000
-                0xc0558000                _memmap_seg_vlpd_start = 0xc0558000
-                0xc0578000                _memmap_seg_vlpd_max = 0xc0578000
-                0xc0578000                _memmap_seg_ulpp_start = 0xc0578000
-                0xc05b8000                _memmap_seg_ulpp_max = 0xc05b8000
-                0xc05b8000                _memmap_seg_dtsv3_start = 0xc05b8000
-                0xc05d8000                _memmap_seg_dtsv3_max = 0xc05d8000
-                0xc05d8000                _memmap_seg_dtsv4_start = 0xc05d8000
-                0xc0600000                _memmap_seg_dtsv4_max = 0xc0600000
-                0xe8058000                _memmap_seg_dram0_0_start = 0xe8058000
-                0xe8080000                _memmap_seg_dram0_0_max = 0xe8080000
-                0xe8080000                _memmap_seg_iram0_0_start = 0xe8080000
-                0xe8080300                _memmap_seg_iram0_0_max = 0xe8080300
-                0xe8080300                _memmap_seg_iram0_1_start = 0xe8080300
-                0xe8080400                _memmap_seg_iram0_1_max = 0xe8080400
-                0xe8080400                _memmap_seg_iram0_2_start = 0xe8080400
-                0xe8080578                _memmap_seg_iram0_2_max = 0xe8080578
-                0xe8080578                _memmap_seg_iram0_3_start = 0xe8080578
-                0xe8080580                _memmap_seg_iram0_3_max = 0xe8080580
-                0xe8080580                _memmap_seg_iram0_4_start = 0xe8080580
-                0xe80805b8                _memmap_seg_iram0_4_max = 0xe80805b8
-                0xe80805b8                _memmap_seg_iram0_5_start = 0xe80805b8
-                0xe80805c0                _memmap_seg_iram0_5_max = 0xe80805c0
-                0xe80805c0                _memmap_seg_iram0_6_start = 0xe80805c0
-                0xe80805f8                _memmap_seg_iram0_6_max = 0xe80805f8
-                0xe80805f8                _memmap_seg_iram0_7_start = 0xe80805f8
-                0xe8080600                _memmap_seg_iram0_7_max = 0xe8080600
-                0xe8080600                _memmap_seg_iram0_8_start = 0xe8080600
-                0xe8080638                _memmap_seg_iram0_8_max = 0xe8080638
-                0xe8080638                _memmap_seg_iram0_9_start = 0xe8080638
-                0xe8080640                _memmap_seg_iram0_9_max = 0xe8080640
-                0xe8080640                _memmap_seg_iram0_10_start = 0xe8080640
-                0xe8080678                _memmap_seg_iram0_10_max = 0xe8080678
-                0xe8080678                _memmap_seg_iram0_11_start = 0xe8080678
-                0xe80806c0                _memmap_seg_iram0_11_max = 0xe80806c0
-                0xe80806c0                _memmap_seg_iram0_12_start = 0xe80806c0
-                0xe80806f8                _memmap_seg_iram0_12_max = 0xe80806f8
-                0xe80806f8                _memmap_seg_iram0_13_start = 0xe80806f8
-                0xe8080700                _memmap_seg_iram0_13_max = 0xe8080700
-                0xe8080700                _memmap_seg_iram0_14_start = 0xe8080700
-                0xe8080738                _memmap_seg_iram0_14_max = 0xe8080738
-                0xe8080738                _memmap_seg_iram0_15_start = 0xe8080738
-                0xe8080740                _memmap_seg_iram0_15_max = 0xe8080740
-                0xe8080740                _memmap_seg_iram0_16_start = 0xe8080740
-                0xe8080778                _memmap_seg_iram0_16_max = 0xe8080778
-                0xe8080778                _memmap_seg_iram0_17_start = 0xe8080778
-                0xe80807c0                _memmap_seg_iram0_17_max = 0xe80807c0
-                0xe80807c0                _memmap_seg_iram0_18_start = 0xe80807c0
-                0xe8080800                _memmap_seg_iram0_18_max = 0xe8080800
-                0xe8080800                _memmap_seg_iram0_19_start = 0xe8080800
-                0xe808c000                _memmap_seg_iram0_19_max = 0xe808c000
-                0x00000000                _rom_store_table = 0x0
-                0xe8080400                PROVIDE (_memmap_vecbase_reset, 0xe8080400)
-                0xe8080000                PROVIDE (_memmap_reset_vector, 0xe8080000)
-                0x44000000                _memmap_cacheattr_wb_base = 0x44000000
-                0x11000000                _memmap_cacheattr_wt_base = 0x11000000
-                0x22000000                _memmap_cacheattr_bp_base = 0x22000000
-                0x00ffffff                _memmap_cacheattr_unused_mask = 0xffffff
-                0x4422222f                _memmap_cacheattr_wb_trapnull = 0x4422222f
-                0x4422222f                _memmap_cacheattr_wba_trapnull = 0x4422222f
-                0x5522222f                _memmap_cacheattr_wbna_trapnull = 0x5522222f
-                0x1122222f                _memmap_cacheattr_wt_trapnull = 0x1122222f
-                0x2222222f                _memmap_cacheattr_bp_trapnull = 0x2222222f
-                0x44ffffff                _memmap_cacheattr_wb_strict = 0x44ffffff
-                0x11ffffff                _memmap_cacheattr_wt_strict = 0x11ffffff
-                0x22ffffff                _memmap_cacheattr_bp_strict = 0x22ffffff
-                0x44222222                _memmap_cacheattr_wb_allvalid = 0x44222222
-                0x11222222                _memmap_cacheattr_wt_allvalid = 0x11222222
-                0x22222222                _memmap_cacheattr_bp_allvalid = 0x22222222
-                0x4422222f                PROVIDE (_memmap_cacheattr_reset, _memmap_cacheattr_wb_trapnull)
-
-.vlpd.rodata    0xc0408000        0x0
-                0xc0408000                _vlpd_rodata_start = ABSOLUTE (.)
- *(.vlpd.rodata)
-                0xc0408000                _vlpd_rodata_end = ABSOLUTE (.)
-
-.vlpd.data      0xc0408000        0x0
-                0xc0408000                _vlpd_data_start = ABSOLUTE (.)
- *(.vlpd.data)
-                0xc0408000                _vlpd_data_end = ABSOLUTE (.)
-
-.vlpd.bss       0xc0408000        0x0
-                0xc0408000                . = ALIGN (0x8)
-                0xc0408000                _vlpd_bss_start = ABSOLUTE (.)
- *(.vlpd.bss)
-                0xc0408000                . = ALIGN (0x8)
-                0xc0408000                _vlpd_bss_end = ABSOLUTE (.)
-                0xc0408000                _memmap_seg_old_vlpd_end = ALIGN (0x8)
-
-.efr_fr_hr_vlpd.rodata
-                0xc0418000        0x0
-                0xc0418000                _efr_fr_hr_vlpd_rodata_start = ABSOLUTE (.)
- *(.efr_fr_hr_vlpd.rodata)
-                0xc0418000                _efr_fr_hr_vlpd_rodata_end = ABSOLUTE (.)
-
-.efr_fr_hr_vlpd.data
-                0xc0418000        0x0
-                0xc0418000                _efr_fr_hr_vlpd_data_start = ABSOLUTE (.)
- *(.efr_fr_hr_vlpd.data)
-                0xc0418000                _efr_fr_hr_vlpd_data_end = ABSOLUTE (.)
-
-.efr_fr_hr_vlpd.bss
-                0xc0418000        0x0
-                0xc0418000                . = ALIGN (0x8)
-                0xc0418000                _efr_fr_hr_vlpd_bss_start = ABSOLUTE (.)
- *(.efr_fr_hr_vlpd.bss)
-                0xc0418000                . = ALIGN (0x8)
-                0xc0418000                _efr_fr_hr_vlpd_bss_end = ABSOLUTE (.)
-                0xc0418000                _memmap_seg_efr_fr_hr_vlpd_end = ALIGN (0x8)
-
-.amr_vlpd.rodata
-                0xc0428000        0x0
-                0xc0428000                _amr_vlpd_rodata_start = ABSOLUTE (.)
- *(.amr_vlpd.rodata)
-                0xc0428000                _amr_vlpd_rodata_end = ABSOLUTE (.)
-
-.amr_vlpd.data  0xc0428000        0x0
-                0xc0428000                _amr_vlpd_data_start = ABSOLUTE (.)
- *(.amr_vlpd.data)
-                0xc0428000                _amr_vlpd_data_end = ABSOLUTE (.)
-
-.amr_vlpd.bss   0xc0428000        0x0
-                0xc0428000                . = ALIGN (0x8)
-                0xc0428000                _amr_vlpd_bss_start = ABSOLUTE (.)
- *(.amr_vlpd.bss)
-                0xc0428000                . = ALIGN (0x8)
-                0xc0428000                _amr_vlpd_bss_end = ABSOLUTE (.)
-                0xc0428000                _memmap_seg_amr_vlpd_end = ALIGN (0x8)
-
-.amrwb_vlpd.rodata
-                0xc0438000        0x0
-                0xc0438000                _amrwb_vlpd_rodata_start = ABSOLUTE (.)
- *(.amrwb_vlpd.rodata)
-                0xc0438000                _amrwb_vlpd_rodata_end = ABSOLUTE (.)
-
-.amrwb_vlpd.data
-                0xc0438000        0x0
-                0xc0438000                _amrwb_vlpd_data_start = ABSOLUTE (.)
- *(.amrwb_vlpd.data)
-                0xc0438000                _amrwb_vlpd_data_end = ABSOLUTE (.)
-
-.amrwb_vlpd.bss
-                0xc0438000        0x0
-                0xc0438000                . = ALIGN (0x8)
-                0xc0438000                _amrwb_vlpd_bss_start = ABSOLUTE (.)
- *(.amrwb_vlpd.bss)
-                0xc0438000                . = ALIGN (0x8)
-                0xc0438000                _amrwb_vlpd_bss_end = ABSOLUTE (.)
-                0xc0438000                _memmap_seg_amrwb_vlpd_end = ALIGN (0x8)
-
-.evrc_evrcb_vlpt.text
-                0xc0448000        0x0
-                0xc0448000                _evrc_evrcb_vlpt_text_start = ABSOLUTE (.)
- *(.evrc_evrcb_vlpt.literal .evrc_evrcb_vlpt.text)
-                0xc0448000                _evrc_evrcb_vlpt_text_end = ABSOLUTE (.)
-                0xc0448000                _memmap_seg_evrc_evrcb_vlpt_end = ALIGN (0x8)
-
-.efr_fr_hr_vlpt.text
-                0xc0490000        0x0
-                0xc0490000                _efr_fr_hr_vlpt_text_start = ABSOLUTE (.)
- *(.efr_fr_hr_vlpt.literal .efr_fr_hr_vlpt.text)
-                0xc0490000                _efr_fr_hr_vlpt_text_end = ABSOLUTE (.)
-                0xc0490000                _memmap_seg_efr_fr_hr_vlpt_end = ALIGN (0x8)
-
-.amr_vlpt.text  0xc04c0000        0x0
-                0xc04c0000                _amr_vlpt_text_start = ABSOLUTE (.)
- *(.amr_vlpt.literal .amr_vlpt.text)
-                0xc04c0000                _amr_vlpt_text_end = ABSOLUTE (.)
-                0xc04c0000                _memmap_seg_amr_vlpt_end = ALIGN (0x8)
-
-.amrwb_vlpt.text
-                0xc04e0000        0x0
-                0xc04e0000                _amrwb_vlpt_text_start = ABSOLUTE (.)
- *(.amrwb_vlpt.literal .amrwb_vlpt.text)
-                0xc04e0000                _amrwb_vlpt_text_end = ABSOLUTE (.)
-                0xc04e0000                _memmap_seg_amrwb_vlpt_end = ALIGN (0x8)
-
-.vlpt.text      0xc0510000        0x0
-                0xc0510000                _vlpt_text_start = ABSOLUTE (.)
- *(.vlpt.literal .vlpt.text)
-                0xc0510000                _vlpt_text_end = ABSOLUTE (.)
-                0xc0510000                _memmap_seg_vlpt_end = ALIGN (0x8)
-
-.low_power_dyn_alloc
-                0xc0558000        0x0
-                0xc0558000                _low_power_dyn_alloc_start = ABSOLUTE (.)
- *(.low_power_dyn_alloc)
-                0xc0558000                _low_power_dyn_alloc_end = ABSOLUTE (.)
-                0xc0558000                _memmap_seg_vlpd_end = ALIGN (0x8)
-
-.ulpp.rodata    0xc0578000        0x0
-                0xc0578000                _ulpp_rodata_start = ABSOLUTE (.)
- *(.ulpp.rodata)
-                0xc0578000                _ulpp_rodata_end = ABSOLUTE (.)
-
-.ulpp.data      0xc0578000        0x0
-                0xc0578000                _ulpp_data_start = ABSOLUTE (.)
- *(.ulpp.data)
-                0xc0578000                _ulpp_data_end = ABSOLUTE (.)
-
-.ulpp.text      0xc0578000        0x0
-                0xc0578000                _ulpp_text_start = ABSOLUTE (.)
- *(.ulpp.literal .ulpp.text)
-                0xc0578000                _ulpp_text_end = ABSOLUTE (.)
-
-.ulpp.bss       0xc0578000        0x0
-                0xc0578000                . = ALIGN (0x8)
-                0xc0578000                _ulpp_bss_start = ABSOLUTE (.)
- *(.ulpp.bss)
-                0xc0578000                . = ALIGN (0x8)
-                0xc0578000                _ulpp_bss_end = ABSOLUTE (.)
-                0xc0578000                _memmap_seg_ulpp_end = ALIGN (0x8)
-
-.dtsv3.rodata   0xc05b8000        0x0
-                0xc05b8000                _dtsv3_rodata_start = ABSOLUTE (.)
- *(.dtsv3.rodata)
-                0xc05b8000                _dtsv3_rodata_end = ABSOLUTE (.)
-
-.dtsv3.data     0xc05b8000        0x0
-                0xc05b8000                _dtsv3_data_start = ABSOLUTE (.)
- *(.dtsv3.data)
-                0xc05b8000                _dtsv3_data_end = ABSOLUTE (.)
-
-.dtsv3.text     0xc05b8000        0x0
-                0xc05b8000                _dtsv3_text_start = ABSOLUTE (.)
- *(.dtsv3.literal .dtsv3.text)
-                0xc05b8000                _dtsv3_text_end = ABSOLUTE (.)
-
-.dtsv3.bss      0xc05b8000        0x0
-                0xc05b8000                . = ALIGN (0x8)
-                0xc05b8000                _dtsv3_bss_start = ABSOLUTE (.)
- *(.dtsv3.bss)
-                0xc05b8000                . = ALIGN (0x8)
-                0xc05b8000                _dtsv3_bss_end = ABSOLUTE (.)
-                0xc05b8000                _memmap_seg_dtsv3_end = ALIGN (0x8)
-
-.dtsv4.rodata   0xc05d8000        0x0
-                0xc05d8000                _dtsv4_rodata_start = ABSOLUTE (.)
- *(.dtsv4.rodata)
-                0xc05d8000                _dtsv4_rodata_end = ABSOLUTE (.)
-
-.dtsv4.data     0xc05d8000        0x0
-                0xc05d8000                _dtsv4_data_start = ABSOLUTE (.)
- *(.dtsv4.data)
-                0xc05d8000                _dtsv4_data_end = ABSOLUTE (.)
-
-.dtsv4.text     0xc05d8000        0x0
-                0xc05d8000                _dtsv4_text_start = ABSOLUTE (.)
- *(.dtsv4.literal .dtsv4.text)
-                0xc05d8000                _dtsv4_text_end = ABSOLUTE (.)
-
-.dtsv4.bss      0xc05d8000        0x0
-                0xc05d8000                . = ALIGN (0x8)
-                0xc05d8000                _dtsv4_bss_start = ABSOLUTE (.)
- *(.dtsv4.bss)
-                0xc05d8000                . = ALIGN (0x8)
-                0xc05d8000                _dtsv4_bss_end = ABSOLUTE (.)
-                0xc05d8000                _memmap_seg_dtsv4_end = ALIGN (0x8)
-
-.dram0.rodata   0xe8058000        0x0
-                0xe8058000                _dram0_rodata_start = ABSOLUTE (.)
- *(.dram0.rodata)
- *(.dram.rodata)
-                0xe8058000                _dram0_rodata_end = ABSOLUTE (.)
-
-.dram0.literal  0xe8058000        0x0
-                0xe8058000                _dram0_literal_start = ABSOLUTE (.)
- *(.dram0.literal)
- *(.dram.literal)
-                0xe8058000                _dram0_literal_end = ABSOLUTE (.)
-
-.dram0.data     0xe8058000       0x51
-                0xe8058000                _dram0_data_start = ABSOLUTE (.)
- *(.dram0.data)
- .dram0.data    0xe8058000       0x50 objs/hikey/int_vector.o
-                0xe8058030                g_awVosCoprocOwnerSa
-                0xe8058038                g_strVosPanicMessage
- .dram0.data    0xe8058050        0x1 objs/hikey/arch_hifi330.o
- *(.dram.data)
-                0xe8058051                _dram0_data_end = ABSOLUTE (.)
-
-.dram0.bss      0xe8058058        0x0
-                0xe8058058                . = ALIGN (0x8)
-                0xe8058058                _dram0_bss_start = ABSOLUTE (.)
- *(.dram0.bss)
- *(.om.debug.bss)
- *(.os.stack.bss)
-                0xe8058058                . = ALIGN (0x8)
-                0xe8058058                _dram0_bss_end = ABSOLUTE (.)
-                0xe8058058                _end = ALIGN (0x8)
-                0xe8058058                PROVIDE (end, ALIGN (0x8))
-                0xe8058058                _stack_sentry = ALIGN (0x8)
-                0xe8058058                _memmap_seg_dram0_0_end = ALIGN (0x8)
-                0xe8080000                __stack = 0xe8080000
-                0xe8080000                _heap_sentry = 0xe8080000
-
-.ResetVector.text
-                0xe8080000        0x3
-                0xe8080000                _ResetVector_text_start = ABSOLUTE (.)
- *(.ResetVector.text)
- .ResetVector.text
-                0xe8080000        0x3 objs/hikey/reset.o
-                0xe8080000                _ResetVector
-                0xe8080003                _ResetVector_text_end = ABSOLUTE (.)
-                0xe8080008                _memmap_seg_iram0_0_end = ALIGN (0x8)
-
-.Reset.literal  0xe8080300       0x40
-                0xe8080300                _Reset_literal_start = ABSOLUTE (.)
- *(.Reset.literal)
- .Reset.literal
-                0xe8080300       0x40 objs/hikey/reset.o
-                0xe8080340                _Reset_literal_end = ABSOLUTE (.)
-                0xe8080340                _memmap_seg_iram0_1_end = ALIGN (0x8)
-
-.WindowVectors.text
-                0xe8080400      0x16a
-                0xe8080400                _WindowVectors_text_start = ABSOLUTE (.)
- *(.WindowVectors.text)
- .WindowVectors.text
-                0xe8080400      0x16a objs/hikey/int_vector.o
-                0xe8080400                _WindowOverflow4
-                0xe8080440                _WindowUnderflow4
-                0xe8080450                OS_AllocaException
-                0xe8080480                _WindowOverflow8
-                0xe80804c0                _WindowUnderflow8
-                0xe8080500                _WindowOverflow12
-                0xe8080540                _WindowUnderflow12
-                0xe808056a                _WindowVectors_text_end = ABSOLUTE (.)
-                0xe8080570                _memmap_seg_iram0_2_end = ALIGN (0x8)
-
-.Level2InterruptVector.literal
-                0xe8080578        0x0
-                0xe8080578                _Level2InterruptVector_literal_start = ABSOLUTE (.)
- *(.Level2InterruptVector.literal)
- .Level2InterruptVector.literal
-                0xe8080578        0x0 objs/hikey/int_vector.o
-                                  0x4 (size before relaxing)
-                0xe8080578                _Level2InterruptVector_literal_end = ABSOLUTE (.)
-                0xe8080578                _memmap_seg_iram0_3_end = ALIGN (0x8)
-
-.Level2InterruptVector.text
-                0xe8080580        0x6
-                0xe8080580                _Level2InterruptVector_text_start = ABSOLUTE (.)
- *(.Level2InterruptVector.text)
- .Level2InterruptVector.text
-                0xe8080580        0x6 objs/hikey/int_vector.o
-                                  0x9 (size before relaxing)
-                0xe8080580                OS_Level2Vector
-                0xe8080586                _Level2InterruptVector_text_end = ABSOLUTE (.)
-                0xe8080588                _memmap_seg_iram0_4_end = ALIGN (0x8)
-
-.Level3InterruptVector.literal
-                0xe80805b8        0x0
-                0xe80805b8                _Level3InterruptVector_literal_start = ABSOLUTE (.)
- *(.Level3InterruptVector.literal)
- .Level3InterruptVector.literal
-                0xe80805b8        0x0 objs/hikey/int_vector.o
-                                  0x4 (size before relaxing)
-                0xe80805b8                _Level3InterruptVector_literal_end = ABSOLUTE (.)
-                0xe80805b8                _memmap_seg_iram0_5_end = ALIGN (0x8)
-
-.Level3InterruptVector.text
-                0xe80805c0        0x6
-                0xe80805c0                _Level3InterruptVector_text_start = ABSOLUTE (.)
- *(.Level3InterruptVector.text)
- .Level3InterruptVector.text
-                0xe80805c0        0x6 objs/hikey/int_vector.o
-                                  0x9 (size before relaxing)
-                0xe80805c0                OS_Level3Vector
-                0xe80805c6                _Level3InterruptVector_text_end = ABSOLUTE (.)
-                0xe80805c8                _memmap_seg_iram0_6_end = ALIGN (0x8)
-
-.Level4InterruptVector.literal
-                0xe80805f8        0x0
-                0xe80805f8                _Level4InterruptVector_literal_start = ABSOLUTE (.)
- *(.Level4InterruptVector.literal)
-                0xe80805f8                _Level4InterruptVector_literal_end = ABSOLUTE (.)
-                0xe80805f8                _memmap_seg_iram0_7_end = ALIGN (0x8)
-
-.Level4InterruptVector.text
-                0xe8080600        0x0
-                0xe8080600                _Level4InterruptVector_text_start = ABSOLUTE (.)
- *(.Level4InterruptVector.text)
-                0xe8080600                _Level4InterruptVector_text_end = ABSOLUTE (.)
-                0xe8080600                _memmap_seg_iram0_8_end = ALIGN (0x8)
-
-.DebugExceptionVector.literal
-                0xe8080638        0x0
-                0xe8080638                _DebugExceptionVector_literal_start = ABSOLUTE (.)
- *(.DebugExceptionVector.literal)
- .DebugExceptionVector.literal
-                0xe8080638        0x0 objs/hikey/int_vector.o
-                                  0x4 (size before relaxing)
-                0xe8080638                _DebugExceptionVector_literal_end = ABSOLUTE (.)
-                0xe8080638                _memmap_seg_iram0_9_end = ALIGN (0x8)
-
-.DebugExceptionVector.text
-                0xe8080640       0x16
-                0xe8080640                _DebugExceptionVector_text_start = ABSOLUTE (.)
- *(.DebugExceptionVector.text)
- .DebugExceptionVector.text
-                0xe8080640        0x9 objs/hikey/int_vector.o
-                                  0xc (size before relaxing)
-                0xe8080640                OS_DebugExceptionVector
- *fill*         0xe8080649        0x3 
- .DebugExceptionVector.text
-                0xe808064c        0xa objs/hikey/gdbstub-entry.o
-                0xe808064c                DebugExceptionVector
-                0xe8080656                _DebugExceptionVector_text_end = ABSOLUTE (.)
-                0xe8080658                _memmap_seg_iram0_10_end = ALIGN (0x8)
-
-.NMIExceptionVector.literal
-                0xe8080678        0x8
-                0xe8080678                _NMIExceptionVector_literal_start = ABSOLUTE (.)
- *(.NMIExceptionVector.literal)
- .NMIExceptionVector.literal
-                0xe8080678        0x8 objs/hikey/int_vector.o
-                0xe8080680                _NMIExceptionVector_literal_end = ABSOLUTE (.)
-                0xe8080680                _memmap_seg_iram0_11_end = ALIGN (0x8)
-
-.NMIExceptionVector.text
-                0xe80806c0       0x1b
-                0xe80806c0                _NMIExceptionVector_text_start = ABSOLUTE (.)
- *(.NMIExceptionVector.text)
- .NMIExceptionVector.text
-                0xe80806c0       0x1b objs/hikey/int_vector.o
-                0xe80806c0                OS_NMIExceptionVector
-                0xe80806db                _NMIExceptionVector_text_end = ABSOLUTE (.)
-                0xe80806e0                _memmap_seg_iram0_12_end = ALIGN (0x8)
-
-.KernelExceptionVector.literal
-                0xe80806f8        0x0
-                0xe80806f8                _KernelExceptionVector_literal_start = ABSOLUTE (.)
- *(.KernelExceptionVector.literal)
- .KernelExceptionVector.literal
-                0xe80806f8        0x0 objs/hikey/int_vector.o
-                                  0x4 (size before relaxing)
-                0xe80806f8                _KernelExceptionVector_literal_end = ABSOLUTE (.)
-                0xe80806f8                _memmap_seg_iram0_13_end = ALIGN (0x8)
-
-.KernelExceptionVector.text
-                0xe8080700        0x6
-                0xe8080700                _KernelExceptionVector_text_start = ABSOLUTE (.)
- *(.KernelExceptionVector.text)
- .KernelExceptionVector.text
-                0xe8080700        0x6 objs/hikey/int_vector.o
-                                  0x9 (size before relaxing)
-                0xe8080700                OS_KernelExceptionVector
-                0xe8080706                _KernelExceptionVector_text_end = ABSOLUTE (.)
-                0xe8080708                _memmap_seg_iram0_14_end = ALIGN (0x8)
-
-.UserExceptionVector.literal
-                0xe8080738        0x0
-                0xe8080738                _UserExceptionVector_literal_start = ABSOLUTE (.)
- *(.UserExceptionVector.literal)
- .UserExceptionVector.literal
-                0xe8080738        0x0 objs/hikey/int_vector.o
-                                  0x4 (size before relaxing)
-                0xe8080738                _UserExceptionVector_literal_end = ABSOLUTE (.)
-                0xe8080738                _memmap_seg_iram0_15_end = ALIGN (0x8)
-
-.UserExceptionVector.text
-                0xe8080740        0x6
-                0xe8080740                _UserExceptionVector_text_start = ABSOLUTE (.)
- *(.UserExceptionVector.text)
- .UserExceptionVector.text
-                0xe8080740        0x6 objs/hikey/int_vector.o
-                                  0x9 (size before relaxing)
-                0xe8080740                OS_UserExceptionVector
-                0xe8080746                _UserExceptionVector_text_end = ABSOLUTE (.)
-                0xe8080748                _memmap_seg_iram0_16_end = ALIGN (0x8)
-
-.DoubleExceptionVector.literal
-                0xe8080778        0x0
-                0xe8080778                _DoubleExceptionVector_literal_start = ABSOLUTE (.)
- *(.DoubleExceptionVector.literal)
- .DoubleExceptionVector.literal
-                0xe8080778        0x0 objs/hikey/int_vector.o
-                                  0x4 (size before relaxing)
-                0xe8080778                _DoubleExceptionVector_literal_end = ABSOLUTE (.)
-                0xe8080778                _memmap_seg_iram0_17_end = ALIGN (0x8)
-
-.DoubleExceptionVector.text
-                0xe80807c0        0x6
-                0xe80807c0                _DoubleExceptionVector_text_start = ABSOLUTE (.)
- *(.DoubleExceptionVector.text)
- .DoubleExceptionVector.text
-                0xe80807c0        0x6 objs/hikey/int_vector.o
-                                  0x9 (size before relaxing)
-                0xe80807c0                OS_DoubleExceptionVector
-                0xe80807c6                _DoubleExceptionVector_text_end = ABSOLUTE (.)
-                0xe80807c8                _memmap_seg_iram0_18_end = ALIGN (0x8)
-
-.Reset.text     0xe8080800      0x23d
-                0xe8080800                _Reset_text_start = ABSOLUTE (.)
- *(.Reset.text)
- .Reset.text    0xe8080800      0x23d objs/hikey/reset.o
-                0xe8080800                _Reset
-                0xe8080a3d                _Reset_text_end = ABSOLUTE (.)
-
-.iram0.text     0xe8080a40      0x600
-                0xe8080a40                _iram0_text_start = ABSOLUTE (.)
- *(.iram0.literal .iram.literal .iram.text.literal .iram0.text .iram.text)
- .iram0.literal
-                0xe8080a40       0x44 objs/hikey/int_vector.o
-                                 0x88 (size before relaxing)
- .iram0.literal
-                0xe8080a84       0x2c objs/hikey/arch_hifi330.o
-                                 0x58 (size before relaxing)
- .iram0.text    0xe8080ab0      0x3b4 objs/hikey/int_vector.o
-                                0x3c0 (size before relaxing)
-                0xe8080ab0                OS_Panic
-                0xe8080ad0                OS_UserExc
-                0xe8080b68                OS_UserExit
-                0xe8080dc4                OS_Medint2Exit
-                0xe8080e50                OS_Medint3Exit
- .iram0.text    0xe8080e64      0x1dc objs/hikey/arch_hifi330.o
-                0xe8080e64                VOSStartHighRdy
-                0xe8080e7c                VOSCtxSw
-                0xe8080eac                VOSIntCtxSw
-                0xe8080ecc                OSCPUSaveSR
-                0xe8080ed8                OSCPURestoreSR
-                0xe8080ee4                OS_TaskSwitch
-                0xe8080f24                OS_ContextSave
-                0xe8080f90                OS_ContextRestore
-                0xe8080fd8                OS_IntEnter
-                0xe8081008                OS_IntExit
-                0xe8081020                OS_GetTaskCoprocState
-                0xe8081040                _iram0_text_end = ABSOLUTE (.)
-                0xe8081040                _memmap_seg_iram0_19_end = ALIGN (0x8)
-
-.sram.shareaddr
-                0xc0000000        0x0
-                0xc0000000                _sram_shareaddr_start = ABSOLUTE (.)
- *(.sram.shareaddr)
-                0xc0000000                _sram_shareaddr_end = ABSOLUTE (.)
-
-.sram.rodata    0xc0000000        0x0
-                0xc0000000                _sram_rodata_start = ABSOLUTE (.)
- *(.sram.rodata)
-                0xc0000000                _sram_rodata_end = ABSOLUTE (.)
-
-.rodata         0xc0000000     0x75a0
-                0xc0000000                _rodata_start = ABSOLUTE (.)
- *(.rodata)
- .rodata        0xc0000000       0x84 objs/hikey/dsp_debug.o
- *fill*         0xc0000084        0xc 
- .rodata        0xc0000090      0x10f objs/hikey/xf-core.o
- *fill*         0xc000019f        0x1 
- .rodata        0xc00001a0      0x197 objs/hikey/xf-io.o
- *fill*         0xc0000337        0x9 
- .rodata        0xc0000340       0x1b objs/hikey/xf-mem.o
- *fill*         0xc000035b        0x5 
- .rodata        0xc0000360       0x30 objs/hikey/xf-msg.o
- .rodata        0xc0000390       0x1d objs/hikey/xf-sched.o
- *fill*         0xc00003ad        0x3 
- .rodata        0xc00003b0       0x45 objs/hikey/xa-factory.o
- *fill*         0xc00003f5        0xb 
- .rodata        0xc0000400       0x4e objs/hikey/xf-shmem.o
- *fill*         0xc000044e        0x2 
- .rodata        0xc0000450      0x1ec objs/hikey/tinyvprintf.o
- *fill*         0xc000063c        0x4 
- .rodata        0xc0000640      0x120 objs/hikey/gdbstub.o
-                0xc0000640                rx
-                0xc0000644                tx
- .rodata        0xc0000760      0x140 objs/hikey/xa-class-base.o
- .rodata        0xc00008a0      0x1e7 objs/hikey/xa-class-audio-codec.o
- *fill*         0xc0000a87        0x9 
- .rodata        0xc0000a90      0x1d1 objs/hikey/xa-class-mixer.o
- *fill*         0xc0000c61        0xf 
- .rodata        0xc0000c70       0x15 objs/hikey/xf-main.o
- *fill*         0xc0000c85        0xb 
- .rodata        0xc0000c90      0x2ed objs/hikey/xa-pcm.o
- *fill*         0xc0000f7d        0x3 
- .rodata        0xc0000f80        0xc objs/hikey/xa-vorbis-decoder.o
- *fill*         0xc0000f8c        0x4 
- .rodata        0xc0000f90      0x269 objs/hikey/xa-mixer.o
- *fill*         0xc00011f9        0x7 
- .rodata        0xc0001200     0x4a54 ../plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a(xa_vorbis_dec.o)
- *(.rodata.*)
- .rodata.str1.4
-                0xc0005c54        0x7 objs/hikey/dsp_debug.o
- *fill*         0xc0005c5b        0x1 
- .rodata.str1.4
-                0xc0005c5c      0x2e1 objs/hikey/xf-core.o
- *fill*         0xc0005f3d        0x3 
- .rodata.str1.4
-                0xc0005f40      0x2fb objs/hikey/xf-io.o
-                                0x363 (size before relaxing)
- *fill*         0xc000623b        0x1 
- .rodata.str1.4
-                0xc000623c       0x50 objs/hikey/xf-mem.o
-                                 0x8c (size before relaxing)
- .rodata.str1.4
-                0xc000628c       0x15 objs/hikey/xf-msg.o
-                                 0x49 (size before relaxing)
- *fill*         0xc00062a1        0x3 
- .rodata.str1.4
-                0xc00062a4       0x56 objs/hikey/xf-sched.o
- *fill*         0xc00062fa        0x2 
- .rodata.str1.4
-                0xc00062fc       0x68 objs/hikey/xa-factory.o
-                                 0x70 (size before relaxing)
- .rodata.str1.4
-                0xc0006364       0xa8 objs/hikey/xf-shmem.o
-                                 0xe4 (size before relaxing)
- .rodata.str1.4
-                0xc000640c       0x11 objs/hikey/tinyvprintf.o
- *fill*         0xc000641d        0x3 
- .rodata.str1.4
-                0xc0006420       0x3f objs/hikey/gdbstub.o
- *fill*         0xc000645f        0x1 
- .rodata.str1.4
-                0xc0006460      0x6b6 objs/hikey/xa-class-base.o
-                                0x6f2 (size before relaxing)
- *fill*         0xc0006b16        0x2 
- .rodata.str1.4
-                0xc0006b18      0x41b objs/hikey/xa-class-audio-codec.o
-                                0x517 (size before relaxing)
- *fill*         0xc0006f33        0x1 
- .rodata.str1.4
-                0xc0006f34      0x3cf objs/hikey/xa-class-mixer.o
-                                0x58b (size before relaxing)
- *fill*         0xc0007303        0x1 
- .rodata.str1.4
-                0xc0007304       0x4c objs/hikey/xf-main.o
-                                 0x8c (size before relaxing)
- .rodata.str1.4
-                0xc0007350       0x86 objs/hikey/xa-pcm.o
-                                 0xc2 (size before relaxing)
- *fill*         0xc00073d6        0x2 
- .rodata.str1.4
-                0xc00073d8      0x129 objs/hikey/xa-mixer.o
-                                0x169 (size before relaxing)
- *fill*         0xc0007501        0x3 
- .rodata.str1.4
-                0xc0007504        0x8 ../plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a(xa_vorbis_dec.o)
-                                  0x7 (size before relaxing)
- *(.gnu.linkonce.r.*)
- *(.rodata1)
-                0xc000750c                __XT_EXCEPTION_TABLE__ = ABSOLUTE (.)
- *(.xt_except_table)
- *(.gcc_except_table)
- *(.gnu.linkonce.e.*)
- *(.gnu.version_r)
- *(.eh_frame)
- .eh_frame      0xc000750c       0x24 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divdi3.o)
- .eh_frame      0xc0007530       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_udivdi3.o)
-                                 0x24 (size before relaxing)
- .eh_frame      0xc0007544       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_umoddi3.o)
-                                 0x24 (size before relaxing)
- *crtbegin.o(.ctors)
- *(EXCLUDE_FILE(*crtend.o) .ctors)
- *(SORT(.ctors.*))
- *(.ctors)
- *crtbegin.o(.dtors)
- *(EXCLUDE_FILE(*crtend.o) .dtors)
- *(SORT(.dtors.*))
- *(.dtors)
-                0xc0007558                __XT_EXCEPTION_DESCS__ = ABSOLUTE (.)
- *(.xt_except_desc)
- *(.gnu.linkonce.h.*)
-                0xc0007558                __XT_EXCEPTION_DESCS_END__ = ABSOLUTE (.)
- *(.xt_except_desc_end)
- *(.dynamic)
- *(.gnu.version_d)
-                0xc0007558                . = ALIGN (0x4)
-                0xc0007558                _bss_table_start = ABSOLUTE (.)
-                0xc0007558        0x4 LONG 0xc0408000 _vlpd_bss_start
-                0xc000755c        0x4 LONG 0xc0408000 _vlpd_bss_end
-                0xc0007560        0x4 LONG 0xc0418000 _efr_fr_hr_vlpd_bss_start
-                0xc0007564        0x4 LONG 0xc0418000 _efr_fr_hr_vlpd_bss_end
-                0xc0007568        0x4 LONG 0xc0428000 _amr_vlpd_bss_start
-                0xc000756c        0x4 LONG 0xc0428000 _amr_vlpd_bss_end
-                0xc0007570        0x4 LONG 0xc0438000 _amrwb_vlpd_bss_start
-                0xc0007574        0x4 LONG 0xc0438000 _amrwb_vlpd_bss_end
-                0xc0007578        0x4 LONG 0xc0578000 _ulpp_bss_start
-                0xc000757c        0x4 LONG 0xc0578000 _ulpp_bss_end
-                0xc0007580        0x4 LONG 0xc05b8000 _dtsv3_bss_start
-                0xc0007584        0x4 LONG 0xc05b8000 _dtsv3_bss_end
-                0xc0007588        0x4 LONG 0xc05d8000 _dtsv4_bss_start
-                0xc000758c        0x4 LONG 0xc05d8000 _dtsv4_bss_end
-                0xc0007590        0x4 LONG 0xe8058058 _dram0_bss_start
-                0xc0007594        0x4 LONG 0xe8058058 _dram0_bss_end
-                0xc0007598        0x4 LONG 0xc001a300 _bss_start
-                0xc000759c        0x4 LONG 0xc011b628 _bss_end
-                0xc00075a0                _bss_table_end = ABSOLUTE (.)
-                0xc00075a0                _rodata_end = ABSOLUTE (.)
-
-.sram.text      0xc00075a0        0x0
-                0xc00075a0                _sram_text_start = ABSOLUTE (.)
- *(.sram.literal .sram.text)
-                0xc00075a0                _sram_text_end = ABSOLUTE (.)
-
-.text           0xc00075a0    0x12b4c
-                0xc00075a0                _stext = .
-                0xc00075a0                _text_start = ABSOLUTE (.)
- *(.entry.text)
- *(.init.literal)
- *(.init)
- *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
- .text          0xc00075a0       0xc3 objs/hikey/cpu_c.o
-                                 0xd9 (size before relaxing)
-                0xc00075a4                OS_EnterIntHook
-                0xc00075bc                OS_ExitIntHook
-                0xc00075d8                OS_UserexecHandler
-                0xc00075f8                OS_InterruptHandler
-                0xc0007610                OS_NmiHook
-                0xc000762c                VOS_ConnectInterrupt
-                0xc000763c                VOS_EnableInterrupt
-                0xc0007658                VOS_DisableInterrupt
- *fill*         0xc0007663        0x5 
- .text          0xc0007668      0x59a objs/hikey/dsp_debug.o
-                                0x5da (size before relaxing)
-                0xc0007690                __xprintf
-                0xc0007b60                dsp_debug_init
-                0xc0007bd8                print_log
- *fill*         0xc0007c02        0x6 
- .text          0xc0007c08       0x40 objs/hikey/mutex.o
- .text          0xc0007c48      0x535 objs/hikey/rbtree.o
-                                0x53d (size before relaxing)
-                0xc0007c80                rb_first
-                0xc0007ca0                rb_last
-                0xc0007cc0                rb_next
-                0xc0007d00                rb_prev
-                0xc0007d40                rb_init
-                0xc0007d54                rb_insert
-                0xc0007e84                rb_delete
-                0xc0008138                rb_replace
- *fill*         0xc000817d        0x3 
- .text          0xc0008180      0x899 objs/hikey/xf-core.o
-                                0xaa4 (size before relaxing)
-                0xc0008538                xf_msg_submit
-                0xc00085b4                xf_msg_complete
-                0xc0008614                xf_core_init
-                0xc000874c                xf_core_service
-                0xc0008a00                xf_global_init
- *fill*         0xc0008a19        0x7 
- .text          0xc0008a20      0x79b objs/hikey/xf-io.o
-                                0x88b (size before relaxing)
-                0xc0008a78                xf_input_port_init
-                0xc0008b0c                xf_input_port_put
-                0xc0008bf4                xf_input_port_fill
-                0xc0008c9c                xf_input_port_pad
-                0xc0008cc8                xf_input_port_consume
-                0xc0008d38                xf_input_port_purge
-                0xc0008da0                xf_input_port_control_save
-                0xc0008de8                xf_input_port_purge_done
-                0xc0008e34                xf_input_port_destroy
-                0xc0008e84                xf_output_port_init
-                0xc0008ec4                xf_output_port_route
-                0xc0008fe0                xf_output_port_unroute_start
-                0xc0008ff4                xf_output_port_unroute_done
-                0xc0009020                xf_output_port_unroute
-                0xc0009088                xf_output_port_put
-                0xc00090ac                xf_output_port_data
-                0xc00090c0                xf_output_port_produce
-                0xc00090f0                xf_output_port_flush
-                0xc0009158                xf_output_port_flush_done
-                0xc000918c                xf_output_port_destroy
- *fill*         0xc00091bb        0x5 
- .text          0xc00091c0      0x2e0 objs/hikey/xf-mem.o
-                                0x338 (size before relaxing)
-                0xc000924c                xf_mm_alloc
-                0xc00092ec                xf_mm_free
-                0xc000940c                xf_mm_init
- .text          0xc00094a0      0x153 objs/hikey/xf-msg.o
-                                0x173 (size before relaxing)
-                0xc00094f0                xf_msg_pool_init
-                0xc000957c                xf_msg_pool_destroy
-                0xc00095b0                xf_msg_pool_get
-                0xc00095e8                xf_msg_pool_put
- *fill*         0xc00095f3        0x5 
- .text          0xc00095f8      0x127 objs/hikey/xf-sched.o
-                                0x14a (size before relaxing)
-                0xc0009640                xf_sched_put
-                0xc00096b0                xf_sched_get
-                0xc00096f8                xf_sched_cancel
-                0xc0009714                xf_sched_init
- *fill*         0xc000971f        0x1 
- .text          0xc0009720       0x91 objs/hikey/xa-factory.o
-                                 0xa1 (size before relaxing)
-                0xc000976c                xf_component_factory
- *fill*         0xc00097b1        0x7 
- .text          0xc00097b8      0x532 objs/hikey/xf-shmem.o
-                                0x61a (size before relaxing)
-                0xc0009a68                xf_shmem_process_queues
-                0xc0009bd4                xf_msg_proxy_complete
-                0xc0009c4c                xf_shmem_init
- *fill*         0xc0009cea        0x6 
- .text          0xc0009cf0      0x380 objs/hikey/tinyvprintf.o
-                0xc0009d0c                tiny_vsprintf
-                0xc000a04c                tiny_sprintf
- .text          0xc000a070      0x108 objs/hikey/xf-isr.o
-                                0x120 (size before relaxing)
-                0xc000a0b4                xf_msg_schedule_isr
-                0xc000a11c                xf_msg_complete_isr
- .text          0xc000a178      0xe34 objs/hikey/gdbstub.o
-                               0x100c (size before relaxing)
-                0xc000a18c                init_debug_comm
-                0xc000a1d4                poll_debug_ring
-                0xc000a36c                getpacket
-                0xc000aa64                handle_exception
-                0xc000af5c                init_gdbstub
- *fill*         0xc000afac        0x4 
- .text          0xc000afb0     0x1622 objs/hikey/xa-class-base.o
-                               0x1cea (size before relaxing)
-                0xc000b0c4                xa_base_set_param
-                0xc000b82c                xa_base_get_param
-                0xc000b968                xa_base_set_param_ext
-                0xc000bb80                xa_base_get_param_ext
-                0xc000c17c                xa_base_schedule
-                0xc000c1d4                xa_base_cancel
-                0xc000c22c                xa_base_destroy
-                0xc000c2a8                xa_base_factory
- *fill*         0xc000c5d2        0x6 
- .text          0xc000c5d8     0x14e3 objs/hikey/xa-class-audio-codec.o
-                               0x1afb (size before relaxing)
-                0xc000da44                xa_audio_codec_factory
- *fill*         0xc000dabb        0x5 
- .text          0xc000dac0     0x144a objs/hikey/xa-class-mixer.o
-                               0x1aaa (size before relaxing)
-                0xc000ee98                xa_mixer_factory
- *fill*         0xc000ef0a        0x6 
- .text          0xc000ef10      0x185 objs/hikey/xf-main.o
-                                0x205 (size before relaxing)
-                0xc000ef6c                xf_ipc_init
-                0xc000efe8                main
- *fill*         0xc000f095        0x3 
- .text          0xc000f098      0xf0f objs/hikey/xa-pcm.o
-                               0x13e7 (size before relaxing)
-                0xc000ff3c                xa_pcm_codec
- *fill*         0xc000ffa7        0x1 
- .text          0xc000ffa8       0x46 objs/hikey/xa-vorbis-decoder.o
-                                 0x4e (size before relaxing)
-                0xc000ffb0                xa_vorbis_decoder
- *fill*         0xc000ffee        0x2 
- .text          0xc000fff0      0xc77 objs/hikey/xa-mixer.o
-                               0x10cf (size before relaxing)
-                0xc0010bfc                xa_mixer
- *fill*         0xc0010c67        0x1 
- .literal       0xc0010c68       0x10 objs/hikey/gdbstub-entry.o
-                                 0x2c (size before relaxing)
- .literal       0xc0010c78        0x4 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(windowspill_asm.o)
- .literal       0xc0010c7c        0x4 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-on.o)
- .literal       0xc0010c80        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-off.o)
-                                  0x4 (size before relaxing)
- .literal       0xc0010c80        0x8 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memchr.o)
- .literal       0xc0010c88        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-strncmp.o)
-                                  0x8 (size before relaxing)
- .literal       0xc0010c88        0x8 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_addsubdf3.o)
-                                  0xc (size before relaxing)
- .literal       0xc0010c90        0x4 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_muldf3.o)
-                                 0x10 (size before relaxing)
- .literal       0xc0010c94        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_cmpdf2.o)
-                                 0x18 (size before relaxing)
- .literal       0xc0010c94        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfsi.o)
-                                  0x4 (size before relaxing)
- .literal       0xc0010c94        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfdi.o)
-                                  0x4 (size before relaxing)
- .literal       0xc0010c94        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memcpy.o)
-                                  0x8 (size before relaxing)
- .literal       0xc0010c94        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memset.o)
-                                  0x4 (size before relaxing)
- .literal       0xc0010c94        0x8 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_div_df.o)
-                                 0x2c (size before relaxing)
- .literal       0xc0010c9c        0xc /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_df.o)
-                                 0x1c (size before relaxing)
- .literal       0xc0010ca8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_div.o)
-                                  0xc (size before relaxing)
- .text          0xc0010ca8      0x138 objs/hikey/gdbstub-entry.o
-                0xc0010ca8                DebugExceptionEntry
-                0xc0010dc8                init_debug_entry
-                0xc0010dd8                breakpoint
- *fill*         0xc0010de0        0x0 
- .text          0xc0010de0     0x7321 ../plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a(xa_vorbis_dec.o)
-                               0x7339 (size before relaxing)
-                0xc0013ef8                xa_vorbis_dec
- *fill*         0xc0018101        0x3 
- .text          0xc0018104      0x137 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(windowspill_asm.o)
-                0xc0018104                xthal_window_spill_nw
-                0xc0018104                xthal_spill_registers_into_stack_nw
-                0xc0018218                xthal_window_spill
- *fill*         0xc001823b        0x1 
- .text          0xc001823c       0x22 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-on.o)
-                0xc001823c                _xtos_ints_on
- *fill*         0xc001825e        0x2 
- .text          0xc0018260       0x25 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-off.o)
-                0xc0018260                _xtos_ints_off
- *fill*         0xc0018285        0x3 
- .text          0xc0018288       0x7c /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memchr.o)
-                0xc0018288                memchr
- *fill*         0xc0018304        0x4 
- .text          0xc0018308       0x84 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-strncmp.o)
-                0xc0018308                strncmp
- .text          0xc001838c      0x2fa /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_addsubdf3.o)
-                0xc00183ac                __adddf3
-                0xc0018500                __subdf3
- *fill*         0xc0018686        0x2 
- .text          0xc0018688      0x1ff /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_muldf3.o)
-                0xc0018768                __muldf3
- *fill*         0xc0018887        0x1 
- .text          0xc0018888      0x176 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_cmpdf2.o)
-                0xc0018888                __eqdf2
-                0xc0018888                __nedf2
-                0xc00188bc                __gtdf2
-                0xc00188e4                __ledf2
-                0xc0018948                __gedf2
-                0xc0018970                __ltdf2
-                0xc00189d4                __unorddf2
- *fill*         0xc00189fe        0x2 
- .text          0xc0018a00       0x5d /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfsi.o)
-                0xc0018a00                __fixunsdfsi
- *fill*         0xc0018a5d        0x3 
- .text          0xc0018a60       0x75 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfdi.o)
-                0xc0018a60                __fixunsdfdi
- *fill*         0xc0018ad5        0x3 
- .text          0xc0018ad8       0xa3 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memcpy.o)
-                0xc0018ad8                __vec_memcpy
- *fill*         0xc0018b7b        0x5 
- .text          0xc0018b80       0x71 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memset.o)
-                0xc0018b80                __vec_memset
- *fill*         0xc0018bf1        0x7 
- .text          0xc0018bf8      0x318 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_div_df.o)
-                0xc0018bf8                __divdf3
- .text          0xc0018f10      0x29a /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_df.o)
-                0xc0018f10                __propagateFloat64NaN
-                0xc00190c0                __roundAndPackFloat64
- *fill*         0xc00191aa        0x6 
- .text          0xc00191b0       0x6d /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_div.o)
-                0xc00191b0                __estimateDiv64To32
- *fill*         0xc001921d        0x3 
- .literal       0xc0019220        0x0 objs/hikey/cpu_c.o
- *fill*         0xc0019220        0x0 
- .literal       0xc0019220        0x0 objs/hikey/dsp_debug.o
- *fill*         0xc0019220        0x0 
- *fill*         0xc0019220        0x0 
- .literal       0xc0019220        0x0 objs/hikey/dsp_comm.o
- *fill*         0xc0019220        0x0 
- .text          0xc0019220       0xda objs/hikey/dsp_comm.o
-                0xc0019220                dsp_memcpy
-                0xc00192a0                dsp_memset
-                0xc00192d4                division
- *fill*         0xc00192fa        0x2 
- .literal       0xc00192fc        0x0 objs/hikey/mutex.o
- *fill*         0xc00192fc        0x0 
- .literal       0xc00192fc        0x0 objs/hikey/rbtree.o
- *fill*         0xc00192fc        0x0 
- .literal       0xc00192fc        0x0 objs/hikey/xf-core.o
- .literal       0xc00192fc        0x0 objs/hikey/xf-io.o
- *fill*         0xc00192fc        0x0 
- *fill*         0xc00192fc        0x0 
- .literal       0xc00192fc        0x0 objs/hikey/xf-mem.o
- *fill*         0xc00192fc        0x0 
- .literal       0xc00192fc        0x0 objs/hikey/xf-msg.o
- *fill*         0xc00192fc        0x0 
- .literal       0xc00192fc        0x0 objs/hikey/xf-sched.o
- *fill*         0xc00192fc        0x0 
- *fill*         0xc00192fc        0x0 
- .literal       0xc00192fc        0x0 objs/hikey/xa-factory.o
- *fill*         0xc00192fc        0x0 
- *fill*         0xc00192fc        0x0 
- .literal       0xc00192fc        0x0 objs/hikey/xf-shmem.o
- *fill*         0xc00192fc        0x0 
- *fill*         0xc00192fc        0x0 
- .literal       0xc00192fc        0x0 objs/hikey/tinyvprintf.o
- *fill*         0xc00192fc        0x0 
- .literal       0xc00192fc        0x0 objs/hikey/xf-isr.o
- .literal       0xc00192fc        0x0 objs/hikey/gdbstub.o
- .literal       0xc00192fc        0x0 objs/hikey/xa-class-base.o
- *fill*         0xc00192fc        0x0 
- *fill*         0xc00192fc        0x0 
- .literal       0xc00192fc        0x0 objs/hikey/xa-class-audio-codec.o
- *fill*         0xc00192fc        0x0 
- *fill*         0xc00192fc        0x0 
- .literal       0xc00192fc        0x0 objs/hikey/xa-class-mixer.o
- *fill*         0xc00192fc        0x0 
- *fill*         0xc00192fc        0x0 
- .literal       0xc00192fc        0x0 objs/hikey/xf-main.o
- *fill*         0xc00192fc        0x0 
- *fill*         0xc00192fc        0x0 
- .literal       0xc00192fc        0x0 objs/hikey/xa-pcm.o
- *fill*         0xc00192fc        0x0 
- .literal       0xc00192fc        0x0 objs/hikey/xa-vorbis-decoder.o
- *fill*         0xc00192fc        0x0 
- .literal       0xc00192fc        0x0 objs/hikey/xa-mixer.o
- .text          0xc00192fc        0x0 objs/hikey/reset.o
- .text          0xc00192fc        0x0 objs/hikey/int_vector.o
- .text          0xc00192fc        0x0 objs/hikey/arch_hifi330.o
- *fill*         0xc00192fc        0x0 
- *fill*         0xc00192fc        0x0 
- *fill*         0xc00192fc        0x0 
- *fill*         0xc00192fc        0x4 
- .text          0xc0019300       0x1c /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_invalidate.o)
-                0xc0019300                xthal_dcache_region_invalidate
- *fill*         0xc001931c        0x4 
- .text          0xc0019320       0x1c /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_writeback.o)
-                0xc0019320                xthal_dcache_region_writeback
- .text          0xc001933c        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--hw_configid0.o)
- .text          0xc001933c        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--hw_configid1.o)
- .text          0xc001933c        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--release_major.o)
- .text          0xc001933c        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--release_minor.o)
- .text          0xc001933c        0x8 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(int_asm--get_intenable.o)
-                0xc001933c                xthal_get_intenable
- .text          0xc0019344        0x8 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(int_asm--set_intenable.o)
-                0xc0019344                xthal_set_intenable
- .text          0xc001934c       0x2a /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(state_asm--restore_extra_nw.o)
-                0xc001934c                xthal_restore_extra_nw
- *fill*         0xc0019376        0x2 
- .text          0xc0019378       0x2a /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(state_asm--save_extra_nw.o)
-                0xc0019378                xthal_save_extra_nw
- *fill*         0xc00193a2        0x0 
- *fill*         0xc00193a2        0x0 
- *fill*         0xc00193a2        0x2 
- .text          0xc00193a4        0x8 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(interrupt-table.o)
-                0xc00193a4                _xtos_unhandled_interrupt
- *fill*         0xc00193ac        0x4 
- .text          0xc00193b0       0x45 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcmp.o)
-                0xc00193b0                memcmp
- *fill*         0xc00193f5        0x3 
- .text          0xc00193f8      0x138 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcpy.o)
-                0xc001943c                memcpy
- .text          0xc0019530       0x78 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memset.o)
-                0xc001955c                memset
- .literal       0xc00195a8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-qsort.o)
- .text          0xc00195a8      0x338 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-qsort.o)
-                0xc001962c                qsort
- .text          0xc00198e0        0x8 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divsi3.o)
-                0xc00198e0                __divsi3
- .text          0xc00198e8        0x8 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_modsi3.o)
-                0xc00198e8                __modsi3
- *fill*         0xc00198f0        0x0 
- *fill*         0xc00198f0        0x0 
- *fill*         0xc00198f0        0x0 
- *fill*         0xc00198f0        0x0 
- *fill*         0xc00198f0        0x0 
- .text          0xc00198f0       0x3e /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_floatsidf.o)
-                0xc00198f0                __floatunsidf
-                0xc00198fc                __floatsidf
- *fill*         0xc001992e        0x2 
- .text          0xc0019930       0x84 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_floatdidf.o)
-                0xc0019930                __floatundidf
-                0xc0019940                __floatdidf
- *fill*         0xc00199b4        0x4 
- .text          0xc00199b8      0x271 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divdi3.o)
-                0xc00199b8                __divdi3
- *fill*         0xc0019c29        0x7 
- .text          0xc0019c30      0x24c /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_udivdi3.o)
-                0xc0019c30                __udivdi3
- *fill*         0xc0019e7c        0x4 
- .text          0xc0019e80      0x26c /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_umoddi3.o)
-                0xc0019e80                __umoddi3
- *fill*         0xc001a0ec        0x0 
- *fill*         0xc001a0ec        0x0 
- *fill*         0xc001a0ec        0x0 
- *fill*         0xc001a0ec        0x0 
- *fill*         0xc001a0ec        0x0 
- *(.fini.literal)
- *(.fini)
- *(.gnu.version)
-                0xc001a0ec                _text_end = ABSOLUTE (.)
-                0xc001a0ec                _etext = .
-
-.sram.data      0xc001a0ec        0x0
-                0xc001a0ec                _sram_data_start = ABSOLUTE (.)
- *(.sram.data)
-                0xc001a0ec                _sram_data_end = ABSOLUTE (.)
-
-.data           0xc001a0f0      0x208
-                0xc001a0f0                _data_start = ABSOLUTE (.)
- *(.data)
- .data          0xc001a0f0        0x0 objs/hikey/cpu_c.o
- .data          0xc001a0f0        0x0 objs/hikey/dsp_debug.o
- .data          0xc001a0f0        0x0 objs/hikey/dsp_comm.o
- .data          0xc001a0f0        0x0 objs/hikey/mutex.o
- .data          0xc001a0f0        0x0 objs/hikey/rbtree.o
- .data          0xc001a0f0        0x0 objs/hikey/xf-core.o
- .data          0xc001a0f0        0x0 objs/hikey/xf-io.o
- .data          0xc001a0f0        0x0 objs/hikey/xf-mem.o
- .data          0xc001a0f0        0x0 objs/hikey/xf-msg.o
- .data          0xc001a0f0        0x0 objs/hikey/xf-sched.o
- .data          0xc001a0f0        0x0 objs/hikey/xa-factory.o
- .data          0xc001a0f0        0x0 objs/hikey/xf-shmem.o
- .data          0xc001a0f0        0x0 objs/hikey/tinyvprintf.o
- .data          0xc001a0f0        0x0 objs/hikey/xf-isr.o
- .data          0xc001a0f0        0x0 objs/hikey/gdbstub.o
- .data          0xc001a0f0        0x0 objs/hikey/xa-class-base.o
- .data          0xc001a0f0        0x0 objs/hikey/xa-class-audio-codec.o
- .data          0xc001a0f0        0x0 objs/hikey/xa-class-mixer.o
- .data          0xc001a0f0        0x0 objs/hikey/xf-main.o
- .data          0xc001a0f0        0x0 objs/hikey/xa-pcm.o
- .data          0xc001a0f0        0x0 objs/hikey/xa-vorbis-decoder.o
- .data          0xc001a0f0        0x0 objs/hikey/xa-mixer.o
- .data          0xc001a0f0        0x0 objs/hikey/reset.o
- .data          0xc001a0f0        0x0 objs/hikey/int_vector.o
- .data          0xc001a0f0        0x0 objs/hikey/arch_hifi330.o
- .data          0xc001a0f0        0x0 objs/hikey/gdbstub-entry.o
- .data          0xc001a0f0        0x0 ../plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a(xa_vorbis_dec.o)
- .data          0xc001a0f0        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(windowspill_asm.o)
- .data          0xc001a0f0        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_invalidate.o)
- .data          0xc001a0f0        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_writeback.o)
- .data          0xc001a0f0        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--hw_configid0.o)
- .data          0xc001a0f0        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--hw_configid1.o)
- .data          0xc001a0f0        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--release_major.o)
- .data          0xc001a0f0        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--release_minor.o)
- .data          0xc001a0f0        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(int_asm--get_intenable.o)
- .data          0xc001a0f0        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(int_asm--set_intenable.o)
- .data          0xc001a0f0        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(state_asm--restore_extra_nw.o)
- .data          0xc001a0f0        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(state_asm--save_extra_nw.o)
- .data          0xc001a0f0        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-on.o)
- .data          0xc001a0f0        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-off.o)
- .data          0xc001a0f0      0x208 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(interrupt-table.o)
-                0xc001a0f0                _xtos_enabled
-                0xc001a0f0                _xtos_intstruct
-                0xc001a0f4                _xtos_vpri_enabled
-                0xc001a0f8                _xtos_interrupt_table
-                0xc001a1f8                _xtos_interrupt_mask_table
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memchr.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcmp.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcpy.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memset.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-qsort.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-strncmp.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divsi3.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_modsi3.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_addsubdf3.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_muldf3.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_cmpdf2.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfsi.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfdi.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_floatsidf.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_floatdidf.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divdi3.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_udivdi3.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_umoddi3.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memcpy.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memset.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_div_df.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_df.o)
- .data          0xc001a2f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_div.o)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- *(.gnu.linkonce.d.*personality*)
- *(.data1)
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- *(.sdata2)
- *(.sdata2.*)
- *(.gnu.linkonce.s2.*)
- *(.jcr)
-                0xc001a2f8                _data_end = ABSOLUTE (.)
-
-.sram.uninit    0xc001a2f8        0x0
-                0xc001a2f8                _sram_uninit_start = ABSOLUTE (.)
- *(.sram.uninit)
-                0xc001a2f8                _sram_uninit_end = ABSOLUTE (.)
-
-.bss            0xc001a300   0x101328
-                0xc001a300                . = ALIGN (0x8)
-                0xc001a300                _bss_start = ABSOLUTE (.)
- *(.dynsbss)
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- *(.sbss2)
- *(.sbss2.*)
- *(.gnu.linkonce.sb2.*)
- *(.dynbss)
- *(.bss)
- .bss           0xc001a300       0xb0 objs/hikey/cpu_c.o
-                0xc001a300                g_ucVosIntNesting
-                0xc001a301                g_ucVosPrioCur
-                0xc001a302                g_ucVosPrioHighRdy
-                0xc001a304                g_bVosRunning
-                0xc001a308                g_pstVosTCBHighRdy
-                0xc001a30c                g_pstVosTCBCur
-                0xc001a310                g_pfVosHookFuncTable
-                0xc001a330                g_pfVosIntrFuncTable
- .bss           0xc001a3b0        0x4 objs/hikey/dsp_debug.o
- .bss           0xc001a3b4        0x0 objs/hikey/dsp_comm.o
- .bss           0xc001a3b4        0x0 objs/hikey/mutex.o
- .bss           0xc001a3b4        0x0 objs/hikey/rbtree.o
- .bss           0xc001a3b4        0x0 objs/hikey/xf-core.o
- .bss           0xc001a3b4        0x0 objs/hikey/xf-io.o
- .bss           0xc001a3b4        0x0 objs/hikey/xf-mem.o
- .bss           0xc001a3b4        0x0 objs/hikey/xf-msg.o
- .bss           0xc001a3b4        0x0 objs/hikey/xf-sched.o
- .bss           0xc001a3b4        0x0 objs/hikey/xa-factory.o
- .bss           0xc001a3b4        0x0 objs/hikey/xf-shmem.o
- .bss           0xc001a3b4        0x0 objs/hikey/tinyvprintf.o
- .bss           0xc001a3b4        0x0 objs/hikey/xf-isr.o
- *fill*         0xc001a3b4        0xc 
- .bss           0xc001a3c0      0xb70 objs/hikey/gdbstub.o
-                0xc001a3c0                mem_err
-                0xc001a530                sregs
-                0xc001aa30                aregs
-                0xc001ab30                stack
- .bss           0xc001af30        0x0 objs/hikey/xa-class-base.o
- .bss           0xc001af30        0x0 objs/hikey/xa-class-audio-codec.o
- .bss           0xc001af30        0x0 objs/hikey/xa-class-mixer.o
- *fill*         0xc001af30       0x50 
- .bss           0xc001af80   0x1006a8 objs/hikey/xf-main.o
-                0xc001af80                xf_dsp_local_buffer
-                0xc011b2c0                waitstate
-                0xc011b2c8                prof
-                0xc011b318                xf_ap_shmem_pool
-                0xc011b340                xf_core_data
-                0xc011b500                xf_core_rw_data
-                0xc011b580                xf_core_ro_data
-                0xc011b600                xf_dsp_local_pool
- .bss           0xc011b628        0x0 objs/hikey/xa-pcm.o
- .bss           0xc011b628        0x0 objs/hikey/xa-vorbis-decoder.o
- .bss           0xc011b628        0x0 objs/hikey/xa-mixer.o
- .bss           0xc011b628        0x0 objs/hikey/reset.o
- .bss           0xc011b628        0x0 objs/hikey/int_vector.o
- .bss           0xc011b628        0x0 objs/hikey/arch_hifi330.o
- .bss           0xc011b628        0x0 objs/hikey/gdbstub-entry.o
- .bss           0xc011b628        0x0 ../plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a(xa_vorbis_dec.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(windowspill_asm.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_invalidate.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_writeback.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--hw_configid0.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--hw_configid1.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--release_major.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--release_minor.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(int_asm--get_intenable.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(int_asm--set_intenable.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(state_asm--restore_extra_nw.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(state_asm--save_extra_nw.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-on.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-off.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(interrupt-table.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memchr.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcmp.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcpy.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memset.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-qsort.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-strncmp.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divsi3.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_modsi3.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_addsubdf3.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_muldf3.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_cmpdf2.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfsi.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfdi.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_floatsidf.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_floatdidf.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divdi3.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_udivdi3.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_umoddi3.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memcpy.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memset.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_div_df.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_df.o)
- .bss           0xc011b628        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_div.o)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- *(.sram.pool.bss)
- *(.sram.bss)
-                0xc011b628                . = ALIGN (0x8)
-                0xc011b628                _bss_end = ABSOLUTE (.)
-                0xc011b628                _memmap_seg_sram0_end = ALIGN (0x8)
-
-.debug
- *(.debug)
-
-.line
- *(.line)
-
-.debug_srcinfo
- *(.debug_srcinfo)
-
-.debug_sfnames
- *(.debug_sfnames)
-
-.debug_aranges  0x00000000      0x7b0
- *(.debug_aranges)
- .debug_aranges
-                0x00000000       0x20 objs/hikey/cpu_c.o
- .debug_aranges
-                0x00000020       0x20 objs/hikey/dsp_debug.o
- .debug_aranges
-                0x00000040       0x20 objs/hikey/dsp_comm.o
- .debug_aranges
-                0x00000060       0x20 objs/hikey/mutex.o
- .debug_aranges
-                0x00000080       0x20 objs/hikey/rbtree.o
- .debug_aranges
-                0x000000a0       0x20 objs/hikey/xf-core.o
- .debug_aranges
-                0x000000c0       0x20 objs/hikey/xf-io.o
- .debug_aranges
-                0x000000e0       0x20 objs/hikey/xf-mem.o
- .debug_aranges
-                0x00000100       0x20 objs/hikey/xf-msg.o
- .debug_aranges
-                0x00000120       0x20 objs/hikey/xf-sched.o
- .debug_aranges
-                0x00000140       0x20 objs/hikey/xa-factory.o
- .debug_aranges
-                0x00000160       0x20 objs/hikey/xf-shmem.o
- .debug_aranges
-                0x00000180       0x20 objs/hikey/tinyvprintf.o
- .debug_aranges
-                0x000001a0       0x20 objs/hikey/xf-isr.o
- .debug_aranges
-                0x000001c0       0x20 objs/hikey/gdbstub.o
- .debug_aranges
-                0x000001e0       0x20 objs/hikey/xa-class-base.o
- .debug_aranges
-                0x00000200       0x20 objs/hikey/xa-class-audio-codec.o
- .debug_aranges
-                0x00000220       0x20 objs/hikey/xa-class-mixer.o
- .debug_aranges
-                0x00000240       0x20 objs/hikey/xf-main.o
- .debug_aranges
-                0x00000260       0x20 objs/hikey/xa-pcm.o
- .debug_aranges
-                0x00000280       0x20 objs/hikey/xa-vorbis-decoder.o
- .debug_aranges
-                0x000002a0       0x20 objs/hikey/xa-mixer.o
- .debug_aranges
-                0x000002c0       0x28 objs/hikey/reset.o
- .debug_aranges
-                0x000002e8       0x60 objs/hikey/int_vector.o
- .debug_aranges
-                0x00000348       0x20 objs/hikey/arch_hifi330.o
- .debug_aranges
-                0x00000368       0x28 objs/hikey/gdbstub-entry.o
- .debug_aranges
-                0x00000390       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(windowspill_asm.o)
- .debug_aranges
-                0x000003b0       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_invalidate.o)
- .debug_aranges
-                0x000003d0       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_writeback.o)
- .debug_aranges
-                0x000003f0       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(int_asm--get_intenable.o)
- .debug_aranges
-                0x00000410       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(int_asm--set_intenable.o)
- .debug_aranges
-                0x00000430       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(state_asm--restore_extra_nw.o)
- .debug_aranges
-                0x00000450       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(state_asm--save_extra_nw.o)
- .debug_aranges
-                0x00000470       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-on.o)
- .debug_aranges
-                0x00000490       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-off.o)
- .debug_aranges
-                0x000004b0       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(interrupt-table.o)
- .debug_aranges
-                0x000004d0       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memchr.o)
- .debug_aranges
-                0x000004f0       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcmp.o)
- .debug_aranges
-                0x00000510       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcpy.o)
- .debug_aranges
-                0x00000530       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memset.o)
- .debug_aranges
-                0x00000550       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-qsort.o)
- .debug_aranges
-                0x00000570       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-strncmp.o)
- .debug_aranges
-                0x00000590       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divsi3.o)
- .debug_aranges
-                0x000005b0       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_modsi3.o)
- .debug_aranges
-                0x000005d0       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_addsubdf3.o)
- .debug_aranges
-                0x000005f0       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_muldf3.o)
- .debug_aranges
-                0x00000610       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_cmpdf2.o)
- .debug_aranges
-                0x00000630       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfsi.o)
- .debug_aranges
-                0x00000650       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfdi.o)
- .debug_aranges
-                0x00000670       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_floatsidf.o)
- .debug_aranges
-                0x00000690       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_floatdidf.o)
- .debug_aranges
-                0x000006b0       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divdi3.o)
- .debug_aranges
-                0x000006d0       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_udivdi3.o)
- .debug_aranges
-                0x000006f0       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_umoddi3.o)
- .debug_aranges
-                0x00000710       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memcpy.o)
- .debug_aranges
-                0x00000730       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memset.o)
- .debug_aranges
-                0x00000750       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_div_df.o)
- .debug_aranges
-                0x00000770       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_df.o)
- .debug_aranges
-                0x00000790       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_div.o)
-
-.debug_pubnames
-                0x00000000      0xb7d
- *(.debug_pubnames)
- .debug_pubnames
-                0x00000000      0x16f objs/hikey/cpu_c.o
- .debug_pubnames
-                0x0000016f       0x41 objs/hikey/dsp_debug.o
- .debug_pubnames
-                0x000001b0       0x3d objs/hikey/dsp_comm.o
- .debug_pubnames
-                0x000001ed       0x7a objs/hikey/rbtree.o
- .debug_pubnames
-                0x00000267       0x70 objs/hikey/xf-core.o
- .debug_pubnames
-                0x000002d7      0x21d objs/hikey/xf-io.o
- .debug_pubnames
-                0x000004f4       0x40 objs/hikey/xf-mem.o
- .debug_pubnames
-                0x00000534       0x67 objs/hikey/xf-msg.o
- .debug_pubnames
-                0x0000059b       0x5a objs/hikey/xf-sched.o
- .debug_pubnames
-                0x000005f5       0x2b objs/hikey/xa-factory.o
- .debug_pubnames
-                0x00000620       0x5a objs/hikey/xf-shmem.o
- .debug_pubnames
-                0x0000067a       0x35 objs/hikey/tinyvprintf.o
- .debug_pubnames
-                0x000006af       0x42 objs/hikey/xf-isr.o
- .debug_pubnames
-                0x000006f1       0xa6 objs/hikey/gdbstub.o
- .debug_pubnames
-                0x00000797       0xc2 objs/hikey/xa-class-base.o
- .debug_pubnames
-                0x00000859       0x2d objs/hikey/xa-class-audio-codec.o
- .debug_pubnames
-                0x00000886       0x27 objs/hikey/xa-class-mixer.o
- .debug_pubnames
-                0x000008ad       0xbe objs/hikey/xf-main.o
- .debug_pubnames
-                0x0000096b       0x23 objs/hikey/xa-pcm.o
- .debug_pubnames
-                0x0000098e       0x28 objs/hikey/xa-vorbis-decoder.o
- .debug_pubnames
-                0x000009b6       0x1f objs/hikey/xa-mixer.o
- .debug_pubnames
-                0x000009d5       0x1d /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memchr.o)
- .debug_pubnames
-                0x000009f2       0x1d /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcmp.o)
- .debug_pubnames
-                0x00000a0f       0x1c /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-qsort.o)
- .debug_pubnames
-                0x00000a2b       0x1e /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-strncmp.o)
- .debug_pubnames
-                0x00000a49       0x1f /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divdi3.o)
- .debug_pubnames
-                0x00000a68       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_udivdi3.o)
- .debug_pubnames
-                0x00000a88       0x20 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_umoddi3.o)
- .debug_pubnames
-                0x00000aa8       0x23 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memcpy.o)
- .debug_pubnames
-                0x00000acb       0x23 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memset.o)
- .debug_pubnames
-                0x00000aee       0x1f /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_div_df.o)
- .debug_pubnames
-                0x00000b0d       0x46 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_df.o)
- .debug_pubnames
-                0x00000b53       0x2a /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_div.o)
-
-.debug_info     0x00000000    0x18e3c
- *(.debug_info)
- .debug_info    0x00000000      0x516 objs/hikey/cpu_c.o
- .debug_info    0x00000516      0x3c2 objs/hikey/dsp_debug.o
- .debug_info    0x000008d8      0x208 objs/hikey/dsp_comm.o
- .debug_info    0x00000ae0      0xbd5 objs/hikey/mutex.o
- .debug_info    0x000016b5      0xf10 objs/hikey/rbtree.o
- .debug_info    0x000025c5     0x16ac objs/hikey/xf-core.o
- .debug_info    0x00003c71     0x1826 objs/hikey/xf-io.o
- .debug_info    0x00005497      0xef6 objs/hikey/xf-mem.o
- .debug_info    0x0000638d      0xdc1 objs/hikey/xf-msg.o
- .debug_info    0x0000714e      0xdf5 objs/hikey/xf-sched.o
- .debug_info    0x00007f43      0xdfd objs/hikey/xa-factory.o
- .debug_info    0x00008d40     0x1353 objs/hikey/xf-shmem.o
- .debug_info    0x0000a093      0x2d0 objs/hikey/tinyvprintf.o
- .debug_info    0x0000a363      0xc73 objs/hikey/xf-isr.o
- .debug_info    0x0000afd6      0xa47 objs/hikey/gdbstub.o
- .debug_info    0x0000ba1d     0x1c9b objs/hikey/xa-class-base.o
- .debug_info    0x0000d6b8     0x1fe2 objs/hikey/xa-class-audio-codec.o
- .debug_info    0x0000f69a     0x21c9 objs/hikey/xa-class-mixer.o
- .debug_info    0x00011863     0x1203 objs/hikey/xf-main.o
- .debug_info    0x00012a66     0x1841 objs/hikey/xa-pcm.o
- .debug_info    0x000142a7      0x1f6 objs/hikey/xa-vorbis-decoder.o
- .debug_info    0x0001449d     0x12e9 objs/hikey/xa-mixer.o
- .debug_info    0x00015786       0x95 objs/hikey/reset.o
- .debug_info    0x0001581b       0x9a objs/hikey/int_vector.o
- .debug_info    0x000158b5       0xa0 objs/hikey/arch_hifi330.o
- .debug_info    0x00015955       0x9c objs/hikey/gdbstub-entry.o
- .debug_info    0x000159f1       0xdf /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(windowspill_asm.o)
- .debug_info    0x00015ad0       0xd9 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_invalidate.o)
- .debug_info    0x00015ba9       0xd9 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_writeback.o)
- .debug_info    0x00015c82       0xd7 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(int_asm--get_intenable.o)
- .debug_info    0x00015d59       0xd7 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(int_asm--set_intenable.o)
- .debug_info    0x00015e30       0xd9 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(state_asm--restore_extra_nw.o)
- .debug_info    0x00015f09       0xd9 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(state_asm--save_extra_nw.o)
- .debug_info    0x00015fe2       0xd9 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-on.o)
- .debug_info    0x000160bb       0xda /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-off.o)
- .debug_info    0x00016195       0xe1 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(interrupt-table.o)
- .debug_info    0x00016276      0x22e /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memchr.o)
- .debug_info    0x000164a4      0x20a /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcmp.o)
- .debug_info    0x000166ae      0x11c /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcpy.o)
- .debug_info    0x000167ca      0x11c /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memset.o)
- .debug_info    0x000168e6      0x399 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-qsort.o)
- .debug_info    0x00016c7f      0x204 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-strncmp.o)
- .debug_info    0x00016e83       0xf7 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divsi3.o)
- .debug_info    0x00016f7a       0xf7 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_modsi3.o)
- .debug_info    0x00017071       0xf6 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_addsubdf3.o)
- .debug_info    0x00017167       0xf6 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_muldf3.o)
- .debug_info    0x0001725d       0xf6 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_cmpdf2.o)
- .debug_info    0x00017353       0xf6 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfsi.o)
- .debug_info    0x00017449       0xf6 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfdi.o)
- .debug_info    0x0001753f       0xf6 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_floatsidf.o)
- .debug_info    0x00017635       0xf6 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_floatdidf.o)
- .debug_info    0x0001772b      0x2b1 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divdi3.o)
- .debug_info    0x000179dc      0x26e /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_udivdi3.o)
- .debug_info    0x00017c4a      0x278 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_umoddi3.o)
- .debug_info    0x00017ec2      0x2c3 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memcpy.o)
- .debug_info    0x00018185      0x28b /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memset.o)
- .debug_info    0x00018410      0x3a7 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_div_df.o)
- .debug_info    0x000187b7      0x3ae /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_df.o)
- .debug_info    0x00018b65      0x2d7 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_div.o)
-
-.debug_abbrev   0x00000000     0x2ee0
- *(.debug_abbrev)
- .debug_abbrev  0x00000000       0xcd objs/hikey/cpu_c.o
- .debug_abbrev  0x000000cd      0x156 objs/hikey/dsp_debug.o
- .debug_abbrev  0x00000223       0xa2 objs/hikey/dsp_comm.o
- .debug_abbrev  0x000002c5      0x140 objs/hikey/mutex.o
- .debug_abbrev  0x00000405      0x201 objs/hikey/rbtree.o
- .debug_abbrev  0x00000606      0x28c objs/hikey/xf-core.o
- .debug_abbrev  0x00000892      0x255 objs/hikey/xf-io.o
- .debug_abbrev  0x00000ae7      0x1ff objs/hikey/xf-mem.o
- .debug_abbrev  0x00000ce6      0x1d3 objs/hikey/xf-msg.o
- .debug_abbrev  0x00000eb9      0x1b2 objs/hikey/xf-sched.o
- .debug_abbrev  0x0000106b      0x17d objs/hikey/xa-factory.o
- .debug_abbrev  0x000011e8      0x1f8 objs/hikey/xf-shmem.o
- .debug_abbrev  0x000013e0       0xf6 objs/hikey/tinyvprintf.o
- .debug_abbrev  0x000014d6      0x184 objs/hikey/xf-isr.o
- .debug_abbrev  0x0000165a      0x282 objs/hikey/gdbstub.o
- .debug_abbrev  0x000018dc      0x269 objs/hikey/xa-class-base.o
- .debug_abbrev  0x00001b45      0x20b objs/hikey/xa-class-audio-codec.o
- .debug_abbrev  0x00001d50      0x20b objs/hikey/xa-class-mixer.o
- .debug_abbrev  0x00001f5b      0x1b3 objs/hikey/xf-main.o
- .debug_abbrev  0x0000210e      0x1aa objs/hikey/xa-pcm.o
- .debug_abbrev  0x000022b8       0xa4 objs/hikey/xa-vorbis-decoder.o
- .debug_abbrev  0x0000235c      0x1cc objs/hikey/xa-mixer.o
- .debug_abbrev  0x00002528       0x12 objs/hikey/reset.o
- .debug_abbrev  0x0000253a       0x12 objs/hikey/int_vector.o
- .debug_abbrev  0x0000254c       0x14 objs/hikey/arch_hifi330.o
- .debug_abbrev  0x00002560       0x12 objs/hikey/gdbstub-entry.o
- .debug_abbrev  0x00002572       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(windowspill_asm.o)
- .debug_abbrev  0x00002586       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_invalidate.o)
- .debug_abbrev  0x0000259a       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_writeback.o)
- .debug_abbrev  0x000025ae       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(int_asm--get_intenable.o)
- .debug_abbrev  0x000025c2       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(int_asm--set_intenable.o)
- .debug_abbrev  0x000025d6       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(state_asm--restore_extra_nw.o)
- .debug_abbrev  0x000025ea       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(state_asm--save_extra_nw.o)
- .debug_abbrev  0x000025fe       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-on.o)
- .debug_abbrev  0x00002612       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-off.o)
- .debug_abbrev  0x00002626       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(interrupt-table.o)
- .debug_abbrev  0x0000263a       0x8e /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memchr.o)
- .debug_abbrev  0x000026c8       0x85 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcmp.o)
- .debug_abbrev  0x0000274d       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcpy.o)
- .debug_abbrev  0x00002761       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memset.o)
- .debug_abbrev  0x00002775       0xcf /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-qsort.o)
- .debug_abbrev  0x00002844       0x80 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-strncmp.o)
- .debug_abbrev  0x000028c4       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divsi3.o)
- .debug_abbrev  0x000028d8       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_modsi3.o)
- .debug_abbrev  0x000028ec       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_addsubdf3.o)
- .debug_abbrev  0x00002900       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_muldf3.o)
- .debug_abbrev  0x00002914       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_cmpdf2.o)
- .debug_abbrev  0x00002928       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfsi.o)
- .debug_abbrev  0x0000293c       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfdi.o)
- .debug_abbrev  0x00002950       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_floatsidf.o)
- .debug_abbrev  0x00002964       0x14 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_floatdidf.o)
- .debug_abbrev  0x00002978       0xbd /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divdi3.o)
- .debug_abbrev  0x00002a35       0xa1 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_udivdi3.o)
- .debug_abbrev  0x00002ad6       0xae /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_umoddi3.o)
- .debug_abbrev  0x00002b84       0xa3 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memcpy.o)
- .debug_abbrev  0x00002c27       0x82 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memset.o)
- .debug_abbrev  0x00002ca9       0xbb /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_div_df.o)
- .debug_abbrev  0x00002d64       0xd0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_df.o)
- .debug_abbrev  0x00002e34       0xac /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_div.o)
-
-.debug_line     0x00000000     0xd0d8
- *(.debug_line)
- .debug_line    0x00000000      0x14b objs/hikey/cpu_c.o
- .debug_line    0x0000014b      0x433 objs/hikey/dsp_debug.o
- .debug_line    0x0000057e      0x105 objs/hikey/dsp_comm.o
- .debug_line    0x00000683      0x1fc objs/hikey/mutex.o
- .debug_line    0x0000087f      0x8f3 objs/hikey/rbtree.o
- .debug_line    0x00001172      0x8a9 objs/hikey/xf-core.o
- .debug_line    0x00001a1b      0xb08 objs/hikey/xf-io.o
- .debug_line    0x00002523      0x4c3 objs/hikey/xf-mem.o
- .debug_line    0x000029e6      0x2cf objs/hikey/xf-msg.o
- .debug_line    0x00002cb5      0x32f objs/hikey/xf-sched.o
- .debug_line    0x00002fe4      0x233 objs/hikey/xa-factory.o
- .debug_line    0x00003217      0x70b objs/hikey/xf-shmem.o
- .debug_line    0x00003922      0x268 objs/hikey/tinyvprintf.o
- .debug_line    0x00003b8a      0x33e objs/hikey/xf-isr.o
- .debug_line    0x00003ec8      0x9d7 objs/hikey/gdbstub.o
- .debug_line    0x0000489f      0x92f objs/hikey/xa-class-base.o
- .debug_line    0x000051ce      0xb85 objs/hikey/xa-class-audio-codec.o
- .debug_line    0x00005d53      0xcd5 objs/hikey/xa-class-mixer.o
- .debug_line    0x00006a28      0x2e7 objs/hikey/xf-main.o
- .debug_line    0x00006d0f      0xbd0 objs/hikey/xa-pcm.o
- .debug_line    0x000078df      0x145 objs/hikey/xa-vorbis-decoder.o
- .debug_line    0x00007a24      0x94f objs/hikey/xa-mixer.o
- .debug_line    0x00008373      0x36b objs/hikey/reset.o
- .debug_line    0x000086de      0x7f7 objs/hikey/int_vector.o
- .debug_line    0x00008ed5      0x463 objs/hikey/arch_hifi330.o
- .debug_line    0x00009338      0x293 objs/hikey/gdbstub-entry.o
- .debug_line    0x000095cb      0x337 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(windowspill_asm.o)
- .debug_line    0x00009902       0x91 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_invalidate.o)
- .debug_line    0x00009993       0x91 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_writeback.o)
- .debug_line    0x00009a24       0x8e /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(int_asm--get_intenable.o)
- .debug_line    0x00009ab2       0x8f /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(int_asm--set_intenable.o)
- .debug_line    0x00009b41       0x8a /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(state_asm--restore_extra_nw.o)
- .debug_line    0x00009bcb       0x8a /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(state_asm--save_extra_nw.o)
- .debug_line    0x00009c55       0xc5 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-on.o)
- .debug_line    0x00009d1a       0xcc /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-off.o)
- .debug_line    0x00009de6       0x98 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(interrupt-table.o)
- .debug_line    0x00009e7e      0x10f /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memchr.o)
- .debug_line    0x00009f8d       0xf6 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcmp.o)
- .debug_line    0x0000a083      0x363 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcpy.o)
- .debug_line    0x0000a3e6      0x19a /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memset.o)
- .debug_line    0x0000a580      0x25a /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-qsort.o)
- .debug_line    0x0000a7da      0x110 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-strncmp.o)
- .debug_line    0x0000a8ea       0xa9 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divsi3.o)
- .debug_line    0x0000a993       0xa8 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_modsi3.o)
- .debug_line    0x0000aa3b      0x6d1 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_addsubdf3.o)
- .debug_line    0x0000b10c      0x4c4 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_muldf3.o)
- .debug_line    0x0000b5d0      0x3bf /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_cmpdf2.o)
- .debug_line    0x0000b98f      0x167 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfsi.o)
- .debug_line    0x0000baf6      0x191 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfdi.o)
- .debug_line    0x0000bc87      0x119 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_floatsidf.o)
- .debug_line    0x0000bda0      0x1af /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_floatdidf.o)
- .debug_line    0x0000bf4f      0x1e3 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divdi3.o)
- .debug_line    0x0000c132      0x1c4 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_udivdi3.o)
- .debug_line    0x0000c2f6      0x220 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_umoddi3.o)
- .debug_line    0x0000c516      0x13d /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memcpy.o)
- .debug_line    0x0000c653      0x137 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memset.o)
- .debug_line    0x0000c78a      0x46e /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_div_df.o)
- .debug_line    0x0000cbf8      0x36e /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_df.o)
- .debug_line    0x0000cf66      0x172 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_div.o)
-
-.debug_frame
- *(.debug_frame)
-
-.debug_str
- *(.debug_str)
-
-.debug_loc
- *(.debug_loc)
-
-.debug_macinfo
- *(.debug_macinfo)
-
-.debug_weaknames
- *(.debug_weaknames)
-
-.debug_funcnames
- *(.debug_funcnames)
-
-.debug_typenames
- *(.debug_typenames)
-
-.debug_varnames
- *(.debug_varnames)
-
-.xt.insn
- *(.xt.insn)
- *(.gnu.linkonce.x.*)
-
-.xt.prop        0x00000000     0xe8ec
- *(.xt.prop)
- .xt.prop       0x00000000      0x15c objs/hikey/cpu_c.o
-                                0x1ec (size before relaxing)
- .xt.prop       0x0000015c      0x570 objs/hikey/dsp_debug.o
-                                0x594 (size before relaxing)
- .xt.prop       0x000006cc       0x84 objs/hikey/dsp_comm.o
- .xt.prop       0x00000750       0x3c objs/hikey/mutex.o
-                                 0x48 (size before relaxing)
- .xt.prop       0x0000078c      0x6e4 objs/hikey/rbtree.o
-                                0x6f0 (size before relaxing)
- .xt.prop       0x00000e70      0x624 objs/hikey/xf-core.o
-                                0x6e4 (size before relaxing)
- .xt.prop       0x00001494      0x7b0 objs/hikey/xf-io.o
-                                0x894 (size before relaxing)
- .xt.prop       0x00001c44      0x354 objs/hikey/xf-mem.o
-                                0x390 (size before relaxing)
- .xt.prop       0x00001f98      0x12c objs/hikey/xf-msg.o
-                                0x15c (size before relaxing)
- .xt.prop       0x000020c4      0x150 objs/hikey/xf-sched.o
-                                0x18c (size before relaxing)
- .xt.prop       0x00002214       0x9c objs/hikey/xa-factory.o
-                                 0xb4 (size before relaxing)
- .xt.prop       0x000022b0      0x36c objs/hikey/xf-shmem.o
-                                0x3a8 (size before relaxing)
- .xt.prop       0x0000261c      0x498 objs/hikey/tinyvprintf.o
-                                0x4a4 (size before relaxing)
- .xt.prop       0x00002ab4       0xe4 objs/hikey/xf-isr.o
-                                0x108 (size before relaxing)
- .xt.prop       0x00002b98      0x9c0 objs/hikey/gdbstub.o
-                                0xa8c (size before relaxing)
- .xt.prop       0x00003558      0xa80 objs/hikey/xa-class-base.o
-                                0xb28 (size before relaxing)
- .xt.prop       0x00003fd8      0xbb8 objs/hikey/xa-class-audio-codec.o
-                                0xc84 (size before relaxing)
- .xt.prop       0x00004b90      0xcf0 objs/hikey/xa-class-mixer.o
-                                0xdd4 (size before relaxing)
- .xt.prop       0x00005880       0xe4 objs/hikey/xf-main.o
-                                0x18c (size before relaxing)
- .xt.prop       0x00005964      0xdec objs/hikey/xa-pcm.o
-                                0xef4 (size before relaxing)
- .xt.prop       0x00006750       0x48 objs/hikey/xa-vorbis-decoder.o
-                                 0x60 (size before relaxing)
- .xt.prop       0x00006798      0xaa4 objs/hikey/xa-mixer.o
-                                0xb7c (size before relaxing)
- .xt.prop       0x0000723c       0x6c objs/hikey/reset.o
- .xt.prop       0x000072a8      0x300 objs/hikey/int_vector.o
-                                0x390 (size before relaxing)
- .xt.prop       0x000075a8      0x150 objs/hikey/arch_hifi330.o
-                                0x15c (size before relaxing)
- .xt.prop       0x000076f8       0xf0 objs/hikey/gdbstub-entry.o
- .xt.prop       0x000077e8     0x5154 ../plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a(xa_vorbis_dec.o)
-                               0x51d8 (size before relaxing)
- .xt.prop       0x0000c93c       0xf0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(windowspill_asm.o)
- .xt.prop       0x0000ca2c       0x24 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_invalidate.o)
- .xt.prop       0x0000ca50       0x24 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_writeback.o)
- .xt.prop       0x0000ca74       0x18 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(int_asm--get_intenable.o)
- .xt.prop       0x0000ca8c       0x18 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(int_asm--set_intenable.o)
- .xt.prop       0x0000caa4       0x18 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(state_asm--restore_extra_nw.o)
- .xt.prop       0x0000cabc       0x18 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(state_asm--save_extra_nw.o)
- .xt.prop       0x0000cad4       0x24 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-on.o)
- .xt.prop       0x0000caf8       0x18 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-off.o)
-                                 0x24 (size before relaxing)
- .xt.prop       0x0000cb10       0x24 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(interrupt-table.o)
- .xt.prop       0x0000cb34       0x90 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memchr.o)
- .xt.prop       0x0000cbc4       0x3c /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcmp.o)
- .xt.prop       0x0000cc00      0x144 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcpy.o)
- .xt.prop       0x0000cd44       0xc0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memset.o)
- .xt.prop       0x0000ce04      0x3e4 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-qsort.o)
-                                0x3f0 (size before relaxing)
- .xt.prop       0x0000d1e8       0x9c /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-strncmp.o)
-                                 0xa8 (size before relaxing)
- .xt.prop       0x0000d284       0x18 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divsi3.o)
- .xt.prop       0x0000d29c       0x18 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_modsi3.o)
- .xt.prop       0x0000d2b4      0x444 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_addsubdf3.o)
- .xt.prop       0x0000d6f8      0x264 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_muldf3.o)
- .xt.prop       0x0000d95c      0x27c /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_cmpdf2.o)
-                                0x288 (size before relaxing)
- .xt.prop       0x0000dbd8       0x90 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfsi.o)
-                                 0x9c (size before relaxing)
- .xt.prop       0x0000dc68       0xc0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfdi.o)
-                                 0xcc (size before relaxing)
- .xt.prop       0x0000dd28       0x54 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_floatsidf.o)
- .xt.prop       0x0000dd7c       0x9c /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_floatdidf.o)
- .xt.prop       0x0000de18      0x150 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divdi3.o)
- .xt.prop       0x0000df68      0x120 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_udivdi3.o)
- .xt.prop       0x0000e088      0x120 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_umoddi3.o)
- .xt.prop       0x0000e1a8       0xa8 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memcpy.o)
-                                 0xb4 (size before relaxing)
- .xt.prop       0x0000e250       0x78 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memset.o)
-                                 0x84 (size before relaxing)
- .xt.prop       0x0000e2c8      0x1ec /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_div_df.o)
- .xt.prop       0x0000e4b4      0x3a8 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_df.o)
- .xt.prop       0x0000e85c       0x90 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_div.o)
-                                 0x9c (size before relaxing)
- *(.xt.prop.*)
- *(.gnu.linkonce.prop.*)
-
-.xt.lit         0x00000000      0x518
- *(.xt.lit)
- .xt.lit        0x00000000       0x18 objs/hikey/cpu_c.o
-                                 0x40 (size before relaxing)
- .xt.lit        0x00000018       0x20 objs/hikey/dsp_debug.o
- .xt.lit        0x00000038        0x8 objs/hikey/mutex.o
- .xt.lit        0x00000040        0x8 objs/hikey/rbtree.o
- .xt.lit        0x00000048       0x60 objs/hikey/xf-core.o
-                                 0x68 (size before relaxing)
- .xt.lit        0x000000a8       0x70 objs/hikey/xf-io.o
-                                 0x98 (size before relaxing)
- .xt.lit        0x00000118       0x18 objs/hikey/xf-mem.o
-                                 0x28 (size before relaxing)
- .xt.lit        0x00000130       0x20 objs/hikey/xf-msg.o
- .xt.lit        0x00000150       0x18 objs/hikey/xf-sched.o
-                                 0x28 (size before relaxing)
- .xt.lit        0x00000168       0x10 objs/hikey/xa-factory.o
- .xt.lit        0x00000178       0x20 objs/hikey/xf-shmem.o
-                                 0x30 (size before relaxing)
- .xt.lit        0x00000198        0x8 objs/hikey/tinyvprintf.o
- .xt.lit        0x000001a0       0x18 objs/hikey/xf-isr.o
- .xt.lit        0x000001b8       0x60 objs/hikey/gdbstub.o
-                                 0x70 (size before relaxing)
- .xt.lit        0x00000218       0x58 objs/hikey/xa-class-base.o
- .xt.lit        0x00000270       0x70 objs/hikey/xa-class-audio-codec.o
-                                 0x78 (size before relaxing)
- .xt.lit        0x000002e0       0x78 objs/hikey/xa-class-mixer.o
-                                 0x80 (size before relaxing)
- .xt.lit        0x00000358       0x18 objs/hikey/xf-main.o
- .xt.lit        0x00000370       0xa8 objs/hikey/xa-pcm.o
- .xt.lit        0x00000418        0x8 objs/hikey/xa-vorbis-decoder.o
- .xt.lit        0x00000420       0x80 objs/hikey/xa-mixer.o
- .xt.lit        0x000004a0        0x8 objs/hikey/reset.o
- .xt.lit        0x000004a8       0x10 objs/hikey/int_vector.o
-                                 0x40 (size before relaxing)
- .xt.lit        0x000004b8        0x8 objs/hikey/arch_hifi330.o
- .xt.lit        0x000004c0        0x8 objs/hikey/gdbstub-entry.o
- .xt.lit        0x000004c8       0x18 ../plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a(xa_vorbis_dec.o)
-                                 0x78 (size before relaxing)
- .xt.lit        0x000004e0        0x8 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(windowspill_asm.o)
- .xt.lit        0x000004e8        0x8 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-on.o)
- .xt.lit        0x000004f0        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-off.o)
-                                  0x8 (size before relaxing)
- .xt.lit        0x000004f0        0x8 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memchr.o)
- .xt.lit        0x000004f8        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-strncmp.o)
-                                  0x8 (size before relaxing)
- .xt.lit        0x000004f8        0x8 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_addsubdf3.o)
- .xt.lit        0x00000500        0x8 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_muldf3.o)
- .xt.lit        0x00000508        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_cmpdf2.o)
-                                  0x8 (size before relaxing)
- .xt.lit        0x00000508        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfsi.o)
-                                  0x8 (size before relaxing)
- .xt.lit        0x00000508        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfdi.o)
-                                  0x8 (size before relaxing)
- .xt.lit        0x00000508        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memcpy.o)
-                                  0x8 (size before relaxing)
- .xt.lit        0x00000508        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memset.o)
-                                  0x8 (size before relaxing)
- .xt.lit        0x00000508        0x8 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_div_df.o)
- .xt.lit        0x00000510        0x8 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_df.o)
- .xt.lit        0x00000518        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_div.o)
-                                  0x8 (size before relaxing)
- *(.xt.lit.*)
- *(.gnu.linkonce.p.*)
-
-.comment        0x00000000     0x1351
- .comment       0x00000000       0x59 objs/hikey/cpu_c.o
-                                 0x5a (size before relaxing)
- .comment       0x00000059       0x5d objs/hikey/dsp_debug.o
-                                 0x5e (size before relaxing)
- .comment       0x000000b6       0x5c objs/hikey/dsp_comm.o
-                                 0x5d (size before relaxing)
- .comment       0x00000112       0x50 objs/hikey/mutex.o
-                                 0x51 (size before relaxing)
- .comment       0x00000162       0x51 objs/hikey/rbtree.o
-                                 0x52 (size before relaxing)
- .comment       0x000001b3       0x4d objs/hikey/xf-core.o
-                                 0x4e (size before relaxing)
- .comment       0x00000200       0x4b objs/hikey/xf-io.o
-                                 0x4c (size before relaxing)
- .comment       0x0000024b       0x4c objs/hikey/xf-mem.o
-                                 0x4d (size before relaxing)
- .comment       0x00000297       0x4c objs/hikey/xf-msg.o
-                                 0x4d (size before relaxing)
- .comment       0x000002e3       0x4e objs/hikey/xf-sched.o
-                                 0x4f (size before relaxing)
- .comment       0x00000331       0x4f objs/hikey/xa-factory.o
-                                 0x50 (size before relaxing)
- .comment       0x00000380       0x4e objs/hikey/xf-shmem.o
-                                 0x4f (size before relaxing)
- .comment       0x000003ce       0x56 objs/hikey/tinyvprintf.o
-                                 0x57 (size before relaxing)
- .comment       0x00000424       0x4c objs/hikey/xf-isr.o
-                                 0x4d (size before relaxing)
- .comment       0x00000470       0x5a objs/hikey/gdbstub.o
-                                 0x5b (size before relaxing)
- .comment       0x000004ca       0x54 objs/hikey/xa-class-base.o
-                                 0x55 (size before relaxing)
- .comment       0x0000051e       0x5b objs/hikey/xa-class-audio-codec.o
-                                 0x5c (size before relaxing)
- .comment       0x00000579       0x55 objs/hikey/xa-class-mixer.o
-                                 0x56 (size before relaxing)
- .comment       0x000005ce       0x55 objs/hikey/xf-main.o
-                                 0x56 (size before relaxing)
- .comment       0x00000623       0x60 objs/hikey/xa-pcm.o
-                                 0x61 (size before relaxing)
- .comment       0x00000683       0x6d objs/hikey/xa-vorbis-decoder.o
-                                 0x6e (size before relaxing)
- .comment       0x000006f0       0x5f objs/hikey/xa-mixer.o
-                                 0x60 (size before relaxing)
- .comment       0x0000074f      0x573 ../plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a(xa_vorbis_dec.o)
-                                0x584 (size before relaxing)
- .comment       0x00000cc2       0xa1 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memchr.o)
-                                 0xa2 (size before relaxing)
- .comment       0x00000d63       0xa1 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcmp.o)
-                                 0xa2 (size before relaxing)
- .comment       0x00000e04       0xa0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-qsort.o)
-                                 0xa1 (size before relaxing)
- .comment       0x00000ea4       0xa2 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-strncmp.o)
-                                 0xa3 (size before relaxing)
- .comment       0x00000f46       0xa1 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divdi3.o)
-                                 0xa2 (size before relaxing)
- .comment       0x00000000       0xa2 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_udivdi3.o)
- .comment       0x00000000       0xa2 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_umoddi3.o)
- .comment       0x00000fe7       0xa5 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memcpy.o)
-                                 0xa6 (size before relaxing)
- .comment       0x0000108c       0xa5 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memset.o)
-                                 0xa6 (size before relaxing)
- .comment       0x00001131       0xb5 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_div_df.o)
-                                 0xb6 (size before relaxing)
- .comment       0x000011e6       0xb5 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_df.o)
-                                 0xb6 (size before relaxing)
- .comment       0x0000129b       0xb6 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_div.o)
-                                 0xb7 (size before relaxing)
-
-.xtensa.info    0x00000000      0x1d8
- .xtensa.info   0x00000000      0x1d8 objs/hikey/cpu_c.o
- .xtensa.info   0x00000000        0x0 objs/hikey/dsp_debug.o
- .xtensa.info   0x00000000        0x0 objs/hikey/dsp_comm.o
- .xtensa.info   0x00000000        0x0 objs/hikey/mutex.o
- .xtensa.info   0x00000000        0x0 objs/hikey/rbtree.o
- .xtensa.info   0x00000000        0x0 objs/hikey/xf-core.o
- .xtensa.info   0x00000000        0x0 objs/hikey/xf-io.o
- .xtensa.info   0x00000000        0x0 objs/hikey/xf-mem.o
- .xtensa.info   0x00000000        0x0 objs/hikey/xf-msg.o
- .xtensa.info   0x00000000        0x0 objs/hikey/xf-sched.o
- .xtensa.info   0x00000000        0x0 objs/hikey/xa-factory.o
- .xtensa.info   0x00000000        0x0 objs/hikey/xf-shmem.o
- .xtensa.info   0x00000000        0x0 objs/hikey/tinyvprintf.o
- .xtensa.info   0x00000000        0x0 objs/hikey/xf-isr.o
- .xtensa.info   0x00000000        0x0 objs/hikey/gdbstub.o
- .xtensa.info   0x00000000        0x0 objs/hikey/xa-class-base.o
- .xtensa.info   0x00000000        0x0 objs/hikey/xa-class-audio-codec.o
- .xtensa.info   0x00000000        0x0 objs/hikey/xa-class-mixer.o
- .xtensa.info   0x00000000        0x0 objs/hikey/xf-main.o
- .xtensa.info   0x00000000        0x0 objs/hikey/xa-pcm.o
- .xtensa.info   0x00000000        0x0 objs/hikey/xa-vorbis-decoder.o
- .xtensa.info   0x00000000        0x0 objs/hikey/xa-mixer.o
- .xtensa.info   0x00000000        0x0 objs/hikey/reset.o
- .xtensa.info   0x00000000        0x0 objs/hikey/int_vector.o
- .xtensa.info   0x00000000        0x0 objs/hikey/arch_hifi330.o
- .xtensa.info   0x00000000        0x0 objs/hikey/gdbstub-entry.o
- .xtensa.info   0x00000000        0x0 ../plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a(xa_vorbis_dec.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(windowspill_asm.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_invalidate.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--dcache_region_writeback.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--hw_configid0.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--hw_configid1.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--release_major.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(cache_asm--release_minor.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(int_asm--get_intenable.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(int_asm--set_intenable.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(state_asm--restore_extra_nw.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhal.a(state_asm--save_extra_nw.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-on.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(ints-off.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/arch/lib//libhandlers-board.a(interrupt-table.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memchr.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcmp.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memcpy.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-memset.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-qsort.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib//libc.a(lib_a-strncmp.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divsi3.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_modsi3.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_addsubdf3.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_muldf3.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_cmpdf2.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfsi.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_fixunsdfdi.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_floatsidf.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_floatdidf.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_divdi3.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_udivdi3.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(_umoddi3.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memcpy.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(vec_memset.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_div_df.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_df.o)
- .xtensa.info   0x00000000        0x0 /scratch/speacial_projects/sof-sdk/xtensa_tools/tools/XtDevTools/install/builds/RG-2017.5-linux/hifi3_hikey960/xtensa-elf/lib/xcc//libgcc.a(softfloat_cmn_div.o)
-
-.debug.xt.callgraph
- *(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*)
-OUTPUT(objs/hikey/xa_hikey.o elf32-xtensa-le)
-
-.debug_ranges   0x00000000       0x98
- .debug_ranges  0x00000000       0x20 objs/hikey/reset.o
- .debug_ranges  0x00000020       0x58 objs/hikey/int_vector.o
- .debug_ranges  0x00000078       0x20 objs/hikey/gdbstub-entry.o
diff --git a/hifi/xaf/hifi-dpf/build_hikey/tools/elftobin.sh b/hifi/xaf/hifi-dpf/build_hikey/tools/elftobin.sh
deleted file mode 100755
index cebe6bf..0000000
--- a/hifi/xaf/hifi-dpf/build_hikey/tools/elftobin.sh
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/bin/bash
-
-if [ $# != 2 ]
-then
-echo "elftobin.sh <input_elf_file> <output_img_file>"
-exit
-fi
-
-if [ $XTENSA_CORE == "" ]
-then 
-echo "XTENSA_CORE is not set"
-exit
-fi
-
-if [ $XTENSA_SYSTEM == "" ]
-then 
-echo "XTENSA_SYSTEM is not set"
-exit
-fi
-
-export INPUT_ELF_FILE=$1
-export OUTPUT_BIN_FILE=__hikey_temp.bin
-export OUTPUT_IMG_FILE=$2
-export OP_DIR=./
-
-xt-objdump -h $INPUT_ELF_FILE > __elfdump
-less __elfdump | sed -n '/ALLOC/{g;1!p;};h' > __header
-less __header | awk '{print $2 " " $3 " " $4}' > __proc
-
-sections=`less __proc | cut -f1 -d' ' | tr '\n' ',' | sed 's/\,$//g'`
-SECTION_NUM=`awk 'END {print NR}' __proc`
-echo "Total number of sections are $SECTION_NUM"
-#sections=(".dram0.data" ".ResetVector.text" ".Reset.literal" ".WindowVectors.text" ".Level2InterruptVector.literal" ".Level2InterruptVector.text" ".Level3InterruptVector.literal" ".Level3InterruptVector.text" ".DebugExceptionVector.literal" ".DebugExceptionVector.text" ".NMIExceptionVector.literal" ".NMIExceptionVector.text" ".KernelExceptionVector.literal" ".KernelExceptionVector.text" ".UserExceptionVector.literal" ".UserExceptionVector.text" ".DoubleExceptionVector.literal" ".DoubleExceptionVector.text" ".Reset.text" ".iram0.text" ".rodata" ".text" ".data" ".bss")
-#dst_addr=("0xe8058000" "0xe8080000" "0xe8080300" "0xe8080400" "0xe8080578" "0xe8080580" "0xe80805b8" "0xe80805c0" "0xe8080638" "0xe8080640" "0xe8080678" "0xe80806c0" "0xe80806f8" "0xe8080700" "0xe8080738" "0xe8080740" "0xe8080778" "0xe80807c0" "0xe8080800" "0xe8080a44" "0xc0000000" "0xc0000cc8" "0xc00025c0" "0xc0002a20")
-
-ID_Sec=("0x01010000" "0x01000001" "0x01000002" "0x01000003" "0x01000004" "0x01000005" "0x01000006" "0x01000007" "0x01000008" "0x01000009" "0x0100000A" "0x0100000B" "0x0100000C" "0x0100000D" "0x0100000E" "0x0100000F" "0x01000010" "0x01000011" "0x01000012" "0x01000013" "0x00000014" "0x00000015" "0x00010016" "0x00020017")
-
-head -c "4" /dev/zero > __zero.bin
-
-i=0
-for j in `seq 1 $SECTION_NUM`
-do
-	VAR=`less __proc | awk 'FNR == "'"$j"'" {print $1}'`
-	VARBIN=`echo "$VAR" | sed 's/^./__/' | sed "s/\..*//" | sed 's/$/.bin/' `
-	#echo "section: $VAR  $VARBIN"
-	xt-objcopy $INPUT_ELF_FILE -O binary --only-section $VAR $VARBIN
-
-	size_sec[${i}]=$(cat $VARBIN | wc -c)
-	#echo "size : ${size_sec[${i}]}"
-    mod0=`expr ${size_sec[${i}]} % 4`
-    nbytes=`expr 4 - $mod0`
-	if [ "$nbytes" -ne "4" ] ; then
-		tail -c $nbytes __zero.bin >> $VARBIN
-		size_sec[$i]=`expr ${size_sec[${i}]} + $nbytes`
-	fi
-	cat $VARBIN >> $OUTPUT_BIN_FILE		
-	i=`expr $i + 1`;
-done
-cd $OP_DIR
-
-tmp1=$(cat $OUTPUT_BIN_FILE | wc -c)
-total_sections=$SECTION_NUM
-main_header_size=32
-section_header_size=16
-size_total_img=`expr $main_header_size + $tmp1 + $total_sections \* $section_header_size`
-current_date_time=`date "+%Y/%m/%d %H:%M:%S"`
-echo "HIF:$current_date_time" > $OUTPUT_IMG_FILE
-
-printf "0: %.8x" $size_total_img | sed -e 's/0\: \(..\)\(..\)\(..\)\(..\)/0\: \4\3\2\1/' | xxd -r -g0 >> $OUTPUT_IMG_FILE
-printf "0: %.8x" $total_sections | sed -e 's/0\: \(..\)\(..\)\(..\)\(..\)/0\: \4\3\2\1/' | xxd -r -g0 >> $OUTPUT_IMG_FILE
-
-cnt1=`expr $main_header_size + $total_sections \* $section_header_size`
-i=0
-for j in `seq 1 $SECTION_NUM`
-do
-	DST_ADDR=`less __proc | awk 'FNR == "'"$j"'" {print $3}'`
-	printf "0: %.8x" ${ID_Sec[${i}]} | sed -e 's/0\: \(..\)\(..\)\(..\)\(..\)/0\: \4\3\2\1/' | xxd -r -g0 >> $OUTPUT_IMG_FILE
-	printf "0: %.8x" $cnt1 | sed -e 's/0\: \(..\)\(..\)\(..\)\(..\)/0\: \4\3\2\1/' | xxd -r -g0 >> $OUTPUT_IMG_FILE
-	printf "0: %.8x" 0x$DST_ADDR | sed -e 's/0\: \(..\)\(..\)\(..\)\(..\)/0\: \4\3\2\1/' | xxd -r -g0 >> $OUTPUT_IMG_FILE
-	printf "0: %.8x" ${size_sec[${i}]} | sed -e 's/0\: \(..\)\(..\)\(..\)\(..\)/0\: \4\3\2\1/' | xxd -r -g0 >> $OUTPUT_IMG_FILE
-	cnt_prev=$cnt1
-	cnt1=`expr ${size_sec[${i}]} + $cnt_prev`
-	i=`expr $i + 1`
-done
-
-cat $OUTPUT_BIN_FILE >> $OUTPUT_IMG_FILE                        
-rm $OUTPUT_BIN_FILE
-rm __*.bin
-rm __proc
-rm __elfdump
-rm __header
-
-echo "elftobin successful!"
-
diff --git a/hifi/xaf/hifi-dpf/build_hikey/xa_hikey.img b/hifi/xaf/hifi-dpf/build_hikey/xa_hikey.img
deleted file mode 100644
index 4c16652..0000000
--- a/hifi/xaf/hifi-dpf/build_hikey/xa_hikey.img
+++ /dev/null
Binary files differ
diff --git a/hifi/xaf/hifi-dpf/core/util/gdbstub/gdbstub-entry.S b/hifi/xaf/hifi-dpf/core/util/gdbstub/gdbstub-entry.S
deleted file mode 100644
index 50a33a9..0000000
--- a/hifi/xaf/hifi-dpf/core/util/gdbstub/gdbstub-entry.S
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-#include "xtensa-defs.h"
-
-.macro	SAVE_	reg, loc
-	rsr	a1, \reg
-	s32i	a1, a3, \loc * 4
-.endm
-.macro	SAVE	reg
-	SAVE_	\reg, \reg
-.endm
-
-.macro	LOAD_	reg, loc
-	l32i	a1, a3, \loc * 4
-	wsr	a1, \reg
-.endm
-.macro	LOAD	reg
-	LOAD_	\reg, \reg
-.endm
-
-	.section ".DebugExceptionVector.text", "ax"
-	.global DebugExceptionVector
-
-DebugExceptionVector:
-	j	1f
-	.align	4
-	.literal_position
-1:		
-	xsr	a2, DEBUG_EXCSAVE
-	jx	a2
-
-	.text
-	.global DebugExceptionEntry
-	.align	4
-
-DebugExceptionEntry:
-	j	1f
-	.align	4
-	.literal_position
-1:				
-	movi	a2, aregs
-	s32i	a0, a2, 0
-	s32i	a1, a2, 4
-	rsr	a1, DEBUG_EXCSAVE
-	s32i	a1, a2, 8
-	s32i	a3, a2, 12
-
-	movi	a3, sregs
-	SAVE	LBEG
-	SAVE	LEND
-	SAVE	LCOUNT
-	SAVE	SAR
-	SAVE	WINDOWBASE
-	SAVE	WINDOWSTART
-
-	rsr	a1, DEBUG_PC
-	movi	a2, initial_breakpoint
-	bne	a1, a2, 1f
-	addi	a1, a1, 3
-1:
-	s32i	a1, a3, DEBUG_PC * 4
-
-	SAVE	EXCSAVE_1
-	SAVE_	DEBUG_PS, PS
-	SAVE	EXCCAUSE
-	SAVE	DEBUGCAUSE
-	SAVE	EXCVADDR
-
-	movi	a1, XCHAL_NUM_AREGS / 4 - 1
-	movi	a2, aregs
-1:
-	s32i	a4, a2, 16
-	s32i	a5, a2, 20
-	s32i	a6, a2, 24
-	s32i	a7, a2, 28
-
-	addi	a6, a2, 16
-	addi	a5, a1, -1
-	rotw	1
-	bnez	a1, 1b
-
-	movi	a1, 1
-	wsr	a1, windowstart
-	movi	a0, 0
-	wsr	a0, windowbase
-	rsync
-
-	movi	a0, 0
-	movi	a1, stack + STACK_SIZE - 20
-	rsr	a2, ps
-	addi	a2, a2, -PS_EXCM_MASK
-	wsr	a2, ps
-	rsync
-
-	movi	a4, handle_exception
-	callx4	a4
-
-DebugExceptionExit:
-	movi	a2, DebugExceptionEntry
-	wsr	a2, DEBUG_EXCSAVE
-
-	rsr	a2, ps
-	addi	a2, a2, PS_EXCM_MASK
-	wsr	a2, ps
-	rsync
-
-	movi	a3, sregs
-	LOAD	LBEG
-	LOAD	LEND
-	LOAD	LCOUNT
-	/* TODO: handle unlikely return-to-lend case */
-	LOAD	SAR
-	LOAD	WINDOWBASE
-	rsync
-	movi	a3, sregs
-	LOAD	WINDOWSTART
-	LOAD	DEBUG_PC
-	LOAD	EXCSAVE_1
-	LOAD_	DEBUG_PS, PS
-	LOAD	EXCCAUSE
-	LOAD	EXCVADDR
-
-	movi	a6, aregs
-	movi	a5, XCHAL_NUM_AREGS / 4 - 2
-1:
-	l32i	a0, a6, 0
-	l32i	a1, a6, 4
-	l32i	a2, a6, 8
-	l32i	a3, a6, 12
-
-	beqz	a5, 2f
-	addi	a10, a6, 16
-	addi	a9, a5, -1
-	rotw	1
-	j	1b
-2:
-	l32i	a4, a6, 16
-	l32i	a5, a6, 20
-	l32i	a7, a6, 28
-	l32i	a6, a6, 24
-	rotw	2
-
-	rfi	XCHAL_DEBUGLEVEL
-
-
-#ifdef LIBC_LEVEL1_HANDLER
-	.global	fault_handler
-	.align	4
-fault_handler:
-	rsr	a2, epc1
-	addi	a2, a2, 3
-	wsr	a2, epc1
-	rsync
-	movi	a2, mem_err
-	s32i	a2, a2, 0
-
-	l32i	a2, a1, 16
-	l32i	a3, a1, 20
-	addi	a1, a1, 256
-	rfe
-#endif
-
-
-	.global init_debug_entry
-	.align	4
-init_debug_entry:
-	entry	a1, 16
-	movi	a2, DebugExceptionEntry
-	wsr	a2, DEBUG_EXCSAVE
-	isync
-	retw
-
-	.global breakpoint
-	.align	4
-breakpoint:
-	entry	a1, 16
-initial_breakpoint:
-	_break	0, 0
-	retw
diff --git a/hifi/xaf/hifi-dpf/core/util/gdbstub/gdbstub.c b/hifi/xaf/hifi-dpf/core/util/gdbstub/gdbstub.c
deleted file mode 100644
index e125b94..0000000
--- a/hifi/xaf/hifi-dpf/core/util/gdbstub/gdbstub.c
+++ /dev/null
@@ -1,756 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/****************************************************************************
-
-		THIS SOFTWARE IS NOT COPYRIGHTED
-
-   HP offers the following for use in the public domain.  HP makes no
-   warranty with regard to the software or it's performance and the
-   user accepts the software "AS IS" with all faults.
-
-   HP DISCLAIMS ANY WARRANTIES, EXPRESS OR IMPLIED, WITH REGARD
-   TO THIS SOFTWARE INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-   OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-****************************************************************************/
-
-/****************************************************************************
- *  Header: remcom.c,v 1.34 91/03/09 12:29:49 glenne Exp $
- *
- *  Module name: remcom.c $
- *  Revision: 1.34 $
- *  Date: 91/03/09 12:29:49 $
- *  Contributor:     Lake Stevens Instrument Division$
- *
- *  Description:     low level support for gdb debugger. $
- *
- *  Considerations:  only works on target hardware $
- *
- *  Written by:      Glenn Engel $
- *  ModuleState:     Experimental $
- *
- *  NOTES:           See Below $
- *
- *  Modified for SPARC by Stu Grossman, Cygnus Support.
- *
- *  This code has been extensively tested on the Fujitsu SPARClite demo board.
- *
- *  To enable debugger support, two things need to happen.  One, a
- *  call to set_debug_traps() is necessary in order to allow any breakpoints
- *  or error conditions to be properly intercepted and reported to gdb.
- *  Two, a breakpoint needs to be generated to begin communication.  This
- *  is most easily accomplished by a call to breakpoint().  Breakpoint()
- *  simulates a breakpoint by executing a trap #1.
- *
- *************
- *
- *    The following gdb commands are supported:
- *
- * command          function                               Return value
- *
- *    g             return the value of the CPU registers  hex data or ENN
- *    G             set the value of the CPU registers     OK or ENN
- *
- *    mAA..AA,LLLL  Read LLLL bytes at address AA..AA      hex data or ENN
- *    MAA..AA,LLLL: Write LLLL bytes at address AA.AA      OK or ENN
- *
- *    c             Resume at current address              SNN   ( signal NN)
- *    cAA..AA       Continue at address AA..AA             SNN
- *
- *    s             Step one instruction                   SNN
- *    sAA..AA       Step one instruction from AA..AA       SNN
- *
- *    k             kill
- *
- *    ?             What was the last sigval ?             SNN   (signal NN)
- *
- * All commands and responses are sent with a packet which includes a
- * checksum.  A packet consists of
- *
- * $<packet info>#<checksum>.
- *
- * where
- * <packet info> :: <characters representing the command or response>
- * <checksum>    :: < two hex digits computed as modulo 256 sum of <packetinfo>>
- *
- * When a packet is received, it is first acknowledged with either '+' or '-'.
- * '+' indicates a successful transfer.  '-' indicates a failed transfer.
- *
- * Example:
- *
- * Host:                  Reply:
- * $m0,10#2a               +$00010203040506070809101112131415#42
- *
- ****************************************************************************/
-#ifdef XAF_ENABLE_NON_HIKEY
-#include "xf.h"
-#else
-#include <string.h>
-#include <signal.h>
-#include <stdint.h>
-#include <xtensa/xtruntime.h>
-#endif
-#include "xtensa-defs.h"
-
-/*******************************************************************************
- * Ring-buffer definition
- ******************************************************************************/
-
-#define RING_SIZE           256
-
-struct ring {
-	unsigned char head;
-	unsigned char fill1[63];
-	unsigned char tail;
-	unsigned char fill2[63];
-	unsigned char data[RING_SIZE];
-};
-
-#define GDB_INVALIDATE(p)     \
-    xthal_dcache_region_invalidate((void *)(p), sizeof(*p))
-
-#define GDB_FLUSH(p)          \
-    xthal_dcache_region_writeback((void *)(p), sizeof(*p))
-
-static inline unsigned int ring_next_head(const volatile struct ring *ring)
-{
-	return (ring->head + 1) & (RING_SIZE - 1);
-}
-
-static inline unsigned int ring_next_tail(const volatile struct ring *ring)
-{
-	return (ring->tail + 1) & (RING_SIZE - 1);
-}
-
-static inline int ring_have_space(const volatile struct ring *ring)
-{
-    /* ...invalidate tail pointer of tx-ring (updated by host) */
-    GDB_INVALIDATE(&ring->tail);
-
-	return ring_next_head(ring) != ring->tail;
-}
-
-static inline int ring_have_data(const volatile struct ring *ring)
-{
-    /* ...invalidate head pointer of rx-ring (updated by host) */
-    GDB_INVALIDATE(&ring->head);
-    
-	return ring->head != ring->tail;
-}
-#ifdef XAF_ENABLE_NON_HIKEY
-#define DEBUG_RX_BASE   XF_CFG_GDB_RING_RX
-#define DEBUG_TX_BASE   XF_CFG_GDB_RING_TX
-#else
-//#define DEBUG_RX_BASE (0x72000000)
-//#define DEBUG_TX_BASE (0x72000800)
-#define DEBUG_RX_BASE (0x6FFFF000)
-#define DEBUG_TX_BASE (0x6FFFF800)
-#endif
-
-volatile struct ring * const rx = (void *)DEBUG_RX_BASE;
-volatile struct ring * const tx = (void *)DEBUG_TX_BASE;
-
-void init_debug_comm(void)
-{
-	rx->head = rx->tail = 0;
-	tx->head = tx->tail = 0;
-    GDB_FLUSH(&rx->head);
-    GDB_FLUSH(&rx->tail);
-    GDB_FLUSH(&tx->head);
-    GDB_FLUSH(&tx->tail);
-}
-
-/* ...functions defined in asm code */
-extern void breakpoint(void);
-extern void init_debug_entry(void);
-
-void poll_debug_ring(void)
-{
-	if (ring_have_data(rx)) {
-		breakpoint();
-	}
-}
-
-static void putDebugChar(char c)
-{
-	while (!ring_have_space(tx))
-		;
-
-	tx->data[tx->head] = c;
-
-    /* ...flush data buffer to main memory */
-    GDB_FLUSH(&tx->data[tx->head]);
-
-	tx->head = ring_next_head(tx);
-
-    /* ...flush head pointer to main memory */
-    GDB_FLUSH(&tx->head);
-}
-
-static int getDebugChar(void)
-{
-	int v;
-	while (!ring_have_data(rx))
-		;
-
-    /* ...inavlidate data buffer */
-    GDB_INVALIDATE(&rx->data[rx->tail]);
-
-	v = rx->data[rx->tail];
-	rx->tail = ring_next_tail(rx);
-
-    /* ...update tail index */
-    GDB_FLUSH(&rx->tail);
-
-	return v;
-}
-
-/************************************************************************/
-/* BUFMAX defines the maximum number of characters in inbound/outbound buffers*/
-/* at least NUMREGBYTES*2 are needed for register packets */
-#define BUFMAX 256
-
-#ifdef USE_GDBSTUB
-#define bulk_data __attribute__((section (".ddr0.data")))
-#else
-#define bulk_data
-#endif
-uint32_t stack[STACK_SIZE / sizeof(uint32_t)] bulk_data;
-static uint8_t sregs_read[32] bulk_data;
-static uint8_t sregs_mod[32] bulk_data;
-static uint8_t sregs_late[32] bulk_data;
-uint32_t sregs[256] bulk_data;
-uint32_t aregs[XCHAL_NUM_AREGS] bulk_data;
-static uint8_t remcomInBuffer[BUFMAX] bulk_data;
-static uint8_t remcomOutBuffer[BUFMAX] bulk_data;
-
-static const char hexchars[]="0123456789abcdef";
-
-/* Convert ch from a hex digit to an int */
-
-static int hex(unsigned char ch)
-{
-	if (ch >= 'a' && ch <= 'f')
-		return ch-'a'+10;
-	if (ch >= '0' && ch <= '9')
-		return ch-'0';
-	if (ch >= 'A' && ch <= 'F')
-		return ch-'A'+10;
-	return -1;
-}
-
-/* scan for the sequence $<data>#<checksum>     */
-
-unsigned char *getpacket(void)
-{
-	unsigned char *buffer = &remcomInBuffer[0];
-	unsigned char checksum;
-	unsigned char xmitcsum;
-	int count;
-	char ch;
-
-	while (1) {
-		/* wait around for the start character, ignore all other characters */
-		while ((ch = getDebugChar ()) != '$')
-			;
-
-retry:
-		checksum = 0;
-		xmitcsum = -1;
-		count = 0;
-
-		/* now, read until a # or end of buffer is found */
-		while (count < BUFMAX - 1) {
-			ch = getDebugChar ();
-			if (ch == '$')
-				goto retry;
-			if (ch == '#')
-				break;
-			checksum = checksum + ch;
-			buffer[count] = ch;
-			count = count + 1;
-		}
-		buffer[count] = 0;
-
-		if (ch == '#') {
-			ch = getDebugChar ();
-			xmitcsum = hex (ch) << 4;
-			ch = getDebugChar ();
-			xmitcsum += hex (ch);
-
-			if (checksum != xmitcsum) {
-				putDebugChar ('-');	/* failed checksum */
-			} else {
-				putDebugChar ('+');	/* successful transfer */
-
-				/* if a sequence char is present, reply the sequence ID */
-				if (buffer[2] == ':') {
-					putDebugChar (buffer[0]);
-					putDebugChar (buffer[1]);
-
-					return &buffer[3];
-				}
-
-				return &buffer[0];
-			}
-		}
-	}
-}
-
-/* send the packet in buffer.  */
-
-static void putpacket(uint8_t *buffer)
-{
-	unsigned char checksum;
-	int count;
-	unsigned char ch;
-
-	/*  $<packet info>#<checksum>. */
-	do {
-		putDebugChar('$');
-		checksum = 0;
-		count = 0;
-
-		while ((ch = buffer[count]) != 0) {
-			putDebugChar(ch);
-			checksum += ch;
-			count += 1;
-		}
-
-		putDebugChar('#');
-		putDebugChar(hexchars[checksum >> 4]);
-		putDebugChar(hexchars[checksum & 0xf]);
-
-	} while (getDebugChar() != '+');
-}
-
-/* Indicate to caller of mem2hex or hex2mem that there has been an
-   error.  */
-volatile int mem_err = 0;
-
-/* Convert the memory pointed to by mem into hex, placing result in buf.
- * Return a pointer to the last char put in buf (null), in case of mem fault,
- * return 0.
- */
-
-static uint8_t * mem2hex(const void *mem_, uint8_t *buf, int count)
-{
-	const unsigned char *mem = mem_;
-	unsigned char ch;
-
-	mem_err = 0;
-	while (count-- > 0) {
-#ifdef __XTENSA__
-		unsigned long v;
-		unsigned long addr = (unsigned long)mem;
-		asm volatile ("_l32i	%0, %1, 0\n"
-			      : "=r"(v)
-			      : "r"(addr & ~3)
-			      : "memory");
-		ch = v >> (addr & 3) * 8;
-#endif
-		mem++;
-		if (mem_err)
-			return NULL;
-		*buf++ = hexchars[ch >> 4];
-		*buf++ = hexchars[ch & 0xf];
-	}
-
-	*buf = 0;
-
-	return buf;
-}
-
-/* convert the hex array pointed to by buf into binary to be placed in mem
- * return a pointer to the character AFTER the last byte written */
-
-static uint8_t * hex2mem(const uint8_t *buf, void *mem_, int count)
-{
-	uint8_t *mem = mem_;
-	int i;
-	uint8_t ch;
-
-	if ((unsigned long)mem >= 0xece80000)
-		return NULL;
-
-	mem_err = 0;
-	for (i=0; i<count; i++) {
-		ch = hex(*buf++) << 4;
-		ch |= hex(*buf++);
-#ifdef __XTENSA__
-		unsigned long tmp;
-		unsigned long addr = (unsigned long)mem;
-		asm volatile ("_l32i	%0, %1, 0\n"
-			      "and	%0, %0, %2\n"
-			      "or	%0, %0, %3\n"
-			      "_s32i	%0, %1, 0\n"
-			      "dhwb	%1, 0\n"
-			      "ihi	%1, 0\n"
-			      : "=r"(tmp)
-			      : "r"(addr & ~3), "r"(0xffffffff ^ (0xff << (addr & 3) * 8)), "r"(ch << (addr & 3) * 8)
-			      : "memory");
-#endif
-		mem++;
-		if (mem_err)
-			return NULL;
-	}
-
-	return mem;
-}
-
-/*
- * While we find nice hex chars, build an int.
- * Return number of chars processed.
- */
-
-static int hexToInt(uint8_t **ptr, int *intValue)
-{
-	int numChars = 0;
-	int hexValue;
-
-	*intValue = 0;
-
-	while (**ptr) {
-		hexValue = hex(**ptr);
-		if (hexValue < 0)
-			break;
-
-		*intValue = (*intValue << 4) | hexValue;
-		numChars ++;
-
-		(*ptr)++;
-	}
-
-	return (numChars);
-}
-
-static inline int test_bit(const uint8_t *p, int bit)
-{
-	return (p[bit / 8] >> (bit & 0x7)) & 1;
-}
-static inline int set_bit(uint8_t *p, int bit)
-{
-	return (p[bit / 8] |= 1u << (bit & 0x7));
-}
-
-static inline void mark_read(int sr)
-{
-	set_bit(sregs_read, sr);
-}
-static inline int is_read(int sr)
-{
-	return test_bit(sregs_read, sr);
-}
-static inline void mark_mod(int sr)
-{
-	set_bit(sregs_mod, sr);
-}
-static inline int is_mod(int sr)
-{
-	return test_bit(sregs_mod, sr);
-}
-static inline void mark_late(int sr)
-{
-	set_bit(sregs_late, sr);
-}
-static inline int is_late(int sr)
-{
-	return test_bit(sregs_late, sr);
-}
-
-static void read_sr(int sr)
-{
-	if (!is_read(sr)) {
-#ifdef __XTENSA__
-		uint32_t val;
-		asm volatile ("movi	a3, 1f + 1\n"
-			      "s8i	%1, a3, 0\n"
-			      "dhwb	a3, 0\n"
-			      "ihi	a3, 0\n"
-			      "isync\n"
-			      "1:\n"
-			      "rsr	%0, lbeg\n"
-			      : "=r"(val)
-			      : "r"(sr)
-			      : "a3", "memory");
-		sregs[sr] = val;
-#endif
-		mark_read(sr);
-	}
-}
-
-static void write_sr(int sr)
-{
-#ifdef __XTENSA__
-	asm volatile ("movi	a3, 1f + 1\n"
-		      "s8i	%1, a3, 0\n"
-		      "dhwb	a3, 0\n"
-		      "ihi	a3, 0\n"
-		      "isync\n"
-		      "1:\n"
-		      "wsr	%0, lbeg\n"
-		      :
-		      : "r"(sregs[sr]), "r"(sr)
-		      : "a3", "memory");
-#endif
-}
-
-static void restore_sr(void)
-{
-	int i;
-	for (i = 0; i < 256; ++i)
-		if (is_mod(i) && !is_late(i))
-			write_sr(i);
-}
-
-extern void *_xtos_exc_handler_table[];
-void fault_handler(void);
-#define ARRAY_SIZE(a) (sizeof(a) / sizeof(*(a)))
-
-void handle_exception(void)
-{
-	int sigval = 0;
-	int addr;
-	int length;
-	uint8_t *ptr;
-	unsigned i;
-	const unsigned windowbase = 4 * sregs[WINDOWBASE];
-	uint8_t stop_status[4] = "Sxx";
-#ifdef LIBC_LEVEL1_HANDLER
-	static const int cause[] = {
-		EXCCAUSE_LOAD_STORE_ERROR,
-		EXCCAUSE_LOAD_STORE_DATA_ERROR,
-		EXCCAUSE_LOAD_STORE_ADDR_ERROR,
-		EXCCAUSE_DTLB_MISS,
-		EXCCAUSE_DTLB_MULTIHIT,
-		EXCCAUSE_LOAD_PROHIBITED,
-		EXCCAUSE_STORE_PROHIBITED,
-	};
-	_xtos_handler handler[sizeof(cause) / sizeof(cause[0])];
-
-	for (i = 0; i < ARRAY_SIZE(cause); ++i) {
-		handler[i] = _xtos_exc_handler_table[cause[i]];
-		_xtos_exc_handler_table[cause[i]] = fault_handler;
-	}
-#endif
-	memcpy(sregs_read, sregs_late, sizeof(sregs_read));
-	memset(sregs_mod, 0, sizeof(sregs_mod));
-
-	sigval = 5;
-	stop_status[1] = hexchars[sigval >> 4];
-	stop_status[2] = hexchars[sigval & 0xf];
-
-	if (sregs[DEBUGCAUSE] & DEBUGCAUSE_ICOUNT_MASK) {
-		sregs[ICOUNTLEVEL] = 0;
-		mark_mod(ICOUNTLEVEL);
-	}
-	putpacket(stop_status);
-
-	while (1) {
-		remcomOutBuffer[0] = 0;
-
-		ptr = getpacket();
-		switch (*ptr++) {
-		case '?':
-			memcpy(remcomOutBuffer, stop_status, sizeof(stop_status));
-			break;
-
-		case 'c':    /* cAA..AA    Continue at address AA..AA(optional) */
-			/* try to read optional parameter, pc unchanged if no parm */
-
-			if (hexToInt(&ptr, &addr))
-				sregs[DEBUG_PC] = addr;
-			goto out;
-
-		case 'm':	  /* mAA..AA,LLLL  Read LLLL bytes at address AA..AA */
-			/* Try to read %x,%x.  */
-
-			if (hexToInt(&ptr, &addr) && *ptr++ == ',' &&
-			    hexToInt(&ptr, &length)) {
-				if (mem2hex((void *)addr, remcomOutBuffer, length))
-					break;
-
-				strcpy((char *)remcomOutBuffer, "E03");
-			} else {
-				strcpy((char *)remcomOutBuffer, "E01");
-			}
-			break;
-
-		case 'M': /* MAA..AA,LLLL: Write LLLL bytes at address AA.AA return OK */
-			/* Try to read '%x,%x:'.  */
-
-			if (hexToInt(&ptr, &addr) && *ptr++ == ',' &&
-			    hexToInt(&ptr, &length) && *ptr++ == ':') {
-				if (hex2mem(ptr, (void *)addr, length))
-					strcpy((char *)remcomOutBuffer, "OK");
-				else
-					strcpy((char *)remcomOutBuffer, "E03");
-			} else {
-				strcpy((char *)remcomOutBuffer, "E02");
-			}
-			break;
-
-		case 'p': /* pAA..AA read register number AA..AA */
-			if (hexToInt(&ptr, &addr)) {
-				if (addr < 0x10) { /* read address register in the current window */
-					mem2hex(aregs + addr, remcomOutBuffer, 4);
-				} else if (addr == 0x20) { /* read PC */
-					mem2hex(sregs + DEBUG_PC, remcomOutBuffer, 4);
-				} else if (addr >= 0x100 && addr < 0x100 + XCHAL_NUM_AREGS) { /* read address register by absolute index */
-					mem2hex(aregs + ((addr - windowbase) & 0xff), remcomOutBuffer, 4);
-				} else if (addr >= 0x200 && addr < 0x300) { /* read special register */
-					addr &= 0xff;
-					read_sr(addr);
-					mem2hex(sregs + addr, remcomOutBuffer, 4);
-				} else if (addr >= 0x300 && addr < 0x400) { /* TODO read user register */
-					strcpy((char *)remcomOutBuffer, "deadbabe");
-				} else { /* unexpected register number */
-					strcpy((char *)remcomOutBuffer, "E00");
-				}
-			}
-			break;
-
-		case 'P': /* PAA..AA=VV..VV  Set register number AA..AA to a value VV..VV */
-			if (hexToInt(&ptr, &addr) && *(ptr++) == '=') {
-				int ok = 1;
-
-				if (addr < 0x10) {
-					hex2mem(ptr, aregs + addr, 4);
-				} else if (addr == 0x20) {
-					hex2mem(ptr, sregs + DEBUG_PC, 4);
-				} else if (addr >= 0x100 && addr < 0x100 + XCHAL_NUM_AREGS) {
-					hex2mem(ptr, aregs + ((addr - windowbase) & 0xff), 4);
-				} else if (addr >= 0x200 && addr < 0x300) {
-					addr &= 0xff;
-					hex2mem(ptr, sregs + addr, 4);
-					mark_read(addr);
-					mark_mod(addr);
-				} else {
-					ok = 0;
-					strcpy((char *)remcomOutBuffer, "E00");
-				}
-				if (ok)
-					strcpy((char *)remcomOutBuffer, "OK");
-			}
-			break;
-
-		case 'q': /* generic query */
-			if (strncmp((char *)ptr, "Supported", 9) == 0)
-				strcpy((char *)remcomOutBuffer, "PacketSize=100"); /* must match BUFMAX */
-			break;
-
-		case 's': /* s[AA..AA] Single step */
-			if (hexToInt(&ptr, &addr))
-				sregs[DEBUG_PC] = addr;
-			sregs[ICOUNT] = 0xfffffffe;
-			mark_mod(ICOUNT);
-			sregs[ICOUNTLEVEL] = XCHAL_DEBUGLEVEL;
-			mark_mod(ICOUNTLEVEL);
-			goto out;
-
-		case 'Z': /* insert HW breakpoint*/
-			switch (*ptr++) {
-			case '1':
-				read_sr(IBREAKENABLE);
-				if (*ptr++ == ',' && hexToInt(&ptr, &addr) &&
-				    *ptr++ == ',' && hexToInt(&ptr, &length) &&
-				    *ptr == 0) {
-					for (i = 0; i < XCHAL_NUM_IBREAK; ++i) {
-						if (!(sregs[IBREAKENABLE] & (1 << i)) ||
-						    sregs[IBREAKA + i] == addr) {
-							sregs[IBREAKA + i] = addr;
-							mark_mod(IBREAKA + i);
-							sregs[IBREAKENABLE] |= (1 << i);
-							mark_mod(IBREAKENABLE);
-							break;
-						}
-					}
-					if (i == XCHAL_NUM_IBREAK)
-						strcpy((char *)remcomOutBuffer, "E02");
-					else
-						strcpy((char *)remcomOutBuffer, "OK");
-				} else {
-					strcpy((char *)remcomOutBuffer, "E01");
-				}
-				break;
-			}
-			break;
-
-		case 'z': /* remove HW breakpoint */
-			switch (*ptr++) {
-			case '1':
-				read_sr(IBREAKENABLE);
-				if (*ptr++ == ',' && hexToInt(&ptr, &addr) &&
-				    *ptr++ == ',' && hexToInt(&ptr, &length)) {
-					for (i = 0; i < XCHAL_NUM_IBREAK; ++i) {
-						read_sr(IBREAKA + i);
-						if (sregs[IBREAKENABLE] & (1 << i) &&
-						    sregs[IBREAKA + i] == addr) {
-							sregs[IBREAKENABLE] &= ~(1 << i);
-							mark_mod(IBREAKENABLE);
-							break;
-						}
-					}
-					if (i == XCHAL_NUM_IBREAK)
-						strcpy((char *)remcomOutBuffer, "E02");
-					else
-						strcpy((char *)remcomOutBuffer, "OK");
-				} else {
-					strcpy((char *)remcomOutBuffer, "E01");
-				}
-				break;
-			}
-			break;
-		}
-
-		/* reply to the request */
-		putpacket(remcomOutBuffer);
-	}
-out:
-#ifdef LIBC_LEVEL1_HANDLER
-	for (i = 0; i < ARRAY_SIZE(cause); ++i) {
-		_xtos_exc_handler_table[cause[i]] = handler[i];
-	}
-#endif
-	restore_sr();
-}
-
-void init_gdbstub(void)
-{
-	mark_late(LBEG);
-	mark_late(LEND);
-	mark_late(LCOUNT);
-	mark_late(SAR);
-	mark_late(WINDOWBASE);
-	mark_late(WINDOWSTART);
-	mark_late(DEBUG_PC);
-	mark_late(EXCSAVE_1);
-	mark_late(PS);
-	mark_late(EXCCAUSE);
-	mark_late(DEBUGCAUSE);
-	mark_late(EXCVADDR);
-#ifdef __XTENSA__
-	init_debug_comm();
-	init_debug_entry();
-#endif
-}
diff --git a/hifi/xaf/hifi-dpf/core/util/gdbstub/xtensa-defs.h b/hifi/xaf/hifi-dpf/core/util/gdbstub/xtensa-defs.h
deleted file mode 100644
index 6ba485f..0000000
--- a/hifi/xaf/hifi-dpf/core/util/gdbstub/xtensa-defs.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-#ifndef XTENSA_DEFS_H
-#define XTENSA_DEFS_H
-
-#include <xtensa/specreg.h>
-#include <xtensa/config/core-isa.h>
-#include <xtensa/corebits.h>
-
-#define _AREG0		256
-
-#define STACK_SIZE	1024
-#define DEBUG_PC	(EPC + XCHAL_DEBUGLEVEL)
-#define DEBUG_EXCSAVE	(EXCSAVE + XCHAL_DEBUGLEVEL)
-#define DEBUG_PS	(EPS + XCHAL_DEBUGLEVEL)
-
-#endif /* XTENSA_DEFS_H */
diff --git a/hifi/xaf/hifi-dpf/core/util/mutex.c b/hifi/xaf/hifi-dpf/core/util/mutex.c
deleted file mode 100644
index d62a6a1..0000000
--- a/hifi/xaf/hifi-dpf/core/util/mutex.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/*******************************************************************************
- * mutex.c
- *
- * Implementation of non-robust Szymanski linear-waiting algorithm. Types of
- * failures tolerated by Szymanski's "robust" algorithm are not specific for
- * Xtensa DSP cluster and therefore more lightweight version of the algorithm
- * is used. FIFO servicing property is of low importance, and faster/smaller
- * version with linear-wait property is preferable.
- ******************************************************************************/
- 
-#include "xf.h"
-
-/*******************************************************************************
- * Local constants definitions
- ******************************************************************************/
-
-/* ...communication variables */
-#define __M_A                           (1 << 0)
-#define __M_W                           (1 << 1)
-#define __M_S                           (1 << 2)
-
-/* ...process states (updated atomically) */
-#define M_PASSIVE                       (0)
-#define M_ENTRY                         (__M_A)
-#define M_INSIDE                        (__M_W)
-#define M_TRANSIENT                     (__M_S | __M_W)
-#define M_EXIT                          (__M_S)
-
-/* ...total number of cores */
-#define M_N                             XF_CFG_CORES_NUM
-
-/* ...do not compile the code if there is just a single core */
-#if M_N > 1
-/*******************************************************************************
- * Entry points
- ******************************************************************************/
-
-void mutex_lock(u32 i)
-{
-    u32     j;
-    
-    /* ...p1: i-th core goes into "entry" state (aws = true,false,false) */
-    MUTEX_SHARED_WRITE(i, M_ENTRY);
-
-    /* ...p2: wait all processes have sj=false (waiting room door is open) */
-    for (j = 0; j < M_N; j++)
-    {
-        /* ...wait until sj = false */
-        while (MUTEX_SHARED_READ(j) & __M_S) (void) 0;
-    }
-    
-    /* ...p3: i-th core enters "inside" state (aws = false,true,false) */
-    MUTEX_SHARED_WRITE(i, M_INSIDE);
-
-p4:
-    /* ...p4: wait in "inside" state */
-    for (j = 0; j < M_N; j++)
-    {
-        /* ...p5: check if any of the cores appears is in "entry" state (aj=true) */
-        if (MUTEX_SHARED_READ(j) & __M_A)
-        {
-            /* ...p5: found core in "entry" state (j < n); wait until it enters waiting room */
-            goto p7;
-        }
-    }
-
-    /* ...p6: j == n; enter into "transient" state (ai=false, wi=true, si=true) */
-    MUTEX_SHARED_WRITE(i, M_TRANSIENT);
-
-    /* ...p6.1: check for any core appearing in "entry" room */
-    for (j = 0; j < M_N; j++)
-    {
-        if (MUTEX_SHARED_READ(j) & __M_A)
-        {
-            /* ...p6.2: found core in "entry" state (j < n) */
-            MUTEX_SHARED_WRITE(i, M_INSIDE);
-
-            /* ...back of to the "inside" state */
-            goto p7;
-        }
-    }
-        
-    /* ...p6.3: no cores in "entry" room (j == n); go to "exit" state (ai=false, wi=false, si=true) */
-    MUTEX_SHARED_WRITE(i, M_EXIT);
-
-    /* ...p6.4: allow all cores to leave "transient" state (i.e. switch to "exit") */
-    for (j = 0; j < M_N; j++)
-    {
-        while (MUTEX_SHARED_READ(j) & __M_W) (void) 0;
-    }
-
-    goto p9;
-    
-p7:
-    /* ...j < n condition is met; find any cores in "inside" state (wj = true, sj = false) */
-    for (j = 0; j < M_N; j++)
-    {
-        /* ...check if the core is in "exit" state */
-        if (MUTEX_SHARED_READ(j) == M_EXIT)
-        {
-            /* ...p8.1: different core is a leader; go to "exit" state (ai=false, wi=false, si=true) */
-            MUTEX_SHARED_WRITE(i, M_EXIT);
-
-            goto p9;
-        }
-    }
-
-    /* ...wait in "inside" state while all transients settle */
-    goto p4;
-
-p9:
-    /* ...p9: i-th core is in "exit" state; enter critical section in accordance with numbering */
-    for (j = 0; j < i; j++)
-    {
-        /* ...wait until core with lower number in "inside"/"transient"/"exit" states leaves */
-        while (MUTEX_SHARED_READ(j) & (__M_W | __M_S)) (void) 0;
-    }
-    
-    /* ...critical section entered */
-}
-
-/*******************************************************************************
- * mutex_unlock
- *
- * Release multi-core mutex
- ******************************************************************************/
-
-void mutex_unlock(u32 i)
-{
-    /* ...enter into "passive" state (ai=false, wi=false, si=false) */
-    MUTEX_SHARED_WRITE(i, M_PASSIVE);
-}
-
-#endif  /* M_N > 1 */
diff --git a/hifi/xaf/hifi-dpf/core/util/rbtree.c b/hifi/xaf/hifi-dpf/core/util/rbtree.c
deleted file mode 100644
index 740e025..0000000
--- a/hifi/xaf/hifi-dpf/core/util/rbtree.c
+++ /dev/null
@@ -1,842 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/*******************************************************************************
- * rbtree.c
- *
- * Red-black tree library
- ******************************************************************************/
-
-#include "xf.h"
-
-/*******************************************************************************
- * Macros definitions
- ******************************************************************************/
-
-/* ...node color */
-#define RB_RED                          (1)
-#define RB_BLK                          (0)
-
-/* ...pointer to parent node */
-#define RB_PARENT(tree, node)           ((node)->parent)
-
-/* ...pointer to left child node */
-#define RB_LEFT(tree, node)             ((node)->left)
-
-/* ...pointer to right child node */
-#define RB_RIGHT(tree, node)            ((node)->right)
-
-/* ...pointer to right child node */
-#define RB_COLOR(tree, node)            ((node)->color & 1)
-
-/* ...check if node is black */
-#define RB_IS_BLACK(tree, node)         (!((node)->color & RB_RED))
-
-/* ...root node index of the tree - can be simplified? */
-#define RB_ROOT(tree)                   RB_LEFT((tree), &(tree)->root)
-
-/* ...empty node */
-#define RB_NULL(tree)                   (&(tree)->root)
-
-/*******************************************************************************
- * Helpers
- ******************************************************************************/
-
-#define RB_SET_P(t, n, p)               \
-    ({ (n)->parent = (p); })
-
-#define RB_SET_L(t, n, l)               \
-    ({ (n)->left = (l); })
-
-#define RB_SET_R(t, n, r)               \
-    ({ (n)->right = (r); })
-
-#define RB_SET_C(t, n, c)               \
-    RB_SET_C_##c((t), (n))
-
-#define RB_SET_C_RB_BLK(t, n)           \
-    ({ (n)->color &= ~1; })
-
-#define RB_SET_C_RB_RED(t, n)           \
-    ({ (n)->color |= 1; })
-
-#define RB_SET_P_C(t, n, p, c)          \
-    ({ (n)->parent = (p); RB_SET_C_##c(t, n); })
-
-#define RB_SET_P_L(t, n, p, l)          \
-    ({ (n)->parent = (p); (n)->left = (l); })
-
-#define RB_SET_P_L_C(t, n, p, l, c)     \
-    ({ (n)->parent = (p); (n)->left = (l); RB_SET_C_##c(t, n); })
-
-#define RB_SET_P_R(t, n, p, r)          \
-    ({ (n)->parent = (p); (n)->right = (r); })
-
-#define RB_SET_P_R_C(t, n, p, r, c)     \
-    ({ (n)->parent = (p); (n)->right = (r); RB_SET_C_##c(t, n); })
-
-#define RB_SET_P_L_R(t, n, p, l, r)     \
-    ({ (n)->parent = (p); (n)->left = (l); (n)->right = (r); })
-
-#define RB_SET_P_L_R_C(t, n, p, l, r, c)\
-    ({ (n)->parent = (p); (n)->left = (l); (n)->right = (r); RB_SET_C_##c(t, n); })
-
-#define RB_SET_ROOT(t, n)               \
-    RB_SET_L((t), &(t)->root, (n))
-
-/*******************************************************************************
- * RB-tree functions
- ******************************************************************************/
-
-/*******************************************************************************
- * rb_first, rb_last
- *
- * Return pointer to first/last item in the tree
- ******************************************************************************/
-
-rb_idx_t rb_first(rb_tree_t *tree)
-{
-    rb_idx_t    p_idx, t_idx;
-    
-    if ((p_idx = RB_ROOT(tree)) != RB_NULL(tree))
-    {
-        /* ...find left-most item in non-empty tree */
-        while ((t_idx = RB_LEFT(tree, p_idx)) != RB_NULL(tree))
-            p_idx = t_idx;
-    }
-    
-    return p_idx;
-}
-
-rb_idx_t rb_last(rb_tree_t *tree)
-{
-    rb_idx_t    p_idx, t_idx;
-    
-    if ((p_idx = RB_ROOT(tree)) != RB_NULL(tree))
-    {
-        /* ...find right-most item in non-empty tree */
-        while ((t_idx = RB_RIGHT(tree, p_idx)) != RB_NULL(tree))
-            p_idx = t_idx;
-    }
-    
-    return p_idx;
-}
-
-/*******************************************************************************
- * rb_next, rb_prev
- *
- * Return next / previous in-order item in the tree
- ******************************************************************************/
-
-rb_idx_t rb_next(rb_tree_t *tree, rb_idx_t n_idx)
-{
-    rb_idx_t    p_idx, c_idx, t_idx;
-    
-    /* ...if we have any right children, process them */
-    if ((c_idx = RB_RIGHT(tree, n_idx)) != RB_NULL(tree))
-    {
-        /* ...descent to the left-most node starting from right child */
-        while ((t_idx = RB_LEFT(tree, c_idx)) != RB_NULL(tree))
-            c_idx = t_idx;
-        return c_idx;
-    }
-    
-    /* ...no right children; ascend to our parent while we are right child */
-    while ((p_idx = RB_PARENT(tree, n_idx)) != RB_NULL(tree))
-    {
-        /* ...as soon as "n" is a left child, return "p" */
-        if (n_idx == RB_RIGHT(tree, p_idx))
-            n_idx = p_idx;
-        else
-            return p_idx;
-    }
-    
-    /* ...we were right-most child */
-    return p_idx;
-}
-
-rb_idx_t rb_prev(rb_tree_t *tree, rb_idx_t n_idx)
-{
-    rb_idx_t    p_idx, c_idx, t_idx;
-    
-    /* ...if we have any left children, process them */
-    if ((c_idx = RB_LEFT(tree, n_idx)) != RB_NULL(tree))
-    {
-        /* ...descent to the right-most node starting from left child */
-        while ((t_idx = RB_RIGHT(tree, c_idx)) != RB_NULL(tree))
-            c_idx = t_idx;
-        return c_idx;
-    }
-    
-    /* ...no left children; ascend to our parent while we are left child */
-    while ((p_idx = RB_PARENT(tree, n_idx)) != RB_NULL(tree))
-    {
-        /* ...as soon as "n" is a right child, return "p" */
-        if (n_idx == RB_LEFT(tree, p_idx))
-            n_idx = p_idx;
-        else
-            return p_idx;
-    }
-    
-    /* ...we were left-most child */
-    return p_idx;
-}
-
-/*******************************************************************************
- * rb_init
- *
- * Initialize rb-tree structure
- ******************************************************************************/
-
-void rb_init(rb_tree_t *tree)
-{
-    /* ...initialize sentinel node of the empty tree */
-    RB_SET_P_L_R_C(tree, &tree->root, RB_NULL(tree), RB_NULL(tree), RB_NULL(tree), RB_BLK);
-}
-
-/*******************************************************************************
- * rb_insert
- *
- * Insert new item into RB-tree. Returns non-zero node index on success
- ******************************************************************************/
-
-/* ...internal tree balancing function */
-static void __rb_insert_balance(rb_tree_t *tree, rb_idx_t n_idx, rb_idx_t p_idx)
-{
-	rb_idx_t    u_idx, g_idx, t_idx, cl_idx, cr_idx;
-
-rebalance:
-
-	/***************************************************************************
-	 * Trivial case #1 - N (red) is a root
-	 **************************************************************************/
-
-	if (p_idx == RB_NULL(tree))
-    {
-		RB_SET_C(tree, n_idx, RB_BLK);
-		goto root;
-	}
-
-	/***************************************************************************
-	 * Trivial case #2 - P is black
-	 **************************************************************************/
-
-	if (RB_IS_BLACK(tree, p_idx))
-		goto done;
-
-	/***************************************************************************
-	 * Complex cases - P is red, N is red
-	 **************************************************************************/
-
-	/* ...grandparent must exist and be black */
-	g_idx = RB_PARENT(tree, p_idx);
-	if (p_idx == RB_LEFT(tree, g_idx))
-    {
-		/* ...we are left grandchild; get uncle (if it exists) */
-		u_idx = RB_RIGHT(tree, g_idx);
-
-		/* ...if U is read, we have conditions of case #3 */
-		if (!RB_IS_BLACK(tree, u_idx))
-			goto case3;
-
-		/* ...we will need grand-grand-parent later */
-		t_idx = RB_PARENT(tree, g_idx);
-
-		/* ...U is black/null; if we are LL grandchild, we have case #5 */
-		if (n_idx == RB_LEFT(tree, p_idx))
-			goto case5_ll;
-
-		/* ...N is RL grandchild of G; case #4 */
-		goto case4_rl;
-	}
-    else
-    {
-		/* ...we are right grandchild; get uncle (if it exists) */
-		u_idx = RB_LEFT(tree, g_idx);
-
-		/* ...if U is read, we have conditions of case #3 */
-		if (!RB_IS_BLACK(tree, u_idx))
-			goto case3;
-
-		/* ...we will need grand-grand-parent later */
-		t_idx = RB_PARENT(tree, g_idx);
-
-		/* ...U is black/null; if we are RR grandchild, we have case #5 */
-		if (n_idx == RB_RIGHT(tree, p_idx))
-			goto case5_rr;
-
-		/* ...N is LR grandchild of G; case #4 */
-		goto case4_lr;
-	}
-
-case4_rl:
-
-	/***************************************************************************
-	 * Case #4 - P is red, U is black, N is red RL grandchild of G. We will do
-	 * two tree rotations - first the one described in case #4, second is the
-	 * one described in case #5 (as have conditions for case #5(LL) with P and
-	 * N changing roles
-	 **************************************************************************/
-
-	cl_idx = RB_LEFT(tree, n_idx), cr_idx = RB_RIGHT(tree, n_idx);
-	RB_SET_P_L_R_C(tree, n_idx, t_idx, p_idx, g_idx, RB_BLK);
-	RB_SET_P_R(tree, p_idx, n_idx, cl_idx);
-	RB_SET_P(tree, cl_idx, p_idx);
-	RB_SET_P_L_C(tree, g_idx, n_idx, cr_idx, RB_RED);
-	RB_SET_P(tree, cr_idx, g_idx);
-
-	/* ...new root of subtree is N; adjust T pointer */
-	goto case5_xx;
-
-case4_lr:
-
-	/***************************************************************************
-	 * Case #4 - P is red, U is black, N is red LR grandchild of G. We will do
-	 * two tree rotations - first the one described in case #4, second is the
-	 * one described in case #5 (as have conditions for case #5(RR) with P and
-	 * N changing roles
-	 **************************************************************************/
-
-	cl_idx = RB_LEFT(tree, n_idx), cr_idx = RB_RIGHT(tree, n_idx);
-	RB_SET_P_L_R_C(tree, n_idx, t_idx, g_idx, p_idx, RB_BLK);
-	RB_SET_P_L(tree, p_idx, n_idx, cr_idx);
-	RB_SET_P(tree, cr_idx, p_idx);
-	RB_SET_P_R_C(tree, g_idx, n_idx, cl_idx, RB_RED);
-	RB_SET_P(tree, cl_idx, g_idx);
-
-	/* ...new root of the subtree is N; adjust T pointer */
-	goto case5_xx;
-
-case5_ll:
-
-	/***************************************************************************
-	 * Case #5: N is LL grandchild of P; N and P red, G and U black
-	 **************************************************************************/
-
-	cr_idx = RB_RIGHT(tree, p_idx);
-	RB_SET_P_L_C(tree, g_idx, p_idx, cr_idx, RB_RED);
-	RB_SET_P(tree, cr_idx, g_idx);
-	RB_SET_P_R_C(tree, p_idx, t_idx, g_idx, RB_BLK);
-
-	/* ...new root of the subtree is P; relabel and adjust T pointer */
-	n_idx = p_idx;
-	goto case5_xx;
-
-case5_rr:
-
-	/***************************************************************************
-	 * Case #5: N is RR grandchild of P; N and P red, G and U black
-	 **************************************************************************/
-
-	cl_idx = RB_LEFT(tree, p_idx);
-	RB_SET_P_R_C(tree, g_idx, p_idx, cl_idx, RB_RED);
-	RB_SET_P(tree, cl_idx, g_idx);
-	RB_SET_P_L_C(tree, p_idx, t_idx, g_idx, RB_BLK);
-
-	/* ...new root of the subtree is P; relabel and adjust T pointer */
-	n_idx = p_idx;
-	goto case5_xx;
-
-case5_xx:
-
-	/* ...N is a (black) root of subtree; check if it is a root of tree as well */
-    if (t_idx == RB_NULL(tree))
-        goto root;
-    else if (g_idx == RB_LEFT(tree, t_idx))
-        RB_SET_L(tree, t_idx, n_idx);
-    else
-        RB_SET_R(tree, t_idx, n_idx);
-    
-    goto done;
-
-case3:
-
-	/***************************************************************************
-	 * Case #3 - P and U are red, G is black
-	 **************************************************************************/
-
-	RB_SET_C(tree, p_idx, RB_BLK);
-	RB_SET_C(tree, u_idx, RB_BLK);
-	RB_SET_C(tree, g_idx, RB_RED);
-
-	/* ...rebalance the tree for a G */
-	n_idx = g_idx, p_idx = RB_PARENT(tree, g_idx);
-	goto rebalance;
-
-root:
-	/* ...adjust root pointer of the tree */
-	RB_SET_ROOT(tree, n_idx);
-
-done:
-	/* ...tree is balanced */
-	return;
-}
-
-/* ...high-level API function */
-void rb_insert(rb_tree_t *tree, rb_idx_t n_idx, rb_idx_t p_idx)
-{
-    if (p_idx == RB_NULL(tree))
-    {
-        /* ...set black root node */
-		RB_SET_P_L_R_C(tree, n_idx, p_idx, p_idx, p_idx, RB_BLK);
-
-        /* ...tree consists of the only root node; is balanced */
-		RB_SET_ROOT(tree, n_idx);
-    }
-    else
-    {
-        /* ...create new node - set parent pointer and paint red */
-        RB_SET_P_L_R_C(tree, n_idx, p_idx, RB_NULL(tree), RB_NULL(tree), RB_RED);
-
-        /* ...and rebalance the tree */
-        __rb_insert_balance(tree, n_idx, p_idx);
-    }
-}
-
-/*******************************************************************************
- * rb_delete
- *
- * Remove item from RB-key (by key). Returns zero on success
- ******************************************************************************/
-
-/* ...internal tree balancing function */
-static void __rb_delete_rebalance(rb_tree_t *tree, rb_idx_t p_idx)
-{
-	rb_idx_t    n_idx, s_idx, sl_idx, sr_idx, g_idx, c_idx, cl_idx, cr_idx;
-
-    /* ...initialize rebalancing procedure with null-child of P */
-    n_idx = RB_NULL(tree);
-    
-rebalance:
-
-	/* ...save grand-parent pointer (may be null) */
-	g_idx = RB_PARENT(tree, p_idx);
-
-	/***************************************************************************
-	 * Check for complex cases
-	 **************************************************************************/
-
-	if (n_idx == RB_LEFT(tree, p_idx))
-    {
-		/* ...N is left child; get sibling (must exist) and its children  */
-		s_idx = RB_RIGHT(tree, p_idx);
-		sl_idx = RB_LEFT(tree, s_idx);
-		sr_idx = RB_RIGHT(tree, s_idx);
-
-		/* ...if S is black, test for conditions 3,4,5,6; otherwise - case 2 */
-		if (RB_IS_BLACK(tree, s_idx))
-			goto test3_l;
-		else
-			goto case2_l;
-	}
-    else
-    {
-		/* ...N is right child; get sibling (must exist) and its children */
-		s_idx = RB_LEFT(tree, p_idx);
-		sl_idx = RB_LEFT(tree, s_idx);
-		sr_idx = RB_RIGHT(tree, s_idx);
-
-		/* ...if S is black, test for conditions 3,4,5,6; otherwise - case 2 */
-		if (RB_IS_BLACK(tree, s_idx))
-			goto test3_r;
-		else
-			goto case2_r;
-	}
-
-case2_l:
-
-	/***************************************************************************
-	 * Case #2: N is a left child of P; S is red
-	 **************************************************************************/
-
-	c_idx = sl_idx;
-	RB_SET_P_L_C(tree, s_idx, g_idx, p_idx, RB_BLK);
-	RB_SET_P_R_C(tree, p_idx, s_idx, c_idx, RB_RED);
-	RB_SET_P(tree, c_idx, p_idx);
-
-	/* ...S is new root of subtree, Sl(C) is new sibling of N; update G */
-	goto case2_x;
-
-case2_r:
-
-	/***************************************************************************
-	 * Case #2: N is a right child of P; S is red
-	 **************************************************************************/
-
-	c_idx = sr_idx;
-	RB_SET_P_R_C(tree, s_idx, g_idx, p_idx, RB_BLK);
-	RB_SET_P_L_C(tree, p_idx, s_idx, c_idx, RB_RED);
-	RB_SET_P(tree, c_idx, p_idx);
-
-	/* ...S is new root of subtree, Sr(C) is new sibling of N; update G */
-	goto case2_x;
-
-case2_x:
-
-	/* ...check if S is becoming new (black) root of the tree */
-    if (g_idx == RB_NULL(tree))
-        RB_SET_ROOT(tree, s_idx);
-    else if (p_idx == RB_LEFT(tree, g_idx))
-        RB_SET_L(tree, g_idx, s_idx);
-    else
-        RB_SET_R(tree, g_idx, s_idx);
-
-	/* ...relabel new N's grandparent (now S) as G and new sibling (now C) as S	 */
-	g_idx = s_idx, s_idx = c_idx;
-	sl_idx = RB_LEFT(tree, s_idx);
-	sr_idx = RB_RIGHT(tree, s_idx);
-
-	/* ...N is still one of P's children; select proper side */
-	if (n_idx == RB_LEFT(tree, p_idx))
-		goto test3_l;
-	else
-		goto test3_r;
-
-test3_l:
-
-	/***************************************************************************
-	 * Test for cases 3,4,5,6; P is any, S is black. N is left child of P
-	 **************************************************************************/
-    
-    if (!RB_IS_BLACK(tree, sr_idx))
-		/* ...Sr is red, Sl of any color; conditions for case #6 are met */
-		goto case6_l;
-    else if (!RB_IS_BLACK(tree, sl_idx))
-        /* ...Sr is black and Sl is red; conditions for case #5 are met */
-        goto case5_l;
-    else if (RB_IS_BLACK(tree, p_idx))
-        /* ...Sl and Sr are of the same (black) color and P is black */
-        goto case3;
-    else
-        /* ...Sl and Sr are of the same (black) color and P is red */
-        goto case4;
-
-test3_r:
-
-	/***************************************************************************
-	 * Test for cases 3,4,5,6; P is any, S is black. N is right child of P
-	 **************************************************************************/
-
-    if (!RB_IS_BLACK(tree, sl_idx))
-		/* ...Sl is red, Sr of any color; conditions for case #6 are met */
-		goto case6_r;
-    else if (!RB_IS_BLACK(tree, sr_idx))
-        /* ...Sl is black and Sr is red; conditions for case #5 are met */
-        goto case5_r;
-    else if (RB_IS_BLACK(tree, p_idx))
-        /* ...Sl and Sr are of the same (black) color and P is black */
-        goto case3;
-    else
-        /* ...Sl and Sr are of the same (black) color and P is red */
-        goto case4;
-
-case3:
-
-	/***************************************************************************
-	 * Case #3: N, P, S, Sl and Sr are black
-	 **************************************************************************/
-
-	RB_SET_C(tree, s_idx, RB_RED);
-
-	/* ...and rebalance the tree for parent */
-	n_idx = p_idx, p_idx = RB_PARENT(tree, p_idx);
-
-	if (p_idx == RB_NULL(tree))
-		goto done;
-	else
-		goto rebalance;
-
-case4:
-
-	/***************************************************************************
-	 * Case #4: N and S are black, P is red, Sl and Sr are all black
-	 **************************************************************************/
-
-	RB_SET_C(tree, s_idx, RB_RED);
-	RB_SET_C(tree, p_idx, RB_BLK);
-
-	goto done;
-
-case5_l:
-	/***************************************************************************
-	 * Case #5: S is black, Sl is red, Sr is black; N is left child of P. We
-	 * have two subsequent transformations (case #5 and case #6) combined
-	 **************************************************************************/
-
-	cl_idx = RB_LEFT(tree, sl_idx);
-	cr_idx = RB_RIGHT(tree, sl_idx);
-
-	if (RB_IS_BLACK(tree, p_idx))
-		RB_SET_P_L_R_C(tree, sl_idx, g_idx, p_idx, s_idx, RB_BLK);
-	else
-		RB_SET_P_L_R_C(tree, sl_idx, g_idx, p_idx, s_idx, RB_RED);
-
-	RB_SET_P_R_C(tree, p_idx, sl_idx, cl_idx, RB_BLK);
-	RB_SET_P(tree, cl_idx, p_idx);
-	RB_SET_P_L(tree, s_idx, sl_idx, cr_idx);
-	RB_SET_P(tree, cr_idx, s_idx);
-
-	/* ...relabel new root as S (for common processing in case #6) */
-	s_idx = sl_idx;
-	goto case6_x;
-
-case5_r:
-	/***************************************************************************
-	 * Case #5: S is black, Sr is red, Sl is black; N is right child of P. We
-	 * have two subsequent transformations (case #5 and case #6) combined
-	 **************************************************************************/
-
-	cl_idx = RB_LEFT(tree, sr_idx);
-	cr_idx = RB_RIGHT(tree, sr_idx);
-
-	if (RB_IS_BLACK(tree, p_idx))
-		RB_SET_P_L_R_C(tree, sr_idx, g_idx, s_idx, p_idx, RB_BLK);
-	else
-		RB_SET_P_L_R_C(tree, sr_idx, g_idx, s_idx, p_idx, RB_RED);
-
-	RB_SET_P_L_C(tree, p_idx, sr_idx, cr_idx, RB_BLK);
-	RB_SET_P(tree, cr_idx, p_idx);
-	RB_SET_P_R(tree, s_idx, sr_idx, cl_idx);
-	RB_SET_P(tree, cl_idx, s_idx);
-
-	/* ...relabel new root as S (for common processing in case #6) */
-	s_idx = sr_idx;
-	goto case6_x;
-
-case6_l:
-
-	/***************************************************************************
-	 * Case #6: S is black, N is the left child of P, Sr is red
-	 **************************************************************************/
-
-	if (RB_IS_BLACK(tree, p_idx))
-		RB_SET_P_L(tree, s_idx, g_idx, p_idx);
-	else
-		RB_SET_P_L_C(tree, s_idx, g_idx, p_idx, RB_RED);
-
-	RB_SET_P_R_C(tree, p_idx, s_idx, sl_idx, RB_BLK);
-	RB_SET_P(tree, sl_idx, p_idx);
-	RB_SET_C(tree, sr_idx, RB_BLK);
-
-	/* ...S is a new root of subtree; update G */
-	goto case6_x;
-
-case6_r:
-
-	/***************************************************************************
-	 * Case #6: S is black, N is the right child of P, Sl is red
-	 **************************************************************************/
-
-	if (RB_IS_BLACK(tree, p_idx))
-		RB_SET_P_R(tree, s_idx, g_idx, p_idx);
-	else
-		RB_SET_P_R_C(tree, s_idx, g_idx, p_idx, RB_RED);
-
-	RB_SET_P_L_C(tree, p_idx, s_idx, sr_idx, RB_BLK);
-	RB_SET_P(tree, sr_idx, p_idx);
-	RB_SET_C(tree, sl_idx, RB_BLK);
-
-	/* ...S is a new root of subtree; update G */
-	goto case6_x;
-
-case6_x:
-
-	/* ...S is a new root of subtree; update G's pointer */
-    if (g_idx == RB_NULL(tree))
-		RB_SET_ROOT(tree, s_idx);
-    else if (p_idx == RB_LEFT(tree, g_idx))
-        RB_SET_L(tree, g_idx, s_idx);
-    else
-        RB_SET_R(tree, g_idx, s_idx);
-
-	/* ...tree is balanced; pass through */
-
-done:
-
-	return;
-}
-
-/* ...high-level API function */
-rb_idx_t rb_delete(rb_tree_t *tree, rb_idx_t n_idx)
-{
-	rb_idx_t    p_idx, t_idx, m_idx, c_idx, l_idx, r_idx, k_idx;
-    u32         color;
-    
-    /* ...save parent of element N that we are going to remove */
-    p_idx = RB_PARENT(tree, n_idx);
-
-	/* ...get in-order predecessor/successor of n_idx, if possible */
-	if ((m_idx = RB_LEFT(tree, n_idx)) != RB_NULL(tree))
-    {
-		while ((t_idx = RB_RIGHT(tree, m_idx)) != RB_NULL(tree))
-			m_idx = t_idx;
-
-        /* ...set the child of in-order predecessor (may be null) */
-		c_idx = RB_LEFT(tree, m_idx);   
-	}
-    else if ((m_idx = RB_RIGHT(tree, n_idx)) != RB_NULL(tree))
-    {
-		while ((t_idx = RB_LEFT(tree, m_idx)) != RB_NULL(tree))
-			m_idx = t_idx;
-
-        /* ...set the child of in-order successor (may be null) */
-		c_idx = RB_RIGHT(tree, m_idx);
-	}
-    else if (p_idx == RB_NULL(tree))
-    {
-        /* ...tree consists of the only root node N that we are removing */
-        RB_SET_ROOT(tree, m_idx);
-
-        /* ..return tree null pointer */
-        return m_idx;
-    }
-    else
-    {
-        /* ...N is a (non-root) leaf node; M and C are null */
-		c_idx = m_idx;
-
-        /* ...save the color of the node we are going to delete */
-        color = RB_COLOR(tree, n_idx);
-                        
-        /* ...set new parent of C */
-        t_idx = p_idx;
-        
-        /* ...pointer that we return as in-order predecessor/successor */
-        k_idx = p_idx;
-        
-        /* ...adjust only parent of the N */
-        goto adjust_parent;
-    }
-
-    /* ...node that replaces our component is M */
-    k_idx = m_idx;
-    
-	/***************************************************************************
-	 * Replace node N with M
-	 **************************************************************************/
-
-    /* ...save original color of M (the node that we are deleting) */
-    color = RB_COLOR(tree, m_idx);    
-
-    /* ...put M in place of N; get N's children */
-    l_idx = RB_LEFT(tree, n_idx);
-    r_idx = RB_RIGHT(tree, n_idx);
-
-    /* ...see if M is a child of N */
-    if ((t_idx = RB_PARENT(tree, m_idx)) != n_idx)
-    {
-        /* ...C becomes left or right child of M's original parent T */
-        if (c_idx == RB_LEFT(tree, m_idx))
-            RB_SET_R(tree, t_idx, c_idx);
-        else
-            RB_SET_L(tree, t_idx, c_idx);
-        
-        /* ...adjust C parent pointer (okay if it's null)  */
-        RB_SET_P(tree, c_idx, t_idx);
-
-        /* ...set all pointers of node M (it replaces N) */
-        RB_SET_P_L_R(tree, m_idx, p_idx, l_idx, r_idx);
-        RB_SET_P(tree, l_idx, m_idx);
-        RB_SET_P(tree, r_idx, m_idx);
-    }
-    else
-    {
-        /* ...M is a left or right child of N; it gets to N's place, and C remains intact */
-        if (m_idx == l_idx)
-        {
-            RB_SET_P_R(tree, m_idx, p_idx, r_idx);
-            RB_SET_P(tree, r_idx, m_idx);
-        }
-        else
-        {
-            RB_SET_P_L(tree, m_idx, p_idx, l_idx);
-            RB_SET_P(tree, l_idx, m_idx);
-        }
-
-        /* ...parent of C is still M (we label it as T) */
-        t_idx = m_idx;
-    }
-
-    /* ...paint M in the same color as N which it replaced */
-    if (RB_IS_BLACK(tree, n_idx))
-        RB_SET_C(tree, m_idx, RB_BLK);
-    else
-        RB_SET_C(tree, m_idx, RB_RED);
-    
-adjust_parent:
-
-    /* ...adjust N's parent node to point to M */
-    if (p_idx == RB_NULL(tree))
-        RB_SET_ROOT(tree, m_idx);
-    else if (n_idx == RB_LEFT(tree, p_idx))
-        RB_SET_L(tree, p_idx, m_idx);
-    else
-        RB_SET_R(tree, p_idx, m_idx);
-
-	/* ...check for a color of deleted item (M or N in case it is a leaf) */
-	if (color == RB_BLK)
-    {
-		if (c_idx == RB_NULL(tree))
-            /* ...rebalance the tree for a T node (it is never a null)*/
-            __rb_delete_rebalance(tree, t_idx);
-		else
-            /* ...C node exists and is necessarily red; repaint it black */
-            RB_SET_C(tree, c_idx, RB_BLK);
-	}
-
-    /* ....return the node K which replaced deleted node N */
-    return k_idx;
-}
-
-/*******************************************************************************
- * rb_replace
- *
- * Replace the node with the same-key node - adjust tree pointers
- ******************************************************************************/
-
-void rb_replace(rb_tree_t *tree, rb_idx_t n_idx, rb_idx_t t_idx)
-{
-    rb_idx_t    p_idx, l_idx, r_idx;
-    
-    /* ...get node pointers */
-    p_idx = RB_PARENT(tree, n_idx), l_idx = RB_LEFT(tree, n_idx), r_idx = RB_RIGHT(tree, n_idx);
-
-    /* ...set new node pointers */
-    RB_SET_P_L_R(tree, t_idx, p_idx, l_idx, r_idx);
-    
-    /* ...set node color */
-    if (RB_IS_BLACK(tree, n_idx))
-        RB_SET_C(tree, t_idx, RB_BLK);
-    else
-        RB_SET_C(tree, t_idx, RB_RED);
-
-    /* ...update parent node */
-    if (p_idx == RB_NULL(tree))
-        RB_SET_ROOT(tree, t_idx);
-    else if (n_idx == RB_LEFT(tree, p_idx))
-        RB_SET_L(tree, p_idx, t_idx);
-    else
-        RB_SET_R(tree, p_idx, t_idx);
-    
-    /* ...update children's parent node (okay if null) */
-    RB_SET_P(tree, l_idx, t_idx), RB_SET_P(tree, r_idx, t_idx); 
-}
diff --git a/hifi/xaf/hifi-dpf/core/util/tinyvprintf.c b/hifi/xaf/hifi-dpf/core/util/tinyvprintf.c
deleted file mode 100644
index 25d7e03..0000000
--- a/hifi/xaf/hifi-dpf/core/util/tinyvprintf.c
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-
-#include <string.h>
-#include "lib/tinyput.h"
-
-
-/*
- *  Simple formatted output routine.
- *  Designed primarily for small size (and secondarily for efficiency).
- *  Only a common subset of printf formats and options are handled:
- *
- *	%[-+ ][0][width]i	decimal signed integer
- *	%[-+ ][0][width]d	decimal signed integer
- *	%[-][0][width]u		decimal unsigned integer
- *	%[-][0][width]x		hex unsigned integer
- *	%[-][0][width]p		hex unsigned integer with 0x prefix ("pointer")
- *	%[-][width]c		single character
- *	%[-][width]s		string
- *
- *  These modifiers are ignored (legally on 32-bit Xtensa):
- *	#           (alternate format)
- *	h           (short)			expands to int on 32-bit Xtensa
- *	l           (long)			same as int on 32-bit Xtensa
- *	j           (intmax_t or uintmax_t)	same as int on 32-bit Xtensa
- *	z           (size_t or ssize_t)		same as int on 32-bit Xtensa
- *	t           (ptrdiff_t)			same as int on 32-bit Xtensa
- *
- *  Does NOT support:
- *	width.prec  (precision modifier)
- *	%X          (capitalized hex; handles this as lowercase hex)
- *	%o          (octal)
- *	%[L][feEgG] (floating point formats)
- *	%a %A       (hex floating point formats, C99)
- *	%C          (multibyte character)
- *	%S          (multibyte character string)
- *	%n          (returning count of character written)
- *	ll          (long long)
- *	q j z t     (other size modifiers, eg. see glibc)
- */
-int tiny_vsprintf(char *out, const char *fmt, va_list ap)
-{
-    int total = 0;
-    char c, space = ' ', buf[11];	/* largest 32-bit integer output (octal) */
-
-    while ((c = *(char*)fmt++) != 0) {
-        if (c != '%') {
-            *out++ = c;
-            total++;
-        } else {
-            int width = 0, len = 1, rightjust = 1;
-            unsigned n;
-            char *s = buf, *t, pad = ' ', sign = 0;
-            while (1) {
-                c = *(char*)fmt++;
-                switch (c) {
-                case 'c':	buf[0] = va_arg(ap, int);		goto donefmt;
-                case 's':	s = va_arg(ap, char*);
-                    if (s == 0)
-                        len = 0;
-                    else {
-                        for (t = s; *t; t++) ;
-                        len = t - s;
-                    }
-                    goto donefmt;
-
-                case '#':	/* ignore (not supported) */
-                case 'h':	/* ignore (short; passed as int) */
-                case 'l':	/* ignore (long; same as int) */
-                case 'j':	/* ignore (intmax_t or uintmax_t; same as int) */
-                case 'z':	/* ignore (size_t or ssize_t; same as int) */
-                case 't':	/* ignore (ptrdiff_t; same as int) */
-                    break;
-
-                case ' ':	sign = ' ';				break;
-                case '+':	sign = '+';				break;
-                case '-':	rightjust = 0;				break;
-
-                case 'i':	/*FALLTHROUGH*/
-                case 'd':	n = va_arg(ap, int);
-                if ((int)n < 0) {
-                    sign = '-';
-                    n = -(int)n;
-                }
-                if (sign) {
-                    if (rightjust && pad == ' ')
-                        *s++ = sign;
-                    else {
-                        *out++ = sign;
-                        width--;
-                        total++;
-                    }
-                }
-                goto do_decimal;
-                case 'u':	n = va_arg(ap, int);
-                do_decimal:
-                {
-                    /*  (avoids division or multiplication)  */
-                    int digit, i, seen = 0;
-                    for (digit = 0; n >= 1000000000; digit++)
-                        n -= 1000000000;
-                    for (i = 9;;) {
-                        if (!seen && digit != 0)
-                            seen = i;
-                        if (seen)
-                            *s++ = '0' + digit;
-                        for (digit = 0; n >= 100000000; digit++)
-                            n -= 100000000;
-                        if (--i == 0) {
-                            *s++ = '0' + digit;
-                            len = s - buf;
-                            s = buf;
-                            goto donefmt;
-                        }
-                        n = ((n << 1) + (n << 3));
-                    }
-                }
-                /*NOTREACHED*/
-
-#if 0
-                case 'o':	n = va_arg(ap, unsigned);
-                    s = buf + 11;
-                    do {
-                        *--s = '0' + (n & 7);
-                        n = (unsigned)n >> 3;
-                    } while (n);
-                    len = buf + 11 - s;
-                    goto donefmt;
-#endif
-
-                case 'p':	*out++ = '0', *out++ = 'x';
-                    total += 2;
-                    /*FALLTHROUGH*/
-                case 'X':	/*FALLTHROUGH*/
-                case 'x':	n = va_arg(ap, unsigned);
-                s = buf + 8;
-                do {
-                    *--s = "0123456789abcdef"[n & 0xF];
-                    n = (unsigned)n >> 4;
-                } while (n);
-                len = buf + 8 - s;
-                goto donefmt;
-
-                case 0:	goto done;
-                case '0':	if (width == 0) pad = '0';		/*FALLTHROUGH*/
-                default:	if (c >= '0' && c <= '9')
-                    width = ((width<<1) + (width<<3)) + (c - '0');
-                else {
-                    buf[0] = c;		/* handles case of '%' */
-                    goto donefmt;
-                }
-                }
-            }
-            /*NOTREACHED*/
-        donefmt:
-            if (len < width) {
-                total += width;
-                if (rightjust)
-                    do { *out++ = pad; } while (len < --width);
-            } else
-                total += len;
-            for(n = len; n > 0; n--) *out++ = *s++;
-            for (; len < width; len++) *out++ = space;
-        }
-    }
-done:
-    return total;
-}
-
-int tiny_sprintf(char *out, const char *fmt, ...)
-{
-  int n = 0;
-  va_list ap;
-  va_start(ap, fmt);
-  n = tiny_vsprintf(out, fmt, ap);
-  va_end(ap);
-  return n;
-}
diff --git a/hifi/xaf/hifi-dpf/core/xf-core.c b/hifi/xaf/hifi-dpf/core/xf-core.c
deleted file mode 100644
index 95bca12..0000000
--- a/hifi/xaf/hifi-dpf/core/xf-core.c
+++ /dev/null
@@ -1,709 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/*******************************************************************************
- * xf-core.c
- *
- * DSP processing framework core
- *
- ******************************************************************************/
-
-#define MODULE_TAG                      CORE
-
-/*******************************************************************************
- * Includes
- ******************************************************************************/
-
-#include "xf.h"
-
-/*******************************************************************************
- * Tracing tags
- ******************************************************************************/
-
-/* ...general initialization sequence */
-TRACE_TAG(INIT, 1);
-
-/* ...message dispatching */
-TRACE_TAG(DISP, 1);
-
-/* ...client registration procedures */
-TRACE_TAG(REG, 1);
-
-/* ...ports routing/unrouting */
-TRACE_TAG(ROUTE, 1);
-
-#ifdef XAF_PROFILE_DSP
-/* ... MCPS/profile info */
-#include "xa_profiler.h"
-#endif
-/*******************************************************************************
- * Internal helpers
- ******************************************************************************/
-
-/* ...translate client-id into component handle */
-static inline xf_component_t * xf_client_lookup(xf_core_data_t *cd, u32 client)
-{
-    xf_cmap_link_t *link = &cd->cmap[client];
-
-    /* ...if link pointer is less than XF_CFG_MAX_CLIENTS, it is a free descriptor */
-    return (link->next > XF_CFG_MAX_CLIENTS ? link->c : NULL);
-}
-
-/* ...allocate client-id */
-static inline u32 xf_client_alloc(xf_core_data_t *cd)
-{
-    u32     client = cd->free;
-
-    /* ...advance list head to next free id */
-    (client < XF_CFG_MAX_CLIENTS ? cd->free = cd->cmap[client].next : 0);
-
-    return client;
-}
-
-/* ...recycle client-id */
-static inline void xf_client_free(xf_core_data_t *cd, u32 client)
-{
-    /* ...put client into the head of the free id list */
-    cd->cmap[client].next = cd->free, cd->free = client;
-}
-
-/*******************************************************************************
- * Process commands to a proxy
- ******************************************************************************/
-
-/* ...register new client */
-static int xf_proxy_register(u32 core, xf_message_t *m)
-{
-    xf_core_data_t *cd = XF_CORE_DATA(core);
-    u32             src = XF_MSG_SRC(m->id);
-    u32             client;
-    xf_component_t *component;
-    
-    /* ...allocate new client-id */
-    XF_CHK_ERR((client = xf_client_alloc(cd)) != XF_CFG_MAX_CLIENTS, -EBUSY);
-    
-    /* ...create component via class factory */
-    if ((component = xf_component_factory(core, m->buffer, m->length)) == NULL)
-    {
-        TRACE(ERROR, _x("Component creation failed"));
-        
-        /* ...recycle client-id */
-        xf_client_free(cd, client);
-        
-        /* ...return generic out-of-memory code always (tbd) */
-        return -ENOMEM;
-    }
-
-    /* ...register component in a map */
-    cd->cmap[client].c = component;
-
-    /* ...set component "default" port specification ("destination") */
-    component->id = __XF_PORT_SPEC(core, client, 0);
-    
-    /* ...adjust session-id to include newly created component-id */
-    m->id = __XF_MSG_ID(src, component->id);
-
-    /* ...do system-specific registration of component within IPC layer */
-    xf_ipc_component_addref(m->id);
-    
-    TRACE(REG, _b("registered client: %u:%u (%s)"), core, client, (xf_id_t)m->buffer);
-
-    /* ...and return success to remote proxy (zero-length output) */
-    xf_response_ok(m);
-    
-    return 0;
-}
-
-/* ...shared buffer allocation request */
-static int xf_proxy_alloc(u32 core, xf_message_t *m)
-{
-    /* ...command is valid only if shared memory interface for core is specified */
-    XF_CHK_ERR(xf_shmem_enabled(core), -EPERM);
-
-    /* ...allocate shared memory buffer (system-specific function; may fail) */
-    xf_shmem_alloc(core, m);
-
-    /* ...pass result to remote proxy (on success buffer is non-null) */
-    xf_response(m);
-
-    return 0;
-}
-
-/* ...shared buffer freeing request */
-static int xf_proxy_free(u32 core, xf_message_t *m)
-{
-    /* ...command is valid only if shared memory interface for core is specified */
-    XF_CHK_ERR(xf_shmem_enabled(core), -EPERM);
-    
-    /* ...pass buffer freeing request to system-specific function */
-    xf_shmem_free(core, m);
-
-    /* ...return success to remote proxy (function never fails) */
-    xf_response(m);
-        
-    return 0;
-}
-
-#if 0
-/* ...port routing command processing */
-static int xf_proxy_route(u32 core, xf_message_t *m)
-{
-    xf_route_port_msg_t    *cmd = m->buffer;
-    u32                     src = cmd->src;
-    u32                     dst = cmd->dst;
-    xf_component_t         *component;
-    xf_output_port_t       *port;
-
-    /* ...source component must reside on the local core */
-    XF_CHK_ERR(XF_MSG_SRC_CORE(src) == core, -EINVAL);
-    
-    /* ...make sure the "src" component is valid ("dst" may reside on other core) */
-    if ((component = xf_client_lookup(XF_CORE_DATA(core), XF_PORT_CLIENT(src))) == NULL)
-    {
-        TRACE(ERROR, _x("Source port lookup failed: %x"), src);
-        return -ENOENT;
-    }
-    else if (!component->port || !(port = component->port(component, XF_PORT_ID(src))))
-    {
-        TRACE(ERROR, _b("Source port doesn't exist: %x"), src);
-        return -ENOENT;
-    }
-    else if (xf_output_port_routed(port))
-    {
-        TRACE(ERROR, _b("Source port is already routed: %x"), src);
-        return -EBUSY;
-    }
-
-    /* ...route output port with source port set as destination */
-    XF_CHK_API(xf_output_port_route(port, __XF_MSG_ID(dst, src), cmd->alloc_number, cmd->alloc_size, cmd->alloc_align));
-  
-    TRACE(ROUTE, _b("Ports routed: %03x -> %03x"), src, dst);
-
-    /* ...invoke component data-processing function directly (ignore errors? - tbd) */
-    component->entry(component, NULL);
-
-    /* ...return success result code (no output attached) */
-    xf_response_ok(m);
-
-    return 0;
-}
-
-/* ...disconnect ports */
-static int xf_proxy_unroute(u32 core, xf_message_t *m)
-{
-    xf_unroute_port_msg_t  *cmd = m->buffer;
-    u32                     src = cmd->src;
-    xf_component_t         *component;
-    xf_output_port_t       *port;
-
-    /* ...source component must reside on the local core */
-    XF_CHK_ERR(XF_MSG_SRC_CORE(src) == core, -EINVAL);
-
-    /* ...lookup source (output) port */
-    if ((component = xf_client_lookup(XF_CORE_DATA(core), XF_PORT_CLIENT(src))) == NULL)
-    {
-        TRACE(ERROR, _b("Source port lookup failed: %x"), src);
-        return -ENOENT;
-    }
-    else if (!component->port || !(port = component->port(component, XF_PORT_ID(src))))
-    {
-        TRACE(ERROR, _b("Source port doesn't exist: %x"), src);
-        return -ENOENT;
-    }
-    else if (!xf_output_port_routed(port))
-    {
-        /* ...port is not routed; satisfy immediately */
-        goto done;
-    }
-    else if (!xf_output_port_idle(port))
-    {
-        TRACE(ERROR, _b("Source port is not idle: %x"), src);
-        return -EBUSY;
-    }
-
-    /* ...unroute port (call must succeed) */
-    xf_output_port_unroute(port);
-
-    /* ...we cannot satisfy the command now, and need to propagate it to a sink - tbd */
-    //return 0;
-
-done:
-    /* ...pass success result code to caller */
-    xf_response_ok(m);
-
-    return 0;
-}
-#endif
-
-/* ...fill-this-buffer command processing */
-static int xf_proxy_output(u32 core, xf_message_t *m)
-{
-    /* ...determine destination "client" */
-    switch (XF_MSG_SRC_CLIENT(m->id))
-    {
-#if XF_TRACE_REMOTE
-    case 0:
-        /* ...destination is a tracer facility; submit buffer to tracer */
-        xf_trace_submit(core, m);
-        return 0;
-#endif
-
-    default:
-        /* ...unrecognized destination; return general failure response */
-        return XF_CHK_ERR(0, -EINVAL);
-    }
-}
-
-/* ...flush command processing */
-static int xf_proxy_flush(u32 core, xf_message_t *m)
-{
-    /* ...determine destination "client" */
-    switch (XF_MSG_SRC_CLIENT(m->id))
-    {
-#if XF_TRACE_REMOTE
-    case 0:
-        /* ...destination is a tracer facility; flush current buffer */
-        xf_trace_flush(core, m);
-        return 0;
-#endif
-
-    default:
-        /* ...unrecognized destination; return general failure response */
-        return XF_CHK_ERR(0, -EINVAL);
-    }
-}
-
-/* ...proxy command processing table */
-static int (* const xf_proxy_cmd[])(u32, xf_message_t *) = 
-{
-    [XF_OPCODE_TYPE(XF_REGISTER)] = xf_proxy_register,
-    [XF_OPCODE_TYPE(XF_ALLOC)] = xf_proxy_alloc,
-    [XF_OPCODE_TYPE(XF_FREE)] = xf_proxy_free,
-#if 0
-    [XF_OPCODE_TYPE(XF_ROUTE)] = xf_proxy_route,
-    [XF_OPCODE_TYPE(XF_UNROUTE)] = xf_proxy_unroute,
-#endif
-    [XF_OPCODE_TYPE(XF_FILL_THIS_BUFFER)] = xf_proxy_output,
-    [XF_OPCODE_TYPE(XF_FLUSH)] = xf_proxy_flush,
-};
-
-/* ...total number of commands supported */
-#define XF_PROXY_CMD_NUM        (sizeof(xf_proxy_cmd) / sizeof(xf_proxy_cmd[0]))
-
-/* ...process commands to a proxy */
-static void xf_proxy_command(u32 core, xf_message_t *m)
-{
-    u32     opcode = m->opcode;
-    int     res;
-
-    /* ...dispatch command to proper hook */
-    if (XF_OPCODE_TYPE(opcode) < XF_PROXY_CMD_NUM)
-    {
-        if ((res = xf_proxy_cmd[XF_OPCODE_TYPE(opcode)](core, m)) >= 0)
-        {
-            /* ...command processed successfully; do nothing */
-            return;
-        }
-    }
-    else
-    {
-        TRACE(ERROR, _x("invalid opcode: %x"), opcode);
-    }
-
-    /* ...command processing failed; return generic failure response */
-    xf_response_err(m);
-}
-
-/*******************************************************************************
- * Message completion helper
- ******************************************************************************/
-
-/* ...put message into local IPC command queue on remote core (src != dst) */
-static inline void xf_msg_local_ipc_put(u32 src, u32 dst, xf_message_t *m)
-{
-    xf_core_rw_data_t  *rw = XF_CORE_RW_DATA(dst);    
-    int                 first;
-    
-    /* ...flush message payload if needed */
-    if (XF_LOCAL_IPC_NON_COHERENT)
-    {
-        /* ...it may be a command with output payload only - tbd */
-        XF_PROXY_FLUSH(m->buffer, m->length);
-    }
-
-    /* ...acquire mutex to target rw-data (running on source core) */
-    xf_mutex_lock(src);
-
-    /* ...assure memory coherency as needed */
-    if (XF_LOCAL_IPC_NON_COHERENT)
-    {
-        /* ...invalidate local queue data */
-        XF_PROXY_INVALIDATE(&rw->local, sizeof(rw->local));
-        
-        /* ...place message into queue */
-        first = xf_msg_enqueue(&rw->local, m);
-        
-        /* ...flush both queue and message data */
-        XF_PROXY_FLUSH(&rw->local, sizeof(rw->local)), XF_PROXY_FLUSH(m, sizeof(*m));
-    }
-    else
-    {
-        /* ...just enqueue the message */
-        first = xf_msg_enqueue(&rw->local, m);
-    }
-    
-    /* ...release global rw-memory access lock */
-    xf_mutex_unlock(src);
-
-    /* ...signal IPI interrupt on destination core as needed */
-    (first ? xf_ipi_assert(dst), 1 : 0);
-}
-
-/* ...dequeue message from core-specific dispatch queue */
-static inline xf_message_t * xf_msg_local_ipc_get(u32 core)
-{
-    xf_core_rw_data_t  *rw = XF_CORE_RW_DATA(core);
-    xf_message_t       *m;
-    
-    /* ...retrieve message from queue in atomic fashion */
-    xf_mutex_lock(core);
-
-    /* ...process memory coherency as required */
-    if (XF_LOCAL_IPC_NON_COHERENT)
-    {
-        /* ...inavlidate local rw-data */
-        XF_PROXY_INVALIDATE(&rw->local, sizeof(rw->local));
-        
-        /* ...get message from the queue */
-        if ((m = xf_msg_dequeue(&rw->local)) != NULL)
-        {
-            /* ...flush rw-queue data */
-            XF_PROXY_FLUSH(&rw->local, sizeof(rw->local));
-        }
-    }
-    else
-    {
-        /* ...just dequeue message from the queue */
-        m = xf_msg_dequeue(&rw->local);
-    }
-    
-    /* ...release rw-memory access lock */
-    xf_mutex_unlock(core);
-
-    /* ...invalidate message header and data as needed */
-    if (XF_LOCAL_IPC_NON_COHERENT && m != NULL)
-    {
-        /* ...invalidate message header */
-        XF_PROXY_INVALIDATE(m, sizeof(*m));
-        
-        /* ...and data if needed (it may not be always needed - tbd) */
-        (m->length ? XF_PROXY_INVALIDATE(m->buffer, m->length) : 0);
-    }
-
-    /* ...return message */
-    return m;
-}
-
-/* ...retrieve message from local queue (protected from ISR) */
-static inline int xf_msg_local_put(u32 core, xf_message_t *m)
-{
-    xf_core_data_t *cd = XF_CORE_DATA(core);
-    int             first;
-    u32             status;
-    
-    /* ...use interrupt masking protocol to protect message queue */
-    status = xf_isr_disable(core);
-    first = xf_msg_enqueue(&cd->queue, m);
-    xf_isr_restore(core, status);
-    
-    return first;
-}
-
-/* ...retrieve message from local queue (protected from ISR) */
-static inline xf_message_t * xf_msg_local_get(u32 core)
-{
-    xf_core_data_t *cd = XF_CORE_DATA(core);
-    xf_message_t   *m;
-    u32             status;
-    
-    /* ...use interrupt masking protocol to protect message queue */
-    status = xf_isr_disable(core);
-    m = xf_msg_dequeue(&cd->queue);
-    xf_isr_restore(core, status);
-    
-    return m;
-}
-
-/* ...retrieve message from local queue (protected from ISR) */
-static inline xf_message_t * xf_msg_local_response_get(u32 core)
-{
-    xf_core_data_t *cd = XF_CORE_DATA(core);
-    xf_message_t   *m;
-    u32             status;
-    
-    /* ...use interrupt masking protocol to protect message queue */
-    status = xf_isr_disable(core);
-    m = xf_msg_dequeue(&cd->response);
-    xf_isr_restore(core, status);
-    
-    return m;
-}
-
-/* ...call component data processing function */
-static inline void xf_core_process(xf_component_t *component)
-{
-    u32     id = component->id;
-    
-    /* ...client look-up successfull */
-    TRACE(DISP, _b("core[%u]::client[%u]::process"), XF_PORT_CORE(id), XF_PORT_CLIENT(id));
-
-    /* ...call data-processing interface */
-    if (component->entry(component, NULL) < 0)
-    {
-        TRACE(ERROR, _b("execution error (ignored)"));
-    }
-}
-
-/* ...dispatch message queue execution */
-static inline void xf_core_dispatch(xf_core_data_t *cd, u32 core, xf_message_t *m)
-{
-    u32             client;
-    xf_component_t *component;
-
-    /* ...do client-id/component lookup */
-    if (XF_MSG_DST_PROXY(m->id))
-    {
-        TRACE(DISP, _b("core[%u]::proxy-cmd(id=%x, opcode=%x)"), core, m->id, m->opcode);
-        
-        /* ...process message addressed to proxy */
-        xf_proxy_command(core, m);
-
-        /* ...do not like this return statement... - tbd */
-        return;
-    }
-
-    /* ...message goes to local component */
-    client = XF_MSG_DST_CLIENT(m->id);
-    
-    /* ...check if client is alive */
-    if ((component = xf_client_lookup(cd, client)) != NULL)
-    {
-        /* ...client look-up successfull */
-        TRACE(DISP, _b("core[%u]::client[%u]::cmd(id=%x, opcode=%x)"), core, client, m->id, m->opcode);
-            
-        /* ...pass message to component entry point */
-        if (component->entry(component, m) < 0)
-        {
-            /* ...call component destructor */
-            if (component->exit(component, m) == 0)
-            {
-                /* ...component cleanup completed; recycle component-id */
-                xf_client_free(cd, client);
-
-                /* ...do system-specific deregistration of component within IPC layer */
-                xf_ipc_component_rmref(__XF_PORT_SPEC(core, client, 0));
-            }
-        }
-    }
-    else
-    {
-        TRACE(DISP, _b("Discard message id=%x - client %u:%u not registered"), m->id, core, client);
-        
-        /* ...complete message with general failure response */   
-        xf_response_err(m);
-    }
-}
-
-/*******************************************************************************
- * Entry points
- ******************************************************************************/
-
-/* ...submit message for instant execution on some core */
-void xf_msg_submit(xf_message_t *m)
-{
-    u32     src = XF_MSG_SRC_CORE(m->id);
-    u32     dst = XF_MSG_DST_CORE(m->id);
-
-    /* ...check if message shall go through local IPC layer */
-    if (src ^ dst)
-    {
-        /* ...put message into local IPC queue */
-        xf_msg_local_ipc_put(src, dst, m);
-    }
-    else
-    {
-        /* ...message is addressed to same core */
-        xf_msg_local_put(src, m);
-    }
-}
-
-/* ...complete message and pass response to a caller */
-void xf_msg_complete(xf_message_t *m)
-{
-    u32     src = XF_MSG_SRC(m->id);
-    u32     dst = XF_MSG_DST(m->id);
-
-    /* ...swap src/dst specifiers */
-    m->id = __XF_MSG_ID(dst, src);
-
-    /* ...check if message goes to remote IPC layer */
-    if (XF_MSG_DST_PROXY(m->id))
-    {
-        /* ...return message to proxy */
-        xf_msg_proxy_complete(m);
-    }
-    else
-    {
-        /* ...destination is within DSP cluster; check if that is a data buffer */
-        switch (m->opcode)
-        {
-        case XF_EMPTY_THIS_BUFFER:
-            /* ...emptied buffer goes back to the output port */
-            m->opcode = XF_FILL_THIS_BUFFER;
-            break;
-
-        case XF_FILL_THIS_BUFFER:
-            /* ...filled buffer is passed to the input port */
-            m->opcode = XF_EMPTY_THIS_BUFFER;
-            break;
-        }
-
-        /* ...submit message for execution */
-        xf_msg_submit(m);
-    }
-}
-
-/* ...initialize per-core framework data */
-int xf_core_init(u32 core)
-{
-    xf_core_data_t     *cd = XF_CORE_DATA(core);
-    xf_cmap_link_t     *link;
-    u32                 i;
-    
-    /* ...create list of free client descriptors */
-    for (link = &cd->cmap[i = 0]; i < XF_CFG_MAX_CLIENTS; i++, link++)
-    {
-        link->next = i + 1;
-    }
-
-    /* ...set head of free clients list */
-    cd->free = 0;
-    
-    /* ...initialize local queue scheduler */
-    xf_sched_init(&cd->sched);
-
-    /* ...initialize IPI subsystem */
-    XF_CHK_API(xf_ipi_init(core));
-    
-    /* ...initialize shared read-write memory */
-    XF_CHK_API(xf_shmem_enabled(core) ? xf_shmem_init(core) : 0);
-
-    /* ...initialize scratch memory */
-    XF_CHK_ERR(cd->scratch = xf_scratch_mem_init(core), -ENOMEM);
-
-    /* ...okay... it's all good */
-    TRACE(INIT, _b("core-%u initialized"), core);
-    
-    return 0;
-}
-
-/* ...core executive loop function */
-void xf_core_service(u32 core)
-{
-    xf_core_data_t *cd = &xf_core_data[core];
-    u32             status;
-    xf_message_t   *m;
-    xf_task_t      *t;
-
-#ifdef XAF_PROFILE_DSP
-    START_TIME_XA_PROFILER(prof);
-#endif
-    do
-    {           
-        /* ...clear local status change */
-        status = 0;
-
-        /* ...if core is servicing shared memory with AP, do it first - actually, they all need to support it */
-        if (xf_shmem_enabled(core))
-        {
-            /* ...process all commands */
-            xf_shmem_process_queues(core);
-        }
-
-        /* ...check if we have a backlog message placed into interim queue */
-        while ((m = xf_msg_local_ipc_get(core)) || (m = xf_msg_local_get(core)))
-        {
-            /* ...dispatch message execution */
-            xf_core_dispatch(cd, core, m);
-
-            /* ...set local status change */
-            status = 1;
-        }
-
-        /* ...check if we have pending responses (submitted from ISR) we need to process */
-        while ((m = xf_msg_local_response_get(core)) != NULL)
-        {
-            /* ...call completion handler on current stack */
-            xf_msg_complete(m);
-
-            /* ...set local status change */
-            status = 1;
-
-        }
-            
-        /* ...if scheduler queue is empty, break the loop and pause the core */
-        if ((t = xf_sched_get(&cd->sched)) != NULL)
-        {
-            /* ...data-processing execution (ignore internal errors) */
-            xf_core_process((xf_component_t *)t);
-
-            /* ...set local status change */
-            status = 1;
-        }
-    }
-    while (status);
-
-#ifdef XAF_PROFILE_DSP
-    STOP_TIME_XA_PROFILER(prof);
-      
-    if(prof.g_output_bytes)
-    {
-      unsigned long output_samples = prof.g_output_bytes;
-      output_samples >>= (prof.channels == 2 ? 1 : 0);
-      output_samples >>= (prof.pcm_width == 24 ? 2 : 1);
-      
-      COMPUTE_MHZ_XA_PROFILER(prof, output_samples, prof.sample_rate, 0);
-
-      prof.g_output_bytes = prof.cycles = 0; /* reset counters */
-    }
-#endif
-
-}
-
-/* ...global data initialization function */
-int xf_global_init(void)
-{
-    /* ...what global data we have to initialize? - tbd */
-    TRACE(INIT, _b("Global data initialized"));
-    
-    return 0;
-}
diff --git a/hifi/xaf/hifi-dpf/core/xf-io.c b/hifi/xaf/hifi-dpf/core/xf-io.c
deleted file mode 100644
index 09f8e3e..0000000
--- a/hifi/xaf/hifi-dpf/core/xf-io.c
+++ /dev/null
@@ -1,644 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/*******************************************************************************
- * xf-io.c
- *
- * Generic input/output ports handling
- *
- ******************************************************************************/
-
-#define MODULE_TAG                      IO
-
-/*******************************************************************************
- * Includes
- ******************************************************************************/
-
-#include "xf.h"
-
-/*******************************************************************************
- * Tracing configuration
- ******************************************************************************/
-
-TRACE_TAG(INIT, 1);
-TRACE_TAG(INPUT, 1);
-TRACE_TAG(OUTPUT, 1);
-TRACE_TAG(ROUTE, 1);
-
-/*******************************************************************************
- * Input port API
- ******************************************************************************/
-
-/* ...initialize input port structure */
-int xf_input_port_init(xf_input_port_t *port, u32 size, u32 align, u32 core)
-{
-    /* ...allocate local internal buffer of particular size and alignment */
-    if (size)
-    {
-        /* ...internal buffer is used */
-        XF_CHK_ERR(port->buffer = xf_mem_alloc(size, align, core, 0), -ENOMEM);
-    }
-    else
-    {
-        /* ...no internal buffering is used */
-        port->buffer = NULL;
-    }
-    
-    /* ...initialize message queue */
-    xf_msg_queue_init(&port->queue);
-    
-    /* ...set buffer size */
-    port->length = size;
-    
-    /* ...enable input by default */
-    port->flags = XF_INPUT_FLAG_ENABLED | XF_INPUT_FLAG_CREATED;
-
-    /* ...mark buffer is empty */
-    port->filled = 0, port->access = NULL;
-    
-    TRACE(INIT, _b("input-port[%p] created - %p@%u[%u]"), port, port->buffer, align, size);
-
-    return 0;
-}
-
-/* ...put message into input port queue; return non-zero if queue was empty */
-int xf_input_port_put(xf_input_port_t *port, xf_message_t *m)
-{
-    /* ...check if input is enabled */
-    if ((port->flags & XF_INPUT_FLAG_ENABLED) == 0)
-    {
-        /* ...input disabled; this is an error condition, likely */
-        TRACE(INPUT, _b("input-port[%p] disabled"), port);
-        
-        /* ...release the message instantly */
-        xf_response_ok(m);
-
-        /* ...buffer has not been accepted - no actions to take */
-        return 0;
-    }
-    else if (m->length == 0)
-    {
-        /* ...it is forbidden to pass more than one zero-length message */
-        BUG(port->flags & XF_INPUT_FLAG_EOS, _x("invalid state: %x"), port->flags);
-
-        /* ...received a message with zero-length; mark end-of-stream condition */
-        port->flags ^= XF_INPUT_FLAG_ENABLED | XF_INPUT_FLAG_EOS;
-
-        /* ...still enqueue that zero-length message; it will be processed afterwards */
-        TRACE(INPUT, _b("input-port[%p]: zero-length buffer received"), port);
-    }
-    else
-    {
-        TRACE(INPUT, _b("input-port[%p]: buffer received - %u bytes"), port, m->length);
-    }
-
-    /* ...enqueue message and set access pointer as needed */
-    if (xf_msg_enqueue(&port->queue, m))
-    {
-        /* ...first message put - set access pointer and length */
-        port->access = m->buffer, port->remaining = m->length;
-
-        /* ...if first message is empty, mark port is done */
-        (!port->access ? port->flags ^= XF_INPUT_FLAG_EOS | XF_INPUT_FLAG_DONE : 0);
-
-        /* ...return non-zero to indicate the first buffer is placed into port */
-        return 1;
-    }
-    else
-    {
-        /* ...subsequent message placed into buffer */
-        return 0;
-    }
-}
-
-/* ...internal helper - input message completion */
-static inline int xf_input_port_complete(xf_input_port_t *port)
-{
-    /* ...dequeue message from queue */
-    xf_message_t   *m = xf_msg_dequeue(&port->queue);
-
-    /* ...message cannot be NULL */
-    BUG(m == NULL, _x("invalid port state"));
-
-    /* ...complete current message (EMPTY-THIS-BUFFER always; no length adjustment) */
-    xf_response(m);
-
-    /* ...set up next head */
-    if ((m = xf_msg_queue_head(&port->queue)) != NULL)
-    {
-        /* ...set new access pointers */
-        port->access = m->buffer, port->remaining = m->length;
-
-        /* ...return indication that there is an input message */
-        return 1;
-    }
-    else
-    {
-        /* ...no more messages; reset access pointer */
-        port->access = NULL;
-
-        /* ...return indication that input port has no data available */
-        return 0;
-    }
-}
-
-/* ...fill-in required amount of data into input port buffer */
-int xf_input_port_fill(xf_input_port_t *port)
-{
-    u32     filled = port->filled;
-    u32     remaining = port->remaining;
-    u32     copied = 0;
-    s32     n;
-
-    /* ...function shall not be called if no internal buffering is used */
-    BUG(xf_input_port_bypass(port), _x("Invalid transaction"));
-
-    /* ...if there is no message pending, bail out */
-    if (!xf_msg_queue_head(&port->queue))
-    {
-        TRACE(INPUT, _b("No message ready"));
-        return 0;
-    }
-    
-    /* ...calculate total amount of bytes we need to copy */
-    n = (s32)(port->length - filled);
-    
-    /* ...get at most "n" bytes from input message(s) buffer(s) */
-    while (n > 0)
-    {
-        u32     k;
-        
-        /* ...determine the size of the chunk to copy */
-        ((k = remaining) > n ? k = n : 0);
-
-        /* ...process zero-length input message separately */
-        if (k == 0)
-        {
-            /* ...end-of-stream condition must be set */
-            BUG((port->flags & XF_INPUT_FLAG_EOS) == 0, _x("port[%p]: invalid state: %x"), port, port->flags);
-
-            /* ...mark stream is completed */
-            port->flags ^= XF_INPUT_FLAG_EOS | XF_INPUT_FLAG_DONE;
-
-            /* ...reset total amount of bytes to fill */
-            n = 0;
-
-            /* ...do not release message yet */
-            TRACE(INPUT, _b("input-port[%p] done"), port);
-            
-            /* ...and break the loop */
-            break;
-        }
-
-        /* ...buffer must be set */
-        BUG(!port->access, _x("invalid port state"));
-            
-        /* ...get required amount from input buffer */
-        memcpy(port->buffer + filled, port->access, k), port->access += k;
-        
-        /* ...advance buffer positions */
-        filled += k, copied += k, n -= k;
-        
-        /* ...check if input buffer is processed completely */
-        if ((remaining -= k) == 0)
-        {
-            if (!xf_input_port_complete(port))
-            {
-                /* ...no more input messages; break the loop */
-                break;
-            }
-            else
-            {
-                /* ...update remaining counter */
-                remaining = port->remaining;
-            }
-        }
-    }
-
-    /* ...update buffer positions */
-    port->filled = filled, port->remaining = remaining;
-    
-    /* ...return indicator whether input buffer is prefilled */
-    return (n == 0);
-}
-
-/* ...pad input buffer with given pattern */
-void xf_input_port_pad(xf_input_port_t *port, u8 pad)
-{
-    u32     filled = port->filled;
-    s32     k;
-    
-    /* ...do padding if port buffer is not filled */
-    if ((k = port->length - filled) > 0)
-    {
-        memset(port->buffer + filled, pad, k);
-
-        /* ...indicate port is filled */
-        port->filled = port->length;
-    }
-}
-
-/* ...consume input buffer data */
-void xf_input_port_consume(xf_input_port_t *port, u32 n)
-{
-    /* ...check whether input port is in bypass mode */
-    if (xf_input_port_bypass(port))
-    {
-        /* ...port is in bypass mode; advance access pointer */
-        if ((port->remaining -= n) == 0)
-        {
-            /* ...complete message and try to rearm input port */
-            xf_input_port_complete(port);
-
-            /* ...check if end-of-stream flag is set */
-            if (xf_msg_queue_head(&port->queue) && !port->access)
-            {
-                BUG((port->flags & XF_INPUT_FLAG_EOS) == 0, _x("port[%p]: invalid state: %x"), port, port->flags);
-
-                /* ...mark stream is completed */
-                port->flags ^= XF_INPUT_FLAG_EOS | XF_INPUT_FLAG_DONE;
-                
-                TRACE(INPUT, _b("input-port[%p] done"), port);
-            }
-        }
-        else
-        {
-            /* ...advance message buffer pointer */
-            port->access += n;
-        }
-    }
-    else if (port->filled > n)
-    {
-        u32     k = port->filled - n;
-        
-        /* ...move tail of buffer to the head (safe to use memcpy) */
-        memcpy(port->buffer, port->buffer + n, k);        
-
-        /* ...adjust filled position */
-        port->filled = k;
-    }
-    else
-    {
-        /* ...entire buffer is consumed; reset fill level */
-        port->filled = 0;
-    }
-}
-
-/* ...purge input port queue */
-void xf_input_port_purge(xf_input_port_t *port)
-{
-    xf_message_t   *m;
-
-    /* ...bail out early if port is not created */
-    if (!xf_input_port_created(port))   return;
-    
-    /* ...free all queued messages with generic "ok" response */
-    while ((m = xf_msg_dequeue(&port->queue)) != NULL)
-    {
-        xf_response_ok(m);
-    }
-
-    /* ...reset internal buffer position */
-    port->filled = 0, port->access = NULL;
-    
-    /* ...reset port flags */
-    port->flags = (port->flags & ~__XF_INPUT_FLAGS(~0)) | XF_INPUT_FLAG_ENABLED | XF_INPUT_FLAG_CREATED;
-    
-    TRACE(INPUT, _b("input-port[%p] purged"), port);
-}
-
-/* ...save flow-control message for propagated input port purging sequence */
-void xf_input_port_control_save(xf_input_port_t *port, xf_message_t *m)
-{
-    /* ...make sure purging sequence is not active */
-    BUG(port->flags & XF_INPUT_FLAG_PURGING, _x("invalid state: %x"), port->flags);
-
-    /* ...place message into internal queue */
-    xf_msg_enqueue(&port->queue, m);
-    
-    /* ...set port purging flag */
-    port->flags ^= XF_INPUT_FLAG_PURGING;
-
-    TRACE(INPUT, _b("port[%p] start purge sequence"), port);
-}
-
-/* ...mark flushing sequence is completed */
-void xf_input_port_purge_done(xf_input_port_t *port)
-{
-    /* ...make sure flushing sequence is ongoing */
-    BUG((port->flags & XF_INPUT_FLAG_PURGING) == 0, _x("invalid state: %x"), port->flags);
-
-    /* ...complete saved flow-control message */
-    xf_response_ok(xf_msg_dequeue(&port->queue));
-    
-    /* ...clear port purging flag */
-    port->flags ^= XF_INPUT_FLAG_PURGING;
-
-    TRACE(INPUT, _b("port[%p] purge sequence completed"), port);
-}
-
-/* ...destroy input port data */
-void xf_input_port_destroy(xf_input_port_t *port, u32 core)
-{
-    /* ...bail out earlier if port is not created */
-    if (!xf_input_port_created(port))   return;
-    
-    /* ...deallocate input buffer if needed */
-    (port->buffer ? xf_mem_free(port->buffer, port->length, core, 0), port->buffer = NULL : 0);
-
-    /* ...reset input port flags */
-    port->flags = 0;
-    
-    TRACE(INIT, _b("input-port[%p] destroyed"), port);
-}
-
-/*******************************************************************************
- * Output port API
- ******************************************************************************/
-
-/* ...initialize output port (structure must be zero-initialized) */
-int xf_output_port_init(xf_output_port_t *port, u32 size)
-{
-    /*  ...initialize message queue */
-    xf_msg_queue_init(&port->queue);
-    
-    /* ...set output buffer length */
-    port->length = size;
-
-    /* ...mark port is created */
-    port->flags = XF_OUTPUT_FLAG_CREATED;
-
-    TRACE(INIT, _b("output-port[%p] initialized"), port);
-
-    return 0;
-}
-
-/* ...route output port */
-int xf_output_port_route(xf_output_port_t *port, u32 id, u32 n, u32 length, u32 align)
-{
-    u32             core = XF_MSG_DST_CORE(id);
-    u32             shared = XF_MSG_SHARED(id);
-    xf_message_t   *m;
-    u32             i;
-    
-    /* ...allocate message pool for a port; extra message for control */
-    XF_CHK_API(xf_msg_pool_init(&port->pool, n + 1, core));
-
-    /* ...allocate required amount of buffers */
-    for (i = 1; i <= n; i++)
-    {
-        /* ...get message from pool (directly; bypass that "get" interface) */
-        m = xf_msg_pool_item(&port->pool, i);
-
-        /* ...wipe out message link pointer (debugging) */
-        m->next = NULL;
-        
-        /* ...set message parameters */
-        m->id = id;
-        m->opcode = XF_FILL_THIS_BUFFER;
-        m->length = length;
-        m->buffer = xf_mem_alloc(length, align, core, shared);
-
-        /* ...if allocation failed, do a cleanup */
-        if (!m->buffer)     goto error;
-
-        /* ...place message into output port */
-        xf_msg_enqueue(&port->queue, m);
-    }
-
-    /* ...setup flow-control message */
-    m = xf_output_port_control_msg(port);
-    m->id = id;
-    m->length = 0;
-    m->buffer = NULL;
-
-    /* ...wipe out message link pointer (debugging) */
-    m->next = NULL;
-    
-    /* ...save port length */
-    port->length = length;
-
-    /* ...mark port is routed */
-    port->flags |= XF_OUTPUT_FLAG_ROUTED | XF_OUTPUT_FLAG_IDLE;
-
-    TRACE(ROUTE, _b("output-port[%p] routed: %x -> %x"), port, XF_MSG_DST(id), XF_MSG_SRC(id));
-
-    return 0;
-
-error:
-    /* ...allocation failed; do a cleanup */
-    while (--i)
-    {
-        m = xf_msg_pool_item(&port->pool, i);
-
-        /* ...free item */
-        xf_mem_free(m->buffer, length, core, shared);
-    }
-
-    /* ...destroy pool data */
-    xf_msg_pool_destroy(&port->pool, core);
-    
-    return -ENOMEM;
-}
-
-/* ...start output port unrouting sequence */
-void xf_output_port_unroute_start(xf_output_port_t *port, xf_message_t *m)
-{
-    /* ...port must be routed */
-    BUG(!xf_output_port_routed(port), _x("invalid state: %x"), port->flags);
-
-    /* ...save message in the queue */
-    port->unroute = m;
-    
-    /* ...put port unrouting flag */
-    port->flags |= XF_OUTPUT_FLAG_UNROUTING;
-}
-
-/* ...complete port unrouting sequence */
-void xf_output_port_unroute_done(xf_output_port_t *port)
-{
-    xf_message_t   *m;
-    
-    /* ...make sure we have an outstanding port unrouting sequence */
-    BUG(!xf_output_port_unrouting(port), _x("invalid state: %x"), port->flags);
-
-    /* ...retrieve enqueued control-flow message */
-    m = port->unroute, port->unroute = NULL;
-    
-    /* ...destroy port buffers */
-    xf_output_port_unroute(port);
-    
-    /* ...and pass response to the caller */
-    xf_response_ok(m);
-}
-
-/* ...unroute output port and destroy all memory buffers allocated */
-void xf_output_port_unroute(xf_output_port_t *port)
-{
-    xf_message_t   *m = xf_output_port_control_msg(port);
-    u32             core = XF_MSG_DST_CORE(m->id);
-    u32             shared = XF_MSG_SHARED(m->id);   
-    u32             n = port->pool.n - 1;
-    u32             i;
-    
-    /* ...free all messages (we are running on "dst" core) */
-    for (i = 1; i <= n; i++)
-    {
-        /* ...directly obtain message item */
-        m = xf_msg_pool_item(&port->pool, i);
-
-        /* ...free message buffer (must exist) */
-        xf_mem_free(m->buffer, port->length, core, shared);
-    }
-
-    /* ...destroy pool data */
-    xf_msg_pool_destroy(&port->pool, core);
-
-    /* ...reset all flags */
-    port->flags = XF_OUTPUT_FLAG_CREATED;
-
-    /* ...reset message queue (it is empty again) */
-    xf_msg_queue_init(&port->queue);
-
-    TRACE(ROUTE, _b("output-port[%p] unrouted"), port);
-}
-
-/* ...put next message to the port */
-int xf_output_port_put(xf_output_port_t *port, xf_message_t *m)
-{
-    /* ...in case of port unrouting sequence the flag returned will always be 0 */
-    return xf_msg_enqueue(&port->queue, m);
-}
-
-/* ...retrieve next message from the port */
-void * xf_output_port_data(xf_output_port_t *port)
-{
-    xf_message_t   *m = xf_msg_queue_head(&port->queue);
-
-    /* ...bail out if there is nothing enqueued */
-    if (m == NULL)      return NULL;
-
-    /* ...it is not permitted to access port data when port is being unrouted */
-    BUG(xf_output_port_unrouting(port), _x("invalid transaction"));
-
-    /* ...make sure message length is valid */
-    BUG(m->length < port->length, _x("Insufficient buffer length: %u < %u"), m->length, port->length);
-        
-    /* ...return access buffer pointer */
-    return m->buffer;
-}
-
-/* ...produce output message marking amount of bytes produced */
-int xf_output_port_produce(xf_output_port_t *port, u32 n)
-{
-    xf_message_t   *m = xf_msg_dequeue(&port->queue);
-    
-    /* ...message cannot be NULL */
-    BUG(m == NULL, _x("Invalid transaction"));
-
-    /* ...it is not permitted to invoke this when port is being unrouted (or flushed - tbd) */
-    BUG(xf_output_port_unrouting(port), _x("invalid transaction"));
-
-    /* ...complete message with specified amount of bytes produced */
-    xf_response_data(m, n);
-
-    /* ...clear port idle flag (technically, not needed for unrouted port) */
-    port->flags &= ~XF_OUTPUT_FLAG_IDLE;
-    
-    /* ...return indication of pending message availability */
-    return (xf_msg_queue_head(&port->queue) != NULL);
-}
-
-/* ...flush output port */
-int xf_output_port_flush(xf_output_port_t *port, u32 opcode)
-{
-    xf_message_t   *m;
-
-    /* ...if port is routed, we shall pass flush command to sink port */
-    if (xf_output_port_routed(port))
-    {
-        /* ...if port is idle, satisfy immediately */
-        if (port->flags & XF_OUTPUT_FLAG_IDLE)     return 1;
-        
-        /* ...start flushing sequence if not already started */
-        if ((port->flags & XF_OUTPUT_FLAG_FLUSHING) == 0)
-        {
-            /* ...put flushing flag */
-            port->flags ^= XF_OUTPUT_FLAG_FLUSHING;
-
-            /* ...get control message from associated pool */
-            m = xf_output_port_control_msg(port);
-
-            /* ...set flow-control operation */
-            m->opcode = opcode;
-        
-            /* ...message is a command, but source and destination are swapped */
-            xf_response(m);
-        }
-        
-        /* ...zero-result indicates the flushing is in progress */
-        return 0;
-    }
-    else
-    {
-        /* ...for non-routed port just complete all queued messages */
-        while ((m = xf_msg_dequeue(&port->queue)) != NULL)
-        {
-            /* ...pass generic zero-length "okay" response - tbd */
-            xf_response_ok(m);
-        }
-
-        /* ...non-zero result indicates the flushing is done */
-        return 1;
-    }
-}
-
-/* ...mark flushing sequence is completed */
-void xf_output_port_flush_done(xf_output_port_t *port)
-{
-    /* ...make sure flushing sequence is ongoing */
-    BUG((port->flags & XF_OUTPUT_FLAG_FLUSHING) == 0, _x("invalid state: %x"), port->flags);
-    
-    /* ...clear flushing flag and set idle flag */
-    port->flags ^= XF_OUTPUT_FLAG_IDLE | XF_OUTPUT_FLAG_FLUSHING;
-
-    TRACE(OUTPUT, _b("port[%p] flush sequence completed"), port);
-}
-
-/* ...destroy output port */
-void xf_output_port_destroy(xf_output_port_t *port, u32 core)
-{
-    /* ...check if port is routed */
-    if (xf_output_port_routed(port))
-    {
-        /* ...port must be in idle state */
-        BUG(!xf_output_port_idle(port), _x("destroying non-idle port[%p]"), port);
-
-        /* ...unroute port */
-        xf_output_port_unroute(port);
-    }
-
-    /* ...reset port flags */
-    port->flags = 0;
-
-    TRACE(INIT, _b("output-port[%p] destroyed"), port);
-}
diff --git a/hifi/xaf/hifi-dpf/core/xf-isr.c b/hifi/xaf/hifi-dpf/core/xf-isr.c
deleted file mode 100644
index 4e2add1..0000000
--- a/hifi/xaf/hifi-dpf/core/xf-isr.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/*******************************************************************************
- * xf-isr.c
- *
- * DSP processing framework - code running from interrupt context
- *
- ******************************************************************************/
-
-#define MODULE_TAG                      ISR
-
-/*******************************************************************************
- * Includes
- ******************************************************************************/
-
-#include "xf.h"
-
-/*******************************************************************************
- * API functions definitions
- ******************************************************************************/
-
-/* ...submit command message from interrupt context on local core */
-void xf_msg_schedule_isr(xf_message_t *m)
-{
-    u32                 core = XF_MSG_DST_CORE(m->id);
-    xf_core_data_t     *cd = XF_CORE_DATA(core);
-    
-    /* ...interrupt masking protocol is used for protecting local message queue */
-    if (xf_msg_enqueue(&cd->queue, m))
-    {
-        /* ...resume local scheduler if that is the first message */
-        xf_ipi_resume(core);
-    }
-}
-
-/* ...complete message from interrupt handler */
-void xf_msg_complete_isr(xf_message_t *m)
-{
-    u32                 core = XF_MSG_DST_CORE(m->id);
-    xf_core_data_t     *cd = XF_CORE_DATA(core);
-
-    /* ...place message into response queue */
-    if (xf_msg_enqueue(&cd->response, m))
-    {
-        /* ...notify local scheduler if that is the first message */
-        xf_ipi_resume(core);
-    }
-}
diff --git a/hifi/xaf/hifi-dpf/core/xf-mem.c b/hifi/xaf/hifi-dpf/core/xf-mem.c
deleted file mode 100644
index ce5d8a6..0000000
--- a/hifi/xaf/hifi-dpf/core/xf-mem.c
+++ /dev/null
@@ -1,361 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/*******************************************************************************
- * xf-mem.c
- *
- * Dynamic memory allocator implementation (based on rb-tree index)
- *
- ******************************************************************************/
-
-#define MODULE_TAG                      MM
-
-/*******************************************************************************
- * Includes
- ******************************************************************************/
-
-#include "xf.h"
-
-/*******************************************************************************
- * Tracing configuration
- ******************************************************************************/
-
-TRACE_TAG(INIT, 1);
-
-/*******************************************************************************
- * Internal helpers
- ******************************************************************************/
-
-/* ...initialize block */
-static inline xf_mm_block_t * xf_mm_block_init(void *addr, u32 size)
-{
-    xf_mm_block_t  *b = (xf_mm_block_t *)addr;
-    
-    /* ...use 31 available bits of node color to keep aligned size */
-    return b->l_node.color = size, b;
-}
-
-/* ...check if the length of the block is less than given */
-static inline int xf_mm_block_length_less(xf_mm_block_t *b, u32 size)
-{
-    /* ...we don't really care about LSB of color */
-    return (b->l_node.color < size);
-}
-
-/* ...return exact block length */
-static inline u32 xf_mm_block_length(xf_mm_block_t *b)
-{
-    /* ...wipe out least-significant bit from node color */
-    return (b->l_node.color & ~1);
-}
-
-/* ...increase block length */
-static inline u32 xf_mm_block_length_add(xf_mm_block_t *b, u32 size)
-{
-    /* ...return exact block length after increase */
-    return ((b->l_node.color += size) & ~1);
-}
-
-/* ...decrease block length */
-static inline u32 xf_mm_block_length_sub(xf_mm_block_t *b, u32 size)
-{
-    /* ...return exact block length after decrease */
-    return ((b->l_node.color -= size) & ~1);
-}
-
-/*******************************************************************************
- * Internal functions
- ******************************************************************************/
-
-/* ...find best-match node given requested size */
-static inline  xf_mm_block_t * xf_mm_find_by_size(xf_mm_pool_t *pool, u32 size)
-{
-    rb_tree_t *tree = &pool->l_map;
-    rb_idx_t   p_idx, t_idx;
-    
-    /* ...find first block having length greater than requested */
-    for (p_idx = rb_root(tree); p_idx != rb_null(tree); p_idx = rb_right(tree, p_idx))
-    {
-        xf_mm_block_t  *b = container_of(p_idx, xf_mm_block_t, l_node);
-        
-        /* ...break upon finding first matching candidate */
-        if (!xf_mm_block_length_less(b, size))
-            break;
-    }
-
-    /* ...bail out if haven't found a block with sufficient size */
-    if (p_idx == rb_null(tree))
-        return NULL;
-
-    /* ...try to find better match in left subtree */
-    for (t_idx = rb_left(tree, p_idx); t_idx != rb_null(tree); )
-    {
-        xf_mm_block_t  *b = container_of(t_idx, xf_mm_block_t, l_node);
-
-        /* ...check the size of the block */
-        if (!xf_mm_block_length_less(b, size))
-        {
-            /* ...update best match */
-            p_idx = t_idx;
-
-            /* ...and check if we have anything better in left sbtree */
-            t_idx = rb_left(tree, t_idx);
-        }
-        else
-        {
-            /* ...move towards higher block sizes in that subtree */
-            t_idx = rb_right(tree, t_idx);
-        }
-    }
-
-    /* ...p_idx is our best choice */
-    return container_of(p_idx, xf_mm_block_t, l_node);
-}
-
-/* ...find the neighbours of the block basing on its address */
-static void xf_mm_find_by_addr(xf_mm_pool_t *pool, void *addr, xf_mm_block_t **n)
-{
-    rb_tree_t  *tree = &pool->a_map;
-    rb_idx_t    p_idx, l_idx, r_idx;
-
-    /* ...it is not possible to have exact match in this map */
-    for (p_idx = rb_root(tree), l_idx = r_idx = NULL; p_idx != rb_null(tree); )
-    {
-        /* ...only "is less than" comparison is valid (as "a_node" pointer is biased) */
-        if ((u32)p_idx < (u32)addr)
-        {
-            /* ...update lower neighbour */
-            l_idx = p_idx;
-            
-            /* ...and move towards higher addresses */
-            p_idx = rb_right(tree, p_idx);
-        }
-        else
-        {
-            /* ...update higher neighbour */
-            r_idx = p_idx;
-            
-            /* ...and move towards lower addresses */
-            p_idx = rb_left(tree, p_idx);
-        }
-    }
-
-    /* ...translate nodes into blocks */
-    n[0] = (l_idx ? container_of(l_idx, xf_mm_block_t, a_node) : NULL);
-    n[1] = (r_idx ? container_of(r_idx, xf_mm_block_t, a_node) : NULL);
-}
-
-/* ...insert the block into L-map */
-static void xf_mm_insert_size(xf_mm_pool_t *pool, xf_mm_block_t *b, u32 size)
-{
-    rb_tree_t  *tree = &pool->l_map;
-    rb_idx_t    p_idx, t_idx;
-    
-    /* ...find the parent node for the next block */
-    for (p_idx = rb_root(tree); p_idx != rb_null(tree); p_idx = t_idx)
-    {
-        /* ...check for the size */
-        if (xf_mm_block_length_less(container_of(p_idx, xf_mm_block_t, l_node), size))
-        {
-            /* ...move towards higher addresses */
-            if ((t_idx = rb_right(tree, p_idx)) == rb_null(tree))
-            {
-                /* ...node becomes a right child of parent p */
-                rb_set_right(tree, p_idx, &b->l_node);
-                break;
-            }
-        }
-        else
-        {
-            /* ...move towards lower addresses (ok if exact size match is found) */
-            if ((t_idx = rb_left(tree, p_idx)) == rb_null(tree))
-            {
-                /* ...node becomes a left child of parent p */
-                rb_set_left(tree, p_idx, &b->l_node);
-                break;
-            }
-        }
-    }
-
-    /* ...insert node into tree */
-    rb_insert(tree, &b->l_node, p_idx);
-}
-
-/* ...insert the block into A-map */
-static void xf_mm_insert_addr(xf_mm_pool_t *pool, xf_mm_block_t *b)
-{
-    rb_tree_t  *tree = &pool->a_map;
-    rb_idx_t    p_idx, t_idx;
-    
-    /* ...find the parent node for the next block */
-    for (p_idx = rb_root(tree); p_idx != rb_null(tree); p_idx = t_idx)
-    {
-        /* ...check for the address (only "is less than" comparison is valid) */
-        if ((u32)p_idx < (u32)b)
-        {
-            /* ...move towards higher addresses */
-            if ((t_idx = rb_right(tree, p_idx)) == rb_null(tree))
-            {
-                /* ...node becomes a right child of parent p */
-                rb_set_right(tree, p_idx, &b->a_node);
-                break;
-            }
-        }
-        else
-        {
-            /* ...move towards lower addresses (by design there cannot be exact match) */
-            if ((t_idx = rb_left(tree, p_idx)) == rb_null(tree))
-            {
-                /* ...node becomes a left child of parent p */
-                rb_set_left(tree, p_idx, &b->a_node);
-                break;
-            }
-        }
-    }
-
-    /* ...insert node into tree */
-    rb_insert(tree, &b->a_node, p_idx);
-}
-
-/*******************************************************************************
- * Entry points
- ******************************************************************************/
-
-/* ...block allocation */
-void * xf_mm_alloc(xf_mm_pool_t *pool, u32 size)
-{
-    xf_mm_block_t  *b;
-    
-    /* ...find best-fit free block */
-    XF_CHK_ERR(b = xf_mm_find_by_size(pool, size), NULL);
-    
-    /* ...remove the block from the L-map */
-    rb_delete(&pool->l_map, &b->l_node);
-    
-    /* ...check if the size is exactly the same as requested */
-    if ((size = xf_mm_block_length_sub(b, size)) == 0)
-    {
-        /* ...the block needs to be removed from the A-map as well */
-        rb_delete(&pool->a_map, &b->a_node);
-
-        /* ...entire block goes to user */
-        return (void *) b;
-    }
-    else
-    {
-        /* ...insert the block into L-map */
-        xf_mm_insert_size(pool, b, size);
-        
-        /* ...A-map remains intact; tail of the block goes to user */
-        return (void *) b + size;
-    }
-}
-
-/* ...block deallocation */
-void xf_mm_free(xf_mm_pool_t *pool, void *addr, u32 size)
-{
-    xf_mm_block_t  *b = xf_mm_block_init(addr, size);
-    xf_mm_block_t  *n[2];
-    
-    /* ...find block neighbours in A-map */
-    xf_mm_find_by_addr(pool, addr, n);
-
-    /* ...check if we can merge block to left neighbour */
-    if (n[0])
-    {
-        if ((void *)n[0] + xf_mm_block_length(n[0]) == addr)
-        {
-            /* ...merge free block with left neighbour; delete it from L-map */
-            rb_delete(&pool->l_map, &n[0]->l_node);
-        
-            /* ...adjust block length (block remains in A-map) */
-            addr = (void *)(b = n[0]), size = xf_mm_block_length_add(b, size);
-        }
-        else
-        {
-            /* ...mark there is no left-merge */
-            n[0] = NULL;
-        }
-    }
-    
-    /* ...check if we can merge block to right neighbour */
-    if (n[1])
-    {
-        if ((void *)n[1] == addr + size)
-        {
-            /* ...merge free block with right neighbour; delete it from L-map */
-            rb_delete(&pool->l_map, &n[1]->l_node);
-        
-            /* ...adjust block length */
-            size = xf_mm_block_length_add(b, xf_mm_block_length(n[1]));
-
-            /* ...check if left merge took place as well */
-            if (n[0])
-            {
-                /* ...left neighbour covers now all three blocks; drop record from A-map */
-                rb_delete(&pool->a_map, &n[1]->a_node);
-            }
-            else
-            {
-                /* ...fixup tree pointers (equivalent to remove/reinsert the same key) */
-                rb_replace(&pool->a_map, &n[1]->a_node, &b->a_node);
-            }
-        }
-        else
-        {
-            n[1] = NULL;
-        }
-    }
-
-    /* ...if any merge has occured, A-map is updated */
-    if (n[0] == NULL && n[1] == NULL)
-    {
-        /* ...add new block into A-map */
-        xf_mm_insert_addr(pool, b);
-    }
-    
-    /* ...add (new or adjusted) block into L-map */
-    xf_mm_insert_size(pool, b, size);
-}
-
-/* ...initialize memory allocator */
-int xf_mm_init(xf_mm_pool_t *pool, void *addr, u32 size)
-{
-    /* ...check pool alignment validity */
-    XF_CHK_ERR(((u32)addr & (sizeof(xf_mm_block_t) - 1)) == 0, -EINVAL);
-
-    /* ...check pool size validity */
-    XF_CHK_ERR(((size) & (sizeof(xf_mm_block_t) - 1)) == 0, -EINVAL);
-    
-    /* ...set pool parameters (need that stuff at all? - tbd) */    
-    pool->addr = addr, pool->size = size;
-
-    /* ...initialize rb-trees */
-    rb_init(&pool->l_map), rb_init(&pool->a_map);
-
-    /* ..."free" the entire block */
-    xf_mm_free(pool, addr, size);
-
-    TRACE(INIT, _b("memory allocator initialized: [%p..%p)"), addr, addr + size);
-    
-    return 0;
-}
diff --git a/hifi/xaf/hifi-dpf/core/xf-msg.c b/hifi/xaf/hifi-dpf/core/xf-msg.c
deleted file mode 100644
index 4253e1e..0000000
--- a/hifi/xaf/hifi-dpf/core/xf-msg.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/*******************************************************************************
- * xf-msg.c
- *
- * Message/message pool handling
- *
- ******************************************************************************/
-
-#define MODULE_TAG                      MSG
-
-/*******************************************************************************
- * Includes
- ******************************************************************************/
-
-#include "xf.h"
-
-/*******************************************************************************
- * Entry points
- ******************************************************************************/
-
-/* ...allocate message pool */
-int xf_msg_pool_init(xf_msg_pool_t *pool, u32 n, u32 core)
-{   
-    u32     i;
-    
-    /* ...allocate shared memory from global pool */
-    XF_CHK_ERR(pool->p = xf_mem_alloc(XF_MM(sizeof(*pool->p) * n), XF_PROXY_ALIGNMENT, core, 1), -ENOMEM);
-    
-    /* ...place all messages into single-liked list */
-    for (pool->head = &pool->p[i = 0]; i < n - 1; i++)
-    {
-        /* ...set message pointer to next message in the pool */
-        xf_msg_pool_item(pool, i)->next = xf_msg_pool_item(pool, i + 1);
-    }
-    
-    /* ...set tail of the list */
-    xf_msg_pool_item(pool, i)->next = NULL;
-
-    /* ...save pool size */
-    pool->n = n;
-    
-    return 0;
-}
-
-/* ...destroy memory pool */
-void xf_msg_pool_destroy(xf_msg_pool_t *pool, u32 core)
-{
-    /* ...release pool memory (from shared local-IPC memory) */
-    xf_mem_free(pool->p, XF_MM(sizeof(*pool->p) * pool->n), core, 1);
-}
-
-/* ...allocate message from a pool (no concurrent access from other cores) */
-xf_message_t * xf_msg_pool_get(xf_msg_pool_t *pool)
-{
-    __xf_message_t  *_m;
-    
-    /* ...pop message from the head of the pool */
-    XF_CHK_ERR(_m = pool->head, NULL);
-    
-    /* ...advance list head */
-    pool->head = (__xf_message_t *)(((xf_message_t *) _m)->next);
-
-    /* ...debug - wipe out message "next" pointer */
-    ((xf_message_t *) _m)->next = NULL;
-    
-    /* ...return properly aligned message pointer */
-    return (xf_message_t *) _m;
-}
-
-/* ...return message back to the pool (no concurrent access from other cores) */
-void xf_msg_pool_put(xf_msg_pool_t *pool, xf_message_t *m)
-{
-    __xf_message_t  *_m = (__xf_message_t *) m;
-    
-    /* ...make sure the message is properly aligned object */
-    BUG(!XF_IS_ALIGNED(_m), _x("Corrupted message pointer: %p"), _m);
-    
-    /* ...make sure it is returned to the same pool (need a length for that - tbd) */
-    BUG(!xf_msg_from_pool(pool, m) < 0, _x("Bad pool/message: %p/%p"), pool->p, _m);
-
-    /* ...place message into the head */
-    m->next = (xf_message_t *) pool->head;
-    
-    /* ...advance pool head */
-    pool->head = _m;
-}
diff --git a/hifi/xaf/hifi-dpf/core/xf-sched.c b/hifi/xaf/hifi-dpf/core/xf-sched.c
deleted file mode 100644
index cc1b4e8..0000000
--- a/hifi/xaf/hifi-dpf/core/xf-sched.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/*******************************************************************************
- * xf-sched.c
- *
- * Non-preemptive earliest-deadline-first scheduler
- *
- ******************************************************************************/
-
-#define MODULE_TAG                      SCHED
-
-/*******************************************************************************
- * Includes
- ******************************************************************************/
-
-#include "xf.h"
-
-/*******************************************************************************
- * Tracing configuration
- ******************************************************************************/
-
-TRACE_TAG(DEBUG, 1);
-
-/*******************************************************************************
- * Global functions definitions
- ******************************************************************************/
-
-/* ...place task into scheduler queue */
-void xf_sched_put(xf_sched_t *sched, xf_task_t *t, u32 ts)
-{
-    rb_tree_t  *tree = (rb_tree_t *)sched;
-    rb_node_t  *node = (rb_node_t *)t;
-    rb_idx_t    p_idx, t_idx;
-    u32         _ts;
-
-    /* ...set scheduling timestamp */
-    xf_task_timestamp_set(t, ts);
-    
-    /* ...find a place in the tree where the message should be inserted */
-    for (p_idx = rb_root(tree); p_idx != rb_null(tree); p_idx = t_idx)
-    {
-        /* ...get timestamp of the p_idx */
-        _ts = xf_task_timestamp((xf_task_t *)p_idx);
-
-        /* ...ordering respects FIFO order of messages with same timestamp */
-        if (xf_timestamp_before(ts, _ts))
-        {
-            if ((t_idx = rb_left(tree, p_idx)) == rb_null(tree))
-            {
-                /* ...p_idx is a direct successor of the message */
-                rb_set_left(tree, p_idx, node);
-
-                /* ...adjust head of the tree if needed */
-                if (p_idx == rb_cache(tree))    goto insert_head;
-                else                            goto insert;
-            }
-        }
-        else
-        {
-            if ((t_idx = rb_right(tree, p_idx)) == rb_null(tree))
-            {
-                /* ...p_idx is a direct predeccessor of the message */
-                rb_set_right(tree, p_idx, node);
-
-                goto insert;
-            }
-        }        
-    }
-
-insert_head:
-    /* ...adjust scheduler head element */
-    rb_set_cache(tree, node);
-
-insert:    
-    /* ...insert item and rebalance the tree */
-    rb_insert(tree, node, p_idx);
-
-    /* ...head cannot be NULL */
-    BUG(rb_cache(tree) == rb_null(tree), _x("Invalid scheduler state"));
-    
-    TRACE(DEBUG, _b("in:  %x:[%p] (ts:%x)"), ts, node, xf_sched_timestamp(sched));
-}
-
-/* ...get first item from the scheduler */
-xf_task_t * xf_sched_get(xf_sched_t *sched)
-{
-    rb_tree_t      *tree = (rb_tree_t *)sched;
-    rb_idx_t        n_idx, t_idx;
-    u32             ts;
-    
-    /* ...head of the tree is cached; replace it with its parent (direct successor) */
-    if ((n_idx = rb_cache(tree)) == rb_null(tree))
-    {
-        /* ...tree is empty; bail out */
-        return NULL;
-    }
-    else
-    {
-        /* ...delete current node and rebalance the tree */
-        t_idx = rb_delete(tree, n_idx), rb_set_cache(tree, t_idx);
-
-        /* ...get task timestamp */
-        ts = xf_task_timestamp((xf_task_t *)n_idx);
-        
-        /* ...advance scheduler timestamp */
-        xf_sched_timestamp_set(sched, ts);
-        
-        TRACE(DEBUG, _b("out: %x:[%p]"), ts, n_idx);
-        
-        /* ...return task */
-        return (xf_task_t *)n_idx;
-    }
-}
-
-/* ...cancel specified task execution (must be scheduled!) */
-void xf_sched_cancel(xf_sched_t *sched, xf_task_t *t)
-{
-    rb_tree_t      *tree = (rb_tree_t *)sched;
-    rb_idx_t        n_idx = t;
-    rb_idx_t        t_idx;
-
-    /* ...delete message from tree */
-    t_idx = rb_delete(tree, n_idx);
-
-    /* ...adjust head if that was the first message */
-    (n_idx == rb_cache(tree) ? rb_set_cache(tree, t_idx), 1 : 0);
-}
-
-/* ...initialize scheduler data */
-void xf_sched_init(xf_sched_t *sched)
-{
-    rb_init((rb_tree_t *)sched);
-}
diff --git a/hifi/xaf/hifi-dpf/core/xf-shmem.c b/hifi/xaf/hifi-dpf/core/xf-shmem.c
deleted file mode 100644
index 15d3b1d..0000000
--- a/hifi/xaf/hifi-dpf/core/xf-shmem.c
+++ /dev/null
@@ -1,350 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/*******************************************************************************
- * xf-shmem.c
- *
- * DSP shared memory interface implementation
- *
- ******************************************************************************/
-
-#define MODULE_TAG                      SHMEM
-
-/*******************************************************************************
- * Includes
- ******************************************************************************/
-
-#include "xf.h"
-
-/*******************************************************************************
- * Tracing tags
- ******************************************************************************/
-
-/* ...general initialization sequence */
-TRACE_TAG(INIT, 1);
-
-/* ...interface status change */
-TRACE_TAG(EXEC, 0);
-
-/* ...command reception */
-TRACE_TAG(CMD, 1);
-
-/* ...response generation */
-TRACE_TAG(RSP, 1);
-
-#ifdef XAF_PROFILE_DSP
-#include "xa_profiler.h"
-#endif
-/*******************************************************************************
- * Local constants definitions
- ******************************************************************************/
-
-/* ...local interface status change flag */
-#define XF_PROXY_STATUS_LOCAL           (1 << 0)
-
-/* ...remote status change notification flag */
-#define XF_PROXY_STATUS_REMOTE          (1 << 1)
-
-/*******************************************************************************
- * Internal helpers
- ******************************************************************************/
-
-/* ...put message into proxy queue */
-static inline void xf_msg_proxy_put(xf_message_t *m)
-{
-    u32                 dst = XF_MSG_DST_CORE(m->id);
-    u32                 src = XF_MSG_SRC_CORE(m->id);
-    xf_core_rw_data_t  *rw = XF_CORE_RW_DATA(dst);
-    int                 first;
-
-    /* ...get an access to shared rw-memory (we are running on "source" core) */
-    xf_mutex_lock(src);
-    
-    /* ...assure memory coherency if needed */
-    if (XF_REMOTE_IPC_NON_COHERENT)
-    {
-        /* ...invalidate rw-shared memory region */
-        XF_PROXY_INVALIDATE(rw, sizeof(*rw));
-        
-        /* ...put message into shared queue */
-        first = xf_msg_enqueue(&rw->remote, m);
-
-        /* ...flush both message and shared queue data */
-        XF_PROXY_FLUSH(rw, sizeof(*rw)), XF_PROXY_FLUSH(m, sizeof(*m));
-    }
-    else
-    {
-        /* ...no memory coherency concerns; just place a message in the queue */
-        first = xf_msg_enqueue(&rw->remote, m);
-    }
-
-    /* ...release rw-memory region lock */
-    xf_mutex_unlock(src);
-
-    /* ...assert IPI interrupt on target ("destination") core if needed */
-    if (first && (dst ^ src))
-    {
-        xf_ipi_assert(dst);
-    }
-}
-
-/* ...retrieve message from proxy queue */
-static inline xf_message_t * xf_msg_proxy_get(u32 core)
-{
-    xf_core_rw_data_t  *rw = XF_CORE_RW_DATA(core);
-    xf_message_t       *m;
-    
-    /* ...retrieve message from queue in atomic fashion */
-    xf_mutex_lock(core);
-
-    /* ...assure memory coherency if needed */
-    if (XF_REMOTE_IPC_NON_COHERENT)
-    {
-        /* ...invalidate rw-memory */
-        XF_PROXY_INVALIDATE(rw, sizeof(*rw));
-
-        /* ...dequeue message from response queue */
-        m = xf_msg_dequeue(&rw->remote);
-
-        /* ...flush rw memory */
-        XF_PROXY_FLUSH(rw, sizeof(*rw));
-
-        /* ...invalidate message data if found */
-        (m ? XF_PROXY_INVALIDATE(m, sizeof(*m)) : 0);
-    }
-    else
-    {
-        /* ...just dequeue message from response queue */
-        m = xf_msg_dequeue(&rw->remote);
-    }
-    
-    /* ...release the rw-lock */
-    xf_mutex_unlock(core);
-
-    return m;
-}
-
-/*******************************************************************************
- * Internal functions definitions
- ******************************************************************************/
-
-/* ...retrieve all incoming commands from shared memory ring-buffer */
-static u32 xf_shmem_process_input(u32 core)
-{
-    xf_message_t   *m;
-    u32             read_idx;
-    u32             write_idx;
-    u32             status = 0;
-
-    /* ...get current value of write pointer */
-    read_idx = XF_PROXY_READ(core, cmd_read_idx);
-    write_idx = XF_PROXY_READ(core, cmd_write_idx);
-
-    TRACE(EXEC, _b("Command queue: write = %x / read = %x"), write_idx, read_idx);
-
-    /* ...process all committed commands */
-    while (!XF_QUEUE_EMPTY(read_idx, write_idx))
-    {
-        xf_proxy_message_t *command;
-
-        /* ...allocate message; the call should not fail */
-        if ((m = xf_msg_pool_get(&XF_CORE_RO_DATA(core)->pool)) == NULL)
-            break;
-
-        /* ...if queue was full, set global proxy update flag */
-        if (XF_QUEUE_FULL(read_idx, write_idx))
-            status |= XF_PROXY_STATUS_REMOTE | XF_PROXY_STATUS_LOCAL;
-        else
-            status |= XF_PROXY_STATUS_LOCAL;
-
-        /* ...get oldest not processed command */
-        command = XF_PROXY_COMMAND(core, XF_QUEUE_IDX(read_idx));
-
-        /*  ...synchronize memory contents */
-        XF_PROXY_INVALIDATE(command, sizeof(*command));
-
-        /* ...fill message parameters */
-        m->id = command->session_id;
-        m->opcode = command->opcode;
-        m->length = command->length;
-        m->buffer = xf_ipc_a2b(core, command->address);
-        TRACE(CMD, _b("C[%x]:(%x,%u,%p)"), m->id, m->opcode, m->length, m->buffer);
-
-        /* ...invalidate message buffer contents as required - not here - tbd */
-        (XF_OPCODE_CDATA(m->opcode) ? XF_PROXY_INVALIDATE(m->buffer, m->length) : 0);
-        
-        /* ...advance local reading index copy */
-        read_idx = XF_QUEUE_ADVANCE_IDX(read_idx);
-
-        /* ...update shadow copy of reading index */
-        XF_PROXY_WRITE(core, cmd_read_idx, read_idx);
-
-        /* ...and schedule message execution on proper core */
-        xf_msg_submit(m);
-    }
-
-    return status;
-}
-
-/* ...send out all pending outgoing responses to the shared memory ring-buffer */
-static u32 xf_shmem_process_output(u32 core)
-{
-    xf_message_t   *m;
-    u32             read_idx;
-    u32             write_idx;
-    u32             status = 0;
-
-    /* ...get current value of peer read pointer */
-    write_idx = XF_PROXY_READ(core, rsp_write_idx);
-    read_idx = XF_PROXY_READ(core, rsp_read_idx);
-
-    TRACE(EXEC, _b("Response queue: write = %08X / read = %08X"), write_idx, read_idx);
-
-    /* ...while we have response messages and there's space to write out one */
-    while (!XF_QUEUE_FULL(read_idx, write_idx))
-    {
-        xf_proxy_message_t     *response;
-
-        /* ...remove message from internal queue */
-        if ((m = xf_msg_proxy_get(core)) == NULL)
-            break;
-
-        /* ...notify remote interface each time we send it a message (only if it was empty?) */
-        status = XF_PROXY_STATUS_REMOTE | XF_PROXY_STATUS_LOCAL;
-
-#if 0
-        /* ...need to decide on best strategy - tbd */
-        if (XF_QUEUE_EMPTY(read_idx, write_idx))
-            status |= XF_PROXY_STATUS_REMOTE | XF_PROXY_STATUS_LOCAL;
-        else
-            status |= XF_PROXY_STATUS_LOCAL;
-#endif
-
-        /* ...flush message buffer contents to main memory as required - too late - different core - tbd */
-        (XF_OPCODE_RDATA(m->opcode) ? XF_PROXY_FLUSH(m->buffer, m->length) : 0);
-
-        /* ...find place in a queue for next response */
-        response = XF_PROXY_RESPONSE(core, XF_QUEUE_IDX(write_idx));
-
-        /* ...put the response message fields */
-        response->session_id = m->id;
-        response->opcode = m->opcode;
-        response->length = m->length;
-        response->address = xf_ipc_b2a(core, m->buffer);
-        /* ...flush the content of the caches to main memory */
-        XF_PROXY_FLUSH(response, sizeof(*response));
-
-#ifdef XAF_PROFILE_DSP
-        if((m->opcode == XF_FILL_THIS_BUFFER))
-        {
-            if((m->length != 0) && (m->length != 20))
-            {
-                prof.g_output_bytes += (unsigned long)m->length;
-            }
-            else if (m->length == 20)
-            {
-              /* Profiler re-initialization */
-              INIT_XA_PROFILER(prof,"DSP core");
-
-              /* update stream params on re-init */
-              xf_start_msg_t *sm = (xf_start_msg_t *)m->buffer;
-              prof.sample_rate = sm->sample_rate;
-              prof.channels = sm->channels;
-              prof.pcm_width = sm->pcm_width;
-            }
-        }
-#endif
-        TRACE(RSP, _b("R[%x]:(%x,%u,%p)"), m->id, m->opcode, m->length, m->buffer);
-
-        /* ...return message back to the pool */
-        xf_msg_pool_put(&XF_CORE_RO_DATA(core)->pool, m);
-
-        /* ...advance local writing index copy */
-        write_idx = XF_QUEUE_ADVANCE_IDX(write_idx);
-
-        /* ...update shared copy of queue write pointer */
-        XF_PROXY_WRITE(core, rsp_write_idx, write_idx);
-    }
-
-    /* ...return interface status change flags */
-    return status;
-}
-
-/*******************************************************************************
- * Entry points
- ******************************************************************************/
-
-/* ...process local/remote shared memory interface status change */
-void xf_shmem_process_queues(u32 core)
-{
-    u32     status;
-
-    do
-    {
-        /* ...acknowledge/clear any pending incoming interrupt */
-        XF_PROXY_SYNC_PEER(core);
-
-        /* ...send out pending response messages (frees message buffers, so do it first) */
-        status = xf_shmem_process_output(core);
-
-        /* ...receive and forward incoming command messages (allocates message buffers) */
-        status |= xf_shmem_process_input(core);
-
-        /* ...assert remote mailbox interrupt if global update bit is set */
-        if (status & XF_PROXY_STATUS_REMOTE)
-        {
-            XF_PROXY_NOTIFY_PEER(core);
-        }
-    }
-    while (status);
-}
-
-/* ...completion callback for message originating from remote proxy */
-void xf_msg_proxy_complete(xf_message_t *m)
-{
-    /* ...place message into proxy response queue */
-    xf_msg_proxy_put(m);
-}
-
-/* ...initialize shared memory interface (DSP side) */
-int xf_shmem_init(u32 core)
-{
-    xf_core_rw_data_t  *rw = XF_CORE_RW_DATA(core);
-    xf_core_ro_data_t  *ro = XF_CORE_RO_DATA(core);
-
-    /* ...initialize local/remote message queues */
-    xf_msg_queue_init(&rw->local);
-    xf_msg_queue_init(&rw->remote);
-
-    /* ...initialize global message list */
-    XF_CHK_API(xf_msg_pool_init(&ro->pool, XF_CFG_MESSAGE_POOL_SIZE, core));
-
-    /* ...flush memory content as needed */
-    (XF_REMOTE_IPC_NON_COHERENT ? XF_PROXY_FLUSH(rw, sizeof(*rw)) : 0);
-
-    /* ...system-specific initialization of IPC layer */
-    XF_CHK_API(xf_ipc_init(core));
-
-    TRACE(INIT, _b("SHMEM-%u subsystem initialized"), core);
-
-    return 0;
-}
diff --git a/hifi/xaf/hifi-dpf/include/audio/xa-audio-decoder-api.h b/hifi/xaf/hifi-dpf/include/audio/xa-audio-decoder-api.h
deleted file mode 100644
index 797bf23..0000000
--- a/hifi/xaf/hifi-dpf/include/audio/xa-audio-decoder-api.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/*******************************************************************************
- * xa-audio-decoder-api.h
- *
- * Generic audio decoder API
- *
- ******************************************************************************/
-
-#ifndef __XA_ADEC_API_H__
-#define __XA_ADEC_API_H__
-
-/* ...includes */
-#include "xa_type_def.h"
-#include "xa_error_standards.h"
-#include "xa_apicmd_standards.h"
-#include "xa_memory_standards.h"
-
-/* ...generic audio-decoder configuration parameters */
-enum xa_config_param_codec {
-    XA_CODEC_CONFIG_PARAM_CHANNELS       = 0x10000 + 0,
-    XA_CODEC_CONFIG_PARAM_SAMPLE_RATE    = 0x10000 + 1,
-    XA_CODEC_CONFIG_PARAM_PCM_WIDTH      = 0x10000 + 2,
-    XA_CODEC_CONFIG_PARAM_PRODUCED       = 0x10000 + 3
-};
-
-/* ...ports indices */
-enum xa_codec_ports {
-    XA_CODEC_INPUT_PORT  = 0,
-    XA_CODEC_OUTPUT_PORT = 1
-};
-
-/* ...non-fatal execution errors */
-enum
-{
-    XA_CODEC_EXEC_NO_DATA = XA_ERROR_CODE(xa_severity_nonfatal, xa_class_execute, XA_CODEC_GENERIC, 0)
-};
-
-/* ...fatal execution errors */
-enum
-{
-    XA_CODEC_EXEC_SEQUENCE = XA_ERROR_CODE(xa_severity_fatal, xa_class_execute, XA_CODEC_GENERIC, 0),
-    XA_CODEC_EXEC_MISBEHAVING = XA_ERROR_CODE(xa_severity_fatal, xa_class_execute, XA_CODEC_GENERIC, 1),
-};
-
-#endif
diff --git a/hifi/xaf/hifi-dpf/include/audio/xa-mixer-api.h b/hifi/xaf/hifi-dpf/include/audio/xa-mixer-api.h
deleted file mode 100644
index 0de1745..0000000
--- a/hifi/xaf/hifi-dpf/include/audio/xa-mixer-api.h
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/*******************************************************************************
- * xa-mixer-api.h
- *
- * Mixer component API
- *
- ******************************************************************************/
-
-#ifndef __XA_MIXER_API_H__
-#define __XA_MIXER_API_H__
-
-/*******************************************************************************
- * Includes
- ******************************************************************************/
-
-#include "xa_type_def.h"
-#include "xa_error_standards.h"
-#include "xa_apicmd_standards.h"
-#include "xa_memory_standards.h"
-
-/*******************************************************************************
- * Constants definitions
- ******************************************************************************/
-
-/* ...mixer-specific configuration parameters */
-enum xa_config_param_mixer {
-    XA_MIXER_CONFIG_PARAM_INPUT_TRACKS      = 0,
-    XA_MIXER_CONFIG_PARAM_PCM_WIDTH         = 1,
-    XA_MIXER_CONFIG_PARAM_CHANNELS          = 2,
-    XA_MIXER_CONFIG_PARAM_SAMPLE_RATE       = 4,
-    XA_MIXER_CONFIG_PARAM_FRAME_SIZE        = 5,
-    XA_MIXER_CONFIG_PARAM_BUFFER_SIZE       = 6,
-    XA_MIXER_CONFIG_PARAM_VOLUME            = 7,
-    XA_MIXER_CONFIG_PARAM_NUM               = 8
-};
-
-/* ...component identifier (informative) */
-#define XA_CODEC_MIXER                  1
-
-/* ...global limitation - maximal mixer track number */
-#define XA_MIXER_MAX_TRACK_NUMBER       4
-
-/* ...volume representation */
-#define __XA_MIXER_VOLUME(v)            \
-    ({ u32  __v = (u32)((v) * (1 << 12)); (__v > 0xFFFF ? __v = 0xFFFF : 0); (u16)__v; })
-
-/* ...mixer volume setting command encoding */
-#define XA_MIXER_VOLUME(track, channel, volume) \
-    (__XA_MIXER_VOLUME(volume) | ((track) << 16) | ((channel) << 20))
-
-/*******************************************************************************
- * Class 0: API Errors
- ******************************************************************************/
-
-#define XA_MIXER_API_NONFATAL(e)        \
-    XA_ERROR_CODE(xa_severity_nonfatal, xa_class_api, XA_CODEC_MIXER, (e))
-
-#define XA_MIXER_API_FATAL(e)           \
-    XA_ERROR_CODE(xa_severity_fatal, xa_class_api, XA_CODEC_MIXER, (e))
-
-enum xa_error_nonfatal_api_mixer {
-    XA_MIXER_API_NONFATAL_MAX = XA_MIXER_API_NONFATAL(0)
-};
-
-enum xa_error_fatal_api_mixer {
-    XA_MIXER_API_FATAL_MAX = XA_MIXER_API_FATAL(0)
-};
-
-/*******************************************************************************
- * Class 1: Configuration Errors
- ******************************************************************************/
-
-#define XA_MIXER_CONFIG_NONFATAL(e)     \
-    XA_ERROR_CODE(xa_severity_nonfatal, xa_class_config, XA_CODEC_MIXER, (e))
-
-#define XA_MIXER_CONFIG_FATAL(e)        \
-    XA_ERROR_CODE(xa_severity_fatal, xa_class_config, XA_CODEC_MIXER, (e))
-
-enum xa_error_nonfatal_config_mixer {
-    XA_MIXER_CONFIG_NONFATAL_RANGE  = XA_MIXER_CONFIG_NONFATAL(0),
-    XA_MIXER_CONFIG_NONFATAL_STATE  = XA_MIXER_CONFIG_NONFATAL(1),
-    XA_MIXER_CONFIG_NONFATAL_MAX    = XA_MIXER_CONFIG_NONFATAL(2)
-};
-
-enum xa_error_fatal_config_mixer {
-    XA_MIXER_CONFIG_FATAL_RANGE     = XA_MIXER_CONFIG_FATAL(0),
-    XA_MIXER_CONFIG_FATAL_TRACK_STATE = XA_MIXER_CONFIG_FATAL(0 + XA_MIXER_CONFIG_NONFATAL_MAX),
-    XA_MIXER_CONFIG_FATAL_MAX       = XA_MIXER_CONFIG_FATAL(1)
-};
-
-/*******************************************************************************
- * Class 2: Execution Class Errors
- ******************************************************************************/
-
-#define XA_MIXER_EXEC_NONFATAL(e)       \
-    XA_ERROR_CODE(xa_severity_nonfatal, xa_class_execute, XA_CODEC_MIXER, (e))
-
-#define XA_MIXER_EXEC_FATAL(e)          \
-    XA_ERROR_CODE(xa_severity_fatal, xa_class_execute, XA_CODEC_MIXER, (e))
-
-enum xa_error_nonfatal_execute_mixer {
-    XA_MIXER_EXEC_NONFATAL_STATE    = XA_MIXER_EXEC_NONFATAL(0),
-    XA_MIXER_EXEC_NONFATAL_NO_DATA  = XA_MIXER_EXEC_NONFATAL(1),
-    XA_MIXER_EXEC_NONFATAL_INPUT    = XA_MIXER_EXEC_NONFATAL(2),
-    XA_MIXER_EXEC_NONFATAL_OUTPUT   = XA_MIXER_EXEC_NONFATAL(3),
-    XA_MIXER_EXEC_NONFATAL_MAX      = XA_MIXER_EXEC_NONFATAL(4)
-};
-
-enum xa_error_fatal_execute_mixer {
-    XA_MIXER_EXEC_FATAL_STATE       = XA_MIXER_EXEC_FATAL(0),
-    XA_MIXER_EXEC_FATAL_INPUT       = XA_MIXER_EXEC_FATAL(1),
-    XA_MIXER_EXEC_FATAL_OUTPUT      = XA_MIXER_EXEC_FATAL(2),
-    XA_MIXER_EXEC_FATAL_MAX         = XA_MIXER_EXEC_FATAL(3)
-};
-
-/*******************************************************************************
- * API function definition (tbd)
- ******************************************************************************/
-
-#if defined(USE_DLL) && defined(_WIN32)
-#define DLL_SHARED __declspec(dllimport)
-#elif defined (_WINDLL)
-#define DLL_SHARED __declspec(dllexport)
-#else
-#define DLL_SHARED
-#endif
-
-#if defined(__cplusplus)
-extern "C" {
-#endif  /* __cplusplus */
-DLL_SHARED xa_codec_func_t xa_mixer;
-#if defined(__cplusplus)
-}
-#endif  /* __cplusplus */
-
-#endif /* __XA_MIXER_API_H__ */
diff --git a/hifi/xaf/hifi-dpf/include/audio/xa_apicmd_standards.h b/hifi/xaf/hifi-dpf/include/audio/xa_apicmd_standards.h
deleted file mode 100644
index eb1b78e..0000000
--- a/hifi/xaf/hifi-dpf/include/audio/xa_apicmd_standards.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-/*******************************************************************************
-*
-* NOTE, ANY CHANGES TO THIS FILE MAY AFFECT UNDERLYING AUDIO / SPEECH CODEC
-* LIBRARY COMPONENT FROM CADENCE DESIGN SYSTEMS, INC.
-*
-******************************************************************************/
-
-
-#ifndef __XA_API_CMD_STANDARDS_H__
-#define __XA_API_CMD_STANDARDS_H__
-
-/*****************************************************************************/
-/* Standard API commands                                                     */
-/*****************************************************************************/
-
-enum xa_api_cmd_generic {
-  XA_API_CMD_GET_LIB_ID_STRINGS	      = 0x0001,
-
-  XA_API_CMD_GET_API_SIZE             = 0x0002,
-  XA_API_CMD_INIT                     = 0x0003,
-
-  XA_API_CMD_SET_CONFIG_PARAM         = 0x0004,
-  XA_API_CMD_GET_CONFIG_PARAM         = 0x0005,
-
-  XA_API_CMD_GET_MEMTABS_SIZE         = 0x0006,
-  XA_API_CMD_SET_MEMTABS_PTR          = 0x0007,
-  XA_API_CMD_GET_N_MEMTABS            = 0x0008,
-
-  XA_API_CMD_EXECUTE                  = 0x0009,
-
-  XA_API_CMD_PUT_INPUT_QUERY          = 0x000A,
-  XA_API_CMD_GET_CURIDX_INPUT_BUF     = 0x000B,
-  XA_API_CMD_SET_INPUT_BYTES          = 0x000C,
-  XA_API_CMD_GET_OUTPUT_BYTES         = 0x000D,
-  XA_API_CMD_INPUT_OVER               = 0x000E,
-
-  XA_API_CMD_GET_MEM_INFO_SIZE        = 0x0010,
-  XA_API_CMD_GET_MEM_INFO_ALIGNMENT   = 0x0011,
-  XA_API_CMD_GET_MEM_INFO_TYPE        = 0x0012,
-  XA_API_CMD_GET_MEM_INFO_PLACEMENT   = 0x0013,
-  XA_API_CMD_GET_MEM_INFO_PRIORITY    = 0x0014,
-  XA_API_CMD_SET_MEM_PTR              = 0x0015,
-  XA_API_CMD_SET_MEM_INFO_SIZE        = 0x0016,
-  XA_API_CMD_SET_MEM_PLACEMENT        = 0x0017,
-
-  XA_API_CMD_GET_N_TABLES             = 0x0018,
-  XA_API_CMD_GET_TABLE_INFO_SIZE      = 0x0019,
-  XA_API_CMD_GET_TABLE_INFO_ALIGNMENT = 0x001A,
-  XA_API_CMD_GET_TABLE_INFO_PRIORITY  = 0x001B,
-  XA_API_CMD_SET_TABLE_PTR            = 0x001C,
-  XA_API_CMD_GET_TABLE_PTR            = 0x001D
-};
-
-/*****************************************************************************/
-/* Standard API command indices                                              */
-/*****************************************************************************/
-
-enum xa_cmd_type_generic {
-  /* XA_API_CMD_GET_LIB_ID_STRINGS indices */
-  XA_CMD_TYPE_LIB_NAME                    = 0x0100,
-  XA_CMD_TYPE_LIB_VERSION                 = 0x0200,
-  XA_CMD_TYPE_API_VERSION                 = 0x0300,
-
-  /* XA_API_CMD_INIT indices */
-  XA_CMD_TYPE_INIT_API_PRE_CONFIG_PARAMS  = 0x0100,
-  XA_CMD_TYPE_INIT_API_POST_CONFIG_PARAMS = 0x0200,
-  XA_CMD_TYPE_INIT_PROCESS                = 0x0300,
-  XA_CMD_TYPE_INIT_DONE_QUERY             = 0x0400,
-
-  /* XA_API_CMD_EXECUTE indices */
-  XA_CMD_TYPE_DO_EXECUTE                  = 0x0100,
-  XA_CMD_TYPE_DONE_QUERY                  = 0x0200,
-  XA_CMD_TYPE_DO_RUNTIME_INIT             = 0x0300
-};
-
-
-/*****************************************************************************/
-/* Standard API configuration parameters                                     */
-/*****************************************************************************/
-
-enum xa_config_param_generic {
-  XA_CONFIG_PARAM_CUR_INPUT_STREAM_POS    = 0x0100,
-  XA_CONFIG_PARAM_GEN_INPUT_STREAM_POS    = 0x0200,
-};
-
-#endif /* __XA_API_CMD_STANDARDS_H__ */
diff --git a/hifi/xaf/hifi-dpf/include/audio/xa_error_standards.h b/hifi/xaf/hifi-dpf/include/audio/xa_error_standards.h
deleted file mode 100644
index 1b67b52..0000000
--- a/hifi/xaf/hifi-dpf/include/audio/xa_error_standards.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-/*******************************************************************************
-*
-* NOTE, ANY CHANGES TO THIS FILE MAY AFFECT UNDERLYING AUDIO / SPEECH CODEC
-* LIBRARY COMPONENT FROM CADENCE DESIGN SYSTEMS, INC.
-*
-******************************************************************************/
-
-
-#ifndef __XA_ERROR_STANDARDS_H__
-#define __XA_ERROR_STANDARDS_H__
-
-/*****************************************************************************/
-/* File includes                                                             */
-/*  xa_type_def.h                                                            */
-/*****************************************************************************/
-
-/*****************************************************************************/
-/* Constant hash defines                                                     */
-/*****************************************************************************/
-#define XA_NO_ERROR	0
-#define XA_FATAL_ERROR	0x80000000
-
-enum xa_error_severity {
-  xa_severity_nonfatal = 0,
-  xa_severity_fatal    = 0xffffffff
-};
-
-enum xa_error_class {
-  xa_class_api     = 0,
-  xa_class_config  = 1,
-  xa_class_execute = 2,
-  xa_class_proxy   = 3
-};
-
-#define XA_CODEC_GENERIC	0
-
-#define XA_ERROR_CODE(severity, class, codec, index)	((severity << 15) | (class << 11) | (codec << 6) | index)
-#define XA_ERROR_SEVERITY(code)	(((code) & XA_FATAL_ERROR) != 0)
-#define XA_ERROR_CLASS(code)	(((code) >> 11) & 0x0f)
-#define XA_ERROR_CODEC(code)    (((code) >>  6) & 0x1f)
-#define XA_ERROR_SUBCODE(code)	(((code) >>  0) & 0x3f)
-
-/* Our convention is that only api-class errors can be generic ones. */
-
-/*****************************************************************************/
-/* Class 0: API Errors                                                       */
-/*****************************************************************************/
-/* Non Fatal Errors */
-/* (none) */
-/* Fatal Errors */
-enum xa_error_fatal_api_generic {
-  XA_API_FATAL_MEM_ALLOC        = XA_ERROR_CODE(xa_severity_fatal, xa_class_api, XA_CODEC_GENERIC, 0),
-  XA_API_FATAL_MEM_ALIGN        = XA_ERROR_CODE(xa_severity_fatal, xa_class_api, XA_CODEC_GENERIC, 1),
-  XA_API_FATAL_INVALID_CMD      = XA_ERROR_CODE(xa_severity_fatal, xa_class_api, XA_CODEC_GENERIC, 2),
-  XA_API_FATAL_INVALID_CMD_TYPE = XA_ERROR_CODE(xa_severity_fatal, xa_class_api, XA_CODEC_GENERIC, 3)
-};
-
-#endif /* __XA_ERROR_STANDARDS_H__ */
diff --git a/hifi/xaf/hifi-dpf/include/audio/xa_memory_standards.h b/hifi/xaf/hifi-dpf/include/audio/xa_memory_standards.h
deleted file mode 100644
index 27ec455..0000000
--- a/hifi/xaf/hifi-dpf/include/audio/xa_memory_standards.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-/*******************************************************************************
-*
-* NOTE, ANY CHANGES TO THIS FILE MAY AFFECT UNDERLYING AUDIO / SPEECH CODEC
-* LIBRARY COMPONENT FROM CADENCE DESIGN SYSTEMS, INC.
-*
-******************************************************************************/
-
-
-#ifndef __XA_MEMORY_STANDARDS_H__
-#define __XA_MEMORY_STANDARDS_H__
-
-/*****************************************************************************/
-/* Constant hash defines                                                     */
-/*****************************************************************************/
-/* when you don't need alignment, pass this to memory library */
-#define XA_MEM_NO_ALIGN				0x01
-
-/* standard memory types */
-/* to be used inter frames */
-#define XA_MEMTYPE_PERSIST				0x00 
-/* read write, to be used intra frames */
-#define XA_MEMTYPE_SCRATCH				0x01 
-/* read only memory, intra frame */
-#define XA_MEMTYPE_INPUT				0x02 
-/* read-write memory, for usable output, intra frame */
-#define XA_MEMTYPE_OUTPUT				0x03 
-/* readonly memory, inter frame */
-#define XA_MEMTYPE_TABLE				0x04 
-/* input buffer before mem tabs allocation */
-#define XA_MEMTYPE_PRE_FRAME_INPUT		0x05 
-/* input buffer before mem tabs allocation */
-#define XA_MEMTYPE_PRE_FRAME_SCRATCH	0x06 
-/* for local variables */
-#define XA_MEMTYPE_AUTO_VAR				0x80 
-
-/* standard memory priorities */
-#define XA_MEMPRIORITY_ANYWHERE			0x00
-#define XA_MEMPRIORITY_LOWEST			0x01
-#define XA_MEMPRIORITY_LOW				0x02
-#define XA_MEMPRIORITY_NORM				0x03
-#define XA_MEMPRIORITY_ABOVE_NORM		0x04
-#define XA_MEMPRIORITY_HIGH				0x05
-#define XA_MEMPRIORITY_HIGHER			0x06
-#define XA_MEMPRIORITY_CRITICAL			0x07
-
-/* standard memory placements */
-/* placement is defined by 64 bits */
-
-#define XA_MEMPLACE_FAST_RAM_0			0x000001
-#define XA_MEMPLACE_FAST_RAM_1			0x000002
-#define XA_MEMPLACE_FAST_RAM_2			0x000004
-#define XA_MEMPLACE_FAST_RAM_3			0x000008
-#define XA_MEMPLACE_FAST_RAM_4			0x000010
-#define XA_MEMPLACE_FAST_RAM_5			0x000020
-#define XA_MEMPLACE_FAST_RAM_6			0x000040
-#define XA_MEMPLACE_FAST_RAM_7			0x000080
-
-#define XA_MEMPLACE_INT_RAM_0			0x000100
-#define XA_MEMPLACE_INT_RAM_1			0x000200
-#define XA_MEMPLACE_INT_RAM_2			0x000400
-#define XA_MEMPLACE_INT_RAM_3			0x000800
-#define XA_MEMPLACE_INT_RAM_4			0x001000
-#define XA_MEMPLACE_INT_RAM_5			0x002000
-#define XA_MEMPLACE_INT_RAM_6			0x004000
-#define XA_MEMPLACE_INT_RAM_7			0x008000
-
-#define XA_MEMPLACE_EXT_RAM_0			0x010000
-#define XA_MEMPLACE_EXT_RAM_1			0x020000
-#define XA_MEMPLACE_EXT_RAM_2			0x040000
-#define XA_MEMPLACE_EXT_RAM_3			0x080000
-#define XA_MEMPLACE_EXT_RAM_4			0x100000
-#define XA_MEMPLACE_EXT_RAM_5			0x200000
-#define XA_MEMPLACE_EXT_RAM_6			0x400000
-#define XA_MEMPLACE_EXT_RAM_7			0x800000
-
-#define XA_MEMPLACE_DONTCARE_H			0xFFFFFFFF
-#define XA_MEMPLACE_DONTCARE_L			0xFFFFFFFF
-
-/* the simple common PC RAM */
-#define XA_PC_RAM_H					0x00000000
-#define XA_PC_RAM_L					XA_MEMPLACE_EXT_RAM_0
-
-#endif /* __XA_MEMORY_STANDARDS_H__ */
diff --git a/hifi/xaf/hifi-dpf/include/audio/xa_type_def.h b/hifi/xaf/hifi-dpf/include/audio/xa_type_def.h
deleted file mode 100644
index e83cdd3..0000000
--- a/hifi/xaf/hifi-dpf/include/audio/xa_type_def.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-/*******************************************************************************
-*
-* NOTE, ANY CHANGES TO THIS FILE MAY AFFECT UNDERLYING AUDIO / SPEECH CODEC
-* LIBRARY COMPONENT FROM CADENCE DESIGN SYSTEMS, INC.
-*
-******************************************************************************/
-
-
-#ifndef  __XA_TYPE_DEF_H__
-#define  __XA_TYPE_DEF_H__
-
-/****************************************************************************/
-/*     types               type define    prefix        examples      bytes */
-/************************  ***********    ******    ****************  ***** */
-typedef signed char             WORD8   ;/* b       WORD8    b_name     1   */
-typedef signed char         *   pWORD8  ;/* pb      pWORD8   pb_nmae    1   */
-typedef unsigned char           UWORD8  ;/* ub      UWORD8   ub_count   1   */
-typedef unsigned char       *   pUWORD8 ;/* pub     pUWORD8  pub_count  1   */
-
-typedef signed short            WORD16  ;/* s       WORD16   s_count    2   */
-typedef signed short        *   pWORD16 ;/* ps      pWORD16  ps_count   2   */
-typedef unsigned short          UWORD16 ;/* us      UWORD16  us_count   2   */
-typedef unsigned short      *   pUWORD16;/* pus     pUWORD16 pus_count  2   */
-
-typedef signed int              WORD24  ;/* k       WORD24   k_count    3   */
-typedef signed int          *   pWORD24 ;/* pk      pWORD24  pk_count   3   */
-typedef unsigned int            UWORD24 ;/* uk      UWORD24  uk_count   3   */
-typedef unsigned int        *   pUWORD24;/* puk     pUWORD24 puk_count  3   */
-
-typedef signed int              WORD32  ;/* i       WORD32   i_count    4   */
-typedef signed int          *   pWORD32 ;/* pi      pWORD32  pi_count   4   */
-typedef unsigned int            UWORD32 ;/* ui      UWORD32  ui_count   4   */
-typedef unsigned int        *   pUWORD32;/* pui     pUWORD32 pui_count  4   */
-
-typedef signed long long        WORD40  ;/* m       WORD40   m_count    5   */
-typedef signed long long    *   pWORD40 ;/* pm      pWORD40  pm_count   5   */
-typedef unsigned long long      UWORD40 ;/* um      UWORD40  um_count   5   */
-typedef unsigned long long  *   pUWORD40;/* pum     pUWORD40 pum_count  5   */
-
-typedef signed long long        WORD64  ;/* h       WORD64   h_count    8   */
-typedef signed long long    *   pWORD64 ;/* ph      pWORD64  ph_count   8   */
-typedef unsigned long long      UWORD64 ;/* uh      UWORD64  uh_count   8   */
-typedef unsigned long long  *   pUWORD64;/* puh     pUWORD64 puh_count  8   */
-
-typedef float                   FLOAT32 ;/* f       FLOAT32  f_count    4   */
-typedef float               *   pFLOAT32;/* pf      pFLOAT32 pf_count   4   */
-typedef double                  FLOAT64 ;/* d       UFLOAT64 d_count    8   */
-typedef double              *   pFlOAT64;/* pd      pFLOAT64 pd_count   8   */
-
-typedef void                    VOID    ;/* v       VOID     v_flag     4   */
-typedef void                *   pVOID   ;/* pv      pVOID    pv_flag    4   */
-
-/* variable size types: platform optimized implementation */
-//typedef signed int              BOOL    ;/* bool    BOOL     bool_true      */
-//typedef unsigned int            UBOOL   ;/* ubool   BOOL     ubool_true     */
-typedef signed int              FLAG    ;/* flag    FLAG     flag_false     */
-typedef unsigned int            UFLAG   ;/* uflag   FLAG     uflag_false    */
-typedef signed int              LOOPIDX ;/* lp      LOOPIDX  lp_index       */
-typedef unsigned int            ULOOPIDX;/* ulp     SLOOPIDX ulp_index      */
-typedef signed int              WORD    ;/* lp      LOOPIDX  lp_index       */
-typedef unsigned int            UWORD   ;/* ulp     SLOOPIDX ulp_index      */
-
-typedef LOOPIDX                 LOOPINDEX; /* lp    LOOPIDX  lp_index       */
-typedef ULOOPIDX                ULOOPINDEX;/* ulp   SLOOPIDX ulp_index      */
-
-#define PLATFORM_INLINE __inline
-
-typedef struct xa_codec_opaque { WORD32 _; } *xa_codec_handle_t;
-
-typedef int XA_ERRORCODE;
-
-typedef XA_ERRORCODE xa_codec_func_t(xa_codec_handle_t p_xa_module_obj,
-				     WORD32            i_cmd,
-				     WORD32            i_idx,
-				     pVOID             pv_value);
-
-#endif /* __XA_TYPE_DEF_H__ */
diff --git a/hifi/xaf/hifi-dpf/include/lib/mutex.h b/hifi/xaf/hifi-dpf/include/lib/mutex.h
deleted file mode 100644
index 2aef0f6..0000000
--- a/hifi/xaf/hifi-dpf/include/lib/mutex.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/*******************************************************************************
- * mutex.h
- *
- *
- * Implementation of "non-robust" Szymanski linear-waiting algorithm. Types of
- * failures tolerated by Szymanski's "robust" algorithm are not specific for
- * Xtensa DSP cluster and therefore more lightweight version of the algorithm
- * is used. FIFO servicing property is of low importance, and faster/smaller
- * version with linear-wait property is preferable.
- *
- * We assume there is just a single mutex in the system, and all communication
- * variables are defined somewhere in board-specific headers and imported here
- * by means of macros MUTEX_SHARED_READ/WRITE.
- ******************************************************************************/
-
-#ifndef __MUTEX_H
-#define __MUTEX_H
-
-/*******************************************************************************
- * Imported macros
- ******************************************************************************/
-
-#if !defined(MUTEX_SHARED_READ) || !defined(MUTEX_SHARED_WRITE)
-#error "Macros MUTEX_SHARED_READ and/or MUTEX_SHARED_WRITE not defined"
-#endif
-
-/*******************************************************************************
- * Entry points
- ******************************************************************************/
-
-/* ...acquire global mutex from i-th core */
-extern void mutex_lock(u32 i);
-
-/* ...release global mutex from i-th core */
-extern void mutex_unlock(u32 i);
-
-#endif  /* __MUTEX_H */
diff --git a/hifi/xaf/hifi-dpf/include/lib/rbtree.h b/hifi/xaf/hifi-dpf/include/lib/rbtree.h
deleted file mode 100644
index 7f02cdf..0000000
--- a/hifi/xaf/hifi-dpf/include/lib/rbtree.h
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/*******************************************************************************
- * rbtree.h
- *
- * Generic implmentation of red-black trees
- *
- *******************************************************************************/
-
-#ifndef __RBTREE_H
-#define __RBTREE_H
-
-/*******************************************************************************
- * Red-black tree node definition
- ******************************************************************************/
-
-/* ...reference to rb-tree node */
-typedef struct rb_node  *rb_idx_t;
-
-/* ...rb-tree node */
-typedef struct rb_node
-{
-    /* ...pointers to parent and two children */
-    rb_idx_t            parent, left, right;
-    
-    /* ...node color (least-significant-bit only) */
-    u32                 color;
-
-}   rb_node_t;
-
-/* ...rb-tree data */
-typedef struct rb_tree_t
-{
-    /* ...tree sentinel node */
-    rb_node_t           root;
-
-}   rb_tree_t;    
-
-/*******************************************************************************
- * Helpers
- ******************************************************************************/
-
-/* ...left child accessor */
-static inline rb_idx_t rb_left(rb_tree_t *tree, rb_idx_t n_idx)
-{
-    return n_idx->left;
-}
-
-/* ...right child accessor */
-static inline rb_idx_t rb_right(rb_tree_t *tree, rb_idx_t n_idx)
-{
-    return n_idx->right;
-}
-
-/* ...parent node accessor */
-static inline rb_idx_t rb_parent(rb_tree_t *tree, rb_idx_t n_idx)
-{
-    return n_idx->parent;
-}
-
-/* ...tree root node accessor */
-static inline rb_idx_t rb_root(rb_tree_t *tree)
-{
-    return rb_left(tree, &tree->root);
-}
-
-/* ...tree data pointer accessor */
-static inline rb_idx_t rb_cache(rb_tree_t *tree)
-{
-    return rb_right(tree, &tree->root);
-}
-
-/* ...tree null node */
-static inline rb_idx_t rb_null(rb_tree_t *tree)
-{
-    return &tree->root;
-}
-
-/* ...get user-bits stored in node color */
-static inline u32 rb_node_data(rb_tree_t *tree, rb_idx_t n_idx)
-{
-    return (n_idx->color >> 1);
-}
-
-/* ...left child assignment */
-static inline void rb_set_left(rb_tree_t *tree, rb_idx_t n_idx, rb_node_t *child)
-{
-    n_idx->left = child;
-}
-
-/* ...right child assignment */
-static inline void rb_set_right(rb_tree_t *tree, rb_idx_t n_idx, rb_node_t *child)
-{
-    n_idx->right = child;
-}
-
-/* ...cache tree client index */
-static inline void rb_set_cache(rb_tree_t *tree, rb_idx_t c_idx)
-{
-    tree->root.right = c_idx;
-}
-
-/* ...get user-bits stored in node color */
-static inline void rb_set_node_data(rb_tree_t *tree, rb_idx_t n_idx, u32 data)
-{
-    n_idx->color = (n_idx->color & 0x1) | (data << 1);
-}
-
-/*******************************************************************************
- * API functions
- ******************************************************************************/
-
-/* ...initialize rb-tree */
-extern void     rb_init(rb_tree_t *tree);
-
-/* ...insert node into tree as a child of p */
-extern void     rb_insert(rb_tree_t *tree, rb_idx_t n_idx, rb_idx_t p_idx);
-
-/* ...replace the node with same-key value and fixup tree pointers */
-extern void     rb_replace(rb_tree_t *tree, rb_idx_t n_idx, rb_idx_t t_idx);
-
-/* ...delete node from the tree and return its in-order predecessor/successor */
-extern rb_idx_t rb_delete(rb_tree_t *tree, rb_idx_t n_idx);
-
-/* ...first in-order item in the tree */
-extern rb_idx_t rb_first(rb_tree_t *tree);
-
-/* ...last in-order item in the tree */
-extern rb_idx_t rb_last(rb_tree_t *tree);
-
-/* ...forward tree iterator */
-extern rb_idx_t rb_next(rb_tree_t *tree, rb_idx_t n_idx);
-
-/* ...backward tree iterator */
-extern rb_idx_t rb_prev(rb_tree_t *tree, rb_idx_t n_idx);
-
-#endif  /* __RBTREE_H */
diff --git a/hifi/xaf/hifi-dpf/include/lib/tinyput.h b/hifi/xaf/hifi-dpf/include/lib/tinyput.h
deleted file mode 100644
index dadd088..0000000
--- a/hifi/xaf/hifi-dpf/include/lib/tinyput.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-/* $Id: //depot/dev/Cottonwood/Xtensa/OS/mpg2/tinyput.h#2 $ */
-
-#include <stdarg.h>
-
-extern void tiny_putc(char c);
-extern int  tiny_puts(const char *s);
-extern int  tiny_atoi(const char *s);
-extern int  tiny_vsprintf(char *out, const char *fmt, va_list ap);
-extern int  tiny_sprintf(char *out, const char *fmt, ...);
diff --git a/hifi/xaf/hifi-dpf/include/sys/xt-shmem/board-hikey/arch_hifi330.h b/hifi/xaf/hifi-dpf/include/sys/xt-shmem/board-hikey/arch_hifi330.h
deleted file mode 100644
index 74b1222..0000000
--- a/hifi/xaf/hifi-dpf/include/sys/xt-shmem/board-hikey/arch_hifi330.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
-* Copyright (C) 2018 Cadence Design Systems, Inc.
-* 
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to use this Software with Cadence processor cores only and 
-* not with any other processors and platforms, subject to
-* the following conditions:
-* 
-* The above copyright notice and this permission notice shall be included
-* in all copies or substantial portions of the Software.
-* 
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************************************************/
-
-#include <xtensa/simcall.h>
-#include <xtensa/corebits.h>
-#include <xtensa/config/system.h>
-#include <xtensa/config/core.h>
-
-#ifndef __ARCH_HIFI330_H__
-#define __ARCH_HIFI330_H__
-
-#ifdef __ASSEMBLER__
-#include    <xtensa/coreasm.h>
-#endif
-
-#include    <xtensa/corebits.h>
-#include    <xtensa/config/system.h>
-
-/*
-Align a value up to nearest n-byte boundary, where n is a power of 2.
-*/
-#define ALIGNUP(n, val) (((val) + (n)-1) & -(n))
-
-
-/*******************************************************************************
-INTERRUPT STACK FRAME FOR A THREAD OR NESTED INTERRUPT
-*******************************************************************************/
-#define XT_STK_EXIT             0x00    /* (offset 0) exit point for dispatch */
-#define XT_STK_PC               0x04    /* return address */
-#define XT_STK_PS               0x08    /* at level 1 PS.EXCM is set here */
-#define XT_STK_A0               0x0C
-#define XT_STK_A1               0x10    /* stack ptr before interrupt */
-#define XT_STK_A2               0x14
-#define XT_STK_A3               0x18
-#define XT_STK_A4               0x1C
-#define XT_STK_A5               0x20
-#define XT_STK_A6               0x24
-#define XT_STK_A7               0x28
-#define XT_STK_A8               0x2C
-#define XT_STK_A9               0x30
-#define XT_STK_A10              0x34
-#define XT_STK_A11              0x38
-#define XT_STK_A12              0x3C    /* Call0 callee-save */
-#define XT_STK_A13              0x40    /* Call0 callee-save */
-#define XT_STK_A14              0x44    /* Call0 callee-save */
-#define XT_STK_A15              0x48    /* Call0 callee-save */
-#define XT_STK_SAR              0x4C
-
-#define XT_STK_LBEG             0x50
-#define XT_STK_LEND             0x54
-#define XT_STK_LCOUNT           0x58
-#define XT_STK_NEXT1            0x5C    /* next unused offset */
-
-#define XT_STK_EXTRA            ALIGNUP(XCHAL_EXTRA_SA_ALIGN, XT_STK_NEXT1)
-
-#define XT_STK_NEXT2            (XT_STK_EXTRA    + XCHAL_EXTRA_SA_SIZE)
-
-#define XT_STK_N_TMP            3       /* # of 4-byte temp. slots */
-#define XT_STK_TMP              XT_STK_NEXT2
-#define XT_STK_NEXT3            XT_STK_TMP    + (4 * XT_STK_N_TMP)
-#define XT_STK_FRMSZ            (ALIGNUP(0x10, XT_STK_NEXT3) + 0x20)
-
-
-/*******************************************************************************
-SIMPLE STACK FRAME FOR A THREAD
-*******************************************************************************/
-#define XT_SOL_EXIT             XT_STK_EXIT /* code indicates solicited frame */
-#define XT_SOL_PC               0x04    /* return address (b30-31=callinc) */
-#define XT_SOL_PS               0x08
-#define XT_SOL_NEXT             0x0c    /* next unused offset */
-                                /* there may be some unused space here */
-#define XT_SOL_A0               ALIGNUP(0x10, XT_SOL_NEXT)
-#define XT_SOL_A1               XT_SOL_A0    + 4
-#define XT_SOL_A2               XT_SOL_A1    + 4
-#define XT_SOL_A3               XT_SOL_A2    + 4
-#define XT_SOL_FRMSZ            ALIGNUP(0x10, XT_SOL_A3)
-
-
-/*******************************************************************************
-CO-PROCESSOR STATE SAVE AREA FOR A THREAD
-*******************************************************************************/