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.


This uses a section range:

/* Don't add a printk in there. printk relies on the PDA which is not
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.