Annotation of qemu/tests/cris/sys.c, revision 1.1

1.1     ! root        1: #include <stdio.h>
        !             2: #include <stdlib.h>
        !             3: #include <unistd.h>
        !             4: 
        !             5: static inline int mystrlen(char *s) {
        !             6:        int i = 0;
        !             7:        while (s[i])
        !             8:                i++;
        !             9:        return i;
        !            10: }
        !            11: 
        !            12: void pass(void) {
        !            13:        char s[] = "passed.\n";
        !            14:        write (1, s, sizeof (s) - 1);
        !            15:        exit (0);
        !            16: }
        !            17: 
        !            18: void _fail(char *reason) {
        !            19:        char s[] = "failed: ";
        !            20:        int len = mystrlen(reason);
        !            21:        write (1, s, sizeof (s) - 1);
        !            22:        write (1, reason, len);
        !            23:        write (1, "\n", 1);
        !            24: //     exit (1);
        !            25: }
        !            26: 
        !            27: void *memset (void *s, int c, size_t n) {
        !            28:        char *p = s;
        !            29:        int i;
        !            30:        for (i = 0; i < n; i++)
        !            31:                p[i] = c;
        !            32:        return p;
        !            33: }
        !            34: 
        !            35: void exit (int status) {
        !            36:        asm volatile ("moveq 1, $r9\n" /* NR_exit.  */
        !            37:                      "break 13\n");
        !            38:        while(1)
        !            39:                ;
        !            40: }
        !            41: 
        !            42: ssize_t write (int fd, const void *buf, size_t count) {
        !            43:        int r;
        !            44:        asm volatile ("moveq 4, $r9\n" /* NR_write.  */
        !            45:                      "break 13\n" : : : "memory");
        !            46:        asm volatile ("move.d $r10, %0\n" : "=r" (r));
        !            47:        return r;
        !            48: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.