mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 17:53:56 -06:00
qdev: Make qdev_get_machine() not use container_get()
Currently, qdev_get_machine() has a slight misuse on container_get(), as the helper says "get a container" but in reality the goal is to get the machine object. It is still a "container" but not strictly. Note that it _may_ get a container (at "/machine") in our current unit test of test-qdev-global-props.c before all these changes, but it's probably unexpected and worked by accident. Switch to an explicit object_resolve_path_component(), with a side benefit that qdev_get_machine() can happen a lot, and we don't need to split the string ("/machine") every time. This also paves way for making the helper container_get() never try to return a non-container at all. Signed-off-by: Peter Xu <peterx@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-ID: <20241121192202.4155849-9-peterx@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
558ee1ede6
commit
63450f322b
1 changed files with 6 additions and 1 deletions
|
@ -817,7 +817,12 @@ Object *qdev_get_machine(void)
|
|||
static Object *dev;
|
||||
|
||||
if (dev == NULL) {
|
||||
dev = container_get(object_get_root(), "/machine");
|
||||
dev = object_resolve_path_component(object_get_root(), "machine");
|
||||
/*
|
||||
* Any call to this function before machine is created is treated
|
||||
* as a programming error as of now.
|
||||
*/
|
||||
assert(dev);
|
||||
}
|
||||
|
||||
return dev;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue