Philippe Mathieu-Daudé <[email protected]> writes: > On 24/11/25 11:27, Mark Cave-Ayland wrote: >> On 23/11/2025 18:58, Philippe Mathieu-Daudé wrote: >> >>> We don't use Xen on the isapc machine: let's remove >>> pointless code. >>> >>> Signed-off-by: Philippe Mathieu-Daudé <[email protected]> >>> --- >>> hw/i386/isapc.c | 27 ++++----------------------- >>> 1 file changed, 4 insertions(+), 23 deletions(-) >>> >>> diff --git a/hw/i386/isapc.c b/hw/i386/isapc.c >>> index 1ba9ae22cc3..1e13a30c505 100644 >>> --- a/hw/i386/isapc.c >>> +++ b/hw/i386/isapc.c >>> @@ -17,8 +17,6 @@ >>> #include "hw/ide/ide-bus.h" >>> #include "system/kvm.h" >>> #include "hw/i386/kvm/clock.h" >>> -#include "hw/xen/xen-x86.h" >>> -#include "system/xen.h" >>> #include "hw/rtc/mc146818rtc.h" >>> #include "target/i386/cpu.h" >>> @@ -37,7 +35,6 @@ static void pc_init_isa(MachineState *machine) >>> ISABus *isa_bus; >>> uint32_t irq; >>> GSIState *gsi_state; >>> - MemoryRegion *ram_memory; >>> DriveInfo *hd[MAX_IDE_BUS * MAX_IDE_DEVS]; >>> int i; >>> @@ -77,15 +74,9 @@ static void pc_init_isa(MachineState *machine) >>> /* >>> * There is no RAM split for the isapc machine >>> */ >>> - if (xen_enabled()) { >>> - xen_hvm_init_pc(pcms, &ram_memory); >>> - } else { >>> - ram_memory = machine->ram; >>> - >>> - pcms->max_ram_below_4g = 3.5 * GiB; >>> - x86ms->above_4g_mem_size = 0; >>> - x86ms->below_4g_mem_size = machine->ram_size; >>> - } >>> + pcms->max_ram_below_4g = 3.5 * GiB; >>> + x86ms->above_4g_mem_size = 0; >>> + x86ms->below_4g_mem_size = machine->ram_size; >>> x86_cpus_init(x86ms, pcmc->default_cpu_version); >>> @@ -94,17 +85,7 @@ static void pc_init_isa(MachineState *machine) >>> } >>> /* allocate ram and load rom/bios */ >>> - if (!xen_enabled()) { >>> - pc_memory_init(pcms, system_memory, system_memory, 0); >>> - } else { >>> - assert(machine->ram_size == x86ms->below_4g_mem_size + >>> - x86ms->above_4g_mem_size); >>> - >>> - if (machine->kernel_filename != NULL) { >>> - /* For xen HVM direct kernel boot, load linux here */ >>> - xen_load_linux(pcms); >>> - } >>> - } >>> + pc_memory_init(pcms, system_memory, system_memory, 0); >>> gsi_state = pc_gsi_create(&x86ms->gsi, false); >> FWIW I did contact upstream about this (see https://patchew.org/ >> QEMU/20250618112828.235087-1- >> [email protected]/20250618112828.235087-13- >> [email protected]/#91b96b24-af60-4a89-91ec- >> [email protected]) and they mentioned that it should work, >> which is why I left it in. >> Unfortunately I don't currently have any way to test it here :/ > > OK :| IMHO upstream Xen maintainers should provide us a test, otherwise > we can not make our code base evolve.
Ok how about this: As of the xen commit 9e8672f1c36 (tools: remove xend and associated python modules) there is no longer the ability to emulate an ISA only system. As a result we can drop the code in isapc. We still need to support the ISA bus for the -m pc type as Xen doesn't support the q35 machine model for HVM. I think the actual support got removed earlier but this was when the last bits of "Simulate an ISA only system" where removed in 2013. -- Alex Bennée Virtualisation Tech Lead @ Linaro
