mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
linux-user: Use correct target SHMLBA in shmat()
The shmat() handling needs to do target-specific handling of the attach address for shmat(): * if the SHM_RND flag is passed, the address is rounded down to a SHMLBA boundary * if SHM_RND is not passed, then the call is failed EINVAL if the address is not a multiple of SHMLBA Since SHMLBA is target-specific, we need to do this checking and rounding in QEMU and can't leave it up to the host syscall. Allow targets to define TARGET_FORCE_SHMLBA and provide a target_shmlba() function if appropriate, and update do_shmat() to honour them. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
This commit is contained in:
parent
0ef9ea290e
commit
ee8e76141b
6 changed files with 83 additions and 6 deletions
|
@ -33,4 +33,11 @@ struct target_pt_regs {
|
|||
#define TARGET_MLOCKALL_MCL_CURRENT 1
|
||||
#define TARGET_MLOCKALL_MCL_FUTURE 2
|
||||
|
||||
#define TARGET_FORCE_SHMLBA
|
||||
|
||||
static inline abi_ulong target_shmlba(CPUARMState *env)
|
||||
{
|
||||
return 4 * 4096;
|
||||
}
|
||||
|
||||
#endif /* ARM_TARGET_SYSCALL_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue