scons,misc: Update default X86 protocol to MESI_Two_Level

MI_Example is a particularly poor protocol as the default for X86.
MESI_Two_Level is a suitable replacement.

The primary reason for this change is so the vanilla X86 build can run
the X86DemoBoard, submitted here:
https://gem5-review.googlesource.com/c/public/gem5/+/53004

Change-Id: I46212f795684bd1f2ce285c69ffcad2f148ab328
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/53503
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
diff --git a/build_opts/X86 b/build_opts/X86
index 64d163c..27c1b58 100644
--- a/build_opts/X86
+++ b/build_opts/X86
@@ -1,3 +1,4 @@
 TARGET_ISA = 'x86'
-CPU_MODELS = 'AtomicSimpleCPU,O3CPU,TimingSimpleCPU'
-PROTOCOL = 'MI_example'
+CPU_MODELS = 'TimingSimpleCPU,O3CPU,AtomicSimpleCPU'
+PROTOCOL = 'MESI_Two_Level'
+NUMBER_BITS_PER_SET = '128'
\ No newline at end of file
diff --git a/build_opts/X86_MI_example b/build_opts/X86_MI_example
new file mode 100644
index 0000000..5fb47a3
--- /dev/null
+++ b/build_opts/X86_MI_example
@@ -0,0 +1,3 @@
+TARGET_ISA = 'x86'
+CPU_MODELS = 'TimingSimpleCPU,O3CPU,AtomicSimpleCPU'
+PROTOCOL = 'MI_example
diff --git a/configs/example/gem5_library/x86-ubuntu-run.py b/configs/example/gem5_library/x86-ubuntu-run.py
index 1ab9f3a..3ee566b 100644
--- a/configs/example/gem5_library/x86-ubuntu-run.py
+++ b/configs/example/gem5_library/x86-ubuntu-run.py
@@ -35,9 +35,8 @@
 -----
 
 ```
-scons build/X86_MESI_Two_Level/gem5.opt
-./build/X86_MESI_Two_Level/gem5.opt \
-    configs/example/gem5_library/x86-ubuntu-run.py
+scons build/X86/gem5.opt
+./build/X86/gem5.opt configs/example/gem5_library/x86-ubuntu-run.py
 ```
 """
 
diff --git a/tests/compiler-tests.sh b/tests/compiler-tests.sh
index 12cf083..15ffb16 100755
--- a/tests/compiler-tests.sh
+++ b/tests/compiler-tests.sh
@@ -50,7 +50,7 @@
         "RISCV"
         "SPARC"
         "X86"
-        "X86_MESI_Two_Level"
+        "X86_MI_example"
         "X86_MOESI_AMD_Base")
 
 # The optimizations to use for each build target.
diff --git a/tests/gem5/gem5_library_example_tests/test_gem5_library_examples.py b/tests/gem5/gem5_library_example_tests/test_gem5_library_examples.py
index 38ceac8..cd59423 100644
--- a/tests/gem5/gem5_library_example_tests/test_gem5_library_examples.py
+++ b/tests/gem5/gem5_library_example_tests/test_gem5_library_examples.py
@@ -68,7 +68,6 @@
         ),
         config_args=[],
         valid_isas=(constants.x86_tag,),
-        protocol="MESI_Two_Level",
         valid_hosts=constants.supported_hosts,
         length=constants.long_tag,
     )
diff --git a/tests/gem5/kvm-fork-tests/test_kvm_fork_run.py b/tests/gem5/kvm-fork-tests/test_kvm_fork_run.py
index bd7fd6a..e3a6e64 100644
--- a/tests/gem5/kvm-fork-tests/test_kvm_fork_run.py
+++ b/tests/gem5/kvm-fork-tests/test_kvm_fork_run.py
@@ -52,10 +52,10 @@
     verifiers = []
 
     if mem_system == "mesi_two_level":
-        protocol_to_use = "MESI_Two_Level"
+        protocol_to_use = None
         isa_to_use = constants.x86_tag
     elif mem_system == "mi_example":
-        protocol_to_use = None
+        protocol_to_use = "MI_example"
         isa_to_use = constants.x86_tag
     else:
         protocol_to_use = None
diff --git a/tests/gem5/kvm-switch-tests/test_kvm_cpu_switch.py b/tests/gem5/kvm-switch-tests/test_kvm_cpu_switch.py
index 0ca32db..62ae30c 100644
--- a/tests/gem5/kvm-switch-tests/test_kvm_cpu_switch.py
+++ b/tests/gem5/kvm-switch-tests/test_kvm_cpu_switch.py
@@ -52,10 +52,10 @@
     verifiers = []
 
     if mem_system == "mesi_two_level":
-        protocol_to_use = "MESI_Two_Level"
+        protocol_to_use = None
         isa_to_use = constants.x86_tag
     elif mem_system == "mi_example":
-        protocol_to_use = None
+        protocol_to_use = "MI_example"
         isa_to_use = constants.x86_tag
     else:
         protocol_to_use = None
diff --git a/tests/gem5/parsec-benchmarks/test_parsec.py b/tests/gem5/parsec-benchmarks/test_parsec.py
index b886e4c..4e10e6e 100644
--- a/tests/gem5/parsec-benchmarks/test_parsec.py
+++ b/tests/gem5/parsec-benchmarks/test_parsec.py
@@ -50,12 +50,6 @@
         # Don't run the tests if KVM is unavailable.
         return
 
-
-    if mem_system == "mesi_two_level":
-        protocol_to_use="MESI_Two_Level"
-    else:
-        protocol_to_use=None
-
     gem5_verify_config(
         name="{}-boot-cpu_{}-detailed-cpu_{}-cores_{}_{}_{}_parsec-test"\
             .format(
@@ -93,7 +87,6 @@
         ],
         valid_isas=(constants.x86_tag,),
         valid_hosts=constants.supported_hosts,
-        protocol=protocol_to_use,
         length=length,
     )
 
diff --git a/tests/gem5/x86-boot-tests/test_linux_boot.py b/tests/gem5/x86-boot-tests/test_linux_boot.py
index ebf520e..d90f53b 100644
--- a/tests/gem5/x86-boot-tests/test_linux_boot.py
+++ b/tests/gem5/x86-boot-tests/test_linux_boot.py
@@ -62,10 +62,10 @@
         additional_config_args.append(str(to_tick))
 
     if mem_system == "mesi_two_level":
-        protocol_to_use="MESI_Two_Level"
+        protocol_to_use = None
         isa_to_use=constants.x86_tag
     elif mem_system == "mi_example":
-        protocol_to_use=None
+        protocol_to_use = "MI_example"
         isa_to_use=constants.x86_tag
     else:
         protocol_to_use=None