Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • O OSKernel2026-StellaOS
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • StellaOS
  • OSKernel2026-StellaOS
  • Merge requests
  • !37

fix: PLIC IRQ storm + DL_INTERP_OFFSET 越界 + double-panic 防护

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged StellaOS requested to merge fix_pipe into main Jun 04, 2026
  • Overview 0
  • Commits 10
  • Pipelines 0
  • Changes 69
  • board/qemu: IRQ handler 处理完 virtio/UART 中断后禁用 PLIC 中断源防止 IRQ storm, 新增 reenable_block_irq/reenable_uart_irq 供 NB 路径重新使能
  • drivers/virtio_blk: NB 读写路径提交前重新使能 PLIC 源,schedule 前后 开/关中断,完成后重新使能;注释掉当前不可用的 NB 路径
  • drivers/ns16550a: read 阻塞路径同理处理 PLIC 重使能 + 中断开关
  • config: DL_INTERP_OFFSET 从 0x40_0000_0000 修正为 0x20_0000_0000, 旧值超出 Sv39 用户空间上界导致 ld.so 映射到内核地址区 → InstructionPageFault
  • trap/context: init_user_trapframe 确保 sret 返回 User 模式 (SPP=User), 防止 S 模式执行用户页缺页死循环
  • lang_items: panic handler 加 AtomicBool 防重入,二次 panic 时静默关机
  • main: 默认禁用 DEV_NON_BLOCKING_ACCESS,块设备走同步轮询路径
  • VFS manager: chdir 路径添加 log::info 调试日志
  • mm/task/trap/syscall: 注释掉大量调试打印,保留 checkpoint 注释
  • user/initproc: 执行测例前打印 TEST 信息
  • 移除 rust-toolchain.toml(Docker 构建兼容)和 sdcard/ 预编译测例
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: fix_pipe