リビジョン | 72560016e7c91d3281a6749fd530b92f98e3e980 (tree) |
---|---|
日時 | 2020-05-27 20:10:40 |
作者 | Yoshinori Sato <ysato@user...> |
コミッター | Yoshinori Sato |
Add RX.
@@ -287,10 +287,25 @@ static void **jt; | ||
287 | 287 | #else |
288 | 288 | #error Unsupported Xtensa ABI |
289 | 289 | #endif |
290 | -#else | |
291 | 290 | /*" addi $sp, $sp, -24\n" \ |
292 | 291 | " br $r16\n" \*/ |
293 | 292 | |
293 | +#elif defined(CONFIG_RX) | |
294 | +/* | |
295 | + * r15 holds the pointer to the global_data. r1 is a call clobbered. | |
296 | + */ | |
297 | +#define EXPORT_FUNC(f, a, x, ...) \ | |
298 | + asm volatile ( \ | |
299 | + " .align 2\n" \ | |
300 | + " .globl " #x "\n" \ | |
301 | + #x ":\n" \ | |
302 | + " add %0, r15, r1\n" \ | |
303 | + " mov.l [r1], r1\n" \ | |
304 | + " add %1, r1\n" \ | |
305 | + " mov.l [r2], r1\n" \ | |
306 | + " jmp r1\n" \ | |
307 | + : : "i"(offsetof(gd_t, jt)), "i"(FO(x)) : "r1"); | |
308 | +#else | |
294 | 309 | #error stubs definition missing for this architecture |
295 | 310 | #endif |
296 | 311 |