X86: Get rid of more uses of FULL_SYSTEM.
authorGabe Black <gblack@eecs.umich.edu>
Sun, 30 Oct 2011 07:33:02 +0000 (00:33 -0700)
committerGabe Black <gblack@eecs.umich.edu>
Sun, 30 Oct 2011 07:33:02 +0000 (00:33 -0700)
src/arch/x86/bios/SConscript
src/arch/x86/interrupts.cc
src/arch/x86/interrupts.hh
src/arch/x86/mmapped_ipr.hh
src/arch/x86/remote_gdb.cc
src/arch/x86/tlb.cc
src/arch/x86/tlb.hh
src/arch/x86/utility.cc
src/arch/x86/utility.hh
src/arch/x86/vtophys.cc

index 16a413ed0310b5072e2a69a0b9e494025a1123ce..abc734ef4d362a7609e0e485a32c5be29ed441f0 100644 (file)
 Import('*')
 
 if env['TARGET_ISA'] == 'x86':
-    if env['FULL_SYSTEM']:
-        # The table generated by the bootloader using the BIOS and passed to
-        # the operating system which maps out physical memory.
-        SimObject('E820.py')
-        Source('e820.cc')
+    # The table generated by the bootloader using the BIOS and passed to
+    # the operating system which maps out physical memory.
+    SimObject('E820.py')
+    Source('e820.cc')
 
-        # The DMI tables.
-        SimObject('SMBios.py')
-        Source('smbios.cc')
+    # The DMI tables.
+    SimObject('SMBios.py')
+    Source('smbios.cc')
 
-        # Intel Multiprocessor Specification Configuration Table
-        SimObject('IntelMP.py')
-        Source('intelmp.cc')
+    # Intel Multiprocessor Specification Configuration Table
+    SimObject('IntelMP.py')
+    Source('intelmp.cc')
 
-        # ACPI system description tables
-        SimObject('ACPI.py')
-        Source('acpi.cc')
+    # ACPI system description tables
+    SimObject('ACPI.py')
+    Source('acpi.cc')
index 38b966dbe4b137e7337cd3da51c8e5d3e56a0349..994e9bce45a4dee36226a49c949edb8db6afb7e2 100644 (file)
@@ -40,6 +40,7 @@
 #include "arch/x86/regs/apic.hh"
 #include "arch/x86/interrupts.hh"
 #include "arch/x86/intmessage.hh"
+#include "config/full_system.hh"
 #include "cpu/base.hh"
 #include "debug/LocalApic.hh"
 #include "dev/x86/i82094aa.hh"
index 03b4c97b38422c7c2660d86735d902b1cf70e5bc..389eb4f42e21ca5e9cf68b0fbce2195f159b988c 100644 (file)
@@ -44,7 +44,6 @@
 #include "arch/x86/faults.hh"
 #include "arch/x86/intmessage.hh"
 #include "base/bitfield.hh"
-#include "config/full_system.hh"
 #include "cpu/thread_context.hh"
 #include "dev/x86/intdev.hh"
 #include "dev/io_device.hh"
index 525f54bfb68016c38c98d2b66697f44abf16c8a3..054f280a8d114d811021196f7a6b33dbba391dd8 100644 (file)
@@ -47,7 +47,6 @@
  */
 
 #include "arch/x86/regs/misc.hh"
-#include "config/full_system.hh"
 #include "cpu/base.hh"
 #include "cpu/thread_context.hh"
 #include "mem/packet.hh"
@@ -57,25 +56,18 @@ namespace X86ISA
     inline Tick
     handleIprRead(ThreadContext *xc, Packet *pkt)
     {
-#if !FULL_SYSTEM
-        panic("Shouldn't have a memory mapped register in SE\n");
-#else
         Addr offset = pkt->getAddr() & mask(3);
         MiscRegIndex index = (MiscRegIndex)(pkt->getAddr() / sizeof(MiscReg));
         MiscReg data = htog(xc->readMiscReg(index));
         // Make sure we don't trot off the end of data.
         assert(offset + pkt->getSize() <= sizeof(MiscReg));
         pkt->setData(((uint8_t *)&data) + offset);
-#endif
         return xc->getCpuPtr()->ticks(1);
     }
 
     inline Tick
     handleIprWrite(ThreadContext *xc, Packet *pkt)
     {
-#if !FULL_SYSTEM
-        panic("Shouldn't have a memory mapped register in SE\n");
-#else
         Addr offset = pkt->getAddr() & mask(3);
         MiscRegIndex index = (MiscRegIndex)(pkt->getAddr() / sizeof(MiscReg));
         MiscReg data;
@@ -84,7 +76,6 @@ namespace X86ISA
         assert(offset + pkt->getSize() <= sizeof(MiscReg));
         pkt->writeData(((uint8_t *)&data) + offset);
         xc->setMiscReg(index, gtoh(data));
-#endif
         return xc->getCpuPtr()->ticks(1);
     }
 };
index 8db7a6088e37a6a287abbdf05b21bc1b152ca1c2..c7bce59bf0464118108d1ef8e1b5e9fbaea6b588 100644 (file)
@@ -47,7 +47,6 @@
 #include "base/remote_gdb.hh"
 #include "base/socket.hh"
 #include "base/trace.hh"
-#include "config/full_system.hh"
 #include "cpu/thread_context.hh"
 
 using namespace std;
index ff30697e5972fcab66d421498af9f92e05775c4e..53f7f978e4b46e01f9a2f2f9990722cec695c0ba 100644 (file)
@@ -49,7 +49,6 @@
 #include "arch/x86/x86_traits.hh"
 #include "base/bitfield.hh"
 #include "base/trace.hh"
-#include "config/full_system.hh"
 #include "cpu/base.hh"
 #include "cpu/thread_context.hh"
 #include "debug/TLB.hh"
@@ -406,28 +405,12 @@ TLB::translateTiming(RequestPtr req, ThreadContext *tc,
         translation->finish(fault, req, tc, mode);
 }
 
-#if FULL_SYSTEM
-
-Tick
-TLB::doMmuRegRead(ThreadContext *tc, Packet *pkt)
-{
-    return tc->getCpuPtr()->ticks(1);
-}
-
-Tick
-TLB::doMmuRegWrite(ThreadContext *tc, Packet *pkt)
-{
-    return tc->getCpuPtr()->ticks(1);
-}
-
 Walker *
 TLB::getWalker()
 {
     return walker;
 }
 
-#endif
-
 void
 TLB::serialize(std::ostream &os)
 {
index e82784900319dd5c723a71d0c2a97715f29e719b..449ca19ce0633fe6523ad80019a39cca7f81fffd 100644 (file)
@@ -46,7 +46,6 @@
 
 #include "arch/x86/regs/segment.hh"
 #include "arch/x86/pagetable.hh"
-#include "config/full_system.hh"
 #include "mem/mem_object.hh"
 #include "mem/request.hh"
 #include "params/X86TLB.hh"
@@ -116,11 +115,6 @@ namespace X86ISA
         void translateTiming(RequestPtr req, ThreadContext *tc,
                 Translation *translation, Mode mode);
 
-#if FULL_SYSTEM
-        Tick doMmuRegRead(ThreadContext *tc, Packet *pkt);
-        Tick doMmuRegWrite(ThreadContext *tc, Packet *pkt);
-#endif
-
         TlbEntry * insert(Addr vpn, TlbEntry &entry);
 
         // Checkpointing
index 29c770f3d68e369c31cd24a55e6e7e711d732338..6784676728df071b1470c5f9c6e1fb845c339a71 100644 (file)
  * Authors: Gabe Black
  */
 
-#include "config/full_system.hh"
-
-#if FULL_SYSTEM
 #include "arch/x86/interrupts.hh"
-#endif
 #include "arch/x86/registers.hh"
 #include "arch/x86/tlb.hh"
 #include "arch/x86/utility.hh"
@@ -55,15 +51,10 @@ namespace X86ISA {
 uint64_t
 getArgument(ThreadContext *tc, int &number, uint16_t size, bool fp)
 {
-#if FULL_SYSTEM
     panic("getArgument() not implemented for x86!\n");
-#else
-    panic("getArgument() only implemented for FULL_SYSTEM\n");
     M5_DUMMY_RETURN
-#endif
 }
 
-# if FULL_SYSTEM
 void initCPU(ThreadContext *tc, int cpuId)
 {
     // This function is essentially performing a reset. The actual INIT
@@ -193,12 +184,9 @@ void initCPU(ThreadContext *tc, int cpuId)
     tc->setMiscReg(MISCREG_VM_HSAVE_PA, 0);
 }
 
-#endif
-
 void startupCPU(ThreadContext *tc, int cpuId)
 {
-#if FULL_SYSTEM
-    if (cpuId == 0) {
+    if (cpuId == 0 || !FullSystem) {
         tc->activate(0);
     } else {
         // This is an application processor (AP). It should be initialized to
@@ -206,9 +194,6 @@ void startupCPU(ThreadContext *tc, int cpuId)
         // a halted state.
         tc->suspend(0);
     }
-#else
-    tc->activate(0);
-#endif
 }
 
 void
index 4cfbe77db37aee033c32b0caaffbedac104dbc8b..f120ea6c744bcb4afabcb67f0c32e96ec2dbc5a7 100644 (file)
@@ -45,9 +45,9 @@
 #include "base/hashmap.hh"
 #include "base/misc.hh"
 #include "base/types.hh"
-#include "config/full_system.hh"
 #include "cpu/static_inst.hh"
 #include "cpu/thread_context.hh"
+#include "sim/full_system.hh"
 
 class ThreadContext;
 
@@ -68,12 +68,12 @@ namespace X86ISA
     static inline bool
     inUserMode(ThreadContext *tc)
     {
-#if FULL_SYSTEM
-        HandyM5Reg m5reg = tc->readMiscRegNoEffect(MISCREG_M5_REG);
-        return m5reg.cpl == 3;
-#else
-        return true;
-#endif
+        if (!FullSystem) {
+            return true;
+        } else {
+            HandyM5Reg m5reg = tc->readMiscRegNoEffect(MISCREG_M5_REG);
+            return m5reg.cpl == 3;
+        }
     }
 
     /**
@@ -83,12 +83,8 @@ namespace X86ISA
     template <class TC>
     void zeroRegisters(TC *tc);
 
-#if FULL_SYSTEM
-
     void initCPU(ThreadContext *tc, int cpuId);
 
-#endif
-
     void startupCPU(ThreadContext *tc, int cpuId);
 
     void copyRegs(ThreadContext *src, ThreadContext *dest);
index 60ce37131b43c6054acd70de1e7407d903b03270..e4abfca59302cc12d5b46dda79ee2da1ddcc9381 100644 (file)
@@ -43,7 +43,6 @@
 #include "arch/x86/tlb.hh"
 #include "arch/x86/vtophys.hh"
 #include "base/trace.hh"
-#include "config/full_system.hh"
 #include "cpu/thread_context.hh"
 #include "debug/VtoPhys.hh"
 #include "sim/fault_fwd.hh"
@@ -55,16 +54,12 @@ namespace X86ISA
     Addr
     vtophys(Addr vaddr)
     {
-#if FULL_SYSTEM
         panic("Need access to page tables\n");
-#endif
-        return vaddr;
     }
 
     Addr
     vtophys(ThreadContext *tc, Addr vaddr)
     {
-#if FULL_SYSTEM
         Walker *walker = tc->getDTBPtr()->getWalker();
         Addr size;
         Addr addr = vaddr;
@@ -75,7 +70,5 @@ namespace X86ISA
         Addr paddr = addr | masked_addr;
         DPRINTF(VtoPhys, "vtophys(%#x) -> %#x\n", vaddr, paddr);
         return paddr;
-#endif
-        return vaddr;
     }
 }