32 bit has not been supported in a long time but it is now back and working. There are still some panics that don't exist in x86_64 probably partially since the whole scheduler was rewritten. Threads now use processor specific stack and forced interrupt while rescheduling. This fixes the old hacky context saving which depended on compiler stack usage and code generation. This approach did not work for 32 bit which uses stack more heavily.
32 bit has not been supported in a long time but it is now back and working. There are still some panics that don't exist in x86_64 probably partially since the whole scheduler was rewritten. Threads now use processor specific stack and forced interrupt while rescheduling. This fixes the old hacky context saving which depended on compiler stack usage and code generation. This approach did not work for 32 bit which uses stack more heavily.
This is achieved by rewriting some inline assembly and changing
ProcessorID to be 32 bit value. For some reason if processor id
is 8 bits gcc runs out of 8 bit registers on i386.
Current context saving was very hacky and dependant on compiler
behaviour that was not consistent. Now we always use iret for
context saving. This makes everything more clean.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
32 bit has not been supported in a long time but it is now back and working. There are still some panics that don't exist in x86_64 probably partially since the whole scheduler was rewritten. Threads now use processor specific stack and forced interrupt while rescheduling. This fixes the old hacky context saving which depended on compiler stack usage and code generation. This approach did not work for 32 bit which uses stack more heavily.