[lkml]   [2011]   [Apr]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH 2/4] x86,xen: introduce x86_init.mapping.pagetable_reserve
    On Mon, 18 Apr 2011, H. Peter Anvin wrote:
    > On 04/18/2011 07:09 AM, Stefano Stabellini wrote:
    > >
    > > Sorry, I don't mean to be pushy, it is just that I'll be AFK for 12 days
    > > starting from next Friday and I think that this issue should really be
    > > fixed in time for the 2.6.39 release, otherwise no 2.6.39 kernels will
    > > be able to boot on any xen system.
    > The semantics of a hook is a description of what the preconditions are,
    > what the postconditions are, and what exactly they are allowed or not
    > allowed to do.
    > This is a real pain to do, *exactly because hooks are a real pain*.
    > Most hooks that have been put in has been "oh, just do something at
    > point X in the code", which is a case of definition by implementation,
    > which is exactly how we ended up with the current mess.

    x86_init.mapping.pagetable_setup_start(start, max_end)

    Notifies the subarch that the kernel early startup intends to
    use pages as page table pages.
    These pages will have physical addresses in the range

    Can be called multiple times to setup kernel page table pages,
    always in a pair with x86_init.mapping.pagetable_setup_done.
    It must be called before x86_init.paging.pagetable_setup_start().

    Preconditions: no kernel code after the 32-bit kernel entry point
    has hooked any new page table pages into the active page table
    except between a pair of
    x86_init.mapping.pagetable_setup_start and

    Postcondition: pages in the range start..max_end may be used as
    page table pages and hooked into active page tables.
    Pages in this range may NOT be used for any other purpose.


    Notifies the subarch that the initial memory mapping is complete,
    and of the actual range of pages used.


    x86_init.mapping.pagetable_setup_start was previously called; the
    arguments to the calls must satisfy start <= real_end <= max_end

    The pages in the range start..real_end have been hooked into the
    active page table.
    The pages in the range real_end..max_end are not currently in use.


    Pages in the range real_end..max_end may be used as normal

    Pages in the range start..real_end might be hooked into the active
    page table and cannot be used for other purposes.

    New page table pages must be allocated using

     \ /
      Last update: 2011-04-18 19:23    [W:0.026 / U:4.076 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site