Message ID | 20230204151027.39007-10-shentey@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | PC cleanups | expand |
On 4/2/23 16:10, Bernhard Beschow wrote: > When setting up the CPU's smram memory region alias, the code currently > assumes that the smram size is 4 GiB. While this is true, it repeats a > decision made elsewhere which seems redundant and prone to > inconsistencies. Avoid this by reusing whatever size the smram region > was set to. > > Signed-off-by: Bernhard Beschow <shentey@gmail.com> > --- > target/i386/tcg/sysemu/tcg-cpu.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/target/i386/tcg/sysemu/tcg-cpu.c b/target/i386/tcg/sysemu/tcg-cpu.c > index c223c0fe9b..8f5ce6093c 100644 > --- a/target/i386/tcg/sysemu/tcg-cpu.c > +++ b/target/i386/tcg/sysemu/tcg-cpu.c > @@ -22,7 +22,6 @@ > #include "tcg/helper-tcg.h" > > #include "sysemu/sysemu.h" > -#include "qemu/units.h" > #include "exec/address-spaces.h" > > #include "tcg/tcg-cpu.h" > @@ -36,7 +35,7 @@ static void tcg_cpu_machine_done(Notifier *n, void *unused) > if (smram) { > cpu->smram = g_new(MemoryRegion, 1); > memory_region_init_alias(cpu->smram, OBJECT(cpu), "smram", > - smram, 0, 4 * GiB); > + smram, 0, memory_region_size(smram)); Or define SMRAM_REGION_SIZE and use it? (subject header can be shortened to "target/i386:").
Am 5. Februar 2023 11:26:10 UTC schrieb "Philippe Mathieu-Daudé" <philmd@linaro.org>: >On 4/2/23 16:10, Bernhard Beschow wrote: >> When setting up the CPU's smram memory region alias, the code currently >> assumes that the smram size is 4 GiB. While this is true, it repeats a >> decision made elsewhere which seems redundant and prone to >> inconsistencies. Avoid this by reusing whatever size the smram region >> was set to. >> >> Signed-off-by: Bernhard Beschow <shentey@gmail.com> >> --- >> target/i386/tcg/sysemu/tcg-cpu.c | 3 +-- >> 1 file changed, 1 insertion(+), 2 deletions(-) >> >> diff --git a/target/i386/tcg/sysemu/tcg-cpu.c b/target/i386/tcg/sysemu/tcg-cpu.c >> index c223c0fe9b..8f5ce6093c 100644 >> --- a/target/i386/tcg/sysemu/tcg-cpu.c >> +++ b/target/i386/tcg/sysemu/tcg-cpu.c >> @@ -22,7 +22,6 @@ >> #include "tcg/helper-tcg.h" >> #include "sysemu/sysemu.h" >> -#include "qemu/units.h" >> #include "exec/address-spaces.h" >> #include "tcg/tcg-cpu.h" >> @@ -36,7 +35,7 @@ static void tcg_cpu_machine_done(Notifier *n, void *unused) >> if (smram) { >> cpu->smram = g_new(MemoryRegion, 1); >> memory_region_init_alias(cpu->smram, OBJECT(cpu), "smram", >> - smram, 0, 4 * GiB); >> + smram, 0, memory_region_size(smram)); > >Or define SMRAM_REGION_SIZE and use it? This could still lead to inconsistencies if the size was changed in one place only, no? > >(subject header can be shortened to "target/i386:"). Okay.
diff --git a/target/i386/tcg/sysemu/tcg-cpu.c b/target/i386/tcg/sysemu/tcg-cpu.c index c223c0fe9b..8f5ce6093c 100644 --- a/target/i386/tcg/sysemu/tcg-cpu.c +++ b/target/i386/tcg/sysemu/tcg-cpu.c @@ -22,7 +22,6 @@ #include "tcg/helper-tcg.h" #include "sysemu/sysemu.h" -#include "qemu/units.h" #include "exec/address-spaces.h" #include "tcg/tcg-cpu.h" @@ -36,7 +35,7 @@ static void tcg_cpu_machine_done(Notifier *n, void *unused) if (smram) { cpu->smram = g_new(MemoryRegion, 1); memory_region_init_alias(cpu->smram, OBJECT(cpu), "smram", - smram, 0, 4 * GiB); + smram, 0, memory_region_size(smram)); memory_region_set_enabled(cpu->smram, true); memory_region_add_subregion_overlap(cpu->cpu_as_root, 0, cpu->smram, 1);
When setting up the CPU's smram memory region alias, the code currently assumes that the smram size is 4 GiB. While this is true, it repeats a decision made elsewhere which seems redundant and prone to inconsistencies. Avoid this by reusing whatever size the smram region was set to. Signed-off-by: Bernhard Beschow <shentey@gmail.com> --- target/i386/tcg/sysemu/tcg-cpu.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)