dev, arm: remove the RealViewEB platform
authorCiro Santilli <ciro.santilli@arm.com>
Tue, 4 Sep 2018 13:11:10 +0000 (14:11 +0100)
committerCiro Santilli <ciro.santilli@arm.com>
Mon, 8 Oct 2018 09:40:36 +0000 (09:40 +0000)
This is an old platform, and we haven't had official Linux kernel configs
for it in a while, so we've decided to deprecate it.

Furthermore, trying to use it fails with:

object 'RealViewEB' has no attribute 'pci_host'

and the last commit in the class happened two years ago, which indicates
that no one has been using it.

Change-Id: Icc674b00b152eb3246e05141dbaf2624cc720f21
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/12471
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>

configs/common/FSConfig.py
configs/common/PlatformConfig.py
src/arch/arm/ArmSystem.py
src/dev/arm/RealView.py

index aa00efe609e578ac3f4805d8966bd366676580b3..674761634c018aa915231595be92b23aed997777 100644 (file)
@@ -211,14 +211,12 @@ def makeArmSystem(mem_mode, machine_type, num_cpus=1, mdesc=None,
     assert machine_type
 
     default_dtbs = {
-        "RealViewEB": None,
         "RealViewPBX": None,
         "VExpress_EMM": "vexpress.aarch32.ll_20131205.0-gem5.%dcpu.dtb" % num_cpus,
         "VExpress_EMM64": "vexpress.aarch64.20140821.dtb",
     }
 
     default_kernels = {
-        "RealViewEB": "vmlinux.arm.smp.fb.2.6.38.8",
         "RealViewPBX": "vmlinux.arm.smp.fb.2.6.38.8",
         "VExpress_EMM": "vmlinux.aarch32.ll_20131205.0-gem5",
         "VExpress_EMM64": "vmlinux.aarch64.20140821",
index 34325f315cfd903c63b98d620a52162b5a08e03e..306b7320d4b11f2cb58ba3d10917afe2c64329f9 100644 (file)
@@ -52,7 +52,6 @@ _platform_classes = {}
 # Platform aliases. The platforms listed here might not be compiled,
 # we make sure they exist before we add them to the platform list.
 _platform_aliases_all = [
-    ("RealView_EB", "RealViewEB"),
     ("RealView_PBX", "RealViewPBX"),
     ("VExpress_GEM5", "VExpress_GEM5_V1"),
     ]
index ec44331dd8498f7219f61cd880df3f59785cc661..1e3a8cfcad15a8961da151634d3945ae9f4bc663 100644 (file)
@@ -45,7 +45,6 @@ from ArmSemihosting import ArmSemihosting
 
 class ArmMachineType(Enum):
     map = {
-        'RealViewEB' : 827,
         'RealViewPBX' : 1901,
         'VExpress_EMM' : 2272,
         'VExpress_EMM64' : 2272,
index 3f1803037681602948dfb2a688dbdbfddecdff5f..e129f3c954d9d0808dd050c9bbd4ce0b43e834da 100644 (file)
@@ -741,120 +741,6 @@ class RealViewPBX(RealView):
         self.flash_fake.clk_domain    = clkdomain
         self.energy_ctrl.clk_domain   = clkdomain
 
-# Reference for memory map and interrupt number
-# RealView Emulation Baseboard User Guide (ARM DUI 0143B)
-# Chapter 4: Programmer's Reference
-class RealViewEB(RealView):
-    uart = Pl011(pio_addr=0x10009000, int_num=44)
-    realview_io = RealViewCtrl(pio_addr=0x10000000, idreg=0x01400500)
-    mcc = VExpressMCC()
-    dcc = CoreTile2A15DCC()
-    gic = GicV2(dist_addr=0x10041000, cpu_addr=0x10040000)
-    timer0 = Sp804(int_num0=36, int_num1=36, pio_addr=0x10011000)
-    timer1 = Sp804(int_num0=37, int_num1=37, pio_addr=0x10012000)
-    clcd   = Pl111(pio_addr=0x10020000, int_num=23)
-    kmi0   = Pl050(pio_addr=0x10006000, int_num=20, ps2=PS2Keyboard())
-    kmi1   = Pl050(pio_addr=0x10007000, int_num=21, ps2=PS2TouchKit())
-
-    l2x0_fake     = IsaFake(pio_addr=0x1f002000, pio_size=0xfff, warn_access="1")
-    flash_fake    = IsaFake(pio_addr=0x40000000, pio_size=0x20000000-1,
-                            fake_mem=True)
-    dmac_fake     = AmbaFake(pio_addr=0x10030000)
-    uart1_fake    = AmbaFake(pio_addr=0x1000a000)
-    uart2_fake    = AmbaFake(pio_addr=0x1000b000)
-    uart3_fake    = AmbaFake(pio_addr=0x1000c000)
-    smcreg_fake   = IsaFake(pio_addr=0x10080000, pio_size=0x10000-1)
-    smc_fake      = AmbaFake(pio_addr=0x100e1000)
-    sp810_fake    = AmbaFake(pio_addr=0x10001000, ignore_access=True)
-    watchdog_fake = AmbaFake(pio_addr=0x10010000)
-    gpio0_fake    = AmbaFake(pio_addr=0x10013000)
-    gpio1_fake    = AmbaFake(pio_addr=0x10014000)
-    gpio2_fake    = AmbaFake(pio_addr=0x10015000)
-    ssp_fake      = AmbaFake(pio_addr=0x1000d000)
-    sci_fake      = AmbaFake(pio_addr=0x1000e000)
-    aaci_fake     = AmbaFake(pio_addr=0x10004000)
-    mmc_fake      = AmbaFake(pio_addr=0x10005000)
-    rtc_fake      = AmbaFake(pio_addr=0x10017000, amba_id=0x41031)
-    energy_ctrl   = EnergyCtrl(pio_addr=0x1000f000)
-
-    # Attach I/O devices that are on chip and also set the appropriate
-    # ranges for the bridge
-    def attachOnChipIO(self, bus, bridge):
-       self.gic.pio = bus.master
-       self.l2x0_fake.pio = bus.master
-       # Bridge ranges based on excluding what is part of on-chip I/O
-       # (gic, l2x0)
-       bridge.ranges = [AddrRange(self.realview_io.pio_addr,
-                                  self.gic.cpu_addr - 1),
-                        AddrRange(self.flash_fake.pio_addr, Addr.max)]
-
-    # Set the clock domain for IO objects that are considered
-    # to be "close" to the cores.
-    def onChipIOClkDomain(self, clkdomain):
-        self.gic.clk_domain             = clkdomain
-        self.l2x0_fake.clk_domain       = clkdomain
-
-    # Attach I/O devices to specified bus object.  Can't do this
-    # earlier, since the bus object itself is typically defined at the
-    # System level.
-    def attachIO(self, bus):
-       self.uart.pio          = bus.master
-       self.realview_io.pio   = bus.master
-       self.pci_host.pio      = bus.master
-       self.timer0.pio        = bus.master
-       self.timer1.pio        = bus.master
-       self.clcd.pio          = bus.master
-       self.clcd.dma          = bus.slave
-       self.kmi0.pio          = bus.master
-       self.kmi1.pio          = bus.master
-       self.dmac_fake.pio     = bus.master
-       self.uart1_fake.pio    = bus.master
-       self.uart2_fake.pio    = bus.master
-       self.uart3_fake.pio    = bus.master
-       self.smc_fake.pio      = bus.master
-       self.sp810_fake.pio    = bus.master
-       self.watchdog_fake.pio = bus.master
-       self.gpio0_fake.pio    = bus.master
-       self.gpio1_fake.pio    = bus.master
-       self.gpio2_fake.pio    = bus.master
-       self.ssp_fake.pio      = bus.master
-       self.sci_fake.pio      = bus.master
-       self.aaci_fake.pio     = bus.master
-       self.mmc_fake.pio      = bus.master
-       self.rtc_fake.pio      = bus.master
-       self.flash_fake.pio    = bus.master
-       self.smcreg_fake.pio   = bus.master
-       self.energy_ctrl.pio   = bus.master
-
-    # Set the clock domain for IO objects that are considered
-    # to be "far" away from the cores.
-    def offChipIOClkDomain(self, clkdomain):
-        self.uart.clk_domain          = clkdomain
-        self.realview_io.clk_domain   = clkdomain
-        self.timer0.clk_domain        = clkdomain
-        self.timer1.clk_domain        = clkdomain
-        self.clcd.clk_domain          = clkdomain
-        self.kmi0.clk_domain          = clkdomain
-        self.kmi1.clk_domain          = clkdomain
-        self.dmac_fake.clk_domain     = clkdomain
-        self.uart1_fake.clk_domain    = clkdomain
-        self.uart2_fake.clk_domain    = clkdomain
-        self.uart3_fake.clk_domain    = clkdomain
-        self.smc_fake.clk_domain      = clkdomain
-        self.sp810_fake.clk_domain    = clkdomain
-        self.watchdog_fake.clk_domain = clkdomain
-        self.gpio0_fake.clk_domain    = clkdomain
-        self.gpio1_fake.clk_domain    = clkdomain
-        self.gpio2_fake.clk_domain    = clkdomain
-        self.ssp_fake.clk_domain      = clkdomain
-        self.sci_fake.clk_domain      = clkdomain
-        self.aaci_fake.clk_domain     = clkdomain
-        self.mmc_fake.clk_domain      = clkdomain
-        self.rtc.clk_domain           = clkdomain
-        self.flash_fake.clk_domain    = clkdomain
-        self.smcreg_fake.clk_domain   = clkdomain
-        self.energy_ctrl.clk_domain   = clkdomain
-
 class VExpress_EMM(RealView):
     _mem_regions = [(Addr('2GB'), Addr('2GB'))]