[PATCH 13/17] target/avr: Handle offset_io in avr_cpu_realizefn

Richard Henderson posted 17 patches 1 week, 1 day ago
There is a newer version of this series
[PATCH 13/17] target/avr: Handle offset_io in avr_cpu_realizefn
Posted by Richard Henderson 1 week, 1 day ago
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 target/avr/cpu.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/target/avr/cpu.c b/target/avr/cpu.c
index e4011004b4..538fcbc215 100644
--- a/target/avr/cpu.c
+++ b/target/avr/cpu.c
@@ -161,12 +161,14 @@ static void avr_cpu_realizefn(DeviceState *dev, Error **errp)
     memory_region_init_io(&cpu->cpu_reg1, OBJECT(cpu), &avr_cpu_reg1, env,
                           "avr-cpu-reg1", 32);
     memory_region_add_subregion(get_system_memory(),
-                                OFFSET_DATA, &cpu->cpu_reg1);
+                                OFFSET_DATA + cpu->offset_io,
+                                &cpu->cpu_reg1);
 
     memory_region_init_io(&cpu->cpu_reg2, OBJECT(cpu), &avr_cpu_reg2, env,
                           "avr-cpu-reg2", 8);
     memory_region_add_subregion(get_system_memory(),
-                                OFFSET_DATA + 0x58, &cpu->cpu_reg2);
+                                OFFSET_DATA + cpu->offset_io + 0x58,
+                                &cpu->cpu_reg2);
 }
 
 static void avr_cpu_set_int(void *opaque, int irq, int level)
-- 
2.43.0
Re: [PATCH 13/17] target/avr: Handle offset_io in avr_cpu_realizefn
Posted by Pierrick Bouvier 1 week ago
On 3/23/25 10:37, Richard Henderson wrote:
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>   target/avr/cpu.c | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/target/avr/cpu.c b/target/avr/cpu.c
> index e4011004b4..538fcbc215 100644
> --- a/target/avr/cpu.c
> +++ b/target/avr/cpu.c
> @@ -161,12 +161,14 @@ static void avr_cpu_realizefn(DeviceState *dev, Error **errp)
>       memory_region_init_io(&cpu->cpu_reg1, OBJECT(cpu), &avr_cpu_reg1, env,
>                             "avr-cpu-reg1", 32);
>       memory_region_add_subregion(get_system_memory(),
> -                                OFFSET_DATA, &cpu->cpu_reg1);
> +                                OFFSET_DATA + cpu->offset_io,
> +                                &cpu->cpu_reg1);
>   
>       memory_region_init_io(&cpu->cpu_reg2, OBJECT(cpu), &avr_cpu_reg2, env,
>                             "avr-cpu-reg2", 8);
>       memory_region_add_subregion(get_system_memory(),
> -                                OFFSET_DATA + 0x58, &cpu->cpu_reg2);
> +                                OFFSET_DATA + cpu->offset_io + 0x58,
> +                                &cpu->cpu_reg2);
>   }
>   
>   static void avr_cpu_set_int(void *opaque, int irq, int level)

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Re: [PATCH 13/17] target/avr: Handle offset_io in avr_cpu_realizefn
Posted by Philippe Mathieu-Daudé 1 week, 1 day ago
On 23/3/25 18:37, Richard Henderson wrote:
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>   target/avr/cpu.c | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/target/avr/cpu.c b/target/avr/cpu.c
> index e4011004b4..538fcbc215 100644
> --- a/target/avr/cpu.c
> +++ b/target/avr/cpu.c
> @@ -161,12 +161,14 @@ static void avr_cpu_realizefn(DeviceState *dev, Error **errp)
>       memory_region_init_io(&cpu->cpu_reg1, OBJECT(cpu), &avr_cpu_reg1, env,
>                             "avr-cpu-reg1", 32);
>       memory_region_add_subregion(get_system_memory(),
> -                                OFFSET_DATA, &cpu->cpu_reg1);
> +                                OFFSET_DATA + cpu->offset_io,
> +                                &cpu->cpu_reg1);
>   
>       memory_region_init_io(&cpu->cpu_reg2, OBJECT(cpu), &avr_cpu_reg2, env,
>                             "avr-cpu-reg2", 8);
>       memory_region_add_subregion(get_system_memory(),
> -                                OFFSET_DATA + 0x58, &cpu->cpu_reg2);
> +                                OFFSET_DATA + cpu->offset_io + 0x58,
> +                                &cpu->cpu_reg2);

Always zero, but I agree it is clearer.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

>   }

Re: [PATCH 13/17] target/avr: Handle offset_io in avr_cpu_realizefn
Posted by Philippe Mathieu-Daudé 1 week, 1 day ago
On 23/3/25 22:35, Philippe Mathieu-Daudé wrote:
> On 23/3/25 18:37, Richard Henderson wrote:
>> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
>> ---
>>   target/avr/cpu.c | 6 ++++--
>>   1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/target/avr/cpu.c b/target/avr/cpu.c
>> index e4011004b4..538fcbc215 100644
>> --- a/target/avr/cpu.c
>> +++ b/target/avr/cpu.c
>> @@ -161,12 +161,14 @@ static void avr_cpu_realizefn(DeviceState *dev, 
>> Error **errp)
>>       memory_region_init_io(&cpu->cpu_reg1, OBJECT(cpu), 
>> &avr_cpu_reg1, env,
>>                             "avr-cpu-reg1", 32);
>>       memory_region_add_subregion(get_system_memory(),
>> -                                OFFSET_DATA, &cpu->cpu_reg1);
>> +                                OFFSET_DATA + cpu->offset_io,
>> +                                &cpu->cpu_reg1);
>>       memory_region_init_io(&cpu->cpu_reg2, OBJECT(cpu), 
>> &avr_cpu_reg2, env,
>>                             "avr-cpu-reg2", 8);
>>       memory_region_add_subregion(get_system_memory(),
>> -                                OFFSET_DATA + 0x58, &cpu->cpu_reg2);
>> +                                OFFSET_DATA + cpu->offset_io + 0x58,
>> +                                &cpu->cpu_reg2);
> 
> Always zero, but I agree it is clearer.

I figured out the use after reading the following patch ;)

> 
> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> 
>>   }