Re: [Xen-devel] [PATCH 4/8] xen/pvh: Bootstrap PVH guest

From: Andrew Cooper
Date: Fri Oct 14 2016 - 15:15:11 EST


On 14/10/16 19:55, Boris Ostrovsky wrote:
> On 10/14/2016 02:38 PM, Andrew Cooper wrote:
>>> + jmp *%rax
>>> +
>>> +#else /* CONFIG_X86_64 */
>>> +
>>> + call setup_pgtable_32
>>> +
>>> + mov $_pa(initial_page_table), %eax
>>> + movl %eax, %cr3
>>> +
>>> + movl %cr0, %eax
>>> + orl $(X86_CR0_PG | X86_CR0_PE), %eax
>>> + movl %eax, %cr0
>>> +
>>> + ljmp $__BOOT_CS,$1f
>>> +1:
>>> + call xen_prepare_pvh
>> Why does xen_prepare_pvh need paging? I can't spot anything which
>> should need it, and it feels conceptually wrong.
> xen_prepare_pvh() deals with virtual addresses. How can we run without paging?

Ah yes - with a high-half kernel, that way around doesn't work. Sorry
for the noise - I have been spending too long working with virtual
addresses down round 0, where that specifically can be solved by setting
%ds with a suitable non-zero base.

~Andrew