Re: [PATCH] target/riscv: implement MonitorDef HMP API

2025-07-03 Thread Dr. David Alan Gilbert
_unary() later, > + * which feels ankward after our own error message. > + */ > +*pval = 0; > +return 0; > + } > + > + for (i = 0; i < ARRAY_SIZE(csr_ops); i++) { > +RISCVException res; > +int csrno = i; >

Re: Controlling time in QEMU

2025-07-03 Thread Dr. David Alan Gilbert
; [1] > https://gitlab.com/qemu-project/qemu/-/commit/72db6d54a4a9203736261fc63f32f6cd3486b7e4 > [2] > https://gitlab.com/qemu-project/qemu/-/commit/847a65dd76bf1868c7966a2b2608dcd00cb68dc7 > [3] > https://gitlab.com/qemu-project/qemu/-/blob/master/include/qemu/timer.h?re

Re: [PATCH v5 23/69] accel/tcg: Remove 'info opcount' and @x-query-opcount

2025-07-03 Thread Dr. David Alan Gilbert
ful command. > > Signed-off-by: Philippe Mathieu-Daudé For HMP Acked-by: Dr. David Alan Gilbert > --- > qapi/machine.json | 18 -- > accel/tcg/monitor.c| 21 - > tests/qtest/qmp-cmd-test.c | 1 - > hmp-commands-info

Re: [PATCH] hmp-cmds-target, target/riscv: add 'info register'

2025-07-01 Thread Dr. David Alan Gilbert
* Daniel Henrique Barboza (dbarb...@ventanamicro.com) wrote: > > > On 6/30/25 9:07 PM, Dr. David Alan Gilbert wrote: > > * Daniel Henrique Barboza (dbarb...@ventanamicro.com) wrote: > > > > Hi Daniel, > > > > > The RISC-V target has *a lot* of CPU

Re: [PATCH] hmp-cmds-target, target/riscv: add 'info register'

2025-06-30 Thread Dr. David Alan Gilbert
ax It doesn't seem very well maintained in the architectures though; the x86 one is prehistoric for example. d) Another way would be to modify info registers to take an optional -r register-list Anyway, those are _suggestions_ only. Dave > The API is introduced as TARGE

Re: [PATCH v7 4/6] target/i386: Add couple of feature bits in CPUID_Fn80000021_EAX

2025-06-16 Thread Dr. David Alan Gilbert
* Moger, Babu (babu.mo...@amd.com) wrote: > Hi Dave, > > On 6/6/25 07:29, Dr. David Alan Gilbert wrote: > > * Babu Moger (babu.mo...@amd.com) wrote: > >> Add CPUID bit indicates that a WRMSR to MSR_FS_BASE, MSR_GS_BASE, or > >> MSR_KERNEL_GS_BASE is non-s

Re: [PATCH v2 08/13] migration/postcopy: Report fault latencies in blocktime

2025-06-10 Thread Dr. David Alan Gilbert
* Peter Xu (pet...@redhat.com) wrote: > On Tue, Jun 10, 2025 at 12:08:23AM +0000, Dr. David Alan Gilbert wrote: > > > diff --git a/qapi/migration.json b/qapi/migration.json > > > index 4963f6ca12..e95b7402cb 100644 > > > --- a/qapi/migration.json > > > ++

Re: [PATCH] migration/postcopy: Add latency distribution report for blocktime

2025-06-09 Thread Dr. David Alan Gilbert
262 ms ]: 0 > [ 262 ms - 524 ms ]: 0 > [ 524 ms -1 sec ]: 0 > [1 sec -2 sec ]: 0 > [2 sec -4 sec ]: 0 > [ 4 sec -8 sec ]: 0 > [8 sec - 16 sec ]: 0 > > Cc: Dr. David

Re: [PATCH v2 08/13] migration/postcopy: Report fault latencies in blocktime

2025-06-09 Thread Dr. David Alan Gilbert
doc that this is not the real average > fault latency, but only the ones that was requested for a remote fault. > > Unwrap get_vcpu_blocktime_list() so we don't need to walk the list twice, > meanwhile add the entry checks in qtests for all postcopy tests. > > Cc: Markus Ar

Re: [PATCH v7 4/6] target/i386: Add couple of feature bits in CPUID_Fn80000021_EAX

2025-06-06 Thread Dr. David Alan Gilbert
_0021_EAX_NULL_SEL_CLR_BASE(1U << 6) > /* Automatic IBRS */ > #define CPUID_8000_0021_EAX_AUTO_IBRS(1U << 8) > +/* Indicates support for IC prefetch */ > +#define CPUID_8000_0021_EAX_PREFETCHI(1U << 20) > /* Enhanc

Re: [PATCH 02/11] migration/hmp: Fix postcopy-blocktime per-vCPU results

2025-05-28 Thread Dr. David Alan Gilbert
elements and also sort them. > > > > To fix it, simply loop over the uint32List manually. Now it looks like: > > > > Postcopy vCPU Blocktime (ms): > >[15, 0, 0, 43, 29, 34, 36, 29, 37, 41, > > 33, 37, 45, 52, 50, 38, 40, 37, 40, 49, > > 40, 35, 3

Re: [PATCH 01/11] migration/hmp: Reorg "info migrate" once more

2025-05-28 Thread Dr. David Alan Gilbert
the QMP interface > when necessary. > > - Sub-grouping for "Transfers" ("Channels" and "Page Types"). > > - Better indentations Thanks, Acked-by: Dr. David Alan Gilbert > Sample output: > > (qemu) info migrate > Status:

Re: [PATCH v2 2/2] migration/hmp: Add "info migrate -a", reorg the dump

2025-05-21 Thread Dr. David Alan Gilbert
it is for those humans find easiest - that's the H in HMP! (Those AIs can parse Json way easier than I can read Json!) Of course you don't need to reorg it all at once again, if someone finds one section hard, then reorg the way that people find it easy. > It's already in a pull, let's revisit whenever necessary. Thanks for the > input! > Nod. Dave > -- > Peter Xu > -- -Open up your eyes, open up your mind, open up your code --- / Dr. David Alan Gilbert| Running GNU/Linux | Happy \ \dave @ treblig.org | | In Hex / \ _|_ http://www.treblig.org |___/

Re: [PATCH v2 2/2] migration/hmp: Add "info migrate -a", reorg the dump

2025-05-14 Thread Dr. David Alan Gilbert
* Peter Xu (pet...@redhat.com) wrote: > On Wed, May 14, 2025 at 08:29:53PM +0000, Dr. David Alan Gilbert wrote: > > * Peter Xu (pet...@redhat.com) wrote: > > > A new parameter "-a" is added to "info migrate" to dump all info, while > > > when not sp

Re: [PATCH v2 2/2] migration/hmp: Add "info migrate -a", reorg the dump

2025-05-14 Thread Dr. David Alan Gilbert
normal" pages) > - Regroup things, so that related fields will show together > - etc. Thanks for the update, Reviewed-by: Dr. David Alan Gilbert Note that you did miss the change (which would be fine as a follow up) where I point out that I think your unit abbreviations are sl

Re: [PATCH 2/3] migration/hmp: Dump global in "info migrate_parameters" instead

2025-05-14 Thread Dr. David Alan Gilbert
+migration_global_dump(mon); > + > params = qmp_query_migrate_parameters(NULL); > > if (params) { > -- > 2.49.0 > -- -Open up your eyes, open up your mind, open up your code --- / Dr. David Alan Gilbert| Running GNU/Linux | Happy \ \dave @ treblig.org | | In Hex / \ _|_ http://www.treblig.org |___/

Re: [PATCH 3/3] migration/hmp: Add "info migrate -a", reorg the dump

2025-05-14 Thread Dr. David Alan Gilbert
s->mbps = ((double) bytes * 8.0) / transfer_time / 1000; > Sizes (KB): psize=4, total=16777992 and I think that is actually (KiB) i.e. 2^10 bytes Other than those, Reviewed-by: Dr. David Alan Gilbert > transferred=15697718, remain=12383520, > precopy=2, multifd=156977

Re: [PATCH 1/3] migration: Allow caps to be set when preempt or multifd cap enabled

2025-05-14 Thread Dr. David Alan Gilbert
t > before incoming") > Signed-off-by: Peter Xu Reviewed-by: Dr. David Alan Gilbert > --- > migration/options.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/migration/options.c b/migration/options.c > index 3fcd577cd7..162c72cda4 1006

Re: Trying cpr

2025-04-21 Thread Dr. David Alan Gilbert
* Dongli Zhang (dongli.zh...@oracle.com) wrote: > > > On 4/21/25 6:38 AM, Dr. David Alan Gilbert wrote: > > Hi Steve, > > I've just had a go with cpr-transfer, it's quite interesting. > > I was just trying it on my (AMD) desktop. > > > > *

Trying cpr

2025-04-21 Thread Dr. David Alan Gilbert
, "addr": { "transport": "socket", "type": "unix", "path": "cpr.sock"}}' Dave -- -Open up your eyes, open up your mind, open up your code --- / Dr. David Alan Gilbert| Running GNU/Linux | Happy \ \dave @ treblig.org | | In Hex / \ _|_ http://www.treblig.org |___/

Re: [PATCH 0/4] hw/s390x: Alias @dump-skeys -> @dump-s390-skey and deprecate

2025-03-10 Thread Dr. David Alan Gilbert
eries to rename *all* of them and > deprecate the previous names, I don't see the point why changing just one > single s390x command is necessary. I'd probably agree; mind you, it wouldn't be a bad convention to adopt in general. For HMP, since there's no need to have a fixed schema for a command, it would be fine to have a generic command for all architectures that have a similar idea even if their data is very different. Dave > Thomas > -- -Open up your eyes, open up your mind, open up your code --- / Dr. David Alan Gilbert| Running GNU/Linux | Happy \ \dave @ treblig.org | | In Hex / \ _|_ http://www.treblig.org |___/

Re: [PATCH v4 09/33] migration: postcopy_ram_listen_thread() needs to take BQL for some calls

2025-02-02 Thread Dr. David Alan Gilbert
* Maciej S. Szmigiero (m...@maciej.szmigiero.name) wrote: > On 2.02.2025 03:06, Dr. David Alan Gilbert wrote: > > * Maciej S. Szmigiero (m...@maciej.szmigiero.name) wrote: > > > From: "Maciej S. Szmigiero" > > > > > > postcopy_ram_listen_thr

Re: [PATCH v4 09/33] migration: postcopy_ram_listen_thread() needs to take BQL for some calls

2025-02-01 Thread Dr. David Alan Gilbert
@@ static void *postcopy_ram_listen_thread(void *opaque) > * (If something broke then qemu will have to exit anyway since it's > * got a bad migration state). > */ > +bql_lock(); > migration_incoming_state_destroy(); > +bql_unlock(); > >

Re: [PATCH v7 08/12] migration/multifd: Add new migration option for multifd DSA offloading.

2024-11-15 Thread Dr. David Alan Gilbert
dsa-accel > dsa-accel-path="dsa: dsa:[dsa_dev_path2] ..." oops, commit message needs updating, but other than that, for HMP: Acked-by: Dr. David Alan Gilbert Thanks for making the changes, Dave > This feature is turned off by default. > > Signed-off-by: Hao Xiang

Re: [PATCH] monitor: fix cases in switch in memory_dump

2024-10-30 Thread Dr. David Alan Gilbert
nt, int > > format, int wsize, > > case 8: > > v = ldq_p(buf + i); > > break; > > +default: > > + v = ldub_p(buf + i); > > +break; > > } > >

Re: [PATCH] sockets: Remove deadcode

2024-10-19 Thread Dr. David Alan Gilbert
* Daniel P. Berrangé (berra...@redhat.com) wrote: > On Thu, Sep 19, 2024 at 12:26:33AM +0100, d...@treblig.org wrote: > > From: "Dr. David Alan Gilbert" > > > > socket_remote_address hasn't been used since it was added in > > 17c55decec ("sockets

Re: [External] Re: [PATCH v6 08/12] migration/multifd: Add new migration option for multifd DSA offloading.

2024-10-15 Thread Dr. David Alan Gilbert
* Yichen Wang (yichen.w...@bytedance.com) wrote: > On Fri, Oct 11, 2024 at 10:14 AM Dr. David Alan Gilbert > wrote: > > > > * Yichen Wang (yichen.w...@bytedance.com) wrote: > > > From: Hao Xiang > > > > Please split the cpuid stuff out into a separate p

Re: [PATCH] migration: Remove interface query-migrationthreads

2024-10-11 Thread Dr. David Alan Gilbert
ationThread, 1); > - thread->name = name; > -thread->thread_id = thread_id; > - > -WITH_QEMU_LOCK_GUARD(&migration_threads_lock) { > -QLIST_INSERT_HEAD(&migration_threads, thread, node); > -} > - > -return thread; > -} > - > -void migration_threads_remove(MigrationThread *thread) > -{ > -QEMU_LOCK_GUARD(&migration_threads_lock); > -if (thread) { > -QLIST_REMOVE(thread, node); > -g_free(thread); > -} > -} > - > -MigrationThreadInfoList *qmp_query_migrationthreads(Error **errp) > -{ > -MigrationThreadInfoList *head = NULL; > -MigrationThreadInfoList **tail = &head; > -MigrationThread *thread = NULL; > - > -QEMU_LOCK_GUARD(&migration_threads_lock); > -QLIST_FOREACH(thread, &migration_threads, node) { > -MigrationThreadInfo *info = g_new0(MigrationThreadInfo, 1); > -info->name = g_strdup(thread->name); > -info->thread_id = thread->thread_id; > - > -QAPI_LIST_APPEND(tail, info); > -} > - > -return head; > -} > diff --git a/migration/meson.build b/migration/meson.build > index 66d3de86f0..28a680e5e2 100644 > --- a/migration/meson.build > +++ b/migration/meson.build > @@ -29,7 +29,6 @@ system_ss.add(files( >'savevm.c', >'socket.c', >'tls.c', > - 'threadinfo.c', > ), gnutls, zlib) > > if get_option('replication').allowed() > -- > 2.45.0 > -- -Open up your eyes, open up your mind, open up your code --- / Dr. David Alan Gilbert| Running GNU/Linux | Happy \ \dave @ treblig.org | | In Hex / \ _|_ http://www.treblig.org |___/

Re: [PATCH v6 08/12] migration/multifd: Add new migration option for multifd DSA offloading.

2024-10-11 Thread Dr. David Alan Gilbert
only has effect if the @mapped-ram capability is enabled. > # (Since 9.1) > @@ -1270,7 +1293,8 @@ > '*vcpu-dirty-limit': 'uint64', > '*mode': 'MigMode', > '*zero-page-detection': 

Re: [PATCH v6 00/12] Use Intel DSA accelerator to offload zero page checking in multifd live migration.

2024-10-11 Thread Dr. David Alan Gilbert
d having this much extra code for each one? Dave > > Thanks, > > -- > Peter Xu > -- -Open up your eyes, open up your mind, open up your code --- / Dr. David Alan Gilbert| Running GNU/Linux | Happy \ \dave @ treblig.org | | In Hex / \ _|_ http://www.treblig.org |___/

Re: [PATCH] linux-user/vm86: Fix compilation with Clang

2024-10-11 Thread Dr. David Alan Gilbert
> build currently breaks when compiling with "--enable-werror". Remove > the unused functions to get it going again. > > Fixes: 95b9c27c81 ("linux-user: Remove unused handle_vm86_fault") > Signed-off-by: Thomas Huth Sorry about that - thanks for the f

Re: [PATCH] hw/net/net_rx_pkt: Remove deadcode

2024-10-03 Thread Dr. David Alan Gilbert
* Michael Tokarev (m...@tls.msk.ru) wrote: > 19.09.2024 01:51, d...@treblig.org wrote: > > From: "Dr. David Alan Gilbert" > > > > net_rx_pkt_get_l3_hdr_offset and net_rx_pkt_get_iovec_len haven't > > been used since they were added. > > > >

Re: [PATCH] hmp: allow filtering `info tlb` entries by address on i386

2024-09-30 Thread Dr. David Alan Gilbert
r = qdict_haskey(qdict, "virt") ? &filter_addr : NULL; > + I'm a bit confused about the format of the parameter you're trying to use; can you add an example in the commit message please. > env = mon_get_cpu_env(mon); > if (!env) { > moni

Re: [PATCH 7/7] hmp: Add "info migrationthreads"

2024-09-30 Thread Dr. David Alan Gilbert
* Peter Xu (pet...@redhat.com) wrote: > The QMP command was added in 671326201d ("migration: Introduce interface > query-migrationthreads", v8.0). Add the HMP version of it. > > Cc: Markus Armbruster > Cc: Dr. David Alan Gilbert > Signed-off-by: Peter Xu &g

Re: [PATCH v2 6/7] migration/postcopy: Use uffd helpers

2024-09-30 Thread Dr. David Alan Gilbert
* Peter Xu (pet...@redhat.com) wrote: > On Thu, Sep 19, 2024 at 02:46:25PM +0100, d...@treblig.org wrote: > > From: "Dr. David Alan Gilbert" > > > > Use the uffd_copy_page, uffd_zero_page and uffd_wakeup helpers > > rather than calling ioctl ourselves. >

Re: [PATCH] q35: Remove unused mch_mcfg_base

2024-09-19 Thread Dr. David Alan Gilbert
* Bernhard Beschow (shen...@gmail.com) wrote: > > > Am 18. September 2024 00:51:32 UTC schrieb d...@treblig.org: > >From: "Dr. David Alan Gilbert" > > > >mch_mcfg_base has been unused since it was added by > > 6f1426ab0f ("ich9: APIs

Re: of remote_iohub_finalize

2024-09-19 Thread Dr. David Alan Gilbert
; Jag > > > On Sep 18, 2024, at 1:00 PM, Dr. David Alan Gilbert > > wrote: > > > > Hi Jag, > > One of my scripts noticed that 'remote_iohub_finalize' in > > hw/remote/iohub.c is unused; before I go and delete it as deadcode, > > is that actu

Re: [PATCH] qemu-timer: Remove unused qemu_clock_get_main_loop_timerlist

2024-09-19 Thread Dr. David Alan Gilbert
* d...@treblig.org (d...@treblig.org) wrote: > From: "Dr. David Alan Gilbert" > > qemu_clock_get_main_loop_timerlist has been unused since it was > originally added in > ff83c66ecc ("aio / timers: Split QEMUClock into QEMUClock and > QEMUTimerList")

Re: [PATCH 2/3] migration: Remove unused zero-blocks capability

2024-09-19 Thread Dr. David Alan Gilbert
* Fabiano Rosas (faro...@suse.de) wrote: > Markus Armbruster writes: > > > Peter Xu writes: > > > >> On Wed, Sep 18, 2024 at 07:52:56AM +0200, Markus Armbruster wrote: > >>> d...@treblig.org writes: > >>> > >>> > From: "

Re: [PATCH] io/channel-socket: Remove unused qio_channel_socket_dgram_async

2024-09-19 Thread Dr. David Alan Gilbert
* Daniel P. Berrangé (berra...@redhat.com) wrote: > On Thu, Sep 19, 2024 at 01:00:34AM +0100, d...@treblig.org wrote: > > From: "Dr. David Alan Gilbert" > > > > qio_channel_socket_dgram_async has been unused since it was originally > > added in 2015. > &

of remote_iohub_finalize

2024-09-18 Thread Dr. David Alan Gilbert
Hi Jag, One of my scripts noticed that 'remote_iohub_finalize' in hw/remote/iohub.c is unused; before I go and delete it as deadcode, is that actually just a missing call somewhere? Dave -- -Open up your eyes, open up your mind, open up your code ------- / Dr. David Al

Re: [PATCH] qmp: Add 'memtranslate' QMP command

2024-07-30 Thread Dr. David Alan Gilbert
l; > +} > + > /** > * qdict_get_try_bool(): Try to get a bool mapped by 'key' > * > diff --git a/system/cpus.c b/system/cpus.c > index 5e3a988a0a..25d7d7c93f 100644 > --- a/system/cpus.c > +++ b/system/cpus.c > @@ -792,7 +792,34 @@ int vm_stop_fo

Re: [PATCH v4 4/7] Convert 'info tlb' to use generic iterator.

2024-07-27 Thread Dr. David Alan Gilbert
; > +bool nested; > > -env = mon_get_cpu_env(mon); > -if (!env) { > -monitor_printf(mon, "No CPU available\n"); > +if (!cs) { > +monitor_printf(mon, "Unable to get CPUState. Internal error\n"); I wouldn't bother saying &

Re: [PATCH] misc: introduce strim-memory qapi to support free memory trimming

2024-07-25 Thread Dr. David Alan Gilbert
malloc_trim() you propose interact with this one? > > The above usage is automatic, while this proposal requires that > an external mgmt app monitor QEMU and tell it to free memory. > I'm wondering if the latter is really desirable, or whether QEMU > can call this itself when reasonable ? > > > With regards, > Daniel > -- > |: https://berrange.com -o-https://www.flickr.com/photos/dberrange :| > |: https://libvirt.org -o-https://fstop138.berrange.com :| > |: https://entangle-photo.org-o-https://www.instagram.com/dberrange :| > -- -Open up your eyes, open up your mind, open up your code --- / Dr. David Alan Gilbert| Running GNU/Linux | Happy \ \dave @ treblig.org | | In Hex / \ _|_ http://www.treblig.org |___/

Re: [PATCH v4 2/7] Import vmcs12 definition from Linux/KVM

2024-07-23 Thread Dr. David Alan Gilbert
ector; > +u16 guest_intr_status; > +u16 host_es_selector; > +u16 host_cs_selector; > +u16 host_ss_selector; > +u16 host_ds_selector; > + u16 host_fs_selector; > +u16 host_gs_selector; > +u16 ho

Re: [PATCH 0/4] hw/s390x: Alias @dump-skeys -> @dump-s390-skey and deprecate

2024-06-27 Thread Dr. David Alan Gilbert
* Markus Armbruster (arm...@redhat.com) wrote: > "Dr. David Alan Gilbert" writes: > > > * Markus Armbruster (arm...@redhat.com) wrote: > >> Philippe Mathieu-Daudé writes: > >> > >> > Hi Daniel, Dave, Markus & Thomas. > >> >

Re: [PATCH 9/9] contrib/plugins: add ips plugin example for cost modeling

2024-06-17 Thread Dr. David Alan Gilbert
* Pierrick Bouvier (pierrick.bouv...@linaro.org) wrote: > On 6/17/24 13:56, Dr. David Alan Gilbert wrote: > > * Pierrick Bouvier (pierrick.bouv...@linaro.org) wrote: > > > On 6/14/24 15:00, Dr. David Alan Gilbert wrote: > > > > * Pierrick Bouvier (pierrick.bouv...@l

Re: [PATCH 9/9] contrib/plugins: add ips plugin example for cost modeling

2024-06-17 Thread Dr. David Alan Gilbert
* Pierrick Bouvier (pierrick.bouv...@linaro.org) wrote: > On 6/14/24 15:00, Dr. David Alan Gilbert wrote: > > * Pierrick Bouvier (pierrick.bouv...@linaro.org) wrote: > > > Hi Dave, > > > > > > On 6/12/24 14:02, Dr. David Alan Gilbert wrote: > > > &

Re: [PATCH] hmp-commands-info.hx: Add missing info command for stats subcommand

2024-06-15 Thread Dr. David Alan Gilbert
* Martin Joerg (martin.jo...@gmail.com) wrote: > Signed-off-by: Martin Joerg Thanks! (Trivial please take that). Reviewed-by: Dr. David Alan Gilbert > --- > hmp-commands-info.hx | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hmp-commands-info

Re: [PATCH 9/9] contrib/plugins: add ips plugin example for cost modeling

2024-06-14 Thread Dr. David Alan Gilbert
* Pierrick Bouvier (pierrick.bouv...@linaro.org) wrote: > Hi Dave, > > On 6/12/24 14:02, Dr. David Alan Gilbert wrote: > > * Alex Bennée (alex.ben...@linaro.org) wrote: > > > From: Pierrick Bouvier > > > > > > This plugin uses the new time control i

Re: [PATCH 9/9] contrib/plugins: add ips plugin example for cost modeling

2024-06-12 Thread Dr. David Alan Gilbert
> +time_handle = qemu_plugin_request_time_control(); > +g_assert(time_handle); > + > +qemu_plugin_register_vcpu_tb_trans_cb(id, vcpu_tb_trans); > +qemu_plugin_register_vcpu_init_cb(id, vcpu_init); > +qemu_plugin_register_vcpu_exit_cb(id, vcpu_exit); > +qemu_plugin_register_atexit_cb(id, plugin_exit, NULL); > + > +return 0; > +} > diff --git a/contrib/plugins/Makefile b/contrib/plugins/Makefile > index 0b64d2c1e3..449ead1130 100644 > --- a/contrib/plugins/Makefile > +++ b/contrib/plugins/Makefile > @@ -27,6 +27,7 @@ endif > NAMES += hwprofile > NAMES += cache > NAMES += drcov > +NAMES += ips > > ifeq ($(CONFIG_WIN32),y) > SO_SUFFIX := .dll > -- > 2.39.2 > -- -Open up your eyes, open up your mind, open up your code --- / Dr. David Alan Gilbert| Running GNU/Linux | Happy \ \dave @ treblig.org | | In Hex / \ _|_ http://www.treblig.org |___/

Re: Examining device state via monitor for debugging (was: [PATCH 0/2] hw/misc/mos6522: Do not open-code hmp_info_human_readable_text())

2024-06-11 Thread Dr. David Alan Gilbert
or host memory addresses). It's also hopelessly cryptic. From an HMP point, a 'info debug ' seems good to me, possibly with some options as to whether to recurse or perhaps add flags to 'info qtree' to also call it. Dave > -- PMM -- -Open up your eyes, open up your mind, open up your code --- / Dr. David Alan Gilbert| Running GNU/Linux | Happy \ \dave @ treblig.org | | In Hex / \ _|_ http://www.treblig.org |___/

Re: [PATCH 1/3] hw/s390x: Declare target specific monitor commands in hmp-target.h

2024-06-10 Thread Dr. David Alan Gilbert
mp-target.c > index 1eb72ac1bf..0466474354 100644 > --- a/monitor/hmp-target.c > +++ b/monitor/hmp-target.c > @@ -36,11 +36,6 @@ > #include "qapi/error.h" > #include "qemu/cutils.h" > > -#if defined(TARGET_S390X) > -#include "hw/s390x/storage-keys.h" > -#include "hw/s390x/storage-attributes.h" > -#endif > - > /* Make devices configuration available for use in hmp-commands*.hx > templates */ > #include CONFIG_DEVICES > > -- > 2.41.0 > -- -Open up your eyes, open up your mind, open up your code --- / Dr. David Alan Gilbert| Running GNU/Linux | Happy \ \dave @ treblig.org | | In Hex / \ _|_ http://www.treblig.org |___/

Re: [PATCH] monitor: Remove obsolete stubs

2024-06-10 Thread Dr. David Alan Gilbert
fo_ramblock() in commit ca411b7c8a ("qapi: introduce > x-query-ramblock QMP command") > > and hmp_info_irq() in commit 91f2fa7045 ("qapi: introduce > x-query-irq QMP command"). > > Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Dr. David Alan Gilbert

Re: [PATCH 0/7] Remove some unused structures

2024-06-07 Thread Dr. David Alan Gilbert
* Dr. David Alan Gilbert (d...@treblig.org) wrote: > A bunch of structs that are currently unused, > found with a simple script and a bit of eyeballing. > > The only one I'm that suspicious of is the SPARC > one, where the patch which removed the use is a bit > confu

Re: [PATCH-for-9.1 v2 2/3] migration: Remove RDMA protocol handling

2024-06-05 Thread Dr. David Alan Gilbert
* Peter Xu (pet...@redhat.com) wrote: > Hey, Dave! Hey! > On Wed, Jun 05, 2024 at 12:31:56AM +0000, Dr. David Alan Gilbert wrote: > > * Michael Galaxy (mgal...@akamai.com) wrote: > > > One thing to keep in mind here (despite me not having any hardware to > > > t

Re: [PATCH 0/4] hw/s390x: Alias @dump-skeys -> @dump-s390-skey and deprecate

2024-06-05 Thread Dr. David Alan Gilbert
* Markus Armbruster (arm...@redhat.com) wrote: > Philippe Mathieu-Daudé writes: > > > Hi Daniel, Dave, Markus & Thomas. > > > > On 4/6/24 06:58, Markus Armbruster wrote: > >> "Dr. David Alan Gilbert" writes: > >>> * Daniel P. Berrangé

Re: [PATCH-for-9.1 v2 2/3] migration: Remove RDMA protocol handling

2024-06-04 Thread Dr. David Alan Gilbert
provide good support and work together. > > > > > > > > > We are happy to provide the necessary review and maintenance work for > > > > RDMA > > > > if the community needs it. > > > > > > > > CC'ing Chuan Zheng.

Re: [PATCH v2 06/18] monitor: Stop removing non-duplicated fds

2024-06-04 Thread Dr. David Alan Gilbert
r/monitor-internal.h > >> @@ -168,7 +168,6 @@ extern bool qmp_dispatcher_co_shutdown; > >> extern QmpCommandList qmp_commands, qmp_cap_negotiation_commands; > >> extern QemuMutex monitor_lock; > >> extern MonitorList mon_list; > >> -ext

Re: [PATCH 0/4] hw/s390x: Alias @dump-skeys -> @dump-s390-skey and deprecate

2024-06-03 Thread Dr. David Alan Gilbert
ckr.com/photos/dberrange :| > |: https://libvirt.org -o-https://fstop138.berrange.com :| > |: https://entangle-photo.org-o-https://www.instagram.com/dberrange :| > -- -Open up your eyes, open up your mind, open up your code --- / Dr. David Alan Gilbert| Running GNU/Linux | Happy \ \dave @ treblig.org | | In Hex / \ _|_ http://www.treblig.org |___/

Re: [PATCH 0/4] hw/s390x: Alias @dump-skeys -> @dump-s390-skey and deprecate

2024-06-03 Thread Dr. David Alan Gilbert
* Thomas Huth (th...@redhat.com) wrote: > On 31/05/2024 16.02, Dr. David Alan Gilbert wrote: > > * Thomas Huth (th...@redhat.com) wrote: > > > On 30/05/2024 09.45, Philippe Mathieu-Daudé wrote: > > > > We are trying to unify all qemu-system-FOO to a single binary.

Re: [PATCH v2 2/6] Convert 'info tlb' to use generic iterator

2024-05-31 Thread Dr. David Alan Gilbert
> > - env = mon_get_cpu_env(mon); > -if (!env) { > -monitor_printf(mon, "No CPU available\n"); > +CPUState *cs = mon_get_cpu(mon); > +if (!cs) { > +monitor_printf(mon, "Unable to get CPUState. Internal error\n"); > return; > } > > -if (!(env->cr[0] & CR0_PG_MASK)) { > -monitor_printf(mon, "PG disabled\n"); > +if (!init_iterator(mon, &state)) { > return; > } > -if (env->cr[4] & CR4_PAE_MASK) { > -#ifdef TARGET_X86_64 > -if (env->hflags & HF_LMA_MASK) { > -if (env->cr[4] & CR4_LA57_MASK) { > -tlb_info_la57(mon, env); > -} else { > -tlb_info_la48(mon, env, 0, env->cr[3] & 0x3f000ULL); > -} > -} else > -#endif > -{ > -tlb_info_pae32(mon, env); > -} > -} else { > -tlb_info_32(mon, env); > -} > + > +/** > + * 'info tlb' visits only leaf PTEs marked present. > + * It does not check other protection bits. > + */ > +for_each_pte(cs, &mem_print_tlb, &state, false, false); > } > > static void mem_print(Monitor *mon, CPUArchState *env, > -- > 2.34.1 > -- -Open up your eyes, open up your mind, open up your code --- / Dr. David Alan Gilbert| Running GNU/Linux | Happy \ \dave @ treblig.org | | In Hex / \ _|_ http://www.treblig.org |___/

Re: [PATCH v2 1/6] Add an "info pg" command that prints the current page tables

2024-05-31 Thread Dr. David Alan Gilbert
&& ent2prot(state->ent[height]) == prot > + && (((state->last_offset[height] + 1) % entries_per_node) > + == offset) > + && ((!is_leaf) > + || (!state->requi

Re: [PATCH 0/4] hw/s390x: Alias @dump-skeys -> @dump-s390-skey and deprecate

2024-05-31 Thread Dr. David Alan Gilbert
al address and then use that to associate some security; I think that's closer to what MTE is isn't it? I'm not sure the two fit in the same command. Dave > Or should it maybe rather be an option to the existing "dump-guest-memory" > command i

Re: [PATCH v2 3/4] tests/qtest/migration-test: Fix and enable test_ignore_shared

2024-05-30 Thread Dr. David Alan Gilbert
; limited shm size under Gitlab CI. Now that it uses /tmp, enable it. If it does fail, lets see if we can figure out how, i.e. whether it's the shm size or something else. Reviewed-by: Dr. David Alan Gilbert > Cc: Yury Kotov > Cc: Dr. David Alan Gilbert > Signed-off-by: Nicho

Re: [PATCH 3/7] linux-user: sparc: Remove unused struct 'target_mc_fq'

2024-05-20 Thread Dr. David Alan Gilbert
* Dr. David Alan Gilbert (d...@treblig.org) wrote: > This struct is unused since Peter's > Commit b8ae597f0e6d ("linux-user/sparc: Fix errors in target_ucontext > structures") > > However, hmm, I'm a bit confused since that commit modifies the > structure and

Re: [PATCH 6/7] target/ppc: Remove unused struct 'mmu_ctx_hash32'

2024-05-10 Thread Dr. David Alan Gilbert
* BALATON Zoltan (bala...@eik.bme.hu) wrote: > On Sun, 5 May 2024, BALATON Zoltan wrote: > > On Sun, 5 May 2024, Dr. David Alan Gilbert wrote: > > > I think it's use was removed by > > > Commit 5883d8b296 ("mmu-hash*: Don't use full ppc_hash{32, > >

Re: [PATCH 2/7] linux-user: i386/signal: Remove unused fp structs

2024-05-05 Thread Dr. David Alan Gilbert
* Richard Henderson (richard.hender...@linaro.org) wrote: > On 5/5/24 10:14, Dr. David Alan Gilbert wrote: > > The structs 'target_fpxreg' and 'target_xmmreg' are unused since > > Paolo's: > > > > Commit 2796f290b546 ("linux-user: i3

[PATCH 3/7] linux-user: sparc: Remove unused struct 'target_mc_fq'

2024-05-05 Thread Dr. David Alan Gilbert
This struct is unused since Peter's Commit b8ae597f0e6d ("linux-user/sparc: Fix errors in target_ucontext structures") However, hmm, I'm a bit confused since that commit modifies the structure and then removes it, was that intentional? Signed-off-by: Dr. David Alan Gilbert -

[PATCH 2/7] linux-user: i386/signal: Remove unused fp structs

2024-05-05 Thread Dr. David Alan Gilbert
The structs 'target_fpxreg' and 'target_xmmreg' are unused since Paolo's: Commit 2796f290b546 ("linux-user: i386/signal: support FXSAVE fpstate on 32-bit emulation") Signed-off-by: Dr. David Alan Gilbert --- linux-user/i386/signal.c | 10 -- 1 file c

[PATCH 1/7] linux-user: cris: Remove unused struct 'rt_signal_frame'

2024-05-05 Thread Dr. David Alan Gilbert
Since 'setup_rt_frame' has never been implemented, this struct is unused. Signed-off-by: Dr. David Alan Gilbert --- linux-user/cris/signal.c | 8 1 file changed, 8 deletions(-) diff --git a/linux-user/cris/signal.c b/linux-user/cris/signal.c index 4f532b2903..10948bcf30 10

[PATCH 0/7] Remove some unused structures

2024-05-05 Thread Dr. David Alan Gilbert
u,arm-softmmu,aarch64-softmmu,cris-linux-user,i386-linux-user,sparc-linux-user and 'make check' on x86 linux. Dave Dr. David Alan Gilbert (7): linux-user: cris: Remove unused struct 'rt_signal_frame' linux-user: i386/signal: Remove unused fp structs linux-user: sp

[PATCH 7/7] net/can: Remove unused struct 'CanBusState'

2024-05-05 Thread Dr. David Alan Gilbert
As far as I can tell this struct has never been used in this file (it is used in can_core.c). Signed-off-by: Dr. David Alan Gilbert --- net/can/can_host.c | 6 -- 1 file changed, 6 deletions(-) diff --git a/net/can/can_host.c b/net/can/can_host.c index a3c84028c6..b2fe553f91 100644 --- a

[PATCH 5/7] hw/arm/bcm2836: Remove unusued struct 'BCM283XClass'

2024-05-05 Thread Dr. David Alan Gilbert
This struct has been unused since Commit f932093ae165 ("hw/arm/bcm2836: Split out common part of BCM283X classes") Signed-off-by: Dr. David Alan Gilbert --- hw/arm/bcm2836.c | 12 1 file changed, 12 deletions(-) diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c index

[PATCH 6/7] target/ppc: Remove unused struct 'mmu_ctx_hash32'

2024-05-05 Thread Dr. David Alan Gilbert
I think it's use was removed by Commit 5883d8b296 ("mmu-hash*: Don't use full ppc_hash{32, 64}_translate() path for get_phys_page_debug()") Signed-off-by: Dr. David Alan Gilbert --- target/ppc/mmu-hash32.c | 6 -- 1 file changed, 6 deletions(-) diff --git a/target/ppc/m

[PATCH 4/7] hw/usb/dev-network: Remove unused struct 'rndis_config_parameter'

2024-05-05 Thread Dr. David Alan Gilbert
As far as I can tell it was never used. Signed-off-by: Dr. David Alan Gilbert --- hw/usb/dev-network.c | 8 1 file changed, 8 deletions(-) diff --git a/hw/usb/dev-network.c b/hw/usb/dev-network.c index 2c33e36cad..d00d68b21d 100644 --- a/hw/usb/dev-network.c +++ b/hw/usb/dev-network.c

Re: [PATCH v3 3/6] migration: Remove 'blk/-b' option from migrate commands

2024-05-02 Thread Dr. David Alan Gilbert
ri* > > +``migrate [-d]`` *uri* > >Migrate to *uri* (using -d to not wait for completion). > > - > > - ``-b`` > > -for migration with full copy of disk > > ERST > > Not this patch's fault, but here goes anyway: -r is undocumented here. Probably one for Peter I guess. Dave > > > > { > > [...] > -- -Open up your eyes, open up your mind, open up your code --- / Dr. David Alan Gilbert| Running GNU/Linux | Happy \ \dave @ treblig.org | | In Hex / \ _|_ http://www.treblig.org |___/

Re: Add 'info pg' command to monitor

2024-04-19 Thread Dr. David Alan Gilbert
r basically legacy reasons. And for the > human monitor (HMP) we don't need to keep things around > for backwards compatibility. I'm not sure what happens for the (MIPS/SPARC ?) where it's not a traditional table hierarchy. The other thing you might want (and I'm

Re: Add 'info pg' command to monitor

2024-04-17 Thread Dr. David Alan Gilbert
ory_mapping > > * tcg/sysemu/excp_helper.c: implements mmu_translate() and > get_physical_address() One thing to keep in mind (although I don't know the x86 code) is that you want the monitor command not to change any state, nor to fail if there's a particularly scre

Re: [PATCH-for-9.1 05/21] target/m68k: Replace qemu_printf() by monitor_printf() in monitor

2024-03-28 Thread Dr. David Alan Gilbert
* BALATON Zoltan (bala...@eik.bme.hu) wrote: > On Sun, 24 Mar 2024, Dr. David Alan Gilbert wrote: > > * Philippe Mathieu-Daudé (phi...@linaro.org) wrote: > > > Replace qemu_printf() by monitor_printf() / monitor_puts() in monitor. > > > > > > S

Re: [PATCH-for-9.1 05/21] target/m68k: Replace qemu_printf() by monitor_printf() in monitor

2024-03-24 Thread Dr. David Alan Gilbert
uot;S"); /* Supervisor */ > +monitor_puts(mon, "S"); /* Supervisor */ > } else { > -qemu_printf("."); > +monitor_puts(mon, "."); > } > if (env->mmu.mmusr & M68K_MMU_M_040

Re: [PATCH-for-9.0] monitor/hmp-cmds-target.c: append a space in error message in gpa2hva()

2024-03-20 Thread Dr. David Alan Gilbert
emory at address 0x%" HWADDR_PRIx "is not RAM", > > addr); > > +error_setg(errp, "Memory at address 0x%" HWADDR_PRIx " is not > > RAM", addr); > > memory_region_unref(mrs.mr); > > return NULL; > >

Re: [PATCH-for-9.0 0/2] target/monitor: Deprecate 'info tlb/mem' in favor of 'info mmu'

2024-03-20 Thread Dr. David Alan Gilbert
architecture to implement a second copy of the page table > > > walking code. But before we can deprecate them we need to be > > > pretty sure that "info mmu" is what we want to replace them with. > > > > An alternative is to just deprecate them, without add

Re: [PATCH] hmp: Add option to info qtree to omit details

2024-03-07 Thread Dr. David Alan Gilbert
27;detailed', but rather stick to one or the other as variable names); still: Reviewed-by: Dr. David Alan Gilbert > --- > hmp-commands-info.hx | 6 +++--- > system/qdev-monitor.c | 24 +--- > 2 files changed, 16 insertions(+), 14 deletions(-) > > diff

Re: [PATCH 2/3] hmp: Remove deprecated 'singlestep' command

2024-01-17 Thread Dr. David Alan Gilbert
14..fc5f5c57ad 100644 > --- a/hmp-commands.hx > +++ b/hmp-commands.hx > @@ -398,19 +398,6 @@ SRST >If called with option off, the emulation returns to normal mode. > ERST > > -{ > -.name = "singlestep", > -.args_type = "option:s?&quo

Re: [PATCH 2/7] hmp: Improve sync-profile error message

2023-10-31 Thread Dr. David Alan Gilbert
* Markus Armbruster (arm...@redhat.com) wrote: > Improve > > (qemu) sync-profile of > Error: Invalid parameter 'of' > > to > > Error: invalid parameter 'of', expecting 'on', 'off', or 'reset' &

Re: [RFC PATCH] hmp: implement hmp_ram_memory_dump

2023-10-21 Thread Dr. David Alan Gilbert
r* > + RAM memory dump starting at *addr*. See xp/ for physical and x/ for > virtual memory > > + *fmt* is a format which tells the command how to format the > + data. Its syntax is: ``/{count}{format}{size}`` > +ERST > { > .name = "gpa2hva", > .args_type = "addr:l", > -- > 2.39.2 > -- -Open up your eyes, open up your mind, open up your code --- / Dr. David Alan Gilbert| Running GNU/Linux | Happy \ \dave @ treblig.org | | In Hex / \ _|_ http://www.treblig.org |___/

Re: [PATCH 4/4] qapi: introduce CONFIG_READ event

2023-10-18 Thread Dr. David Alan Gilbert
d usage of QMP features, or > triaging bug reports that include examples of usage, and in both > cases it is pretty relevant to make unstable features stand out to > the human via the x- prefix IMHO. Using x- for events makes sense to me; the semantics of events can be quite su

Re: [RFC 1/3] hmp: avoid the nested event loop in handle_hmp_command()

2023-09-07 Thread Dr. David Alan Gilbert
* Stefan Hajnoczi (stefa...@gmail.com) wrote: > On Thu, 7 Sept 2023 at 10:07, Dr. David Alan Gilbert wrote: > > > > * Stefan Hajnoczi (stefa...@redhat.com) wrote: > > > On Thu, Sep 07, 2023 at 01:06:39AM +, Dr. David Alan Gilbert wrote: > > > > * Stefan

Re: [RFC 1/3] hmp: avoid the nested event loop in handle_hmp_command()

2023-09-07 Thread Dr. David Alan Gilbert
* Stefan Hajnoczi (stefa...@redhat.com) wrote: > On Thu, Sep 07, 2023 at 01:06:39AM +0000, Dr. David Alan Gilbert wrote: > > * Stefan Hajnoczi (stefa...@redhat.com) wrote: > > > Coroutine HMP commands currently run to completion in a nested event > > > loop with the Bi

Re: [RFC 1/3] hmp: avoid the nested event loop in handle_hmp_command()

2023-09-06 Thread Dr. David Alan Gilbert
command_co, data); > +monitor_suspend(&mon->common); /* resumed by handle_hmp_command_co() > */ > monitor_set_cur(co, &mon->common); > aio_co_enter(qemu_get_aio_context(), co); > - AIO_WAIT_WHILE_UNLOCKED(NULL, !data.done); > } > - > -qobject

Re: [PATCH v14 08/10] Adding info [tb-list|tb] commands to HMP (WIP)

2023-06-08 Thread Dr. David Alan Gilbert
multiple > guest physical addresses, or even currently not mapped to any guest > physical address at all. And it could be present at different physical > addresses for different vCPUs. True, but isn't there a similar mechanism for when an MCE happens in the host memory? Dave >

Re: [RFC PATCH 1/1] virtio-balloon: Add Working Set Reporting feature

2023-05-18 Thread Dr. David Alan Gilbert
* T.J. Alumbaugh (talum...@google.com) wrote: > On Tue, May 16, 2023 at 5:03 AM Dr. David Alan Gilbert > wrote: > > > > * T.J. Alumbaugh (talum...@google.com) wrote: > > > Working Set Reporting supported in virtio-balloon. > > > - adds working se

Re: [RFC PATCH 1/1] virtio-balloon: Add Working Set Reporting feature

2023-05-16 Thread Dr. David Alan Gilbert
uot;microseconds": 435656 } } > +# > +## > +{ 'event': 'WS_EVENT' } > + > ## > # @MemoryInfo: > # > diff --git a/qapi/misc.json b/qapi/misc.json > index 4afaee7fe7..b1da595c80 100644 > --- a/qapi/misc.json > +++ b/qapi/misc.json > @@ -523,6 +523

Re: [PATCH v2 3/4] build: move COLO under CONFIG_REPLICATION

2023-04-20 Thread Dr. David Alan Gilbert
er the ifdef includes the SRST/ERST doc section; some ifdef do and some don't; and thus it depends whether or not you want the command documented even though it's compiled out. I think it's probably OK, but maybe worth reconsidering: Acked-by: Dr. David Alan Gilbert > SRST >

Re: [PATCH v2 10/10] hmp: Deprecate 'singlestep' member of StatusInfo

2023-04-05 Thread Dr. David Alan Gilbert
* Peter Maydell (peter.mayd...@linaro.org) wrote: > On Wed, 5 Apr 2023 at 15:56, Dr. David Alan Gilbert > wrote: > > > > * Peter Maydell (peter.mayd...@linaro.org) wrote: > > > I think on balance I would go for: > > > * remove (ie deprecate-and-dr

Re: [PATCH v2 10/10] hmp: Deprecate 'singlestep' member of StatusInfo

2023-04-05 Thread Dr. David Alan Gilbert
splitting the 'read' >part out into its own 'info one-insn-per-tb', for consistency >(then 'info status' matches the QMP query-status) If it's pretty obscure, then the qom-set/get is fine; as long as there is a way to do it, then just make sure in the commit message you say what the replacement command is. Dave > In particular, the fact that messing with this obscure debug > functionality requires updating the reference-output for a > bunch of io tests that have no interest at all in it rather > suggests that even if we did want to expose this to QMP that > the query-status command is the wrong place to do it. > > thanks > -- PMM > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK

Re: [PATCH 13/13] aio: remove aio_disable_external() API

2023-04-04 Thread Dr. David Alan Gilbert
ULL, NULL, opaque); > > +aio_set_fd_handler(ctx, rioc->rdmaout->recv_comp_channel->fd, > > io_read, > > + io_write, NULL, NULL, opaque); > > +aio_set_fd_handler(ctx, rioc->rdmaout->send_comp_channel->fd, > >

Re: [PATCH v2 07/10] hmp: Add 'one-insn-per-tb' command equivalent to 'singlestep'

2023-04-03 Thread Dr. David Alan Gilbert
urrent_accel(); > diff --git a/tests/qtest/test-hmp.c b/tests/qtest/test-hmp.c > index b4a920df898..cb3530df722 100644 > --- a/tests/qtest/test-hmp.c > +++ b/tests/qtest/test-hmp.c > @@ -64,6 +64,7 @@ static const char *hmp_cmds[] = { > "screendump /dev/null", >

Re: [RFC PATCH v1 1/1] migration: Disable postcopy + multifd migration

2023-03-30 Thread Dr. David Alan Gilbert
ns a) above, but we > > need to document it, and when b) is wanted and implemented someday, we'll > > need some other flag/cap for it. > > As I've mentioned a few times, I think we need to throw away the idea > of exposing capabilities that mgmt apps need to learn about, and make > the migration protocol fully bi-directional so src + dst QEMU can > directly negotiate features. Apps shouldn't have to care about the > day-to-day improvements in the migration impl to the extent that they > are today. > > With regards, > Daniel > -- > |: https://berrange.com -o-https://www.flickr.com/photos/dberrange :| > |: https://libvirt.org -o-https://fstop138.berrange.com :| > |: https://entangle-photo.org-o-https://www.instagram.com/dberrange :| > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK

  1   2   3   4   5   6   7   8   9   10   >