* [PATCH 0/3] system/memory: Trivial fixes
@ 2024-02-09 15:00 Philippe Mathieu-Daudé
2024-02-09 15:00 ` [PATCH 1/3] cpu-target: Include missing 'exec/memory.h' header Philippe Mathieu-Daudé
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-02-09 15:00 UTC (permalink / raw)
To: qemu-devel
Cc: Michael Tokarev, Peter Xu, Paolo Bonzini,
Philippe Mathieu-Daudé, qemu-trivial, Dr. David Alan Gilbert,
Richard Henderson, Laurent Vivier, David Hildenbrand
- Include missing "exec/memory.h"
- Set machine as parent of io/mem regions
Philippe Mathieu-Daudé (3):
cpu-target: Include missing 'exec/memory.h' header
monitor/target: Include missing 'exec/memory.h' header
system/physmem: Assign global system I/O Memory to machine
cpu-target.c | 1 +
monitor/hmp-cmds-target.c | 1 +
system/physmem.c | 7 ++++---
3 files changed, 6 insertions(+), 3 deletions(-)
--
2.41.0
^ permalink raw reply [flat|nested] 10+ messages in thread* [PATCH 1/3] cpu-target: Include missing 'exec/memory.h' header 2024-02-09 15:00 [PATCH 0/3] system/memory: Trivial fixes Philippe Mathieu-Daudé @ 2024-02-09 15:00 ` Philippe Mathieu-Daudé 2024-02-09 16:01 ` Peter Maydell 2024-02-09 15:00 ` [PATCH 2/3] monitor/target: " Philippe Mathieu-Daudé ` (2 subsequent siblings) 3 siblings, 1 reply; 10+ messages in thread From: Philippe Mathieu-Daudé @ 2024-02-09 15:00 UTC (permalink / raw) To: qemu-devel Cc: Michael Tokarev, Peter Xu, Paolo Bonzini, Philippe Mathieu-Daudé, qemu-trivial, Dr. David Alan Gilbert, Richard Henderson, Laurent Vivier, David Hildenbrand Include "exec/memory.h" in order to avoid: cpu-target.c:201:50: error: use of undeclared identifier 'TYPE_MEMORY_REGION' DEFINE_PROP_LINK("memory", CPUState, memory, TYPE_MEMORY_REGION, ^ Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- cpu-target.c | 1 + 1 file changed, 1 insertion(+) diff --git a/cpu-target.c b/cpu-target.c index 958d63e882..86444cc2c6 100644 --- a/cpu-target.c +++ b/cpu-target.c @@ -31,6 +31,7 @@ #else #include "hw/core/sysemu-cpu-ops.h" #include "exec/address-spaces.h" +#include "exec/memory.h" #endif #include "sysemu/cpus.h" #include "sysemu/tcg.h" -- 2.41.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] cpu-target: Include missing 'exec/memory.h' header 2024-02-09 15:00 ` [PATCH 1/3] cpu-target: Include missing 'exec/memory.h' header Philippe Mathieu-Daudé @ 2024-02-09 16:01 ` Peter Maydell 2024-02-09 16:31 ` Philippe Mathieu-Daudé 0 siblings, 1 reply; 10+ messages in thread From: Peter Maydell @ 2024-02-09 16:01 UTC (permalink / raw) To: Philippe Mathieu-Daudé Cc: qemu-devel, Michael Tokarev, Peter Xu, Paolo Bonzini, qemu-trivial, Dr. David Alan Gilbert, Richard Henderson, Laurent Vivier, David Hildenbrand On Fri, 9 Feb 2024 at 15:01, Philippe Mathieu-Daudé <philmd@linaro.org> wrote: > > Include "exec/memory.h" in order to avoid: > > cpu-target.c:201:50: error: use of undeclared identifier 'TYPE_MEMORY_REGION' > DEFINE_PROP_LINK("memory", CPUState, memory, TYPE_MEMORY_REGION, > ^ Given that we don't actually see this error, presumably we're implicitly dragging it in via some other include? Anyway, better to be explicit than implicit, so Reviewed-by: Peter Maydell <peter.maydell@linaro.org> thanks -- PMM ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] cpu-target: Include missing 'exec/memory.h' header 2024-02-09 16:01 ` Peter Maydell @ 2024-02-09 16:31 ` Philippe Mathieu-Daudé 0 siblings, 0 replies; 10+ messages in thread From: Philippe Mathieu-Daudé @ 2024-02-09 16:31 UTC (permalink / raw) To: Peter Maydell Cc: qemu-devel, Michael Tokarev, Peter Xu, Paolo Bonzini, qemu-trivial, Dr. David Alan Gilbert, Richard Henderson, Laurent Vivier, David Hildenbrand On 9/2/24 17:01, Peter Maydell wrote: > On Fri, 9 Feb 2024 at 15:01, Philippe Mathieu-Daudé <philmd@linaro.org> wrote: >> >> Include "exec/memory.h" in order to avoid: >> >> cpu-target.c:201:50: error: use of undeclared identifier 'TYPE_MEMORY_REGION' >> DEFINE_PROP_LINK("memory", CPUState, memory, TYPE_MEMORY_REGION, >> ^ > > Given that we don't actually see this error, presumably > we're implicitly dragging it in via some other include? It is pulled in by the exec/cpu-all.h header which I'm trying to sanitize (along with others). I'll add a note about this. > Anyway, better to be explicit than implicit, so > > Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Thanks! ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/3] monitor/target: Include missing 'exec/memory.h' header 2024-02-09 15:00 [PATCH 0/3] system/memory: Trivial fixes Philippe Mathieu-Daudé 2024-02-09 15:00 ` [PATCH 1/3] cpu-target: Include missing 'exec/memory.h' header Philippe Mathieu-Daudé @ 2024-02-09 15:00 ` Philippe Mathieu-Daudé 2024-02-09 16:01 ` Peter Maydell 2024-02-09 15:00 ` [PATCH 3/3] system/physmem: Assign global system I/O Memory to machine Philippe Mathieu-Daudé 2024-02-09 21:33 ` [PATCH 0/3] system/memory: Trivial fixes Michael Tokarev 3 siblings, 1 reply; 10+ messages in thread From: Philippe Mathieu-Daudé @ 2024-02-09 15:00 UTC (permalink / raw) To: qemu-devel Cc: Michael Tokarev, Peter Xu, Paolo Bonzini, Philippe Mathieu-Daudé, qemu-trivial, Dr. David Alan Gilbert, Richard Henderson, Laurent Vivier, David Hildenbrand Include "exec/memory.h" in order to avoid: monitor/hmp-cmds-target.c:263:10: error: call to undeclared function 'memory_region_is_ram'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] if (!memory_region_is_ram(mrs.mr) && !memory_region_is_romd(mrs.mr)) { ^ Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- monitor/hmp-cmds-target.c | 1 + 1 file changed, 1 insertion(+) diff --git a/monitor/hmp-cmds-target.c b/monitor/hmp-cmds-target.c index d9fbcac08d..9338ae8440 100644 --- a/monitor/hmp-cmds-target.c +++ b/monitor/hmp-cmds-target.c @@ -25,6 +25,7 @@ #include "qemu/osdep.h" #include "disas/disas.h" #include "exec/address-spaces.h" +#include "exec/memory.h" #include "monitor/hmp-target.h" #include "monitor/monitor-internal.h" #include "qapi/error.h" -- 2.41.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] monitor/target: Include missing 'exec/memory.h' header 2024-02-09 15:00 ` [PATCH 2/3] monitor/target: " Philippe Mathieu-Daudé @ 2024-02-09 16:01 ` Peter Maydell 0 siblings, 0 replies; 10+ messages in thread From: Peter Maydell @ 2024-02-09 16:01 UTC (permalink / raw) To: Philippe Mathieu-Daudé Cc: qemu-devel, Michael Tokarev, Peter Xu, Paolo Bonzini, qemu-trivial, Dr. David Alan Gilbert, Richard Henderson, Laurent Vivier, David Hildenbrand On Fri, 9 Feb 2024 at 15:02, Philippe Mathieu-Daudé <philmd@linaro.org> wrote: > > Include "exec/memory.h" in order to avoid: > > monitor/hmp-cmds-target.c:263:10: error: call to undeclared function 'memory_region_is_ram'; > ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] > if (!memory_region_is_ram(mrs.mr) && !memory_region_is_romd(mrs.mr)) { > ^ > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > monitor/hmp-cmds-target.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/monitor/hmp-cmds-target.c b/monitor/hmp-cmds-target.c > index d9fbcac08d..9338ae8440 100644 > --- a/monitor/hmp-cmds-target.c > +++ b/monitor/hmp-cmds-target.c > @@ -25,6 +25,7 @@ > #include "qemu/osdep.h" > #include "disas/disas.h" > #include "exec/address-spaces.h" > +#include "exec/memory.h" > #include "monitor/hmp-target.h" > #include "monitor/monitor-internal.h" > #include "qapi/error.h" > -- > 2.41.0 Reviewed-by: Peter Maydell <peter.maydell@linaro.org> thanks -- PMM ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 3/3] system/physmem: Assign global system I/O Memory to machine 2024-02-09 15:00 [PATCH 0/3] system/memory: Trivial fixes Philippe Mathieu-Daudé 2024-02-09 15:00 ` [PATCH 1/3] cpu-target: Include missing 'exec/memory.h' header Philippe Mathieu-Daudé 2024-02-09 15:00 ` [PATCH 2/3] monitor/target: " Philippe Mathieu-Daudé @ 2024-02-09 15:00 ` Philippe Mathieu-Daudé 2024-02-09 16:06 ` Peter Maydell 2024-02-09 21:33 ` [PATCH 0/3] system/memory: Trivial fixes Michael Tokarev 3 siblings, 1 reply; 10+ messages in thread From: Philippe Mathieu-Daudé @ 2024-02-09 15:00 UTC (permalink / raw) To: qemu-devel Cc: Michael Tokarev, Peter Xu, Paolo Bonzini, Philippe Mathieu-Daudé, qemu-trivial, Dr. David Alan Gilbert, Richard Henderson, Laurent Vivier, David Hildenbrand So far there is only one system I/O and one system memory per machine. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- system/physmem.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/system/physmem.c b/system/physmem.c index 5e66d9ae36..50947a374e 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -2554,12 +2554,13 @@ static void memory_map_init(void) { system_memory = g_malloc(sizeof(*system_memory)); - memory_region_init(system_memory, NULL, "system", UINT64_MAX); + memory_region_init(system_memory, OBJECT(current_machine), + "system", UINT64_MAX); address_space_init(&address_space_memory, system_memory, "memory"); system_io = g_malloc(sizeof(*system_io)); - memory_region_init_io(system_io, NULL, &unassigned_io_ops, NULL, "io", - 65536); + memory_region_init_io(system_io, OBJECT(current_machine), + &unassigned_io_ops, NULL, "io", 65535); address_space_init(&address_space_io, system_io, "I/O"); } -- 2.41.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 3/3] system/physmem: Assign global system I/O Memory to machine 2024-02-09 15:00 ` [PATCH 3/3] system/physmem: Assign global system I/O Memory to machine Philippe Mathieu-Daudé @ 2024-02-09 16:06 ` Peter Maydell 2024-02-09 16:41 ` Philippe Mathieu-Daudé 0 siblings, 1 reply; 10+ messages in thread From: Peter Maydell @ 2024-02-09 16:06 UTC (permalink / raw) To: Philippe Mathieu-Daudé Cc: qemu-devel, Michael Tokarev, Peter Xu, Paolo Bonzini, qemu-trivial, Dr. David Alan Gilbert, Richard Henderson, Laurent Vivier, David Hildenbrand On Fri, 9 Feb 2024 at 15:01, Philippe Mathieu-Daudé <philmd@linaro.org> wrote: > > So far there is only one system I/O and one system > memory per machine. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > system/physmem.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/system/physmem.c b/system/physmem.c > index 5e66d9ae36..50947a374e 100644 > --- a/system/physmem.c > +++ b/system/physmem.c > @@ -2554,12 +2554,13 @@ static void memory_map_init(void) > { > system_memory = g_malloc(sizeof(*system_memory)); > > - memory_region_init(system_memory, NULL, "system", UINT64_MAX); > + memory_region_init(system_memory, OBJECT(current_machine), > + "system", UINT64_MAX); > address_space_init(&address_space_memory, system_memory, "memory"); > > system_io = g_malloc(sizeof(*system_io)); > - memory_region_init_io(system_io, NULL, &unassigned_io_ops, NULL, "io", > - 65536); > + memory_region_init_io(system_io, OBJECT(current_machine), > + &unassigned_io_ops, NULL, "io", 65535); > address_space_init(&address_space_io, system_io, "I/O"); > } What's the intention in doing this? What does it change? It seems to be OK to pass a non-Device owner in for memory_region_init() (whereas it is *not* OK to do that for memory_region_init_ram()), but this seems to be getting a bit tricky. thanks -- PMM ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 3/3] system/physmem: Assign global system I/O Memory to machine 2024-02-09 16:06 ` Peter Maydell @ 2024-02-09 16:41 ` Philippe Mathieu-Daudé 0 siblings, 0 replies; 10+ messages in thread From: Philippe Mathieu-Daudé @ 2024-02-09 16:41 UTC (permalink / raw) To: Peter Maydell, Markus Armbruster Cc: qemu-devel, Michael Tokarev, Peter Xu, Paolo Bonzini, qemu-trivial, Dr. David Alan Gilbert, Richard Henderson, Laurent Vivier, David Hildenbrand (+Markus I forgot to Cc) On 9/2/24 17:06, Peter Maydell wrote: > On Fri, 9 Feb 2024 at 15:01, Philippe Mathieu-Daudé <philmd@linaro.org> wrote: >> >> So far there is only one system I/O and one system >> memory per machine. >> >> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> >> --- >> system/physmem.c | 7 ++++--- >> 1 file changed, 4 insertions(+), 3 deletions(-) >> >> diff --git a/system/physmem.c b/system/physmem.c >> index 5e66d9ae36..50947a374e 100644 >> --- a/system/physmem.c >> +++ b/system/physmem.c >> @@ -2554,12 +2554,13 @@ static void memory_map_init(void) >> { >> system_memory = g_malloc(sizeof(*system_memory)); >> >> - memory_region_init(system_memory, NULL, "system", UINT64_MAX); >> + memory_region_init(system_memory, OBJECT(current_machine), >> + "system", UINT64_MAX); >> address_space_init(&address_space_memory, system_memory, "memory"); >> >> system_io = g_malloc(sizeof(*system_io)); >> - memory_region_init_io(system_io, NULL, &unassigned_io_ops, NULL, "io", >> - 65536); >> + memory_region_init_io(system_io, OBJECT(current_machine), >> + &unassigned_io_ops, NULL, "io", 65535); >> address_space_init(&address_space_io, system_io, "I/O"); >> } > > What's the intention in doing this? What does it change? We want to remove access to pre-QOM and possibly hotplug QOM paths from external API (CLI & QMP so far). When the parent object is obvious and missing we simply have to explicit it. > It seems to be OK to pass a non-Device owner in for > memory_region_init() (whereas it is *not* OK to do that > for memory_region_init_ram()), but this seems to be > getting a bit tricky. Yes, memory_region_init_ram() is problematic; I'm hardly trying to ignore it at this point. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/3] system/memory: Trivial fixes 2024-02-09 15:00 [PATCH 0/3] system/memory: Trivial fixes Philippe Mathieu-Daudé ` (2 preceding siblings ...) 2024-02-09 15:00 ` [PATCH 3/3] system/physmem: Assign global system I/O Memory to machine Philippe Mathieu-Daudé @ 2024-02-09 21:33 ` Michael Tokarev 3 siblings, 0 replies; 10+ messages in thread From: Michael Tokarev @ 2024-02-09 21:33 UTC (permalink / raw) To: Philippe Mathieu-Daudé, qemu-devel Cc: Peter Xu, Paolo Bonzini, qemu-trivial, Dr. David Alan Gilbert, Richard Henderson, Laurent Vivier, David Hildenbrand 09.02.2024 18:00, Philippe Mathieu-Daudé : > - Include missing "exec/memory.h" > - Set machine as parent of io/mem regions > > Philippe Mathieu-Daudé (3): > cpu-target: Include missing 'exec/memory.h' header > monitor/target: Include missing 'exec/memory.h' header > system/physmem: Assign global system I/O Memory to machine Picked up patches 1 & 2, but not 3 yet. /mjt > cpu-target.c | 1 + > monitor/hmp-cmds-target.c | 1 + > system/physmem.c | 7 ++++--- > 3 files changed, 6 insertions(+), 3 deletions(-) > ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2024-02-09 21:33 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-02-09 15:00 [PATCH 0/3] system/memory: Trivial fixes Philippe Mathieu-Daudé 2024-02-09 15:00 ` [PATCH 1/3] cpu-target: Include missing 'exec/memory.h' header Philippe Mathieu-Daudé 2024-02-09 16:01 ` Peter Maydell 2024-02-09 16:31 ` Philippe Mathieu-Daudé 2024-02-09 15:00 ` [PATCH 2/3] monitor/target: " Philippe Mathieu-Daudé 2024-02-09 16:01 ` Peter Maydell 2024-02-09 15:00 ` [PATCH 3/3] system/physmem: Assign global system I/O Memory to machine Philippe Mathieu-Daudé 2024-02-09 16:06 ` Peter Maydell 2024-02-09 16:41 ` Philippe Mathieu-Daudé 2024-02-09 21:33 ` [PATCH 0/3] system/memory: Trivial fixes Michael Tokarev
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).