Because of me drenching the laptop with water I was not able to touch this project. And because we had to take some photos for the yearbook I didn't have enough time to do anything technical.
Instead, I just had a time of organizing & setting the goals of this overall project and following thesis I will be writing with what I so far have.
Here is the big overview of what I have to do :
Detecting the platform is done by the binary handler in Linux kernel. Later the binary handler is linked with the corresponding system call table.
The system call tables are stored in the pools of system call tables, each linked with the corresponding binary handler. When a new task is created from the executables of the binary handler, the system call table pointer in the TCB of the task is set to the corresponding system call table from the system call table pool.
We need an interface function that determines what register does what. We especially need an interface function that selects what register acts as the indicator of system call number. We also need to consider the way of passing the arguments from the register sets.
A straightforward problem. We just need to register all the methods of system call of the platforms. Register x80 interrupt as system call handler for example.
(1) and (2) are completely done, so my primary goal from now is to implement (3).
I have to synthesize a thesis paper from this stuff. Wow.