Skip to content
Snippets Groups Projects
Commit 6166c0f9 authored by Laurent Desnogues's avatar Laurent Desnogues Committed by Aurelien Jarno
Browse files

ARM host: fix generated blocks linking


This patch fixes the linking of generated blocks on an ARM host.
No need to say this brings a very nice speedup :-)

Signed-off-by: default avatarLaurent Desnogues <laurent.desnogues@gmail.com>
Signed-off-by: default avatarAurelien Jarno <aurelien@aurel32.net>
parent 011b2955
No related branches found
No related tags found
No related merge requests found
...@@ -211,7 +211,9 @@ static inline void tb_set_jmp_target1(unsigned long jmp_addr, unsigned long addr ...@@ -211,7 +211,9 @@ static inline void tb_set_jmp_target1(unsigned long jmp_addr, unsigned long addr
#endif #endif
/* we could use a ldr pc, [pc, #-4] kind of branch and avoid the flush */ /* we could use a ldr pc, [pc, #-4] kind of branch and avoid the flush */
*(uint32_t *)jmp_addr |= ((addr - (jmp_addr + 8)) >> 2) & 0xffffff; *(uint32_t *)jmp_addr =
(*(uint32_t *)jmp_addr & ~0xffffff)
| (((addr - (jmp_addr + 8)) >> 2) & 0xffffff);
#if QEMU_GNUC_PREREQ(4, 1) #if QEMU_GNUC_PREREQ(4, 1)
__clear_cache((char *) jmp_addr, (char *) jmp_addr + 4); __clear_cache((char *) jmp_addr, (char *) jmp_addr + 4);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment