Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # 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.
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants