Skip to content

Commit e0de642

Browse files
evgeniy-paltsevstephanosio
authored andcommitted
ARC: qemu: disable test where we trigger ARC QEMU bug #54720
Disable tests/kernel/mem_protect/syscalls for qemu_arc_em where we trigger ARC QEMU bug which cause illegal instruction exception on perfectly valid ARC code. Signed-off-by: Eugeniy Paltsev <[email protected]> Signed-off-by: Evgeniy Paltsev <[email protected]>
1 parent 06d5bc5 commit e0de642

File tree

2 files changed

+1
-17
lines changed

2 files changed

+1
-17
lines changed

lib/os/heap.c

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -128,23 +128,6 @@ static void merge_chunks(struct z_heap *h, chunkid_t lc, chunkid_t rc)
128128

129129
set_chunk_size(h, lc, newsz);
130130
set_left_chunk_size(h, right_chunk(h, rc), newsz);
131-
132-
#if defined(__arc__) && defined(__GNUC__)
133-
/* This is a workaround for a compiler bug on (at least) GCC
134-
* 12.1.0 in Zephyr SDK 0.15.1. The optimizer generates this
135-
* function with a last instruction that is an unconditional
136-
* branch (a tail call into the chunk_set() handling). But
137-
* that means that the NEXT instruction gets decoded as part
138-
* of the branch delay slot, but that instruction isn't part
139-
* of this function! Some instructions aren't legal in branch
140-
* delay slots. One of those is ENTER_S, which is a very
141-
* common entry instruction for whatever function the linker
142-
* places after us. It seems like the compiler doesn't
143-
* understand this problem. Stuff a NOP in to guarantee the
144-
* code is legal.
145-
*/
146-
__asm__ volatile("nop");
147-
#endif
148131
}
149132

150133
static void free_chunk(struct z_heap *h, chunkid_t c)

tests/kernel/mem_protect/syscalls/testcase.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
tests:
22
kernel.memory_protection.syscalls:
3+
platform_exclude: qemu_arc_em
34
filter: CONFIG_ARCH_HAS_USERSPACE
45
tags: kernel security userspace
56
ignore_faults: true

0 commit comments

Comments
 (0)