mirror of
https://github.com/panpaul/tiny_os
synced 2024-09-20 09:45:19 +08:00
fix: arch: riscv: trap: {get, set}_reg are shifted with wrong offset
This commit is contained in:
parent
797652c2b8
commit
c066097c82
@ -110,16 +110,16 @@ impl TrapContextOps for TrapContext {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn get_reg(&self, index: usize) -> usize {
|
fn get_reg(&self, index: usize) -> usize {
|
||||||
// x10 ~ x17: Function arguments
|
// x9(a0) ~ x16(a7): Function arguments
|
||||||
assert!(index < 8, "TrapContext get_reg index out of range");
|
assert!(index < 8, "TrapContext get_reg index out of range");
|
||||||
self.gprs[index + 10]
|
self.gprs[index + 9]
|
||||||
}
|
}
|
||||||
|
|
||||||
fn set_reg(&mut self, index: usize, value: usize) {
|
fn set_reg(&mut self, index: usize, value: usize) {
|
||||||
// x10 ~ x17: Function arguments
|
// x9(a0) ~ x16(a7): Function arguments
|
||||||
// x10 ~ x11: Function return values
|
// x9(a0) ~ x10(a1): Function return values
|
||||||
assert!(index < 8, "TrapContext set_reg index out of range");
|
assert!(index < 8, "TrapContext set_reg index out of range");
|
||||||
self.gprs[index + 10] = value;
|
self.gprs[index + 9] = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user