All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: "Philippe Mathieu-Daudé" <philmd@linaro.org>
Cc: Mark Cave-Ayland <mark.caveayland@nutanix.com>,
	 qemu-devel@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
	 David Woodhouse <dwmw2@infradead.org>,
	 Paul Durrant <paul@xen.org>,
	 Eduardo Habkost <eduardo@habkost.net>,
	 xen-devel@lists.xenproject.org,
	 Anthony PERARD <anthony@xenproject.org>,
	 Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	 "Michael S. Tsirkin" <mst@redhat.com>,
	 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Subject: Re: [PATCH] hw/i386/isapc: Remove dead Xen code
Date: Mon, 24 Nov 2025 13:36:42 +0000	[thread overview]
Message-ID: <87wm3f8sd1.fsf@draig.linaro.org> (raw)
In-Reply-To: <39f5f781-398b-4974-8b1e-e7061ed9194f@linaro.org> ("Philippe Mathieu-Daudé"'s message of "Mon, 24 Nov 2025 12:07:08 +0100")

Philippe Mathieu-Daudé <philmd@linaro.org> 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é <philmd@linaro.org>
>>> ---
>>>   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-
>> mark.caveayland@nutanix.com/20250618112828.235087-13-
>> mark.caveayland@nutanix.com/#91b96b24-af60-4a89-91ec-
>> d0e660a76a0a@nutanix.com) 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


  reply	other threads:[~2025-11-24 13:37 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-23 18:58 [PATCH] hw/i386/isapc: Remove dead Xen code Philippe Mathieu-Daudé
2025-11-24 10:14 ` Daniel P. Berrangé
2025-11-24 10:27 ` Mark Cave-Ayland
2025-11-24 11:07   ` Philippe Mathieu-Daudé
2025-11-24 13:36     ` Alex Bennée [this message]
2025-11-24 10:52 ` Alex Bennée

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wm3f8sd1.fsf@draig.linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=anthony@xenproject.org \
    --cc=dwmw2@infradead.org \
    --cc=eduardo@habkost.net \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=mark.caveayland@nutanix.com \
    --cc=mst@redhat.com \
    --cc=paul@xen.org \
    --cc=pbonzini@redhat.com \
    --cc=philmd@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.