Requirement of Linux port
Hi All,
Is there any document on web summarized the hardware (especially,
CPU) that a Linux depends on. For example, if a CPU doesn't support misaligned access (no exception will be generated when misalignment access), can Linux run on that?
Thanks.
BR,
Jacky
Hi!
Quoted 6 lines · Jacky Lam
Hi All,
Is there any document on web summarized the hardware (especially,
CPU) that a Linux depends on. For example, if a CPU doesn't support misaligned access (no exception will be generated when misalignment access), can Linux run on that?
I do not know of such a document, but I have not looked for one so far. But basically:
- CPUs which do not support misaligned access are supported.
- CPUs less than 32 bit are not supported. When compiling with gcc, int is always 32 bit, long is 32/64 bit (depending on 32/64 bit CPU) and long long is always 64 bit. You can also use __u8 __u16 __u32 __u64 __s8 __s16 __s32 and __s64, if you want to.
- Both big endian and little endian is supported.
The interesting stuff starts if you want to port a program to/from other OSes. Then you have to take care of missing libs/syscalls (like I/O multiplexer and a lot of GUIs stuff) or syscalls which behave differently (like fsync())...
-Michi
Signature · 2 lines
programing a layer 3+4 network protocol for mesh networks see http://michaelblizek.twilightparadox.com