mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-02 17:28:30 +00:00
Improve aarch64 native support some more
This change introduces partial support for automating remote testing of aarch64 binaries on Raspberry Pi and Apple Silicon.
This commit is contained in:
parent
fc34ba2596
commit
4aa1d09b9e
20 changed files with 185 additions and 82 deletions
43
libc/calls/struct/aarch64.h
Normal file
43
libc/calls/struct/aarch64.h
Normal file
|
@ -0,0 +1,43 @@
|
|||
#ifndef COSMOPOLITAN_LIBC_CALLS_STRUCT_AARCH64_H_
|
||||
#define COSMOPOLITAN_LIBC_CALLS_STRUCT_AARCH64_H_
|
||||
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
||||
COSMOPOLITAN_C_START_
|
||||
|
||||
#define FPSIMD_MAGIC 0x46508001
|
||||
#define ESR_MAGIC 0x45535201
|
||||
#define EXTRA_MAGIC 0x45585401
|
||||
#define SVE_MAGIC 0x53564501
|
||||
|
||||
struct _aarch64_ctx {
|
||||
uint32_t magic;
|
||||
uint32_t size;
|
||||
};
|
||||
|
||||
struct fpsimd_context {
|
||||
struct _aarch64_ctx head;
|
||||
uint32_t fpsr;
|
||||
uint32_t fpcr;
|
||||
uint128_t vregs[32];
|
||||
};
|
||||
|
||||
struct esr_context {
|
||||
struct _aarch64_ctx head;
|
||||
uint64_t esr;
|
||||
};
|
||||
|
||||
struct extra_context {
|
||||
struct _aarch64_ctx head;
|
||||
uint64_t datap;
|
||||
uint32_t size;
|
||||
uint32_t __reserved[3];
|
||||
};
|
||||
|
||||
struct sve_context {
|
||||
struct _aarch64_ctx head;
|
||||
uint16_t vl;
|
||||
uint16_t __reserved[3];
|
||||
};
|
||||
|
||||
COSMOPOLITAN_C_END_
|
||||
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
|
||||
#endif /* COSMOPOLITAN_LIBC_CALLS_STRUCT_AARCH64_H_ */
|
Loading…
Add table
Add a link
Reference in a new issue