blob: d403989787fe149977425c6402fae4c4e445f496 [file] [log] [blame]
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
#include "sw/device/lib/base/memory.h"
extern uint32_t read_32(void *);
extern void write_32(uint32_t, void *);
void *memcpy(void *restrict dest, const void *restrict src, size_t len) {
uint8_t *dest8 = (uint8_t *)dest;
uint8_t *src8 = (uint8_t *)src;
for (size_t i = 0; i < len; ++i) {
dest8[i] = src8[i];
}
return dest;
}
void *memset(void *dest, int value, size_t len) {
uint8_t *dest8 = (uint8_t *)dest;
uint8_t value8 = (uint8_t)value;
for (size_t i = 0; i < len; ++i) {
dest8[i] = value8;
}
return dest;
}
noreturn void abort(void) {
while (true) {
asm volatile("wfi");
}
}