diff options
author | Gabe Black <gabeblack@google.com> | 2019-09-09 17:44:54 -0700 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2019-09-21 05:05:18 +0000 |
commit | a9ed1458ba374115e09a83ac5c6eae0e6e929f42 (patch) | |
tree | 1bf3a63cecc429ea6ec34860b0759f1fc43a80c2 /src/arch/x86/X86LocalApic.py | |
parent | d379a08b27df44dbbacca09f8180196e9acb6431 (diff) | |
download | gem5-a9ed1458ba374115e09a83ac5c6eae0e6e929f42.tar.xz |
x86: Turn the local APIC into a PioDevice instead of a BasicPioDevice.
This will let us accept several address ranges through our pio port
instead of just one, and that will in turn let us accept interrupt
requests and pio requests through the same port.
Change-Id: I70b78c8cd0edca7fe58b3d4cd241e41d9e0f2c20
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/20819
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'src/arch/x86/X86LocalApic.py')
-rw-r--r-- | src/arch/x86/X86LocalApic.py | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/arch/x86/X86LocalApic.py b/src/arch/x86/X86LocalApic.py index c1b835ccb..456409a62 100644 --- a/src/arch/x86/X86LocalApic.py +++ b/src/arch/x86/X86LocalApic.py @@ -42,10 +42,10 @@ from m5.defines import buildEnv from m5.params import * from m5.proxy import * -from m5.objects.Device import BasicPioDevice +from m5.objects.Device import PioDevice from m5.objects.ClockDomain import DerivedClockDomain -class X86LocalApic(BasicPioDevice): +class X86LocalApic(PioDevice): type = 'X86LocalApic' cxx_class = 'X86ISA::Interrupts' cxx_header = 'arch/x86/interrupts.hh' @@ -54,10 +54,7 @@ class X86LocalApic(BasicPioDevice): int_latency = Param.Latency('1ns', \ "Latency for an interrupt to propagate through this device.") - # pio_addr isn't used by the local APIC model since it's address is - # calculated dynamically using the initial ID of the CPU it's attached to, - # but it needs to be set to something to make the BasicPioDevice happy. - pio_addr = 0x2000000000000000 + pio_latency = Param.Latency('100ns', 'Programmed IO latency') # The clock rate for the local APIC timer is supposed to be the "bus clock" # which we assume is 1/16th the rate of the CPU clock. I don't think this |