Xilkernel does not work if the user changes Xilkernel to handle more than 127 semaphores.
For example:
change config_sema->max_sem to 300
How is it possible to get more than 127 semaphores?
The issue occurs in the "xilkernel_v5_01_a\src\include\sys\ktypes.h" -> The ID of a semaphore (sem_info_t->sem_id) is a signed char [-128 to 127].
Modifications are required:
1. File ktype.h found in,
<XILINX_EDK>\sw\lib\bsp\xilkernel_v5_01_a\src\include\sys\ktype.h
signed char "sem_id" changed to an integer
2. File semaphore.c found in,
<XILINX_EDK>\sw\lib\bsp\xilkernel_v5_01_a\src\src\ipc\semaphore.c
count variable "i" changed from signed char to an integer.
Note: Any Changes to the Xilkernel are not supported by Xilinx