[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: dangers of current NEED_CPU_H, CONFIG_SOFTMMU, CONFIG_USER_ONLY
From: |
Claudio Fontana |
Subject: |
Re: dangers of current NEED_CPU_H, CONFIG_SOFTMMU, CONFIG_USER_ONLY |
Date: |
Fri, 18 Dec 2020 00:47:24 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 |
On 12/17/20 11:49 PM, Peter Maydell wrote:
> On Thu, 17 Dec 2020 at 22:45, Claudio Fontana <cfontana@suse.de> wrote:
>>
>> On 12/17/20 9:15 PM, Peter Maydell wrote:
>>> On Thu, 17 Dec 2020 at 19:46, Claudio Fontana <cfontana@suse.de> wrote:
>>> Yeah, don't try to ifdef out struct fields in common-compiled code...
>>
>> or should I? Using
>>
>> #ifdef NEED_CPU_H
>> #ifdef CONFIG_SOFTMMU
>>
>> seems to do what I expect. Is it wrong?
>
> I think that gives you two versions of the struct:
> - one seen by compiled-once files and by compiled-per-target softmmu files
> - one seen by compiled-per-target user-only files
>
> Since the user-only target executables link both compiled-per-target
> and compiled-once files I think they end up with different C files
> thinking the same struct has a different layout/size which seems
> like it's going to cause problems.
>
> thanks
> -- PMM
>
It doesn't with
#ifdef NEED_CPU_H
#ifdef CONFIG_SOFTMMU
just double checked the pointers from both files compiled per target and
"common"; also all tests are ok.
It immediately breaks if I replace those two defines with #ifndef
CONFIG_USER_ONLY and recompile.
I thought it was by design, but I guess this is just a "lucky" accident?
Ciao,
Claudio
- [PATCH v11 7/7] cpu: introduce cpu_accel_instance_init, (continued)
- [PATCH v11 7/7] cpu: introduce cpu_accel_instance_init, Claudio Fontana, 2020/12/11
- dangers of current NEED_CPU_H, CONFIG_SOFTMMU, CONFIG_USER_ONLY (was: [PATCH v11 7/7] cpu: introduce cpu_accel_instance_init), Claudio Fontana, 2020/12/17
- Re: dangers of current NEED_CPU_H, CONFIG_SOFTMMU, CONFIG_USER_ONLY (was: [PATCH v11 7/7] cpu: introduce cpu_accel_instance_init), Peter Maydell, 2020/12/17
- Re: dangers of current NEED_CPU_H, CONFIG_SOFTMMU, CONFIG_USER_ONLY (was: [PATCH v11 7/7] cpu: introduce cpu_accel_instance_init), Peter Maydell, 2020/12/17
- Re: dangers of current NEED_CPU_H, CONFIG_SOFTMMU, CONFIG_USER_ONLY (was: [PATCH v11 7/7] cpu: introduce cpu_accel_instance_init), Paolo Bonzini, 2020/12/17
- Re: dangers of current NEED_CPU_H, CONFIG_SOFTMMU, CONFIG_USER_ONLY (was: [PATCH v11 7/7] cpu: introduce cpu_accel_instance_init), Eduardo Habkost, 2020/12/17
- Re: dangers of current NEED_CPU_H, CONFIG_SOFTMMU, CONFIG_USER_ONLY (was: [PATCH v11 7/7] cpu: introduce cpu_accel_instance_init), Eduardo Habkost, 2020/12/17
- Re: dangers of current NEED_CPU_H, CONFIG_SOFTMMU, CONFIG_USER_ONLY, Claudio Fontana, 2020/12/17
- Re: dangers of current NEED_CPU_H, CONFIG_SOFTMMU, CONFIG_USER_ONLY, Claudio Fontana, 2020/12/17
- Re: dangers of current NEED_CPU_H, CONFIG_SOFTMMU, CONFIG_USER_ONLY, Peter Maydell, 2020/12/17
- Re: dangers of current NEED_CPU_H, CONFIG_SOFTMMU, CONFIG_USER_ONLY,
Claudio Fontana <=
- Re: dangers of current NEED_CPU_H, CONFIG_SOFTMMU, CONFIG_USER_ONLY, Claudio Fontana, 2020/12/17
[PATCH v11 5/7] cpu: call AccelCPUClass::cpu_realizefn in cpu_exec_realizefn, Claudio Fontana, 2020/12/11