Skip to content

thread_create・irq_bind・irq_ack の実装 #76

Open

Description

@src3453

2026-10-25 実装状況の照合

リモート main 921a935 を基準に確認。

残作業: IRQ の権限・所有・bind/ack・終了時 cleanup を仕様と照合して実装し、通常/slot の focused guest tests を追加する。既存の thread_create と Ctrl+C を退行させない。

移行元: KAN-18。

Activity

  1. added this to the Foundation OS milestone on Oct 23, 2026
  2. src3453 commented on Oct 23, 2026

    @src3453
    OwnerAuthor

    PR #125 に thread_create、THREAD ハンドル(wait のみ)、thread_exit を含めました(#84 の前提のため)。irq_bind/irq_ack は未実装のままなので、この Issue は開いたままにします。


    Generated by Claude Code

  3. src3453 commented on Oct 25, 2026

    @src3453
    OwnerAuthor

    ローカル main に irq_bind / irq_ack を実装し、コミット 446c26f に保存しました(未 Push)。

    • IRQ capability・bind 可能な番号・PORT 型・IRQ 所有者を検証。
    • IRQ 通知時はマスクして PENDING を保持し、受信後の所有者による ACK で W1C と再有効化。IRQ ごとの通知集約と受信待ちの起床を実装。
    • 最後の PORT クローズと所有プロセス終了時に解放。他プロセスが PORT を複製して保持する場合も終了時に解放。
    • 仕様・README・phase1 プローブ・作業メモを更新。console は従来のポーリングを継続。

    検証済み:

    • python -m unittest discover -s foundation/tests/irq -v: VM / slot × cached / pipeline。実 VSync IRQ0 と、テストカーネルから注入する IRQ5〜7 を使用。
    • test_foundation_phase1_kernel: O0 / O1 / O2 × scalar / cached / cached-relaxed / pipeline。
    • python -m unittest discover -s foundation/tests/shell -k test_ctrl_c -v: 通常構成と FND_MM=slot で各2件通過。
    • git diff --check。

    リモートへの Push は指示どおり行っていないため、Issue は open のままにしています。

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions