Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

revise network integration and add support of futures #117

Merged
merged 22 commits into from
Aug 7, 2021

Commits on Aug 2, 2021

  1. revise network integration and add support of futures

    smoltcp 0.7 provides async/await waker support (smoltcp-rs/smoltcp#394).
    I followed the example implementation https://github.com/embassy-rs/embassy/tree/net/embassy-net
    to add waker support in hermit-sys.
    
    However, hermit-sys can be used in a multi-threaded applications.
    Consequently, the implementation must be thread safed. In addition,
    we still have an "network thread", which is wakeup by an interrupt.
    The thread wakeups all waiting future. If no future is available,
    the thread calls directly the IP stack.
    stlankes committed Aug 2, 2021
    Configuration menu
    Copy the full SHA
    6a7105f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    771a69d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ca0c202 View commit details
    Browse the repository at this point in the history
  4. Remove futures-util dependency

    mkroening authored and stlankes committed Aug 2, 2021
    Configuration menu
    Copy the full SHA
    f885b64 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9c937aa View commit details
    Browse the repository at this point in the history
  6. Migrate from FutureObj to BoxFuture

    mkroening authored and stlankes committed Aug 2, 2021
    Configuration menu
    Copy the full SHA
    21ea149 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    09e9cab View commit details
    Browse the repository at this point in the history
  8. Migrate from futures to futures-lite

    mkroening authored and stlankes committed Aug 2, 2021
    Configuration menu
    Copy the full SHA
    16acfb4 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    3e45e85 View commit details
    Browse the repository at this point in the history
  10. Use Tid over u32 for sys_getpid

    mkroening authored and stlankes committed Aug 2, 2021
    Configuration menu
    Copy the full SHA
    5c4ec91 View commit details
    Browse the repository at this point in the history
  11. Rework executor

    mkroening authored and stlankes committed Aug 2, 2021
    Configuration menu
    Copy the full SHA
    0cd592e View commit details
    Browse the repository at this point in the history
  12. Remove unnecessary poll_fn

    mkroening authored and stlankes committed Aug 2, 2021
    Configuration menu
    Copy the full SHA
    cd398fd View commit details
    Browse the repository at this point in the history
  13. revise network integration and add support of futures

    smoltcp 0.7 provides async/await waker support (smoltcp-rs/smoltcp#394).
    I followed the example implementation https://github.com/embassy-rs/embassy/tree/net/embassy-net
    to add waker support in hermit-sys.
    
    However, hermit-sys can be used in a multi-threaded applications.
    Consequently, the implementation must be thread safed. In addition,
    we still have an "network thread", which is wakeup by an interrupt.
    The thread wakeups all waiting future. If no future is available,
    the thread calls directly the IP stack.
    stlankes committed Aug 2, 2021
    Configuration menu
    Copy the full SHA
    ecb43e2 View commit details
    Browse the repository at this point in the history
  14. add support of C-based kernel interface

    - the kernel uses the C calling convention and requires minor changes
    stlankes committed Aug 2, 2021
    Configuration menu
    Copy the full SHA
    d222540 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2021

  1. remove clippy warnings

    stlankes committed Aug 4, 2021
    Configuration menu
    Copy the full SHA
    f85395d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5d1ae0c View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2021

  1. disbale polling mode

    stlankes committed Aug 6, 2021
    Configuration menu
    Copy the full SHA
    5c3778b View commit details
    Browse the repository at this point in the history
  2. Revert "disbale polling mode"

    This reverts commit 5c3778b.
    stlankes committed Aug 6, 2021
    Configuration menu
    Copy the full SHA
    1106162 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2021

  1. Configuration menu
    Copy the full SHA
    b0c6dfc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7fdcc7b View commit details
    Browse the repository at this point in the history
  3. switch to an older version of Qemu

    - workaround is required for Windows
    - it seems that the latest Qemu version doesn't work correctly on Windows
    stlankes committed Aug 7, 2021
    Configuration menu
    Copy the full SHA
    8c07573 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0d57d60 View commit details
    Browse the repository at this point in the history