SHIVAM DEOLANKAR commented on a discussion on cpukit/include/rtems/error.h: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1069#note_143142

 > -#define RTEMS_ERROR_ABORT  (RTEMS_ERROR_ERRNO / 4)       /* err is fatal; 
 > panic */
 > -#else
 > -#define RTEMS_ERROR_ERRNO  (0x40000000) /* hi bit; use 'errno' */
 > -#define RTEMS_ERROR_PANIC  (0x20000000) /* err fatal; no return */
 > -#define RTEMS_ERROR_ABORT  (0x10000000) /* err is fatal; panic */
 > -#endif
 > +/*
 > + * Define Error Flags
 > + */
 > +#define RTEMS_ERROR_BITS (sizeof(rtems_error_code_t) * CHAR_BIT)
 > +
 > +#define RTEMS_ERROR_ERRNO (((rtems_error_code_t)1) << (RTEMS_ERROR_BITS - 
 > 2))
 > +
 > +#define RTEMS_ERROR_PANIC (((rtems_error_code_t)1) << (RTEMS_ERROR_BITS - 
 > 3))
 > +
 > +#define RTEMS_ERROR_ABORT (((rtems_error_code_t)1) << (RTEMS_ERROR_BITS - 
 > 4))

Originally, the #if 0 section had the logic which was intended to be 
implemented. and else part contained the hardcoded values which were being 
returned irrespective of architecture.

The new way has defined general logic common for 32 bit and 64 bit so it doesnt 
need any hardcoded values in else which erases our need of keeping #if and #else

-- 
View it on GitLab: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1069#note_143142
You're receiving this email because of your account on gitlab.rtems.org.


_______________________________________________
bugs mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/bugs

Reply via email to