/*
* \brief Kernel specific data types
* \author Martin stein
* \date 2010-10-01
*/
/*
* Copyright (C) 2010-2013 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 _INCLUDE__KERNEL__TYPES_H_
#define _INCLUDE__KERNEL__TYPES_H_
#include
#include
#include
namespace Kernel {
using namespace Cpu;
enum {THREAD_CREATE_PARAMS_ROOTRIGHT_LSHIFT=0};
struct Utcb_unaligned
{
enum {
ALIGNMENT_LOG2 = 0,
SIZE_LOG2 = Cpu::_4KB_SIZE_LOG2,
};
union
{
volatile Cpu::byte_t byte[1<= sizeof(size_by_size_log2) / sizeof(size_by_size_log2[0]))
return -2;
if (size_by_size_log2[size_log2] == INVALID_SIZE)
return -3;
s = size_by_size_log2[(unsigned)size_log2];
return 0;
}
Cpu::size_t Kernel::Utcb_unaligned::size()
{
return (Cpu::size_t)1<