From 9900735b7bf0632df758742cffbe284e704d092a Mon Sep 17 00:00:00 2001 From: Denis Drakhnia Date: Wed, 3 Jan 2024 13:05:37 +0200 Subject: [PATCH] e2k: gen excp if mova access size is greater than fmt --- target/e2k/helper_aau.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/target/e2k/helper_aau.c b/target/e2k/helper_aau.c index 5e3427e5ee..3aec9acf6d 100644 --- a/target/e2k/helper_aau.c +++ b/target/e2k/helper_aau.c @@ -56,6 +56,10 @@ target_ulong HELPER(mova_ptr)(CPUE2KState *env, int chan, int area, int ind, target_ulong addr = aad.base + as->cdi + instr.disp + ind; target_ulong page = addr & TARGET_PAGE_MASK; + if ((1 << instr.fmt) <= size) { + helper_raise_exception(env, E2K_EXCP_ILLEGAL_OPCODE); + } + if (addr & (size - 1)) { return 0; } else if (page != as->last_page) {