Re: [Xen-devel] [PATCH] xen/x86: Zero out .bss for PV guests

From: Boris Ostrovsky
Date: Wed Feb 24 2016 - 11:47:24 EST


On 02/24/2016 11:22 AM, Luis R. Rodriguez wrote:
On Wed, Feb 24, 2016 at 6:58 AM, David Vrabel <david.vrabel@xxxxxxxxxx> wrote:
Yes. Can you respin with a commit message explaining? (Or just provide
the message here and I'll fix it up).
Is there no way to re-use somehow the clear_bss() from bare metal?

xen_start_info lives in .bss and it is initialized in startup assembly code.

We could move it to .data but I'd still want to do this first thing in startup_xen(). We may add more code there later that touches something in .bss and with delayed section clearing we may blow away that data.

-boris

This uses a section range:

/* Don't add a printk in there. printk relies on the PDA which is not
initialized
yet. */
static void __init clear_bss(void)
{
memset(__bss_start, 0,
(unsigned long) __bss_stop - (unsigned long) __bss_start);
}

Perhaps the section range might be different for PV guests? Or can
this simply not work even if one added a guest bss section size, or
would it be too late for PV guests, ie we need to do it in asm on PV
guests as you did? If so why.

Luis