Changeset 68091bd in mainline for arch


Ignore:
Timestamp:
2006-04-21T12:55:55Z (19 years ago)
Author:
Jakub Vana <jakub.vana@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
c7c0b89b
Parents:
17b1b99
Message:

Incomplete VHPT walker support for Itanium

Location:
arch/ia64
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • arch/ia64/Makefile.inc

    r17b1b99 r68091bd  
    8585        arch/$(ARCH)/src/mm/page.c \
    8686        arch/$(ARCH)/src/mm/tlb.c \
     87        arch/$(ARCH)/src/mm/vhpt.c \
    8788        arch/$(ARCH)/src/proc/scheduler.c \
    8889        arch/$(ARCH)/src/ddi/ddi.c \
  • arch/ia64/include/mm/page.h

    r17b1b99 r68091bd  
    6161#define VHPT_WIDTH                      20              /* 1M */
    6262#define VHPT_SIZE                       (1 << VHPT_WIDTH)
    63 #define VHPT_BASE                       0               /* Must be aligned to VHPT_SIZE */
    6463
    6564#define PTA_BASE_SHIFT                  15
  • arch/ia64/src/mm/page.c

    r17b1b99 r68091bd  
    3232#include <mm/asid.h>
    3333#include <arch/mm/asid.h>
     34#include <arch/mm/vhpt.h>
    3435#include <arch/types.h>
    3536#include <typedefs.h>
     
    5960        pta_register pta;       
    6061        int i;
     62#ifdef CONFIG_VHPT     
     63        __address vhpt_base;
     64#endif
    6165
    6266        /*
     
    8993        }
    9094
     95#ifdef CONFIG_VHPT     
     96        vhpt_base = vhpt_set_up();
     97#endif
    9198        /*
    9299         * Set up PTA register.
    93100         */
    94101        pta.word = pta_read();
     102#ifndef CONFIG_VHPT
    95103        pta.map.ve = 0;                   /* disable VHPT walker */
     104        pta.map.base = 0 >> PTA_BASE_SHIFT;
     105#else
     106        pta.map.ve = 1;                   /* enable VHPT walker */
     107        pta.map.base = vhpt_base >> PTA_BASE_SHIFT;
     108#endif
    96109        pta.map.vf = 1;                   /* large entry format */
    97110        pta.map.size = VHPT_WIDTH;
    98         pta.map.base = VHPT_BASE >> PTA_BASE_SHIFT;
    99111        pta_write(pta.word);
    100112        srlz_i();
  • arch/ia64/src/mm/tlb.c

    r17b1b99 r68091bd  
    3737#include <arch/mm/tlb.h>
    3838#include <arch/mm/page.h>
     39#include <arch/mm/vhpt.h>
    3940#include <arch/barrier.h>
    4041#include <arch/interrupt.h>
     
    7980                srlz_d();
    8081                srlz_i();
     82#ifdef CONFIG_VHPT
     83                vhpt_invalidate_all();
     84#endif 
    8185}
    8286
     
    386390       
    387391        dtc_mapping_insert(t->page, t->as->asid, entry);
     392#ifdef CONFIG_VHPT
     393        vhpt_mapping_insert(t->page, t->as->asid, entry);
     394#endif 
    388395}
    389396
     
    410417       
    411418        itc_mapping_insert(t->page, t->as->asid, entry);
     419#ifdef CONFIG_VHPT
     420        vhpt_mapping_insert(t->page, t->as->asid, entry);
     421#endif 
    412422}
    413423
Note: See TracChangeset for help on using the changeset viewer.