Ignore:
File:
1 edited

Legend:

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

    r8c2214e r2057572  
    3636#define KERN_sparc64_AS_H_
    3737
    38 #if defined (SUN4U)
    39 #include <arch/mm/sun4u/as.h>
    40 #elif defined (SUN4V)
    41 #include <arch/mm/sun4v/as.h>
     38#include <arch/mm/tte.h>
     39
     40#define KERNEL_ADDRESS_SPACE_SHADOWED_ARCH      1
     41
     42#define KERNEL_ADDRESS_SPACE_START_ARCH         (unsigned long) 0x0000000000000000
     43#define KERNEL_ADDRESS_SPACE_END_ARCH           (unsigned long) 0xffffffffffffffff
     44#define USER_ADDRESS_SPACE_START_ARCH           (unsigned long) 0x0000000000000000
     45#define USER_ADDRESS_SPACE_END_ARCH             (unsigned long) 0xffffffffffffffff
     46
     47#define USTACK_ADDRESS_ARCH     (0xffffffffffffffffULL - (PAGE_SIZE - 1))
     48
     49#ifdef CONFIG_TSB
     50
     51/** TSB Tag Target register. */
     52typedef union tsb_tag_target {
     53        uint64_t value;
     54        struct {
     55                unsigned invalid : 1;   /**< Invalidated by software. */
     56                unsigned : 2;
     57                unsigned context : 13;  /**< Software ASID. */
     58                unsigned : 6;
     59                uint64_t va_tag : 42;   /**< Virtual address bits <63:22>. */
     60        } __attribute__ ((packed));
     61} tsb_tag_target_t;
     62
     63/** TSB entry. */
     64typedef struct tsb_entry {
     65        tsb_tag_target_t tag;
     66        tte_data_t data;
     67} __attribute__ ((packed)) tsb_entry_t;
     68
     69typedef struct {
     70        tsb_entry_t *itsb;
     71        tsb_entry_t *dtsb;
     72} as_arch_t;
     73
     74#else
     75
     76typedef struct {
     77} as_arch_t;
     78
     79#endif /* CONFIG_TSB */
     80
     81#include <genarch/mm/as_ht.h>
     82
     83#ifdef CONFIG_TSB
     84#include <arch/mm/tsb.h>
     85#define as_invalidate_translation_cache(as, page, cnt) \
     86        tsb_invalidate((as), (page), (cnt))
     87#else
     88#define as_invalidate_translation_cache(as, page, cnt)
    4289#endif
     90
     91extern void as_arch_init(void);
    4392
    4493#endif
Note: See TracChangeset for help on using the changeset viewer.