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

Adds native support for Fiber context switching on RISC-V #4867

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

denizzzka
Copy link
Contributor

@denizzzka denizzzka commented Mar 6, 2025

This code is based on mine earlier implementation for rv32, so both platforms should be supported: rv32 and rv64 with and without compressed instructions and with and without HardFloat. But for now it is tested only on rv64 (QEMU, Ubuntu 24.10, ldc2 from ~master)

Implemented using the separate file because I see potential for growth of this assembly code (I want to implement embedded ISA subset and maybe something vendor-specific), and also to put an end to vicious scaring me practice of putting assembly code for completely different platforms into one huge .S file

Path to the new asm file is the same as in the current DMD ~master for core.thread.fiber package

@denizzzka denizzzka force-pushed the riscv_context_switch_squashed branch from 1bec630 to bc02f9f Compare March 6, 2025 20:16
@denizzzka denizzzka force-pushed the riscv_context_switch_squashed branch from 0956c59 to 2c60fba Compare March 7, 2025 13:04
@denizzzka denizzzka marked this pull request as ready for review March 7, 2025 13:05
@denizzzka
Copy link
Contributor Author

@wszqkzqk Hi! Maybe you are also interested in this?

@denizzzka denizzzka force-pushed the riscv_context_switch_squashed branch from 2c60fba to 641ec1d Compare March 8, 2025 21:04
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.

1 participant