| author | |
| committer | |
| log | 0f51f663f06728f38f518073a23d69a7c1b0d792 |
| tree | 11e0bd922e981f189dea9ace4888f43b5ba5a4ea |
| parent | 06cf86abeb3a062c6c3e21f4379c7fea9e6d71b6 |
| signature |
4 files changed, 69 insertions(+), 6 deletions(-)
lib/libc/include/hexagon-linux-musl/bits/hwcap.h created+31| ... | @@ -0,0 +1,31 @@ | ||
| 1 | /* ISA version encoding in bits 0-6 (7 bits) */ | ||
| 2 | #define HWCAP_HEXAGON_ISA_MASK	0x7F	/* ISA version mask */ | ||
| 3 | |||
| 4 | /* ISA version enumeration values */ | ||
| 5 | #define HWCAP_HEXAGON_ISA_V2	1	/* Hexagon V2 */ | ||
| 6 | #define HWCAP_HEXAGON_ISA_V3	2	/* Hexagon V3 */ | ||
| 7 | #define HWCAP_HEXAGON_ISA_V4	3	/* Hexagon V4 */ | ||
| 8 | #define HWCAP_HEXAGON_ISA_V5	4	/* Hexagon V5 */ | ||
| 9 | #define HWCAP_HEXAGON_ISA_V55	5	/* Hexagon V55 */ | ||
| 10 | #define HWCAP_HEXAGON_ISA_V60	6	/* Hexagon V60 */ | ||
| 11 | #define HWCAP_HEXAGON_ISA_V62	7	/* Hexagon V62 */ | ||
| 12 | #define HWCAP_HEXAGON_ISA_V65	8	/* Hexagon V65 */ | ||
| 13 | #define HWCAP_HEXAGON_ISA_V66	9	/* Hexagon V66 */ | ||
| 14 | #define HWCAP_HEXAGON_ISA_V67	10	/* Hexagon V67 */ | ||
| 15 | #define HWCAP_HEXAGON_ISA_V68	11	/* Hexagon V68 */ | ||
| 16 | #define HWCAP_HEXAGON_ISA_V69	12	/* Hexagon V69 */ | ||
| 17 | #define HWCAP_HEXAGON_ISA_V71	13	/* Hexagon V71 */ | ||
| 18 | #define HWCAP_HEXAGON_ISA_V73	14	/* Hexagon V73 */ | ||
| 19 | #define HWCAP_HEXAGON_ISA_V79	15	/* Hexagon V79 */ | ||
| 20 | |||
| 21 | /* Essential feature flags */ | ||
| 22 | #define HWCAP_HEXAGON_HVX		(1 << 7)	/* HVX (Hexagon Vector eXtensions) */ | ||
| 23 | #define HWCAP_HEXAGON_CABAC		(1 << 8)	/* CABAC acceleration */ | ||
| 24 | #define HWCAP_HEXAGON_HVX_LENGTH_128B	(1 << 9)	/* HVX 128-byte vector length */ | ||
| 25 | #define HWCAP_HEXAGON_HVX_IEEE_FP	(1 << 10)	/* HVX IEEE floating point */ | ||
| 26 | #define HWCAP_HEXAGON_AUDIO		(1 << 11)	/* Audio ISA extensions */ | ||
| 27 | |||
| 28 | /* Utility macros for userspace applications */ | ||
| 29 | #define HWCAP_HEXAGON_GET_ISA(hwcap)		((hwcap) & HWCAP_HEXAGON_ISA_MASK) | ||
| 30 | #define HWCAP_HEXAGON_IS_ISA(hwcap, version)	(HWCAP_HEXAGON_GET_ISA(hwcap) == (version)) | ||
| 31 | #define HWCAP_HEXAGON_HAS_ISA(hwcap, version)	(HWCAP_HEXAGON_GET_ISA(hwcap) >= (version)) | ||
lib/libc/include/hexagon-linux-musl/bits/signal.h+4-4| ... | @@ -31,9 +31,10 @@ typedef struct sigcontext | ... | @@ -31,9 +31,10 @@ typedef struct sigcontext |
| 31 | 	unsigned long pc; | 31 | 	unsigned long pc; |
| 32 | 	unsigned long cause; | 32 | 	unsigned long cause; |
| 33 | 	unsigned long badva; | 33 | 	unsigned long badva; |
| 34 | 	unsigned long cs0; | ||
| 35 | 	unsigned long cs1; | ||
| 34 | 	unsigned long pad1; | 36 | 	unsigned long pad1; |
| 35 | 	unsigned long long pad2; | 37 | } __attribute__((__aligned__(8))) mcontext_t; |
| 36 | } mcontext_t; | ||
| 37 | #else | 38 | #else |
| 38 | typedef struct { | 39 | typedef struct { |
| 39 | 	unsigned long __regs[48]; | 40 | 	unsigned long __regs[48]; |
| ... | @@ -61,7 +62,6 @@ typedef struct __ucontext { | ... | @@ -61,7 +62,6 @@ typedef struct __ucontext { |
| 61 | #define SA_RESTART 0x10000000 | 62 | #define SA_RESTART 0x10000000 |
| 62 | #define SA_NODEFER 0x40000000 | 63 | #define SA_NODEFER 0x40000000 |
| 63 | #define SA_RESETHAND 0x80000000 | 64 | #define SA_RESETHAND 0x80000000 |
| 64 | #define SA_RESTORER 0x04000000 | ||
| 65 | 65 | ||
| 66 | #endif | 66 | #endif |
| 67 | 67 | ||
| ... | @@ -100,4 +100,4 @@ typedef struct __ucontext { | ... | @@ -100,4 +100,4 @@ typedef struct __ucontext { |
| 100 | #define SIGSYS 31 | 100 | #define SIGSYS 31 |
| 101 | #define SIGUNUSED SIGSYS | 101 | #define SIGUNUSED SIGSYS |
| 102 | 102 | ||
| 103 | #define _NSIG 65 | ||
| \ No newline at end of file | |||
| 103 | #define _NSIG 65 | ||
lib/libc/musl/arch/hexagon/bits/hwcap.h created+31| ... | @@ -0,0 +1,31 @@ | ||
| 1 | /* ISA version encoding in bits 0-6 (7 bits) */ | ||
| 2 | #define HWCAP_HEXAGON_ISA_MASK	0x7F	/* ISA version mask */ | ||
| 3 | |||
| 4 | /* ISA version enumeration values */ | ||
| 5 | #define HWCAP_HEXAGON_ISA_V2	1	/* Hexagon V2 */ | ||
| 6 | #define HWCAP_HEXAGON_ISA_V3	2	/* Hexagon V3 */ | ||
| 7 | #define HWCAP_HEXAGON_ISA_V4	3	/* Hexagon V4 */ | ||
| 8 | #define HWCAP_HEXAGON_ISA_V5	4	/* Hexagon V5 */ | ||
| 9 | #define HWCAP_HEXAGON_ISA_V55	5	/* Hexagon V55 */ | ||
| 10 | #define HWCAP_HEXAGON_ISA_V60	6	/* Hexagon V60 */ | ||
| 11 | #define HWCAP_HEXAGON_ISA_V62	7	/* Hexagon V62 */ | ||
| 12 | #define HWCAP_HEXAGON_ISA_V65	8	/* Hexagon V65 */ | ||
| 13 | #define HWCAP_HEXAGON_ISA_V66	9	/* Hexagon V66 */ | ||
| 14 | #define HWCAP_HEXAGON_ISA_V67	10	/* Hexagon V67 */ | ||
| 15 | #define HWCAP_HEXAGON_ISA_V68	11	/* Hexagon V68 */ | ||
| 16 | #define HWCAP_HEXAGON_ISA_V69	12	/* Hexagon V69 */ | ||
| 17 | #define HWCAP_HEXAGON_ISA_V71	13	/* Hexagon V71 */ | ||
| 18 | #define HWCAP_HEXAGON_ISA_V73	14	/* Hexagon V73 */ | ||
| 19 | #define HWCAP_HEXAGON_ISA_V79	15	/* Hexagon V79 */ | ||
| 20 | |||
| 21 | /* Essential feature flags */ | ||
| 22 | #define HWCAP_HEXAGON_HVX		(1 << 7)	/* HVX (Hexagon Vector eXtensions) */ | ||
| 23 | #define HWCAP_HEXAGON_CABAC		(1 << 8)	/* CABAC acceleration */ | ||
| 24 | #define HWCAP_HEXAGON_HVX_LENGTH_128B	(1 << 9)	/* HVX 128-byte vector length */ | ||
| 25 | #define HWCAP_HEXAGON_HVX_IEEE_FP	(1 << 10)	/* HVX IEEE floating point */ | ||
| 26 | #define HWCAP_HEXAGON_AUDIO		(1 << 11)	/* Audio ISA extensions */ | ||
| 27 | |||
| 28 | /* Utility macros for userspace applications */ | ||
| 29 | #define HWCAP_HEXAGON_GET_ISA(hwcap)		((hwcap) & HWCAP_HEXAGON_ISA_MASK) | ||
| 30 | #define HWCAP_HEXAGON_IS_ISA(hwcap, version)	(HWCAP_HEXAGON_GET_ISA(hwcap) == (version)) | ||
| 31 | #define HWCAP_HEXAGON_HAS_ISA(hwcap, version)	(HWCAP_HEXAGON_GET_ISA(hwcap) >= (version)) | ||
lib/libc/musl/arch/hexagon/bits/signal.h+3-2| ... | @@ -31,9 +31,10 @@ typedef struct sigcontext | ... | @@ -31,9 +31,10 @@ typedef struct sigcontext |
| 31 | 	unsigned long pc; | 31 | 	unsigned long pc; |
| 32 | 	unsigned long cause; | 32 | 	unsigned long cause; |
| 33 | 	unsigned long badva; | 33 | 	unsigned long badva; |
| 34 | 	unsigned long cs0; | ||
| 35 | 	unsigned long cs1; | ||
| 34 | 	unsigned long pad1; | 36 | 	unsigned long pad1; |
| 35 | 	unsigned long long pad2; | 37 | } __attribute__((__aligned__(8))) mcontext_t; |
| 36 | } mcontext_t; | ||
| 37 | #else | 38 | #else |
| 38 | typedef struct { | 39 | typedef struct { |
| 39 | 	unsigned long __regs[48]; | 40 | 	unsigned long __regs[48]; |