Missing files
This commit is contained in:
parent
19299adced
commit
d70ab1deda
3 changed files with 93 additions and 0 deletions
18
src/cpu/clock.hpp
Normal file
18
src/cpu/clock.hpp
Normal file
|
@ -0,0 +1,18 @@
|
|||
#pragma once
|
||||
|
||||
#include "../platform/types.hpp"
|
||||
|
||||
namespace cpu
|
||||
{
|
||||
/**
|
||||
* @brief Clock interface. This class will be filled with pure virtual functions
|
||||
* that should be implemented by cpu specific code
|
||||
*
|
||||
*
|
||||
*/
|
||||
class Clock
|
||||
{
|
||||
public:
|
||||
virtual ULong getTimestamp() = 0;
|
||||
};
|
||||
};
|
8
src/cpu/x86/clock.hpp
Normal file
8
src/cpu/x86/clock.hpp
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
#include "../clock.hpp"
|
||||
|
||||
namespace cpu
|
||||
{
|
||||
|
||||
}
|
67
src/platform/types.hpp
Normal file
67
src/platform/types.hpp
Normal file
|
@ -0,0 +1,67 @@
|
|||
#pragma once
|
||||
|
||||
#include "../platform/platform.hpp"
|
||||
/*
|
||||
* Types for x86 architectures
|
||||
*/
|
||||
#ifdef ARCH_X86
|
||||
// Signed type alias
|
||||
typedef int Int;
|
||||
typedef long Long;
|
||||
typedef char Char;
|
||||
typedef short Short;
|
||||
|
||||
typedef union
|
||||
{
|
||||
struct
|
||||
{
|
||||
Int value : 31;
|
||||
Int signal : 1;
|
||||
} int_with_msb;
|
||||
Int signed_int;
|
||||
} SignedInt;
|
||||
|
||||
typedef union
|
||||
{
|
||||
struct
|
||||
{
|
||||
Long value : 63;
|
||||
Int signal : 1;
|
||||
} long_with_msb;
|
||||
} SignedLong;
|
||||
|
||||
// IEEE floating point alias
|
||||
typedef float Float;
|
||||
typedef double Double;
|
||||
|
||||
// Unsigned type alias
|
||||
typedef unsigned char UChar;
|
||||
typedef unsigned short UShort;
|
||||
typedef unsigned int UInt;
|
||||
typedef unsigned long int ULong;
|
||||
|
||||
// SSE DataTypes
|
||||
#define CHAR_LEN_128 16
|
||||
#define CHAR_LEN_256 32
|
||||
|
||||
#define INT_LEN_64 2
|
||||
#define INT_LEN_128 4
|
||||
#define INT_LEN_256 8
|
||||
#define INT_LEN_512 16
|
||||
|
||||
#define LONG_LEN_64 1
|
||||
#define LONG_LEN_128 2
|
||||
#define LONG_LEN_256 4
|
||||
#define LONG_LEN_512 8
|
||||
|
||||
// Masks
|
||||
#define MASK_32 0xFFFFFFFF
|
||||
#define MASK_16 0xFFFF
|
||||
#define MASK_8 0xFF
|
||||
|
||||
// Shifts
|
||||
#define SHIFT_32 32
|
||||
#define SHIFT_16 16
|
||||
#define SHIFT_8 8
|
||||
#endif
|
||||
|
Loading…
Reference in a new issue