Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/include/mm/frame.h

    rf238e86 r2bf4936  
    3636#define KERN_sparc64_FRAME_H_
    3737
    38 #if defined (SUN4U)
    39 #include <arch/mm/sun4u/frame.h>
    40 #elif defined (SUN4V)
    41 #include <arch/mm/sun4v/frame.h>
     38/*
     39 * Page size supported by the MMU.
     40 * For 8K there is the nasty illegal virtual aliasing problem.
     41 * Therefore, the kernel uses 8K only internally on the TLB and TSB levels.
     42 */
     43#define MMU_FRAME_WIDTH         13      /* 8K */
     44#define MMU_FRAME_SIZE          (1 << MMU_FRAME_WIDTH)
     45
     46/*
     47 * Page size exported to the generic memory management subsystems.
     48 * This page size is not directly supported by the MMU, but we can emulate
     49 * each 16K page with a pair of adjacent 8K pages.
     50 */
     51#define FRAME_WIDTH             14      /* 16K */
     52#define FRAME_SIZE              (1 << FRAME_WIDTH)
     53
     54#ifdef KERNEL
     55#ifndef __ASM__
     56
     57#include <arch/types.h>
     58
     59union frame_address {
     60        uintptr_t address;
     61        struct {
     62#if defined (US)
     63                unsigned : 23;
     64                uint64_t pfn : 28;              /**< Physical Frame Number. */
     65#elif defined (US3)
     66                unsigned : 21;
     67                uint64_t pfn : 30;              /**< Physical Frame Number. */
     68#endif
     69                unsigned offset : 13;           /**< Offset. */
     70        } __attribute__ ((packed));
     71};
     72
     73typedef union frame_address frame_address_t;
     74
     75extern uintptr_t last_frame;
     76extern uintptr_t end_of_identity;
     77
     78extern void frame_arch_init(void);
     79#define physmem_print()
     80
     81#endif
    4282#endif
    4383
Note: See TracChangeset for help on using the changeset viewer.