Until the uncomparably harder task of real VCPU hotplug / hot-unplug is completed, here's a small guest agent series that imitates the same thing through the sysfs of the Linux guest. We've heard that people migrating from another VMM might be transitorily interested in this.
In v2: addressing the reviews of Eric and Michael (many thanks). - Deal with non-offline-able VCPUs, introducing GuestLogicalProcessor.can_offline, - POSIX write()-style retvals in guest-set-vcpus, - move implementation into preexistent __linux__ section, keep standalone stubs, - massage sysfs files with <unistd.h> interfaces. (v2 is practically a rewrite; the interdiff doesn't appear particularly helpful.) Laszlo Ersek (3): qga: introduce guest-get-vcpus / guest-set-vcpus with stubs qga: implement qmp_guest_get_vcpus() for Linux with sysfs qga: implement qmp_guest_set_vcpus() for Linux with sysfs qga/qapi-schema.json | 72 +++++++++++++++++++++ qga/commands-posix.c | 172 ++++++++++++++++++++++++++++++++++++++++++++++++++ qga/commands-win32.c | 12 ++++ 3 files changed, 256 insertions(+), 0 deletions(-)