From 42ebebf99a7d6ce2358b152f643b52c7946f9202 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Sun, 12 Oct 2008 11:08:00 -0700 Subject: X86: Make the local APIC accessible through the memory system directly, and make the timer work. --- src/arch/x86/miscregfile.cc | 25 ------------------------- 1 file changed, 25 deletions(-) (limited to 'src/arch/x86/miscregfile.cc') diff --git a/src/arch/x86/miscregfile.cc b/src/arch/x86/miscregfile.cc index aba498616..388a83e8d 100644 --- a/src/arch/x86/miscregfile.cc +++ b/src/arch/x86/miscregfile.cc @@ -119,23 +119,11 @@ MiscReg MiscRegFile::readRegNoEffect(MiscRegIndex miscReg) !(miscReg > MISCREG_CR8 && miscReg <= MISCREG_CR15)); - if (isApicReg(miscReg)) { - panic("Can't readRegNoEffect from the local APIC.\n"); - } return regVal[miscReg]; } MiscReg MiscRegFile::readReg(MiscRegIndex miscReg, ThreadContext * tc) { -#if FULL_SYSTEM - if (isApicReg(miscReg)) { - Interrupts * interrupts = dynamic_cast( - tc->getCpuPtr()->getInterruptController()); - assert(interrupts); - return interrupts->readReg( - (ApicRegIndex)(miscReg - MISCREG_APIC_START), tc); - } -#endif if (miscReg == MISCREG_TSC) { return regVal[MISCREG_TSC] + tc->getCpuPtr()->curCycle(); } @@ -152,9 +140,6 @@ void MiscRegFile::setRegNoEffect(MiscRegIndex miscReg, const MiscReg &val) miscReg < MISCREG_CR8) && !(miscReg > MISCREG_CR8 && miscReg <= MISCREG_CR15)); - if (isApicReg(miscReg)) { - panic("Can't setRegNoEffect from the local APIC.\n"); - } regVal[miscReg] = val; } @@ -162,16 +147,6 @@ void MiscRegFile::setReg(MiscRegIndex miscReg, const MiscReg &val, ThreadContext * tc) { MiscReg newVal = val; -#if FULL_SYSTEM - if (isApicReg(miscReg)) { - Interrupts * interrupts = dynamic_cast( - tc->getCpuPtr()->getInterruptController()); - assert(interrupts); - interrupts->setReg( - ApicRegIndex(miscReg - MISCREG_APIC_START), val, tc); - return; - } -#endif switch(miscReg) { case MISCREG_CR0: -- cgit v1.2.3