26 May, 2012

1 commit

  • This change introduces new flags for the hv_install_context()
    API that passes a page table pointer to the hypervisor. Clients
    can explicitly request 4K, 16K, or 64K small pages when they
    install a new context. In practice, the page size is fixed at
    kernel compile time and the same size is always requested every
    time a new page table is installed.

    The header changes so that it provides more abstract
    macros for managing "page" things like PFNs and page tables. For
    example there is now a HV_DEFAULT_PAGE_SIZE_SMALL instead of the old
    HV_PAGE_SIZE_SMALL. The various PFN routines have been eliminated and
    only PA- or PTFN-based ones remain (since PTFNs are always expressed
    in fixed 2KB "page" size). The page-table management macros are
    renamed with a leading underscore and take page-size arguments with
    the presumption that clients will use those macros in some single
    place to provide the "real" macros they will use themselves.

    I happened to notice the old hv_set_caching() API was totally broken
    (it assumed 4KB pages) so I changed it so it would nominally work
    correctly with other page sizes.

    Tag modules with the page size so you can't load a module built with
    a conflicting page size. (And add a test for SMP while we're at it.)

    Signed-off-by: Chris Metcalf

    Chris Metcalf
     

04 Jun, 2011

1 commit


05 Jun, 2010

1 commit

  • This change is the core kernel support for TILEPro and TILE64 chips.
    No driver support (except the console driver) is included yet.

    This includes the relevant Linux headers in asm/; the low-level
    low-level "Tile architecture" headers in arch/, which are
    shared with the hypervisor, etc., and are build-system agnostic;
    and the relevant hypervisor headers in hv/.

    Signed-off-by: Chris Metcalf
    Acked-by: Arnd Bergmann
    Acked-by: FUJITA Tomonori
    Reviewed-by: Paul Mundt

    Chris Metcalf