refactor (kernel): removed unnecessary definitions from SysABI
This commit is contained in:
parent
0d2a60e2c3
commit
d6c5dc4334
|
@ -54,12 +54,9 @@ The following calls should be implemented to some degree in noxos 1.0.
|
||||||
| 0x0207 | `nx_proc_thread_kill` | Kills the current processes' thread with thread id _tid_. | tid | | | | status | N/A |
|
| 0x0207 | `nx_proc_thread_kill` | Kills the current processes' thread with thread id _tid_. | tid | | | | status | N/A |
|
||||||
|
|
||||||
## Drivers
|
## Drivers
|
||||||
| ID | Name | Description | Arg1 | Arg2 | Arg3 | Arg4 | Result | Status |
|
| ID | Name | Description | Arg1 | Arg2 | Arg3 | Arg4 | Result | Status |
|
||||||
|--------|--------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------|------|------|------|--------|--------|
|
|--------|--------------------------------|-----------------------------------------------------------------|-------|------|------|------|--------|--------|
|
||||||
| 0x0301 | `nx_drv_register` | Registers the executable at the file descriptor _fd_ as driver. | fd | | | | status | N/A |
|
| 0x0301 | `nx_drv_register` | Registers the executable at the file descriptor _fd_ as driver. | fd | | | | status | N/A |
|
||||||
| 0x0302 | `nx_drv_init` | This has to be called from a driver. This can only be called once per driver. Initializes the calling driver process with the configuration _conf_. The format of the conf struct can be found below. | *conf | | | | status | N/A |
|
|
||||||
| 0x0303 | `nx_drv_create_command_buffer` | This has to be called from a driver. Registers _addr_ as command queue buffer with the length _len_, which has to be greater or equal 16384. If _addr_ is NULL or not aligned to 32 bytes or _len_ is less than 16384, the kernel will map a command queue buffer into the drivers address space, which is of length _len_ but at least 16384. The address to the registered buffer will be returned. | addr | len | | | addr | N/A |
|
|
||||||
| 0x0304 | `nx_drv_flush_command_buffer` | This has to be called from a driver. Flushes the command queue buffer at _addr_. | addr | | | | status | N/A |
|
|
||||||
|
|
||||||
## Kernel
|
## Kernel
|
||||||
These syscalls can only be called from the kernel process.
|
These syscalls can only be called from the kernel process.
|
||||||
|
@ -126,62 +123,3 @@ If another process calls them, they will just return without doing anything.
|
||||||
- __SIGEXIT__: send by the kernel before stopping the process - handler implementation possible
|
- __SIGEXIT__: send by the kernel before stopping the process - handler implementation possible
|
||||||
- __SIGPFAULT__: sends when the process access memory it is not permitted to. Followed by SIGEXIT - handler implementation possible
|
- __SIGPFAULT__: sends when the process access memory it is not permitted to. Followed by SIGEXIT - handler implementation possible
|
||||||
- __SIGMATHFAULT__: sends when the process does stuff like dividing by zero. Followed by SIGEXIT - handler implementation possible
|
- __SIGMATHFAULT__: sends when the process does stuff like dividing by zero. Followed by SIGEXIT - handler implementation possible
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### Driver configuration
|
|
||||||
|
|
||||||
**header:**
|
|
||||||
|
|
||||||
| Length(bytes) | Name | Description |
|
|
||||||
|---------------|--------------------|------------------------------------------------------------------------------|
|
|
||||||
| 0x01 | transport_protocol | Specifies the protocol over which the driver communicates. (described below) |
|
|
||||||
| 0x02 | length | Specifies the length of the `specific_config` section. |
|
|
||||||
| `length` | specific_config | Configuration specific to the transport protocol. (described below) |
|
|
||||||
|
|
||||||
|
|
||||||
**header.transport_protocol:**
|
|
||||||
|
|
||||||
| Value | Name | Description |
|
|
||||||
|-------|--------|------------------------------------------------------------------------------------------|
|
|
||||||
| 0 | PCI(e) | The driver connects to devices on the _Peripheral Component Interconnect (express)_ Bus. |
|
|
||||||
| 1 | USB | The driver connects to devices on the _Universal Serial Bus_. |
|
|
||||||
| 2 | FS | The driver provides filesystem functionalities. |
|
|
||||||
|
|
||||||
|
|
||||||
**header.specific_config.pci:**
|
|
||||||
|
|
||||||
| Length(bytes) | Name | Description |
|
|
||||||
|-------------------------|----------------|-----------------------------------------------------------------------------|
|
|
||||||
| 0x01 | enable_progif | If set to zero, the progif entry will be ignored. |
|
|
||||||
| 0x01 | class | The PCI class code, the driver supports. |
|
|
||||||
| 0x01 | subclass | The PCI subclass code, the driver supports. |
|
|
||||||
| 0x01 | progif | The PCI ProgIF code, the driver supports. |
|
|
||||||
| 0x02 | num_device_ids | The amount of device ids the driver can handle. |
|
|
||||||
| 0x04 * `num_device_ids` | device_ids | An array containing all device ids the driver can handle. (described below) |
|
|
||||||
|
|
||||||
|
|
||||||
**header.specific_config.usb:**
|
|
||||||
|
|
||||||
| Length(bytes) | Name | Description |
|
|
||||||
|-------------------------|----------------|-----------------------------------------------------------------------------|
|
|
||||||
| 0x01 | min_version | The minimum required major USB version. |
|
|
||||||
| 0x02 | num_device_ids | The amount of device ids the driver can handle. |
|
|
||||||
| 0x04 * `num_device_ids` | device_ids | An array containing all device ids the driver can handle. (described below) |
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**header.specific_config.device_id:**
|
|
||||||
|
|
||||||
| Length(bytes) | Name | Description |
|
|
||||||
|---------------|-----------|--------------------------------|
|
|
||||||
| 0x02 | vendor_id | The devices USB/PCI vendor ID. |
|
|
||||||
| 0x02 | device_id | The devices USB/PCI device ID. |
|
|
||||||
|
|
||||||
|
|
||||||
**header.specific_config.fs:**
|
|
||||||
|
|
||||||
| Length(bytes) | Name | Description |
|
|
||||||
|---------------|----------|-------------------------------------------------------------------------|
|
|
||||||
| 0x0F | gpt_guid | The gpt GUID of the file system type that the driver handles. |
|
|
||||||
| 0x01 | mbr_type | The mbr partition type of the file system type that the driver handles. |
|
|
Loading…
Reference in New Issue