Skip to content
This repository was archived by the owner on Jan 12, 2026. It is now read-only.
This repository was archived by the owner on Jan 12, 2026. It is now read-only.

[BIOS, OS/Proc] Suspend/resume handling #23

Description

@asiekierka

Brief primer:

The Freya environment supports up to three processes (not multi-tasked, rather in a kind of cooperative execution stack) :

  • the first process (SRAM bank 3) is typically the shell,
  • the second process (SRAM bank 2) is typically the program being executed from the shell,
  • the third process (SRAM bank 1) can be executed on top, but I think cannot be suspended.

There are two suspend slots, which allows one process to exist in IRAM, and two processes to exist outside of IRAM.

To make this work correctly, there's a bunch of sub-tasks that have to be done:

  • Clean up the sys_suspend/sys_resume implementation - it's very proof of concept.
  • Implement sys_swap.
  • Figure out how sys_set_resume/sys_get_resume relate to sys_suspend/sys_resume, and implement it in AthenaBIOS.
  • Based on this information, implement the relevant process management functions in Proc.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    compat-issue-biosA compatibility issue concerning AthenaBIOS.compat-issue-osA compatibility issue concerning AthenaOS

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions