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

Implement minimal SBI v0.3 #439

Merged
merged 1 commit into from
May 13, 2024
Merged

Implement minimal SBI v0.3 #439

merged 1 commit into from
May 13, 2024

Conversation

ChinYikMing
Copy link
Collaborator

SBI acts as a communication layer between S-mode software and M-mode hardware. To boot Linux kernel, there are some minimal SBI extensions have to be implemented and they are:

  1. Base extension(EID=0x10)
  2. Timer extension(EID=0x54494D45)

SRST extension(EID=0x53525354) is optional so just implemented shutdown reason.

Related: #310

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: e9cecd1 Previous: 487d14f Ratio
Dhrystone 1742.88 Average DMIPS over 10 runs 1691 Average DMIPS over 10 runs 0.97
Coremark 1499.792 Average iterations/sec over 10 runs 1569.296 Average iterations/sec over 10 runs 1.05

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

@ChinYikMing ChinYikMing force-pushed the sbi branch 2 times, most recently from ad472d9 to 487d14f Compare May 13, 2024 08:21
SBI acts as a communication layer between S-mode software and M-mode
hardware. To boot Linux kernel, there are some minimal SBI extensions
have to be implemented and they are:
1. Base extension(EID=0x10)
2. Timer extension(EID=0x54494D45)

SRST extension(EID=0x53525354) is optional so just implemented shutdown
reason.

Related: sysprog21#310
@jserv jserv merged commit 7d13e82 into sysprog21:master May 13, 2024
8 checks passed
@jserv
Copy link
Contributor

jserv commented May 13, 2024

Thank @ChinYikMing for contributing!

@ChinYikMing ChinYikMing deleted the sbi branch May 13, 2024 09:13
ChinYikMing added a commit to ChinYikMing/rv32emu that referenced this pull request May 16, 2024
SBI acts as a communication layer between S-mode software and M-mode
hardware. To boot the Linux kernel, some minimal SBI extensions (v0.3)
have to be implemented, and they are:
1. Base extension (EID=0x10)
2. Timer extension (EID=0x54494D45)

The SRST extension (EID=0x53525354) is optional, so only the shutdown
reason has been implemented.
ChinYikMing added a commit to ChinYikMing/rv32emu that referenced this pull request May 16, 2024
SBI acts as a communication layer between S-mode software and M-mode
hardware. To boot the Linux kernel, some minimal SBI extensions (v0.3)
have to be implemented, and they are:
1. Base extension (EID=0x10)
2. Timer extension (EID=0x54494D45)

The SRST extension (EID=0x53525354) is optional, so only the shutdown
reason has been implemented.
vestata pushed a commit to vestata/rv32emu that referenced this pull request Jan 24, 2025
SBI acts as a communication layer between S-mode software and M-mode
hardware. To boot the Linux kernel, some minimal SBI extensions (v0.3)
have to be implemented, and they are:
1. Base extension (EID=0x10)
2. Timer extension (EID=0x54494D45)

The SRST extension (EID=0x53525354) is optional, so only the shutdown
reason has been implemented.
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