tlb.hh (9423:43caa4ca5979) tlb.hh (9446:644f2a2c9bfc)
1/*
2 * Copyright (c) 2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 100 unchanged lines hidden (view full) ---

109 * @param context_id if this is virt->phys what context
110 * @param update_used should ew update the used bits in the
111 * entries on not useful if we are trying to do a va->pa without
112 * mucking with any state for a debug read for example.
113 * @return A pointer to a tlb entry
114 */
115 TlbEntry *lookup(Addr va, int partition_id, bool real, int context_id = 0,
116 bool update_used = true);
1/*
2 * Copyright (c) 2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 100 unchanged lines hidden (view full) ---

109 * @param context_id if this is virt->phys what context
110 * @param update_used should ew update the used bits in the
111 * entries on not useful if we are trying to do a va->pa without
112 * mucking with any state for a debug read for example.
113 * @return A pointer to a tlb entry
114 */
115 TlbEntry *lookup(Addr va, int partition_id, bool real, int context_id = 0,
116 bool update_used = true);
117
118 /** Remove all entries from the TLB */
119 void flushAll();
120
117 protected:
118 /** Insert a PTE into the TLB. */
119 void insert(Addr vpn, int partition_id, int context_id, bool real,
120 const PageTableEntry& PTE, int entry = -1);
121
122 /** Given an entry id, read that tlb entries' tag. */
123 uint64_t TagRead(int entry);
124
121 protected:
122 /** Insert a PTE into the TLB. */
123 void insert(Addr vpn, int partition_id, int context_id, bool real,
124 const PageTableEntry& PTE, int entry = -1);
125
126 /** Given an entry id, read that tlb entries' tag. */
127 uint64_t TagRead(int entry);
128
125 /** Remove all entries from the TLB */
126 void flushAll();
127
128 /** Remove all non-locked entries from the tlb that match partition id. */
129 void demapAll(int partition_id);
130
131 /** Remove all entries that match a given context/partition id. */
132 void demapContext(int partition_id, int context_id);
133
134 /** Remve all entries that match a certain partition id, (contextid), and
135 * va). */

--- 61 unchanged lines hidden ---
129 /** Remove all non-locked entries from the tlb that match partition id. */
130 void demapAll(int partition_id);
131
132 /** Remove all entries that match a given context/partition id. */
133 void demapContext(int partition_id, int context_id);
134
135 /** Remve all entries that match a certain partition id, (contextid), and
136 * va). */

--- 61 unchanged lines hidden ---