sys/cpu: Add memory clobber to LoongArch IOCSR accessors
This commit is contained in:
@@ -433,6 +433,7 @@ static inline uint32_t iocsr_read32(uint64_t reg) {
|
||||
"iocsrrd.w %0, %1"
|
||||
: "=r"(val)
|
||||
: "r"(reg)
|
||||
: "memory"
|
||||
);
|
||||
return val;
|
||||
}
|
||||
@@ -442,6 +443,7 @@ static inline void iocsr_write32(uint32_t val, uint64_t reg) {
|
||||
"iocsrwr.w %0, %1"
|
||||
:
|
||||
: "r"(val), "r"(reg)
|
||||
: "memory"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -451,6 +453,7 @@ static inline uint64_t iocsr_read64(uint64_t reg) {
|
||||
"iocsrrd.d %0, %1"
|
||||
: "=r"(val)
|
||||
: "r"(reg)
|
||||
: "memory"
|
||||
);
|
||||
return val;
|
||||
}
|
||||
@@ -460,6 +463,7 @@ static inline void iocsr_write64(uint64_t val, uint64_t reg) {
|
||||
"iocsrwr.d %0, %1"
|
||||
:
|
||||
: "r"(val), "r"(reg)
|
||||
: "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user