9bc7176c | 20-Nov-2019 |
Marc-André Lureau <marcandre.lureau@redhat.com> |
serial-mm: use sysbus facilities
Make SerialMM a regular sysbus device, by registering the irq, and the mmio region. Reexport the internal serial properties.
Signed-off-by: Marc-André Lureau <marca
serial-mm: use sysbus facilities
Make SerialMM a regular sysbus device, by registering the irq, and the mmio region. Reexport the internal serial properties.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
80b2eed9 | 23-Oct-2019 |
Marc-André Lureau <marcandre.lureau@redhat.com> |
serial-mm: add endianness property
Add a qdev property for endianness, so memory region setup can be done in realize.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Pet
serial-mm: add endianness property
Add a qdev property for endianness, so memory region setup can be done in realize.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
show more ...
|
17fd1a64 | 21-Oct-2019 |
Marc-André Lureau <marcandre.lureau@redhat.com> |
serial-mm: add "regshift" property
And a property and rename "it_shift" field to "regshift", as it seems to be more popular (and I don't know what "it" stands for).
Signed-off-by: Marc-André Lureau
serial-mm: add "regshift" property
And a property and rename "it_shift" field to "regshift", as it seems to be more popular (and I don't know what "it" stands for).
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
490a9d9b | 23-Oct-2019 |
Marc-André Lureau <marcandre.lureau@redhat.com> |
serial: start making SerialMM a sysbus device
Memory mapped serial device is in fact a sysbus device. The following patches will make use of sysbus facilities for resource and registration. In parti
serial: start making SerialMM a sysbus device
Memory mapped serial device is in fact a sysbus device. The following patches will make use of sysbus facilities for resource and registration. In particular, "serial-mm: use sysbus facilities" will move internal serial realization to serial_mm_realize callback to follow qdev best practices.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
b9975000 | 21-Oct-2019 |
Marc-André Lureau <marcandre.lureau@redhat.com> |
serial: replace serial_exit_core() with unrealize
Instead of calling serial_exit_core() directly, use the QDev unrealize callback.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Rev
serial: replace serial_exit_core() with unrealize
Instead of calling serial_exit_core() directly, use the QDev unrealize callback.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
show more ...
|
c9808d60 | 21-Oct-2019 |
Marc-André Lureau <marcandre.lureau@redhat.com> |
serial: realize the serial device
Instead of calling serial_realize_core(), use the QDev realize callback.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Philippe Mathi
serial: realize the serial device
Instead of calling serial_realize_core(), use the QDev realize callback.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
show more ...
|
ff22c588 | 21-Oct-2019 |
Marc-André Lureau <marcandre.lureau@redhat.com> |
serial: add "chardev" property
This is more QOM-friendly, callers may set/get the property themself.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Philippe Mathieu-Dau
serial: add "chardev" property
This is more QOM-friendly, callers may set/get the property themself.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
4cc017e5 | 21-Oct-2019 |
Marc-André Lureau <marcandre.lureau@redhat.com> |
serial: register vmsd with DeviceClass
Migration from old to new code works, however the other way fails for devices that use serial_init/serial_mm_init with "base", used as instance_id previously.
serial: register vmsd with DeviceClass
Migration from old to new code works, however the other way fails for devices that use serial_init/serial_mm_init with "base", used as instance_id previously.
(with qdev_set_legacy_instance_id, the alias_id is only used in savevm.c:find_se(), and thus can only be used to match against "legacy" instance id values. On new code, instance_id is generated incrementally from 0 with calculate_new_instance_id(), based on "qdev-path/vmsd-name")
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: xiaoqiang zhao <zxq_yx_007@163.com>
show more ...
|
7781b88e | 21-Oct-2019 |
Marc-André Lureau <marcandre.lureau@redhat.com> |
serial: initial qom-ification
Make SerialState a device (the following patches will introduce IO/MM sysbus serial devices)
None of the serial_{,mm}_init() callers actually free the returned value (
serial: initial qom-ification
Make SerialState a device (the following patches will introduce IO/MM sysbus serial devices)
None of the serial_{,mm}_init() callers actually free the returned value (even if they did, it would be quite harmless), so we can change the object allocation at will.
However, the devices that embed SerialState must now have their field QOM-initialized manually (isa, pci, pci-multi).
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
46517dd4 | 12-Aug-2019 |
Markus Armbruster <armbru@redhat.com> |
Include sysemu/sysemu.h a lot less
In my "build everything" tree, changing sysemu/sysemu.h triggers a recompile of some 5400 out of 6600 objects (not counting tests and objects that don't depend on
Include sysemu/sysemu.h a lot less
In my "build everything" tree, changing sysemu/sysemu.h triggers a recompile of some 5400 out of 6600 objects (not counting tests and objects that don't depend on qemu/osdep.h).
hw/qdev-core.h includes sysemu/sysemu.h since recent commit e965ffa70a "qdev: add qdev_add_vm_change_state_handler()". This is a bad idea: hw/qdev-core.h is widely included.
Move the declaration of qdev_add_vm_change_state_handler() to sysemu/sysemu.h, and drop the problematic include from hw/qdev-core.h.
Touching sysemu/sysemu.h now recompiles some 1800 objects. qemu/uuid.h also drops from 5400 to 1800. A few more headers show smaller improvement: qemu/notify.h drops from 5600 to 5200, qemu/timer.h from 5600 to 4500, and qapi/qapi-types-run-state.h from 5500 to 5000.
Cc: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-Id: <20190812052359.30071-28-armbru@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
show more ...
|