Skip to content

Conversation

@muou000
Copy link

@muou000 muou000 commented Dec 1, 2025

Description

A clear and concise description of what this PR does and what changes it makes.

Type of Change

Please check the applicable options:

  • Bug fix (fixes an issue)
  • New feature (adds functionality)
  • Documentation update (documentation only)
  • Code refactoring (code improvements that don't change functionality)
  • Performance improvement
  • Test related
  • Other (please describe)

Related Issue

Related Issue (if any): #(issue number)

Changes

Detailed description of the changes made in this PR:

  • Change the Cargo.toml to import starry-vdso.
  • Change api/src/lib.rs to initialize vDSO and cntvct register in aarch64.
  • Change signalfd.rs because of running cargo fmt.
  • Change Elfloader.load to load vDSO data.
  • Implemented load_vdso_data and related functions.

Testing

Describe how you tested these changes:

  • Passed clippy checks
  • Formatted code (using cargo fmt)
  • Tested related functionality
  • Updated relevant documentation (if applicable)

Checklist

Before submitting the PR, please ensure:

  • Code follows the project's code style
  • Passed cargo clippy checks
  • Code formatted with cargo fmt
  • Commit messages follow Conventional Commits specification
  • PR is as small as possible for easier review
  • Updated relevant documentation (if applicable)

Additional Context

Add any other context about this PR here.

Need update starry-signal version.

Copilot AI review requested due to automatic review settings December 1, 2025 13:20
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds vDSO (virtual Dynamic Shared Object) support to Starry OS, enabling faster system calls by providing a user-space accessible shared memory region with kernel data. The implementation integrates with the ELF loader to map vDSO pages into user address spaces and provides platform-specific initialization for aarch64 timer access.

Key changes:

  • Adds new vDSO module with ELF parsing and memory mapping logic for vDSO and VVAR pages
  • Integrates vDSO loading into the ELF loader pipeline during process creation
  • Initializes vDSO data structures and enables timer counter access on aarch64

Reviewed changes

Copilot reviewed 8 out of 9 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
core/src/vdso.rs New module implementing vDSO loading, ELF parsing, memory mapping, and VVAR region setup
core/src/mm.rs Integrates vDSO loading into ELF loader after auxv generation
core/src/lib.rs Exports the new vdso module
core/Cargo.toml Adds starry-vdso dependency
api/src/lib.rs Initializes vDSO data and enables aarch64 timer access, registers vDSO update callback
api/Cargo.toml Adds starry-vdso dependency
api/src/syscall/fs/signalfd.rs Code formatting changes (import reordering and whitespace cleanup)
Cargo.toml Adds starry-vdso workspace dependency
Cargo.lock Dependency lock file updates for new starry-vdso package and its transitive dependencies

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@AsakuraMizu
Copy link
Contributor

I'm going to give some suggestions on https://github.com/Starry-OS/starry-vdso first.

@AsakuraMizu AsakuraMizu marked this pull request as draft December 2, 2025 07:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants