aboutsummaryrefslogtreecommitdiff
path: root/applications/message_process/include/message_process.hpp
diff options
context:
space:
mode:
authorKristofer Jonsson <kristofer.jonsson@arm.com>2021-11-12 12:51:27 +0100
committerKristofer Jonsson <kristofer.jonsson@arm.com>2021-11-18 15:35:37 +0100
commiteb912395c25fbdeef4f322d7aea9226578228184 (patch)
treeb99aafbfc3aa6cfbd96200af8c5f84e9bd2d6474 /applications/message_process/include/message_process.hpp
parentd55ecdcec6350b89f785f6deb1dc34e6ffe9c8ee (diff)
downloadethos-u-core-software-eb912395c25fbdeef4f322d7aea9226578228184.tar.gz
Remove new line from log messages21.11-rc2
Remove new line from log messages to allow the log makros to format the output. Removing 'message process'. It has been replaced by the 'message handler' application in core platform. Change-Id: Ie97063680c25a33844a8e52e7d39f042da0493e1
Diffstat (limited to 'applications/message_process/include/message_process.hpp')
-rw-r--r--applications/message_process/include/message_process.hpp111
1 files changed, 0 insertions, 111 deletions
diff --git a/applications/message_process/include/message_process.hpp b/applications/message_process/include/message_process.hpp
deleted file mode 100644
index 851be04..0000000
--- a/applications/message_process/include/message_process.hpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 2020-2021 Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * 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
- *
- * 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.
- */
-
-#ifndef MESSAGE_PROCESS_H
-#define MESSAGE_PROCESS_H
-
-#include <ethosu_core_interface.h>
-#include <inference_process.hpp>
-#include <mailbox.hpp>
-
-#include <cstddef>
-#include <cstdio>
-#include <vector>
-
-namespace MessageProcess {
-
-template <uint32_t SIZE>
-struct Queue {
- EthosU::ethosu_core_queue_header header;
- uint8_t data[SIZE];
-
- constexpr Queue() : header({SIZE, 0, 0}) {}
-
- constexpr EthosU::ethosu_core_queue *toQueue() {
- return reinterpret_cast<EthosU::ethosu_core_queue *>(&header);
- }
-};
-
-class QueueImpl {
-public:
- struct Vec {
- const void *base;
- size_t length;
- };
-
- QueueImpl(EthosU::ethosu_core_queue &queue);
-
- bool empty() const;
- size_t available() const;
- size_t capacity() const;
- void reset();
- bool read(uint8_t *dst, uint32_t length);
- bool write(const Vec *vec, size_t length);
- bool write(const uint32_t type, const void *src = nullptr, uint32_t length = 0);
- template <typename T>
- bool write(const uint32_t type, const T &src) {
- return write(type, reinterpret_cast<const void *>(&src), sizeof(src));
- }
-
- template <typename T>
- bool read(T &dst) {
- return read(reinterpret_cast<uint8_t *>(&dst), sizeof(dst));
- }
-
-private:
- void cleanHeader() const;
- void cleanHeaderData() const;
- void invalidateHeader() const;
- void invalidateHeaderData() const;
-
- EthosU::ethosu_core_queue &queue;
-};
-
-class MessageProcess {
-public:
- MessageProcess(EthosU::ethosu_core_queue &in,
- EthosU::ethosu_core_queue &out,
- Mailbox::Mailbox &mbox,
- InferenceProcess::InferenceProcess &inferenceProcess);
-
- void run();
- bool handleMessage();
- void sendPong();
- void sndErrorRspAndResetQueue(EthosU::ethosu_core_msg_err_type type, const char *message);
- void sendVersionRsp();
- void sendCapabilityRsp(uint64_t userArg);
- void sendInferenceRsp(uint64_t userArg,
- std::vector<InferenceProcess::DataPtr> &ofm,
- bool failed,
- std::vector<uint8_t> &pmuEventConfig,
- uint32_t pmuCycleCounterEnable,
- std::vector<uint32_t> &pmuEventCount,
- uint64_t pmuCycleCounterCount);
-
-private:
- QueueImpl queueIn;
- QueueImpl queueOut;
- Mailbox::Mailbox &mailbox;
- InferenceProcess::InferenceProcess &inferenceProcess;
- void handleIrq();
- static void mailboxCallback(void *userArg);
-};
-
-} // namespace MessageProcess
-
-#endif