[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 10/15] target/arm: Don't use cpsr_write/cpsr_rea
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH 10/15] target/arm: Don't use cpsr_write/cpsr_read to transfer M profile XPSR |
Date: |
Fri, 4 Aug 2017 10:51:24 +0100 |
On 3 August 2017 at 23:13, Richard Henderson <address@hidden> wrote:
> On 08/02/2017 09:43 AM, Peter Maydell wrote:
>> + if (val & XPSR_EXCP) {
>> + /* This is a CPSR format value from an older QEMU. (We can tell
>> + * because values transferred in XPSR format always have zero
>> + * for the EXCP field, and CPSR format will always have bit 4
>> + * set in CPSR_M.) Rearrange it into XPSR format. The
>> significant
>> + * differences are that the T bit is not in the same place, the
>> + * primask/faultmask info may be in the CPSR I and F bits, and
>> + * we do not want the mode bits.
>> + */
>> + uint32_t newval = val;
>> +
>> + newval &= (CPSR_NZCV | CPSR_Q | CPSR_IT | CPSR_GE);
>> + if (val & CPSR_T) {
>> + newval |= XPSR_T;
>> + }
>> + /* If the I or F bits are set then this is a migration from
>> + * an old QEMU which still stored the M profile FAULTMASK
>> + * and PRIMASK in env->daif. For a new QEMU, the data is
>> + * transferred using the vmstate_m_faultmask_primask subsection.
>> + */
>
> The second comment seems sort of redundant with the first now.
I felt that the migration-compat stuff was sufficiently subtle
that it was worth retaining the second detailed comment as well
as the brief summary in the new first comment.
thanks
-- PMM
- [Qemu-devel] [PATCH 15/15] nvic: Implement "user accesses BusFault" SCS region behaviour, (continued)
- [Qemu-devel] [PATCH 15/15] nvic: Implement "user accesses BusFault" SCS region behaviour, Peter Maydell, 2017/08/02
- [Qemu-devel] [PATCH 12/15] target/arm: Don't calculate lr in arm_v7m_cpu_do_interrupt() until needed, Peter Maydell, 2017/08/02
- [Qemu-devel] [PATCH 10/15] target/arm: Don't use cpsr_write/cpsr_read to transfer M profile XPSR, Peter Maydell, 2017/08/02
- [Qemu-devel] [PATCH 07/15] target/arm: Fix outdated comment about exception exit, Peter Maydell, 2017/08/02
- [Qemu-devel] [PATCH 09/15] target/arm: Don't store M profile PRIMASK and FAULTMASK in daif, Peter Maydell, 2017/08/02
- Re: [Qemu-devel] [PATCH 09/15] target/arm: Don't store M profile PRIMASK and FAULTMASK in daif, Richard Henderson, 2017/08/03
- [Qemu-devel] [PATCH 06/15] target/arm: Remove incorrect comment about MPU_CTRL, Peter Maydell, 2017/08/02