[Sound-open-firmware] [PATCH 10/10] test: audio buffer unit tests Signed-off-by: Slawomir Blauciak <slawomir.blauciak at linux.intel.com>
Liam Girdwood
liam.r.girdwood at linux.intel.com
Thu Jun 21 12:12:08 CEST 2018
From: Slawomir Blauciak <slawomir.blauciak at linux.intel.com>
---
test/cmocka/Makefile.am | 25 +++
test/cmocka/src/audio/buffer/buffer_copy.c | 174 ++++++++++++++++++++
test/cmocka/src/audio/buffer/buffer_new.c | 69 ++++++++
test/cmocka/src/audio/buffer/buffer_wrap.c | 91 ++++++++++
test/cmocka/src/audio/buffer/buffer_write.c | 116 +++++++++++++
test/cmocka/src/audio/buffer/mock.c | 63 +++++++
6 files changed, 538 insertions(+)
create mode 100644 test/cmocka/src/audio/buffer/buffer_copy.c
create mode 100644 test/cmocka/src/audio/buffer/buffer_new.c
create mode 100644 test/cmocka/src/audio/buffer/buffer_wrap.c
create mode 100644 test/cmocka/src/audio/buffer/buffer_write.c
create mode 100644 test/cmocka/src/audio/buffer/mock.c
diff --git a/test/cmocka/Makefile.am b/test/cmocka/Makefile.am
index ff1ef19..0437665 100644
--- a/test/cmocka/Makefile.am
+++ b/test/cmocka/Makefile.am
@@ -16,11 +16,36 @@ AM_CFLAGS += -I$(CMOCKA_PREFIX)/include
AM_LDFLAGS += -L$(CMOCKA_PREFIX)/lib
endif
+if BUILD_XTENSA
+AM_CFLAGS += -I../../src/arch/xtensa/include
+AM_CFLAGS += -I../../src/platform/apollolake/include
+endif
+
+if BUILD_HOST
+AM_CFLAGS += -I../../src/arch/host/include
+endif
+
CFLAGS := $(filter-out -nostdlib,$(CFLAGS))
LDFLAGS := $(filter-out -nostdlib,$(LDFLAGS))
LDADD = -lcmocka
+check_PROGRAMS += buffer_new
+buffer_new_SOURCES = src/audio/buffer/buffer_new.c src/audio/buffer/mock.c
+buffer_new_LDADD = ../../src/audio/libaudio.a $(LDADD)
+
+check_PROGRAMS += buffer_write
+buffer_write_SOURCES = src/audio/buffer/buffer_write.c src/audio/buffer/mock.c
+buffer_write_LDADD = ../../src/audio/libaudio.a $(LDADD)
+
+check_PROGRAMS += buffer_wrap
+buffer_wrap_SOURCES = src/audio/buffer/buffer_wrap.c src/audio/buffer/mock.c
+buffer_wrap_LDADD = ../../src/audio/libaudio.a $(LDADD)
+
+check_PROGRAMS += buffer_copy
+buffer_copy_SOURCES = src/audio/buffer/buffer_copy.c src/audio/buffer/mock.c
+buffer_copy_LDADD = ../../src/audio/libaudio.a $(LDADD)
+
# list tests
check_PROGRAMS += list_init
diff --git a/test/cmocka/src/audio/buffer/buffer_copy.c b/test/cmocka/src/audio/buffer/buffer_copy.c
new file mode 100644
index 0000000..6a9dea3
--- /dev/null
+++ b/test/cmocka/src/audio/buffer/buffer_copy.c
@@ -0,0 +1,174 @@
+/*
+ * Copyright (c) 2018, Intel Corporation
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the Intel Corporation nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Author: Slawomir Blauciak <slawomir.blauciak at linux.intel.com>
+ */
+
+#include <sof/audio/component.h>
+#include <sof/audio/buffer.h>
+#include <sof/ipc.h>
+
+#include <stdio.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
+#include <math.h>
+#include <cmocka.h>
+
+static void test_audio_buffer_copy_underrun(void **state)
+{
+ (void)state;
+
+ struct sof_ipc_buffer test_buf_desc = {
+ .size = 256
+ };
+
+ struct comp_buffer *src = buffer_new(&test_buf_desc);
+ struct comp_buffer *snk = buffer_new(&test_buf_desc);
+
+ assert_non_null(src);
+ assert_non_null(snk);
+
+ comp_update_buffer_produce(src, 10);
+
+ assert_int_equal(src->avail, 10);
+ assert_int_equal(comp_buffer_can_copy_bytes(src, snk, 16), -1);
+
+ buffer_free(src);
+ buffer_free(snk);
+}
+
+static void test_audio_buffer_copy_overrun(void **state)
+{
+ (void)state;
+
+ struct sof_ipc_buffer test_buf_desc = {
+ .size = 256
+ };
+
+ struct comp_buffer *src = buffer_new(&test_buf_desc);
+ struct comp_buffer *snk = buffer_new(&test_buf_desc);
+
+ assert_non_null(src);
+ assert_non_null(snk);
+
+ comp_update_buffer_produce(src, 16);
+ comp_update_buffer_produce(snk, 246);
+
+ assert_int_equal(src->avail, 16);
+ assert_int_equal(snk->free, 10);
+ assert_int_equal(comp_buffer_can_copy_bytes(src, snk, 16), 1);
+
+ buffer_free(src);
+ buffer_free(snk);
+}
+
+static void test_audio_buffer_copy_success(void **state)
+{
+ (void)state;
+
+ struct sof_ipc_buffer test_buf_desc = {
+ .size = 256
+ };
+
+ struct comp_buffer *src = buffer_new(&test_buf_desc);
+ struct comp_buffer *snk = buffer_new(&test_buf_desc);
+
+ assert_non_null(src);
+ assert_non_null(snk);
+
+ comp_update_buffer_produce(src, 10);
+
+ assert_int_equal(src->avail, 10);
+ assert_int_equal(comp_buffer_can_copy_bytes(src, snk, 0), 0);
+
+ buffer_free(src);
+ buffer_free(snk);
+}
+
+static void test_audio_buffer_copy_fit_space_constraint(void **state)
+{
+ (void)state;
+
+ struct sof_ipc_buffer test_buf_desc = {
+ .size = 256
+ };
+
+ struct comp_buffer *src = buffer_new(&test_buf_desc);
+ struct comp_buffer *snk = buffer_new(&test_buf_desc);
+
+ assert_non_null(src);
+ assert_non_null(snk);
+
+ comp_update_buffer_produce(src, 16);
+ comp_update_buffer_produce(snk, 246);
+
+ assert_int_equal(src->avail, 16);
+ assert_int_equal(snk->free, 10);
+ assert_int_equal(comp_buffer_get_copy_bytes(src, snk), 10);
+
+ buffer_free(src);
+ buffer_free(snk);
+}
+
+static void test_audio_buffer_copy_fit_no_space_constraint(void **state)
+{
+ (void)state;
+
+ struct sof_ipc_buffer test_buf_desc = {
+ .size = 256
+ };
+
+ struct comp_buffer *src = buffer_new(&test_buf_desc);
+ struct comp_buffer *snk = buffer_new(&test_buf_desc);
+
+ assert_non_null(src);
+ assert_non_null(snk);
+
+ comp_update_buffer_produce(src, 16);
+
+ assert_int_equal(src->avail, 16);
+ assert_int_equal(comp_buffer_get_copy_bytes(src, snk), 16);
+
+ buffer_free(src);
+ buffer_free(snk);
+}
+
+int main(void)
+{
+ const struct CMUnitTest tests[] = {
+ cmocka_unit_test(test_audio_buffer_copy_underrun),
+ cmocka_unit_test(test_audio_buffer_copy_overrun),
+ cmocka_unit_test(test_audio_buffer_copy_success),
+ cmocka_unit_test(test_audio_buffer_copy_fit_space_constraint),
+ cmocka_unit_test(test_audio_buffer_copy_fit_no_space_constraint)
+ };
+
+ cmocka_set_message_output(CM_OUTPUT_TAP);
+
+ return cmocka_run_group_tests(tests, NULL, NULL);
+}
diff --git a/test/cmocka/src/audio/buffer/buffer_new.c b/test/cmocka/src/audio/buffer/buffer_new.c
new file mode 100644
index 0000000..4c5cb5b
--- /dev/null
+++ b/test/cmocka/src/audio/buffer/buffer_new.c
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2018, Intel Corporation
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the Intel Corporation nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Author: Slawomir Blauciak <slawomir.blauciak at linux.intel.com>
+ */
+
+#include <sof/audio/component.h>
+#include <sof/audio/buffer.h>
+#include <sof/ipc.h>
+
+#include <stdio.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
+#include <math.h>
+#include <cmocka.h>
+
+static void test_audio_buffer_new(void **state)
+{
+ (void)state;
+
+ struct sof_ipc_buffer test_buf_desc = {
+ .size = 256
+ };
+
+ struct comp_buffer *buf = buffer_new(&test_buf_desc);
+
+ assert_non_null(buf);
+ assert_int_equal(buf->avail, 0);
+ assert_int_equal(buf->free, 256);
+ assert_ptr_equal(buf->w_ptr, buf->r_ptr);
+
+ buffer_free(buf);
+}
+
+int main(void)
+{
+ const struct CMUnitTest tests[] = {
+ cmocka_unit_test(test_audio_buffer_new)
+ };
+
+ cmocka_set_message_output(CM_OUTPUT_TAP);
+
+ return cmocka_run_group_tests(tests, NULL, NULL);
+}
diff --git a/test/cmocka/src/audio/buffer/buffer_wrap.c b/test/cmocka/src/audio/buffer/buffer_wrap.c
new file mode 100644
index 0000000..aae5b03
--- /dev/null
+++ b/test/cmocka/src/audio/buffer/buffer_wrap.c
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2018, Intel Corporation
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the Intel Corporation nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Author: Slawomir Blauciak <slawomir.blauciak at linux.intel.com>
+ */
+
+#include <sof/audio/component.h>
+#include <sof/audio/buffer.h>
+#include <sof/ipc.h>
+
+#include <stdio.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
+#include <math.h>
+#include <cmocka.h>
+
+static void test_audio_buffer_write_fill_10_bytes_and_write_5(void **state)
+{
+ (void)state;
+
+ struct sof_ipc_buffer test_buf_desc = {
+ .size = 10
+ };
+
+ struct comp_buffer *buf = buffer_new(&test_buf_desc);
+
+ assert_non_null(buf);
+ assert_int_equal(buf->avail, 0);
+ assert_int_equal(buf->free, 10);
+ assert_ptr_equal(buf->w_ptr, buf->r_ptr);
+
+ uint8_t bytes[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
+
+ memcpy(buf->w_ptr, &bytes, 10);
+ comp_update_buffer_produce(buf, 10);
+
+ assert_int_equal(buf->avail, 10);
+ assert_int_equal(buf->free, 0);
+ assert_ptr_equal(buf->w_ptr, buf->r_ptr);
+
+ uint8_t more_bytes[5] = {10, 11, 12, 13, 14};
+
+ memcpy(buf->w_ptr, &more_bytes, 5);
+ comp_update_buffer_produce(buf, 5);
+
+ uint8_t ref[10] = {10, 11, 12, 13, 14, 5, 6, 7, 8, 9};
+
+ assert_int_equal(buf->avail, 5);
+ assert_int_equal(buf->free, 5);
+ assert_ptr_equal(buf->w_ptr, buf->r_ptr + 5);
+ assert_int_equal(memcmp(buf->r_ptr, &ref, 10), 0);
+
+ buffer_free(buf);
+}
+
+int main(void)
+{
+ const struct CMUnitTest tests[] = {
+ cmocka_unit_test
+ (test_audio_buffer_write_fill_10_bytes_and_write_5)
+ };
+
+ cmocka_set_message_output(CM_OUTPUT_TAP);
+
+ return cmocka_run_group_tests(tests, NULL, NULL);
+}
diff --git a/test/cmocka/src/audio/buffer/buffer_write.c b/test/cmocka/src/audio/buffer/buffer_write.c
new file mode 100644
index 0000000..47e45c7
--- /dev/null
+++ b/test/cmocka/src/audio/buffer/buffer_write.c
@@ -0,0 +1,116 @@
+/*
+ * Copyright (c) 2018, Intel Corporation
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the Intel Corporation nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Author: Slawomir Blauciak <slawomir.blauciak at linux.intel.com>
+ */
+
+#include <sof/audio/component.h>
+#include <sof/audio/buffer.h>
+#include <sof/ipc.h>
+
+#include <stdio.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
+#include <math.h>
+#include <cmocka.h>
+
+static void test_audio_buffer_write_10_bytes_out_of_256_and_read_back
+ (void **state)
+{
+ (void)state;
+
+ struct sof_ipc_buffer test_buf_desc = {
+ .size = 256
+ };
+
+ struct comp_buffer *buf = buffer_new(&test_buf_desc);
+
+ assert_non_null(buf);
+ assert_int_equal(buf->avail, 0);
+ assert_int_equal(buf->free, 256);
+ assert_ptr_equal(buf->w_ptr, buf->r_ptr);
+
+ uint8_t bytes[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
+
+ memcpy(buf->w_ptr, &bytes, 10);
+ comp_update_buffer_produce(buf, 10);
+
+ assert_int_equal(buf->avail, 10);
+ assert_int_equal(buf->free, 246);
+ assert_ptr_equal(buf->w_ptr, buf->r_ptr + 10);
+
+ assert_int_equal(memcmp(buf->r_ptr, &bytes, 10), 0);
+
+ comp_update_buffer_consume(buf, 10);
+
+ assert_int_equal(buf->avail, 0);
+ assert_int_equal(buf->free, 256);
+ assert_ptr_equal(buf->w_ptr, buf->r_ptr);
+
+ buffer_free(buf);
+}
+
+static void test_audio_buffer_fill_10_bytes(void **state)
+{
+ (void)state;
+
+ struct sof_ipc_buffer test_buf_desc = {
+ .size = 10
+ };
+
+ struct comp_buffer *buf = buffer_new(&test_buf_desc);
+
+ assert_non_null(buf);
+ assert_int_equal(buf->avail, 0);
+ assert_int_equal(buf->free, 10);
+ assert_ptr_equal(buf->w_ptr, buf->r_ptr);
+
+ uint8_t bytes[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
+
+ memcpy(buf->w_ptr, &bytes, 10);
+ comp_update_buffer_produce(buf, 10);
+
+ assert_int_equal(buf->avail, 10);
+ assert_int_equal(buf->free, 0);
+ assert_ptr_equal(buf->w_ptr, buf->r_ptr);
+
+ buffer_free(buf);
+}
+
+int main(void)
+{
+ const struct CMUnitTest tests[] = {
+ cmocka_unit_test
+ (test_audio_buffer_write_10_bytes_out_of_256_and_read_back),
+ cmocka_unit_test(test_audio_buffer_fill_10_bytes)
+ };
+
+ cmocka_set_message_output(CM_OUTPUT_TAP);
+
+ return cmocka_run_group_tests(tests, NULL, NULL);
+}
diff --git a/test/cmocka/src/audio/buffer/mock.c b/test/cmocka/src/audio/buffer/mock.c
new file mode 100644
index 0000000..e35d34e
--- /dev/null
+++ b/test/cmocka/src/audio/buffer/mock.c
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2018, Intel Corporation
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the Intel Corporation nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Author: Slawomir Blauciak <slawomir.blauciak at linux.intel.com>
+ */
+
+#include <stdint.h>
+#include <stdlib.h>
+
+void _trace_event(uint32_t e)
+{
+ (void)e;
+}
+
+void _trace_event_mbox_atomic(uint32_t e)
+{
+ (void)e;
+}
+
+void *rzalloc(int zone, uint32_t caps, size_t bytes)
+{
+ (void)zone;
+ (void)caps;
+
+ return malloc(bytes);
+}
+
+void *rballoc(int zone, uint32_t caps, size_t bytes)
+{
+ (void)zone;
+ (void)caps;
+
+ return malloc(bytes);
+}
+
+void rfree(void *ptr)
+{
+ free(ptr);
+}
--
2.17.0
More information about the Sound-open-firmware
mailing list