PikoRT / pikoRT

A tiny Linux-like real-time kernel optimized for ARM Cortex-M chips
Other
304 stars 61 forks source link

Syscall code not compatible to linux? #31

Closed mlouielu closed 7 years ago

mlouielu commented 7 years ago

http://elixir.free-electrons.com/linux/latest/source/arch/arm64/include/asm/unistd32.h

Current syscall list (syscall.c) code isn't compatible to linux.

jserv commented 7 years ago

Being compatible with Linux is NOT the goal of Piko/RT. Instead, PSE51 (minimal real-time system profile) should be appropriately an analog from the perspective of design.

Reference: https://www.linuxjournal.com/article/4444?page=0,1

jserv commented 7 years ago

I will close this issue after primitive design documents are landed though.

mlouielu commented 7 years ago

@jserv According to the feature matrix, PSE51 didn't contain process, does that mean the PSE51 don't need to implement fork or clone system call?

mlouielu commented 7 years ago

Ah, I found the description of PSE51:


4.3.1 Minimal Real-time System Profile IEEE Std 1003.13 PSE51

This profile is intended for embedded systems, with a single
multi-threaded process, no file system, no user and group support and
only selected options from IEEE Std 1003.1b-1993.

ref: http://www.opengroup.org/austin/papers/wp-apis.txt

jserv commented 7 years ago

We do need vfork and clone system calls to validate lmbench on Piko/RT.

mlouielu commented 7 years ago

Since current pikoRT didn't have process concept, will the implement of vfork and clone be create another thread, or process will be implemented in pikoRT in the future?

jserv commented 7 years ago

superseded by #33