Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • S syscall
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 7
    • Issues 7
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 9
    • Merge requests 9
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • redox-os
  • syscall
  • Issues
  • #21
Closed
Open
Created Nov 06, 2017 by Jeremy Soller@jackpot51Owner

ABI stabilization

ABI stabilization (WIP)

A large part of growing the adoption of a kernel is to stabilize the ABI used. I would like to work on a stable ABI in the next few months, and a 1.0 version of the kernel and syscall crate. I am proposing the following for ABI stabilization:

Move most file operations to the fd

  • Change chmod(path, mode) to fchmod(fd, mode)
  • Add fchown(fd, owner, group) already added

Make dup less magical

  • Change dup(fd, buf) to dup(fd)
  • Change dup2(fd, newfd, buf) to dup2(fd, newfd, buf)
  • Add openat(fd, path, flags)

Use standard methods for memory management

  • Use fmap to implement physmap
  • Use funmap to implement physunmap
  • Use open to implement physalloc
  • Use close to implement physfree
  • Remove virttophys
  • Consider using fmap to implement brk (SYS_BRK has already been removed from the kernel)

Cleanup other syscalls

  • Use open and openat to implement pipe2
  • Implement or remove link(old, new)
Edited Jul 22, 2022 by 4lDO2
Assignee
Assign to
Time tracking