Requirement of Linux port
michi1 at michaelblizek.twilightparadox.com
Fri Apr 1 01:14:24 EDT 2011
On 11:30 Fri 01 Apr , Jacky Lam wrote:
> 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
- 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())...
programing a layer 3+4 network protocol for mesh networks
More information about the Kernelnewbies