On 22 February 2018 at 20:14, Richard Henderson <richard.hender...@linaro.org> wrote: > On 02/22/2018 08:41 AM, Peter Maydell wrote: >> On 16 February 2018 at 21:56, Richard Henderson >> <richard.hender...@linaro.org> wrote:
>>> + if (sve_size <= std_size) { >>> + sve_ofs = size; >>> + size += sve_size; >>> + end1_ofs = size; >>> + } else { >>> + /* Otherwise we need to allocate extra space. */ >>> + extra_ofs = size; >>> + size += sizeof(struct target_extra_context); >>> + end1_ofs = size; >>> + size += QEMU_ALIGN_UP(sizeof(struct target_aarch64_ctx), 16); >> >> Why do we add the size of target_aarch64_ctx to size here? >> We already account for the size of the end record later, so >> what is this one? > > This is for the end record within the extra space, as opposed to the end > record > within the standard space which is what we accounted for before. A comment > would help, I supposed. Oh, so 'size' is accounting for both the standard space used and the extra space? I had thought that 'size' was just counting up the standard space used, and the extra space count was in extra_size. thanks -- PMM