Commit 70d605cb authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'riscv-for-linus-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux

Pull RISC-V fix from Palmer Dabbelt:

 - fix the T-Head memory type errata workaround to avoid behavior
   that is unsupported in the LLVM assembler

* tag 'riscv-for-linus-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
  riscv: Fix ALT_THEAD_PMA's asm parameters
parents f6e9d014 e8303156
...@@ -75,20 +75,20 @@ asm volatile(ALTERNATIVE( \ ...@@ -75,20 +75,20 @@ asm volatile(ALTERNATIVE( \
"nop\n\t" \ "nop\n\t" \
"nop\n\t" \ "nop\n\t" \
"nop", \ "nop", \
"li t3, %2\n\t" \ "li t3, %1\n\t" \
"slli t3, t3, %4\n\t" \ "slli t3, t3, %3\n\t" \
"and t3, %0, t3\n\t" \ "and t3, %0, t3\n\t" \
"bne t3, zero, 2f\n\t" \ "bne t3, zero, 2f\n\t" \
"li t3, %3\n\t" \ "li t3, %2\n\t" \
"slli t3, t3, %4\n\t" \ "slli t3, t3, %3\n\t" \
"or %0, %0, t3\n\t" \ "or %0, %0, t3\n\t" \
"2:", THEAD_VENDOR_ID, \ "2:", THEAD_VENDOR_ID, \
ERRATA_THEAD_PBMT, CONFIG_ERRATA_THEAD_PBMT) \ ERRATA_THEAD_PBMT, CONFIG_ERRATA_THEAD_PBMT) \
: "+r"(_val) \ : "+r"(_val) \
: "0"(_val), \ : "I"(_PAGE_MTMASK_THEAD >> ALT_THEAD_PBMT_SHIFT), \
"I"(_PAGE_MTMASK_THEAD >> ALT_THEAD_PBMT_SHIFT), \
"I"(_PAGE_PMA_THEAD >> ALT_THEAD_PBMT_SHIFT), \ "I"(_PAGE_PMA_THEAD >> ALT_THEAD_PBMT_SHIFT), \
"I"(ALT_THEAD_PBMT_SHIFT)) "I"(ALT_THEAD_PBMT_SHIFT) \
: "t3")
#else #else
#define ALT_THEAD_PMA(_val) #define ALT_THEAD_PMA(_val)
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment