esp_hw_support: support riscv call

This commit is contained in:
jiangguangming 2022-12-26 18:00:51 +08:00
parent 42144a7e45
commit fe2984a52d

View File

@ -222,9 +222,15 @@ static void __attribute__((section(".rtc.entry.text"))) esp_wake_stub_entry(void
{ {
#define _SYM2STR(s) # s #define _SYM2STR(s) # s
#define SYM2STR(s) _SYM2STR(s) #define SYM2STR(s) _SYM2STR(s)
#ifdef __riscv
__asm__ __volatile__ ("call " SYM2STR(esp_wake_stub_start) "\n");
#else
// call4 has a larger effective addressing range (-524284 to 524288 bytes), // call4 has a larger effective addressing range (-524284 to 524288 bytes),
// which is sufficient for instruction addressing in RTC fast memory. // which is sufficient for instruction addressing in RTC fast memory.
__asm__ __volatile__ ("call4 " SYM2STR(esp_wake_stub_start) "\n"); __asm__ __volatile__ ("call4 " SYM2STR(esp_wake_stub_start) "\n");
#endif
} }
#endif // SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY #endif // SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY