diff --git a/os/include/arm/trace/timestamp.h b/os/include/arm/trace/timestamp.h new file mode 100644 index 000000000..2ad58107e --- /dev/null +++ b/os/include/arm/trace/timestamp.h @@ -0,0 +1,33 @@ +/* + * \brief Trace timestamp + * \author Stefan Kalkowski + * \date 2013-08-20 + * + * Serialized reading of performance counter on ARM. + */ + +/* + * Copyright (C) 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__TRACE_TIMESTAMP_H_ +#define _INCLUDE__TRACE_TIMESTAMP_H_ + +#include + +namespace Genode { namespace Trace { + + typedef uint32_t Timestamp; + + inline Timestamp timestamp() + { + uint32_t t; + asm volatile("mrc p15, 0, %0, c9, c13, 0" : "=r"(t)); + return t; + } +} } + +#endif /* _INCLUDE__TRACE_TIMESTAMP_H_ */