target-arm: Extract the disas struct to a header file
We will need to share the disassembly status struct between AArch32 and AArch64 modes. So put it into a header file that both sides can use. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: John Rigby <john.rigby@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1378235544-22290-4-git-send-email-peter.maydell@linaro.org Message-id: 1368505980-17151-2-git-send-email-john.rigby@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
		
							parent
							
								
									08307563ff
								
							
						
					
					
						commit
						f570c61e69
					
				@ -47,29 +47,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define ARCH(x) do { if (!ENABLE_ARCH_##x) goto illegal_op; } while(0)
 | 
					#define ARCH(x) do { if (!ENABLE_ARCH_##x) goto illegal_op; } while(0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* internal defines */
 | 
					#include "translate.h"
 | 
				
			||||||
typedef struct DisasContext {
 | 
					 | 
				
			||||||
    target_ulong pc;
 | 
					 | 
				
			||||||
    int is_jmp;
 | 
					 | 
				
			||||||
    /* Nonzero if this instruction has been conditionally skipped.  */
 | 
					 | 
				
			||||||
    int condjmp;
 | 
					 | 
				
			||||||
    /* The label that will be jumped to when the instruction is skipped.  */
 | 
					 | 
				
			||||||
    int condlabel;
 | 
					 | 
				
			||||||
    /* Thumb-2 conditional execution bits.  */
 | 
					 | 
				
			||||||
    int condexec_mask;
 | 
					 | 
				
			||||||
    int condexec_cond;
 | 
					 | 
				
			||||||
    struct TranslationBlock *tb;
 | 
					 | 
				
			||||||
    int singlestep_enabled;
 | 
					 | 
				
			||||||
    int thumb;
 | 
					 | 
				
			||||||
    int bswap_code;
 | 
					 | 
				
			||||||
#if !defined(CONFIG_USER_ONLY)
 | 
					 | 
				
			||||||
    int user;
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
    int vfp_enabled;
 | 
					 | 
				
			||||||
    int vec_len;
 | 
					 | 
				
			||||||
    int vec_stride;
 | 
					 | 
				
			||||||
} DisasContext;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static uint32_t gen_opc_condexec_bits[OPC_BUF_SIZE];
 | 
					static uint32_t gen_opc_condexec_bits[OPC_BUF_SIZE];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if defined(CONFIG_USER_ONLY)
 | 
					#if defined(CONFIG_USER_ONLY)
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										27
									
								
								target-arm/translate.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								target-arm/translate.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					#ifndef TARGET_ARM_TRANSLATE_H
 | 
				
			||||||
 | 
					#define TARGET_ARM_TRANSLATE_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* internal defines */
 | 
				
			||||||
 | 
					typedef struct DisasContext {
 | 
				
			||||||
 | 
					    target_ulong pc;
 | 
				
			||||||
 | 
					    int is_jmp;
 | 
				
			||||||
 | 
					    /* Nonzero if this instruction has been conditionally skipped.  */
 | 
				
			||||||
 | 
					    int condjmp;
 | 
				
			||||||
 | 
					    /* The label that will be jumped to when the instruction is skipped.  */
 | 
				
			||||||
 | 
					    int condlabel;
 | 
				
			||||||
 | 
					    /* Thumb-2 conditional execution bits.  */
 | 
				
			||||||
 | 
					    int condexec_mask;
 | 
				
			||||||
 | 
					    int condexec_cond;
 | 
				
			||||||
 | 
					    struct TranslationBlock *tb;
 | 
				
			||||||
 | 
					    int singlestep_enabled;
 | 
				
			||||||
 | 
					    int thumb;
 | 
				
			||||||
 | 
					    int bswap_code;
 | 
				
			||||||
 | 
					#if !defined(CONFIG_USER_ONLY)
 | 
				
			||||||
 | 
					    int user;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					    int vfp_enabled;
 | 
				
			||||||
 | 
					    int vec_len;
 | 
				
			||||||
 | 
					    int vec_stride;
 | 
				
			||||||
 | 
					} DisasContext;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif /* TARGET_ARM_TRANSLATE_H */
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user