Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc32/src/mm/as.c

    rb6b02c0 ref9a2a8  
    11/*
    2  * Copyright (c) 2010 Martin Decky
     2 * Copyright (c) 2013 Jakub Klama
    33 * All rights reserved.
    44 *
     
    2727 */
    2828
    29 /** @addtogroup abs32lemm
     29/** @addtogroup sparc32mm
    3030 * @{
    3131 */
    3232
    3333#include <mm/as.h>
     34#include <arch/arch.h>
     35#include <arch/asm.h>
    3436#include <arch/mm/as.h>
     37#include <arch/mm/page.h>
    3538#include <genarch/mm/page_pt.h>
     39
     40static ptd_t context_table[ASID_MAX_ARCH] __attribute__((aligned (1024)));
    3641
    3742void as_arch_init(void)
    3843{
    3944        as_operations = &as_pt_operations;
     45        as_context_table = (uintptr_t)&context_table;
     46}
     47
     48void as_install_arch(as_t *as)
     49{
     50        printf("as_install_arch(asid=%d)\n", as->asid);
     51        printf("genarch.page_table=%p\n", as->genarch.page_table);
     52
     53        context_table[as->asid].table_pointer = (uintptr_t)as->genarch.page_table >> 6;
     54        context_table[as->asid].et = PTE_ET_DESCRIPTOR;
     55        asi_u32_write(ASI_MMUREGS, 0x200, as->asid);
    4056}
    4157
Note: See TracChangeset for help on using the changeset viewer.