mips: add freestanding port

master
Ariadne Conill 2020-12-06 13:34:22 +00:00
parent 20fd2b6f52
commit 7d149e6358
2 changed files with 28 additions and 1 deletions

View File

@ -20,7 +20,7 @@ Adding support for new architectures is easy, but you need to know assembly lang
| aarch64 | ✓ | | | | aarch64 | ✓ | | |
| arm | ✓ | | | | arm | ✓ | | |
| m68k | ✓ | | ✓ | | m68k | ✓ | | ✓ |
| mips | ✓ | | | | mips | ✓ | | |
| mips64 | ✓ | | ✓ | | mips64 | ✓ | | ✓ |
| ppc | ✓ | ✓ | | | ppc | ✓ | ✓ | |
| ppc64 | ✓ | ✓ | | | ppc64 | ✓ | ✓ | |

View File

@ -0,0 +1,27 @@
#ifndef LIBUCONTEXT_BITS_H
#define LIBUCONTEXT_BITS_H
typedef unsigned long long libucontext_greg_t, libucontext_gregset_t[32];
typedef struct {
unsigned regmask, status;
unsigned long long pc, gregs[32], fpregs[32];
unsigned ownedfp, fpc_csr, fpc_eir, used_math, dsp;
unsigned long long mdhi, mdlo;
unsigned long hi1, lo1, hi2, lo2, hi3, lo3;
} libucontext_mcontext_t;
typedef struct {
void *ss_sp;
size_t ss_size;
int ss_flags;
} libucontext_stack_t;
typedef struct libucontext_ucontext {
unsigned long uc_flags;
struct libucontext_ucontext *uc_link;
libucontext_stack_t uc_stack;
libucontext_mcontext_t uc_mcontext;
} libucontext_ucontext_t;
#endif