memory.h 799 B

12345678910111213141516171819202122232425262728293031
  1. /*
  2. * rt-loader header
  3. * (c) 2025 Markus Stockhausen
  4. */
  5. #ifndef _MEMORY_H_
  6. #define _MEMORY_H_
  7. #include <stddef.h>
  8. #include "globals.h"
  9. #define CACHE_HIT_INVALIDATE_I 0x10
  10. #define CACHE_HIT_WRITEBACK_INV_D 0x15
  11. #define ioread32(reg) (*(volatile int *)(reg))
  12. #define iowrite32(val, reg) (*(volatile int *)(reg) = val)
  13. void flush_cache(void *start_addr, size_t count);
  14. void free(void *ptr);
  15. void *malloc(size_t count);
  16. int memcmp(const void *s1, const void *s2, size_t count);
  17. void *memmove(void *dst, const void *src, size_t count);
  18. void *memcpy(void *dst, const void *src, size_t count);
  19. void *memset(void *dst, int value, size_t count);
  20. size_t strlen(const char *s);
  21. unsigned int crc32(void *m, size_t count);
  22. extern void *_heap_addr;
  23. extern void *_heap_addr_max;
  24. #endif // _MEMORY_H_