NOVA User-Level Environment  Version testbox/changed-memory-timing-317-g320d8b5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
memtlb.h File Reference

Next TLB implementation. More...

#include "nul/config.h"
#include "memcache.h"

Classes

class  MemTlb
 A TLB implementation relying on the cache. More...

Macros

#define AD_ASSIST(bits)

Detailed Description

Next TLB implementation.

Copyright (C) 2009-2010, Bernhard Kauer bk@vm.nosp@m.mon..nosp@m.org Economic rights: Technische Universitaet Dresden (Germany)

This file is part of Vancouver.

Vancouver is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

Vancouver is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License version 2 for more details.

Macro Definition Documentation

#define AD_ASSIST (   bits)
Value:
if ((pte & (bits)) != (bits)) \
{ \
if (features & FEATURE_PAE) { \
if (Cpu::cmpxchg8b(entry->_ptr, pte, pte | bits) != pte) RETRY; \
} \
else \
if (Cpu::cmpxchg4b(entry->_ptr, pte, pte | bits) != pte) RETRY; \
}