diff options
| author | Peter Maydell | 2020-04-20 23:22:05 +0200 |
|---|---|---|
| committer | Peter Maydell | 2020-05-21 21:00:18 +0200 |
| commit | ab546bd23856866411ff1b2ffaedabdc360e69df (patch) | |
| tree | 33604947d5527660283edc2db10b817deacacb64 /migration/exec.c | |
| parent | linux-user/arm: Remove bogus SVC 0xf0002 handling (diff) | |
| download | qemu-ab546bd23856866411ff1b2ffaedabdc360e69df.tar.gz qemu-ab546bd23856866411ff1b2ffaedabdc360e69df.tar.xz qemu-ab546bd23856866411ff1b2ffaedabdc360e69df.zip | |
linux-user/arm: Handle invalid arm-specific syscalls correctly
The kernel has different handling for syscalls with invalid
numbers that are in the "arm-specific" range 0x9f0000 and up:
* 0x9f0000..0x9f07ff return -ENOSYS if not implemented
* other out of range syscalls cause a SIGILL
(see the kernel's arch/arm/kernel/traps.c:arm_syscall())
Implement this distinction. (Note that our code doesn't look
quite like the kernel's, because we have removed the
0x900000 prefix by this point, whereas the kernel retains
it in arm_syscall().)
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20200420212206.12776-4-peter.maydell@linaro.org
Diffstat (limited to 'migration/exec.c')
0 files changed, 0 insertions, 0 deletions
