/* * \brief Core's CSpace layout definition * \author Norman Feske * \date 2015-05-06 */ /* * Copyright (C) 2015 Genode Labs GmbH * * This file is part of the Genode OS framework, which is distributed * under the terms of the GNU General Public License version 2. */ #ifndef _CORE__INCLUDE__CORE_CSPACE_H_ #define _CORE__INCLUDE__CORE_CSPACE_H_ namespace Genode { class Core_cspace; } class Genode::Core_cspace { public: /* CNode dimensions */ enum { NUM_TOP_SEL_LOG2 = 12UL, NUM_CORE_SEL_LOG2 = 14UL, NUM_PHYS_SEL_LOG2 = 20UL, NUM_CORE_PAD_SEL_LOG2 = 32UL - NUM_TOP_SEL_LOG2 - NUM_CORE_SEL_LOG2, }; /* selectors for statically created CNodes */ enum Static_cnode_sel { TOP_CNODE_SEL = 0x200, CORE_PAD_CNODE_SEL = 0x201, CORE_CNODE_SEL = 0x202, PHYS_CNODE_SEL = 0x203, CORE_VM_PAD_CNODE_SEL = 0x204, CORE_VM_CNODE_SEL = 0x205, }; /* indices within top-level CNode */ enum Top_cnode_idx { TOP_CNODE_CORE_IDX = 0, TOP_CNODE_PHYS_IDX = 0xfff }; enum { CORE_VM_ID = 1 }; }; #endif /* _CORE__INCLUDE__CORE_CSPACE_H_ */