vhpt.h

Go to the documentation of this file.
00001 /*
00002 * Copyright (C) 2006 Jakub Vana
00003 * All rights reserved.
00004 *
00005 * Redistribution and use in source and binary forms, with or without
00006 * modification, are permitted provided that the following conditions
00007 * are met:
00008 *
00009 * - Redistributions of source code must retain the above copyright
00010 *   notice, this list of conditions and the following disclaimer.
00011 * - Redistributions in binary form must reproduce the above copyright
00012 *   notice, this list of conditions and the following disclaimer in the
00013 *   documentation and/or other materials provided with the distribution.
00014 * - The name of the author may not be used to endorse or promote products
00015 *   derived from this software without specific prior written permission.
00016 *
00017 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
00018 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
00019 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
00020 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
00021 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
00022 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
00023 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
00024 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00025 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
00026 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00027  */
00028 
00036 #ifndef __ia64_VHPT_H__
00037 #define __ia64_VHPT_H__
00038 
00039 #include <arch/mm/tlb.h>
00040 #include <arch/mm/page.h>
00041 
00042 __address vhpt_set_up(void);
00043 
00044 static inline vhpt_entry_t tlb_entry_t2vhpt_entry_t(tlb_entry_t tentry) 
00045 {
00046         vhpt_entry_t ventry;
00047         
00048         ventry.word[0]=tentry.word[0];
00049         ventry.word[1]=tentry.word[1];
00050         
00051         return ventry;
00052 }
00053 
00054 void vhpt_mapping_insert(__address va, asid_t asid, tlb_entry_t entry);
00055 void vhpt_invalidate_all(void);
00056 void vhpt_invalidate_asid(asid_t asid);
00057 
00058 
00059 #endif
00060 
00061 

Generated on Sun Jun 18 16:51:20 2006 for HelenOS Kernel (ia64) by  doxygen 1.4.6