linguofreak wrote:
I'd define bitness by the bitness of the ABI provided to kernel modules (which will likely be the bitness of most of the code in the kernel): If kernel modules have to be 32-bit, it's a 32 bit kernel, even if there's a bit of 64-bit code to thunk to a 64-bit userland. The only exception I'd make to this is if the kernel requires a 64-bit CPU (rather than just being able to make use of one if present).
RDOS ABI supports 16, 32 and 64 bits. It's register based, and 16-bit code will typically extended pointers to 32-bit while the 64-bit module will allocate a 32-bit copy of pointers and copy page table entries,
The C/C++ API is constructed with inline assembly, and will vary depending on compiler,