-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'buildsys-qom-qdev-ui-20230227' of https://github.com/philm…
…d/qemu into staging - buildsys - Various header cleaned up (removing pointless headers) - Mark various files/code user/system specific - Make various objects target-independent - Remove tswapN() calls from dump.o - Suggest g_assert_not_reached() instead of assert(0) - qdev / qom - Replace various container_of() by QOM cast macros - Declare some QOM macros using OBJECT_DECLARE_TYPE() - Embed OHCI QOM child in SM501 chipset - hw (ISA & IDE) - add some documentation, improve function names - un-inline, open-code few functions - have ISA API accessing IRQ/DMA prefer ISABus over ISADevice - Demote IDE subsystem maintenance to "Odd Fixes" - ui: Improve Ctrl+Alt hint on Darwin Cocoa # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmP9IeAACgkQ4+MsLN6t # wN7bdQ//SxJYJuQvqTT6s+O0LmP6NbqvhxCXX7YAwK2jCTM+zTgcqqRZCcisLQol # 3ENu2UhnZmiLKHSOxatOVozbws08/u8Vl+WkW4UTMUb1yo5KPaPtq808Y95RdAJB # 7D7B5juDGnFRAHXZz38zVk9uIuEkm+Po/pD0JQa+upBtAAgOJTqGavDNSR5+T0Yl # VjGdwK0b10skPqiF6OABYoy/4IFHVJJFIbARZh+a7hrF0llsbzUts5JiYsOxEEHQ # t3woUItdMnS1m0+Ty4AQ8m0Yv9y4HZOIzixvsZ+vChj5ariwUhL9/7wC/s/UCYEg # gKVA5X8R6n/ME6DScK99a+CyR/MXkz70b/rOUZxoutXhV3xdh4X1stL4WN9W/m3z # D4i4ZrUsDUcKCGWlj49of/dKbOPwk1+e/mT0oDZD6JzG0ODjfdVxvJ/JEV2iHgS3 # WqHuSKzX/20H9j7/MgfbQ0HjBFOQ8tl781vQzhD+y+cF/IiTsHhrE6esIWho4bob # kfSdVydUWWRnBsnyGoRZXoEMX9tn+pu0nKxEDm2Bo2+jajsa0aZZPokgjxaz4MnD # Hx+/p1E+8IuOn05JgzQSgTJmKFdSbya203tXIsTo1kL2aJTJ6QfMvgEPP/fkn+lS # oQyVBFZmb1JDdTM1MxOncnlWLg74rp/CWEc+u5pSdbxMO/M/uac= # =AV/+ # -----END PGP SIGNATURE----- # gpg: Signature made Mon 27 Feb 2023 21:34:24 GMT # gpg: using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE # gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: FAAB E75E 1291 7221 DCFD 6BB2 E3E3 2C2C DEAD C0DE * tag 'buildsys-qom-qdev-ui-20230227' of https://github.com/philmd/qemu: (125 commits) ui/cocoa: user friendly characters for release mouse dump: Add create_win_dump() stub for non-x86 targets dump: Simplify compiling win_dump.o by introducing win_dump_available() dump: Clean included headers dump: Replace TARGET_PAGE_SIZE -> qemu_target_page_size() dump: Replace tswapN() -> cpu_to_dumpN() hw/ide/pci: Add PCIIDEState::isa_irq[] hw/ide/via: Replace magic 2 value by ARRAY_SIZE / MAX_IDE_DEVS hw/ide/piix: Refactor pci_piix_init_ports as pci_piix_init_bus per bus hw/ide/piix: Pass Error* to pci_piix_init_ports() for better error msg hw/ide/piix: Remove unused includes hw/ide/pci: Unexport bmdma_active_if() hw/ide/ioport: Remove unnecessary includes hw/ide: Declare ide_get_[geometry/bios_chs_trans] in 'hw/ide/internal.h' hw/ide: Rename idebus_active_if() -> ide_bus_active_if() hw/ide: Rename ide_init2() -> ide_bus_init_output_irq() hw/ide: Rename ide_exec_cmd() -> ide_bus_exec_cmd() hw/ide: Rename ide_register_restart_cb -> ide_bus_register_restart_cb hw/ide: Rename ide_create_drive() -> ide_bus_create_drive() hw/ide: Rename ide_set_irq() -> ide_bus_set_irq() ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
- Loading branch information
Showing
173 changed files
with
2,183 additions
and
1,966 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
/* | ||
* SPDX-License-Identifier: LGPL-2.1-or-later | ||
* | ||
* QEMU TCG monitor | ||
* | ||
* Copyright (c) 2003-2005 Fabrice Bellard | ||
*/ | ||
|
||
#include "qemu/osdep.h" | ||
#include "qapi/error.h" | ||
#include "qapi/type-helpers.h" | ||
#include "qapi/qapi-commands-machine.h" | ||
#include "monitor/monitor.h" | ||
#include "sysemu/cpus.h" | ||
#include "sysemu/cpu-timers.h" | ||
#include "sysemu/tcg.h" | ||
#include "internal.h" | ||
|
||
|
||
static void dump_drift_info(GString *buf) | ||
{ | ||
if (!icount_enabled()) { | ||
return; | ||
} | ||
|
||
g_string_append_printf(buf, "Host - Guest clock %"PRIi64" ms\n", | ||
(cpu_get_clock() - icount_get()) / SCALE_MS); | ||
if (icount_align_option) { | ||
g_string_append_printf(buf, "Max guest delay %"PRIi64" ms\n", | ||
-max_delay / SCALE_MS); | ||
g_string_append_printf(buf, "Max guest advance %"PRIi64" ms\n", | ||
max_advance / SCALE_MS); | ||
} else { | ||
g_string_append_printf(buf, "Max guest delay NA\n"); | ||
g_string_append_printf(buf, "Max guest advance NA\n"); | ||
} | ||
} | ||
|
||
HumanReadableText *qmp_x_query_jit(Error **errp) | ||
{ | ||
g_autoptr(GString) buf = g_string_new(""); | ||
|
||
if (!tcg_enabled()) { | ||
error_setg(errp, "JIT information is only available with accel=tcg"); | ||
return NULL; | ||
} | ||
|
||
dump_exec_info(buf); | ||
dump_drift_info(buf); | ||
|
||
return human_readable_text_from_str(buf); | ||
} | ||
|
||
HumanReadableText *qmp_x_query_opcount(Error **errp) | ||
{ | ||
g_autoptr(GString) buf = g_string_new(""); | ||
|
||
if (!tcg_enabled()) { | ||
error_setg(errp, | ||
"Opcode count information is only available with accel=tcg"); | ||
return NULL; | ||
} | ||
|
||
tcg_dump_op_count(buf); | ||
|
||
return human_readable_text_from_str(buf); | ||
} | ||
|
||
#ifdef CONFIG_PROFILER | ||
|
||
int64_t dev_time; | ||
|
||
HumanReadableText *qmp_x_query_profile(Error **errp) | ||
{ | ||
g_autoptr(GString) buf = g_string_new(""); | ||
static int64_t last_cpu_exec_time; | ||
int64_t cpu_exec_time; | ||
int64_t delta; | ||
|
||
cpu_exec_time = tcg_cpu_exec_time(); | ||
delta = cpu_exec_time - last_cpu_exec_time; | ||
|
||
g_string_append_printf(buf, "async time %" PRId64 " (%0.3f)\n", | ||
dev_time, dev_time / (double)NANOSECONDS_PER_SECOND); | ||
g_string_append_printf(buf, "qemu time %" PRId64 " (%0.3f)\n", | ||
delta, delta / (double)NANOSECONDS_PER_SECOND); | ||
last_cpu_exec_time = cpu_exec_time; | ||
dev_time = 0; | ||
|
||
return human_readable_text_from_str(buf); | ||
} | ||
#else | ||
HumanReadableText *qmp_x_query_profile(Error **errp) | ||
{ | ||
error_setg(errp, "Internal profiler not compiled"); | ||
return NULL; | ||
} | ||
#endif | ||
|
||
static void hmp_tcg_register(void) | ||
{ | ||
monitor_register_hmp_info_hrt("jit", qmp_x_query_jit); | ||
monitor_register_hmp_info_hrt("opcount", qmp_x_query_opcount); | ||
} | ||
|
||
type_init(hmp_tcg_register); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.