diff mbox

[13/15] tcg: disable tcg in CPUX86State struct

Message ID 1498040401-16361-14-git-send-email-yang.zhong@intel.com
State New
Headers show

Commit Message

Yang Zhong June 21, 2017, 10:19 a.m. UTC
Add the CONFIG_TCG for CPU_COMMON_TLB in the CPUX86State struct.

Signed-off-by: Yang Zhong <yang.zhong@intel.com>
---
 include/exec/cpu-defs.h | 4 +++-
 target/i386/cpu.h       | 5 ++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

Comments

Richard Henderson June 21, 2017, 10:24 p.m. UTC | #1
On 06/21/2017 03:19 AM, Yang Zhong wrote:
> --- a/target/i386/cpu.h
> +++ b/target/i386/cpu.h
> @@ -52,7 +52,9 @@
>   
>   #include "exec/cpu-defs.h"
>   
> +#ifdef CONFIG_TCG
>   #include "fpu/softfloat.h"
> +#endif
>   
>   #define R_EAX 0
>   #define R_ECX 1
> @@ -1130,8 +1132,9 @@ typedef struct CPUX86State {
>   
>       /* Fields up to this point are cleared by a CPU reset */
>       struct {} end_reset_fields;
> -
> +#ifdef CONFIG_TCG
>       CPU_COMMON
> +#endif

This is at the wrong level.  If !CONFIG_TCG, then CPU_COMMON should be empty.


r~
Yang Zhong June 22, 2017, 9:32 a.m. UTC | #2
On Wed, Jun 21, 2017 at 03:24:29PM -0700, Richard Henderson wrote:
> On 06/21/2017 03:19 AM, Yang Zhong wrote:
> >--- a/target/i386/cpu.h
> >+++ b/target/i386/cpu.h
> >@@ -52,7 +52,9 @@
> >  #include "exec/cpu-defs.h"
> >+#ifdef CONFIG_TCG
> >  #include "fpu/softfloat.h"
> >+#endif
> >  #define R_EAX 0
> >  #define R_ECX 1
> >@@ -1130,8 +1132,9 @@ typedef struct CPUX86State {
> >      /* Fields up to this point are cleared by a CPU reset */
> >      struct {} end_reset_fields;
> >-
> >+#ifdef CONFIG_TCG
> >      CPU_COMMON
> >+#endif
> 
> This is at the wrong level.  If !CONFIG_TCG, then CPU_COMMON should be empty.
> 
> 
> r~

  Hello Richard,

  In fact, i can remove this CONFIG_TCG for CPU_COMMON in the CPUX86State struct

  because there is one change in the same patch ID.

  diff --git a/include/exec/cpu-defs.h b/include/exec/cpu-defs.h index 5f4e303..bc8e7f8 100644
  --- a/include/exec/cpu-defs.h
  +++ b/include/exec/cpu-defs.h
  @@ -25,7 +25,9 @@
 
  #include "qemu/host-utils.h"
  #include "qemu/queue.h"
 +#ifdef CONFIG_TCG
  #include "tcg-target.h"
 +#endif
  #ifndef CONFIG_USER_ONLY
  #include "exec/hwaddr.h"
  #endif
  @@ -54,7 +56,7 @@ typedef uint64_t target_ulong;  #error TARGET_LONG_SIZE undefined  #endif
 
 -#if !defined(CONFIG_USER_ONLY)
 +#if !defined(CONFIG_USER_ONLY) && defined(CONFIG_TCG)
  /* use a fully associative victim tlb of 8 entries */  #define CPU_VTLB_SIZE 8


 if tcg is disabled, CPU_COMMON_TLB is NULL.

 #define CPU_COMMON                                                      \
    /* soft mmu support */                                              \
    CPU_COMMON_TLB                                                      \

 So the CPU_COMMON should be NULL if the tcg is disabled.


 Yang
diff mbox

Patch

diff --git a/include/exec/cpu-defs.h b/include/exec/cpu-defs.h
index 5f4e303..bc8e7f8 100644
--- a/include/exec/cpu-defs.h
+++ b/include/exec/cpu-defs.h
@@ -25,7 +25,9 @@ 
 
 #include "qemu/host-utils.h"
 #include "qemu/queue.h"
+#ifdef CONFIG_TCG
 #include "tcg-target.h"
+#endif
 #ifndef CONFIG_USER_ONLY
 #include "exec/hwaddr.h"
 #endif
@@ -54,7 +56,7 @@  typedef uint64_t target_ulong;
 #error TARGET_LONG_SIZE undefined
 #endif
 
-#if !defined(CONFIG_USER_ONLY)
+#if !defined(CONFIG_USER_ONLY) && defined(CONFIG_TCG)
 /* use a fully associative victim tlb of 8 entries */
 #define CPU_VTLB_SIZE 8
 
diff --git a/target/i386/cpu.h b/target/i386/cpu.h
index 229b216..d67b601 100644
--- a/target/i386/cpu.h
+++ b/target/i386/cpu.h
@@ -52,7 +52,9 @@ 
 
 #include "exec/cpu-defs.h"
 
+#ifdef CONFIG_TCG
 #include "fpu/softfloat.h"
+#endif
 
 #define R_EAX 0
 #define R_ECX 1
@@ -1130,8 +1132,9 @@  typedef struct CPUX86State {
 
     /* Fields up to this point are cleared by a CPU reset */
     struct {} end_reset_fields;
-
+#ifdef CONFIG_TCG
     CPU_COMMON
+#endif
 
     /* Fields after CPU_COMMON are preserved across CPU reset. */