X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Ftypes.h;h=daeec2ea7b332a198ab55168e6984bc565686feb;hb=83fc7933f968173822ed3f636d75860d4a747e76;hp=8b8179387769e1a29a7506d2e9371dccec5ef560;hpb=885a328caa001ff223ac1e7f27bb6b6906228244;p=bertos.git diff --git a/bertos/cpu/types.h b/bertos/cpu/types.h index 8b817938..daeec2ea 100644 --- a/bertos/cpu/types.h +++ b/bertos/cpu/types.h @@ -49,9 +49,11 @@ typedef uint16_t cpu_flags_t; // FIXME typedef unsigned int cpu_stack_t; + typedef cpu_stack_t cpu_aligned_stack_t; typedef unsigned int cpu_atomic_t; #warning Verify following constant #define SIZEOF_CPUSTACK_T 2 + #define SIZEOF_CPUALIGNED_T SIZEOF_CPUSTACK_T #elif CPU_X86 @@ -65,10 +67,14 @@ #if CPU_X86_64 typedef uint64_t cpu_stack_t; + typedef cpu_stack_t cpu_aligned_stack_t; #define SIZEOF_CPUSTACK_T 8 + #define SIZEOF_CPUALIGNED_T SIZEOF_CPUSTACK_T #else typedef uint32_t cpu_stack_t; + typedef cpu_stack_t cpu_aligned_stack_t; #define SIZEOF_CPUSTACK_T 4 + #define SIZEOF_CPUALIGNED_T SIZEOF_CPUSTACK_T #endif #elif CPU_ARM @@ -76,7 +82,9 @@ typedef uint32_t cpu_flags_t; typedef uint32_t cpu_atomic_t; typedef uint32_t cpu_stack_t; + typedef uint64_t cpu_aligned_stack_t; #define SIZEOF_CPUSTACK_T 4 + #define SIZEOF_CPUALIGNED_T 8 #elif CPU_PPC @@ -88,22 +96,28 @@ typedef uint32_t cpu_atomic_t; typedef uint32_t cpu_stack_t; + typedef cpu_stack_t cpu_aligned_stack_t; #define SIZEOF_CPUSTACK_T 4 + #define SIZEOF_CPUALIGNED_T SIZEOF_CPUSTACK_T #elif CPU_DSP56K typedef uint16_t cpu_flags_t; typedef uint16_t cpu_atomic_t; typedef unsigned int cpu_stack_t; + typedef cpu_stack_t cpu_aligned_stack_t; #warning Verify following costant #define SIZEOF_CPUSTACK_T 2 + #define SIZEOF_CPUALIGNED_T SIZEOF_CPUSTACK_T #elif CPU_AVR typedef uint8_t cpu_flags_t; typedef uint8_t cpu_atomic_t; typedef uint8_t cpu_stack_t; + typedef cpu_stack_t cpu_aligned_stack_t; #define SIZEOF_CPUSTACK_T 1 + #define SIZEOF_CPUALIGNED_T SIZEOF_CPUSTACK_T #else #error No CPU_... defined. @@ -200,6 +214,7 @@ STATIC_ASSERT(sizeof(int64_t) * CPU_BITS_PER_CHAR == 64); STATIC_ASSERT(sizeof(uint64_t) * CPU_BITS_PER_CHAR == 64); #endif STATIC_ASSERT(sizeof(cpu_stack_t) == SIZEOF_CPUSTACK_T); +STATIC_ASSERT(sizeof(cpu_aligned_stack_t) == SIZEOF_CPUALIGNED_T); #endif /* CPU_TYPES_H */