|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1/4] x86: move syscall trampolines off the stack
>>> On 19.05.15 at 18:59, <andrew.cooper3@xxxxxxxxxx> wrote:
> On 18/05/15 13:46, Jan Beulich wrote:
>> + stub_va = XEN_VIRT_END - (cpu + 1) * PAGE_SIZE;
>> + if ( map_pages_to_xen(stub_va, page_to_mfn(pg), 1,
>> + PAGE_HYPERVISOR_RX | MAP_SMALL_PAGES) )
>> + {
>> + if ( !*mfn )
>> + free_domheap_page(pg);
>> + stub_va = 0;
>> + }
>> + else
>> + {
>> + stub_va += (cpu & ~(STUBS_PER_PAGE - 1)) * STUB_BUF_SIZE;
>
> "(cpu & ~(STUBS_PER_PAGE - 1)) * STUB_BUF_SIZE" comes up very frequently
> through this patch.
>
> I think the logic would be easier to read given:
>
> #define STUB_OFFSET(cpu) (((cpu) & ~(STUBS_PER_PAGE - 1)) * STUB_BUF_SIZE)
Except that (a) the ~ was wrong here (figured the hard way)
and (b) the stub_va adjustment was a leftover from when VA
management was still different (found out an even harder way,
and the ~ back then was correct here).
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |