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

Preliminary support "Svinval" Standard Extension #458

Merged
merged 1 commit into from
Jun 16, 2024

Conversation

ChinYikMing
Copy link
Collaborator

Add supervisor memory-management fence instruction SFENCE.VMA to decoder.

The supervisor memory-management fence instruction SFENCE.VMA is used to synchronize updates to in-memory memory-management data structures with current execution. Linux kernel leverage this instruction for synchronization, support emulating this instruction is needed to boot Linux kernel. Since we have only one hart and we have not yet support cache(TLB) in the emulator, the implemention of this instruction is straight forward and it could be further improved in the future.

Related: #310, #438

Add supervisor memory-management fence instruction SFENCE.VMA to
decoder.

The supervisor memory-management fence instruction SFENCE.VMA is used
to synchronize updates to in-memory memory-management data structures
with current execution. Linux kernel leverage this instruction for
synchronization, support emulating this instruction is needed to boot
Linux kernel. Since we have only one hart and we have not yet support
cache(TLB) in the emulator, the implemention of this instruction is
straight forward and it could be further improved in the future.

Related: sysprog21#310, sysprog21#438
Copy link
Contributor

@jserv jserv left a comment

Choose a reason for hiding this comment

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

Benchmarks

Benchmark suite Current: 809c151 Previous: f2c8e48 Ratio
Dhrystone 4.37 Average DMIPS over 10 runs 7.22 Average DMIPS over 10 runs 1.65
Coremark 0.004 Average iterations/sec over 10 runs 0.004 Average iterations/sec over 10 runs 1

This comment was automatically generated by workflow using github-action-benchmark.

@jserv jserv merged commit d23e0f1 into sysprog21:master Jun 16, 2024
8 checks passed
@jserv
Copy link
Contributor

jserv commented Jun 16, 2024

Thank @ChinYikMing for contributing!

@ChinYikMing ChinYikMing deleted the sfence.vma branch June 16, 2024 23:49
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