-
Notifications
You must be signed in to change notification settings - Fork 33
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
riscv64: boot from PLO #448
Conversation
e8a369f
to
29fb1b1
Compare
76f10e2
to
8265626
Compare
f79f6f4
to
568d225
Compare
6c5f2e6
to
79e6e4e
Compare
58f54ca
to
290441b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only spaces nitpicks, otherwise LGTM
/* interrupts */ | ||
|
||
|
||
static inline void hal_cpuDisableInterrupts(void) | ||
{ | ||
__asm__ ("csrc sstatus, 2"); | ||
__asm__ volatile("csrc sstatus, 2"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
silly clang-format thinks this is a function
__asm__ volatile("csrc sstatus, 2"); | |
__asm__ volatile ("csrc sstatus, 2"); |
: "=r" (*(cycles_t *)cb)); | ||
return; | ||
/* clang-format off */ | ||
__asm__ volatile("rdcycle %0" : "=r"(*(cycles_t *)cb)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
__asm__ volatile("rdcycle %0" : "=r"(*(cycles_t *)cb)); | |
__asm__ volatile ("rdcycle %0" : "=r" (*(cycles_t *)cb)); |
JIRA: RTOS-550
JIRA: RTOS-550
JIRA: RTOS-550
- simplify interrupt handling code - fix timer interval setting - properly handle interrupts from CLINT and PLIC - remove reading from exec-only pages - mapping is now done correctly JIRA: RTOS-550
JIRA: RTOS-550
JIRA: RTOS-550
Modified kstack approach to be the same as on LEON3. Previously kstack wasn't set correctly, resulting in `fork` failure. JIRA: RTOS-550
290441b
to
46ccb59
Compare
Description
hal_cpuKernelStack
variable to storekstack
value - same approach as onsparcv8leon3
. Previouslykstack
was set incorrectly, causing exception afterfork
. Variable use here is the most optimal, as when in the future we'll use more cores,tp
register will have to be reserved in kernel.Motivation and Context
Types of changes
How Has This Been Tested?
riscv64-generic-qemu
Checklist:
Special treatment