2 ms·
> and practically speaking, there are only so many entries you can store in an IDT. The number of syscalls isn't limited by this, they all go through the same
by io_urine 3y ago
> and practically speaking, there are only so many entries you can store in an IDT.
The number of syscalls isn't limited by this, they all go through the same interrupt and are dispatched to a specific handler function based on the value of a register.
For example this is how it works on arm64: https://elixir.bootlin.com/linux/v6.5/source/arch/arm64/kernel/syscall.c#L139 https://elixir.bootlin.com/linux/v6.5/source/arch/arm64/kern...
And on x86: https://elixir.bootlin.com/linux/v6.5/source/arch/x86/entry/common.c#L50 https://elixir.bootlin.com/linux/v6.5/source/arch/x86/entry/...