OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [stable/] [mp3/] [sw/] [console-xess/] [support.c] - Diff between revs 268 and 392

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 268 Rev 392
/* Support */
/* Support */
 
 
#include <stdarg.h>
#include <stdarg.h>
 
 
#if OR1K
#if OR1K
 
 
void __dummy() {} /* to fix RTL simulator bug */
void __dummy() {} /* to fix RTL simulator bug */
void reset_support()
void reset_support()
{
{
        main();
        main();
        exit(0);
        exit(0);
}
}
 
 
void printf(const char *fmt, ...)
void printf(const char *fmt, ...)
{
{
        va_list args;
        va_list args;
        va_start(args, fmt);
        va_start(args, fmt);
        asm("l.addi\tr3,%0,0": :"r" (fmt));
        asm("l.addi\tr3,%0,0": :"r" (fmt));
        asm("l.addi\tr4,%0,0": :"r" (args));
        asm("l.addi\tr4,%0,0": :"r" (args));
        asm("l.sys 202");
        asm("l.sys 202");
}
}
 
 
void exit(int x)
void exit(int x)
{
{
  asm("l.sys 203");
  asm("l.sys 203");
}
}
 
 
void report(unsigned long value)
void report(unsigned long value)
{
{
        unsigned long spr = 0x1234;
        unsigned long spr = 0x1234;
        asm("l.mtspr\t\t%0,%1,0x0" : : "r" (spr), "r" (value));
        asm("l.mtspr\t\t%0,%1,0x0" : : "r" (spr), "r" (value));
        return;
        return;
}
}
 
 
void __main()
void __main()
{
{
}
}
 
 
void bcopy(const void *srcvoid, void * dstvoid, int length)
void bcopy(const void *srcvoid, void * dstvoid, int length)
{
{
  char *dst = dstvoid;
  char *dst = dstvoid;
  const char *src = srcvoid;
  const char *src = srcvoid;
 
 
  while (length--)
  while (length--)
          *dst++ = *src++;
          *dst++ = *src++;
}
}
 
 
#else
#else
void report(unsigned long value)
void report(unsigned long value)
{
{
        unsigned long spr = 0x1234;
        unsigned long spr = 0x1234;
        printf("l.mtspr %x,%x\n", spr, value);
        printf("l.mtspr %x,%x\n", spr, value);
        return;
        return;
}
}
#endif
#endif
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.