Hi Manuel,

On Mon, 11 Dec 2023, Manuel Bouyer wrote:

#ifndef GENPVH
        /* get a page for HYPERVISOR_shared_info */
        addl    $PAGE_SIZE, %ebx
        addl    $PGOFSET,%ebx
        andl    $~PGOFSET,%ebx
        movl    $RELOC(HYPERVISOR_shared_info_pa),%ebp
        movl    %ebx,(%ebp)
        movl    $0,4(%ebp)
#endif

How can this work on Xen when GENPVH is defined ?
Shouldn't this be made conditional on vm_guest == VM_GUEST_XENPVH ?

Well the point is that you don't define GENPVH when using Xen, PVH using
qemu and friends don't need HYPERVISOR_shared_info neither any of the
hypercall portion of the code. A big chunk of Xen related code is
ifndef'ed to GENPVH in hypervisor.c; And I was planning on isolating GENPVH
so there's as little ifdef's as possible.

Or would you prefer the same kernel to be able to boot in both XENPVH and
GENPVH modes? I am focusing on making the resulting kernel smaller but this
could be done also.

------------------------------------------------------------------------
Emile `iMil' Heitor <imil@{home.imil.net,NetBSD.org}> | https://imil.net

Reply via email to