[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] microblaze stack pointer?
From: |
Laurent Vivier |
Subject: |
[Qemu-devel] microblaze stack pointer? |
Date: |
Wed, 4 Apr 2018 14:30:26 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
Hi,
cleaning up linux-user signal handling functions, I found something weird.
In get_sp_from_cpustate(), SP is regs[14]:
linux-user/microblaze/target_signal.h
24) static inline abi_ulong get_sp_from_cpustate(CPUMBState *state)
25) {
26) return state->regs[14];
27) }
But in get_sigframe(), SP is regs[1];
4128) static abi_ulong get_sigframe(struct target_sigaction *ka,
4129) CPUMBState *env, int frame_size)
4130) {
4131) abi_ulong sp = env->regs[1];
4132)
4133) if ((ka->sa_flags & TARGET_SA_ONSTACK) != 0 &&
!on_sig_stack(sp)) {
4134) sp = target_sigaltstack_used.ss_sp +
target_sigaltstack_used.ss
4135) }
4136)
4137) return ((sp - frame_size) & -8UL);
4138) }
Is this correct?
Thanks,
Laurent
- [Qemu-devel] microblaze stack pointer?,
Laurent Vivier <=