disas/nanomips: Move typedefs etc to nanomips.cpp
The following is moved from the nanomips.h to nanomips.cpp file: - #include line - typedefs - enums - definition of the Pool struct. Header file nanomips.h will be deleted to be consistent with the rest of the disas/ code. Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220912122635.74032-11-milica.lazarevic@syrmia.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
parent
beebf65bec
commit
f1cb3bdbc7
@ -36,7 +36,62 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
#include "nanomips.h"
|
#include <string>
|
||||||
|
|
||||||
|
typedef int64_t int64;
|
||||||
|
typedef uint64_t uint64;
|
||||||
|
typedef uint32_t uint32;
|
||||||
|
typedef uint16_t uint16;
|
||||||
|
typedef uint64_t img_address;
|
||||||
|
|
||||||
|
enum TABLE_ENTRY_TYPE {
|
||||||
|
instruction,
|
||||||
|
call_instruction,
|
||||||
|
branch_instruction,
|
||||||
|
return_instruction,
|
||||||
|
reserved_block,
|
||||||
|
pool,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum TABLE_ATTRIBUTE_TYPE {
|
||||||
|
MIPS64_ = 0x00000001,
|
||||||
|
XNP_ = 0x00000002,
|
||||||
|
XMMS_ = 0x00000004,
|
||||||
|
EVA_ = 0x00000008,
|
||||||
|
DSP_ = 0x00000010,
|
||||||
|
MT_ = 0x00000020,
|
||||||
|
EJTAG_ = 0x00000040,
|
||||||
|
TLBINV_ = 0x00000080,
|
||||||
|
CP0_ = 0x00000100,
|
||||||
|
CP1_ = 0x00000200,
|
||||||
|
CP2_ = 0x00000400,
|
||||||
|
UDI_ = 0x00000800,
|
||||||
|
MCU_ = 0x00001000,
|
||||||
|
VZ_ = 0x00002000,
|
||||||
|
TLB_ = 0x00004000,
|
||||||
|
MVH_ = 0x00008000,
|
||||||
|
ALL_ATTRIBUTES = 0xffffffffull,
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct Dis_info {
|
||||||
|
img_address m_pc;
|
||||||
|
} Dis_info;
|
||||||
|
|
||||||
|
typedef bool (*conditional_function)(uint64 instruction);
|
||||||
|
typedef std::string (*disassembly_function)(uint64 instruction,
|
||||||
|
Dis_info *info);
|
||||||
|
|
||||||
|
typedef struct Pool {
|
||||||
|
TABLE_ENTRY_TYPE type;
|
||||||
|
const struct Pool *next_table;
|
||||||
|
int next_table_size;
|
||||||
|
int instructions_size;
|
||||||
|
uint64 mask;
|
||||||
|
uint64 value;
|
||||||
|
disassembly_function disassembly;
|
||||||
|
conditional_function condition;
|
||||||
|
uint64 attributes;
|
||||||
|
} Pool;
|
||||||
|
|
||||||
#define IMGASSERTONCE(test)
|
#define IMGASSERTONCE(test)
|
||||||
|
|
||||||
|
@ -23,61 +23,4 @@
|
|||||||
#ifndef DISAS_NANOMIPS_H
|
#ifndef DISAS_NANOMIPS_H
|
||||||
#define DISAS_NANOMIPS_H
|
#define DISAS_NANOMIPS_H
|
||||||
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
typedef int64_t int64;
|
|
||||||
typedef uint64_t uint64;
|
|
||||||
typedef uint32_t uint32;
|
|
||||||
typedef uint16_t uint16;
|
|
||||||
typedef uint64_t img_address;
|
|
||||||
|
|
||||||
enum TABLE_ENTRY_TYPE {
|
|
||||||
instruction,
|
|
||||||
call_instruction,
|
|
||||||
branch_instruction,
|
|
||||||
return_instruction,
|
|
||||||
reserved_block,
|
|
||||||
pool,
|
|
||||||
};
|
|
||||||
|
|
||||||
enum TABLE_ATTRIBUTE_TYPE {
|
|
||||||
MIPS64_ = 0x00000001,
|
|
||||||
XNP_ = 0x00000002,
|
|
||||||
XMMS_ = 0x00000004,
|
|
||||||
EVA_ = 0x00000008,
|
|
||||||
DSP_ = 0x00000010,
|
|
||||||
MT_ = 0x00000020,
|
|
||||||
EJTAG_ = 0x00000040,
|
|
||||||
TLBINV_ = 0x00000080,
|
|
||||||
CP0_ = 0x00000100,
|
|
||||||
CP1_ = 0x00000200,
|
|
||||||
CP2_ = 0x00000400,
|
|
||||||
UDI_ = 0x00000800,
|
|
||||||
MCU_ = 0x00001000,
|
|
||||||
VZ_ = 0x00002000,
|
|
||||||
TLB_ = 0x00004000,
|
|
||||||
MVH_ = 0x00008000,
|
|
||||||
ALL_ATTRIBUTES = 0xffffffffull,
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct Dis_info {
|
|
||||||
img_address m_pc;
|
|
||||||
} Dis_info;
|
|
||||||
|
|
||||||
typedef bool (*conditional_function)(uint64 instruction);
|
|
||||||
typedef std::string (*disassembly_function)(uint64 instruction,
|
|
||||||
Dis_info *info);
|
|
||||||
|
|
||||||
typedef struct Pool {
|
|
||||||
TABLE_ENTRY_TYPE type;
|
|
||||||
const struct Pool *next_table;
|
|
||||||
int next_table_size;
|
|
||||||
int instructions_size;
|
|
||||||
uint64 mask;
|
|
||||||
uint64 value;
|
|
||||||
disassembly_function disassembly;
|
|
||||||
conditional_function condition;
|
|
||||||
uint64 attributes;
|
|
||||||
} Pool;
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user