GR740-UM-DS, Nov 2017, Version 1.7
43
www.cobham.com/gaisler
GR740
5.4
System integrity and debug communication links
The debug communication links have unrestricted access to all parts of the system. When the Debug
AHB bus is clock gated off via the external dsu_en signal, all debug communication links will be dis-
abled. However, the Ethernet Debug Communication Links (EDCLs) can still be enabled via the
Ethernet controllers’ register interfaces. Since the Debug AHB bus is gated off, the only path for
EDCL traffic into the system is through the IOMMU. Since EDCL traffic flows through the same
AHB master interface as normal Ethernet traffic the IOMMU may not provide adequate protection. To
ensure that EDCL traffic cannot be harmful, even if accidentally enabled, it is recommended to tie
GPIO[9:8] HIGH during system reset in order to force EDCL traffic onto the gated Debug AHB bus.
5.5
Separation and ASMP configurations
The system supports running different OS instances on each of the processor cores. The use of ASMP
configurations is eased by:
•
The multiprocessor interrupt controller that contains four internal interrupt controllers. This
means that each OS (up to four) can have direct access to its own interrupt controller. It is also
possible to run two SMP operating systems simultaneously.
•
The availability of several general purpose timer units allows each OS to have a dedicated timer
unit.
•
All peripheral registers are mapped on 4 KiB address boundaries. This allows using the system’s
memory management units to provide separation between operating systems.
•
The I/O memory management unit (IOMMU) can prevent DMA capable peripheral controllers
belonging to one OS from overwriting memory areas belonging to another OS.
•
The L2 cache supports replacement policies based on AHB master bus index. This means that the
L2 cache can be configured so that one processor cannot evict data allocated by accesses from
another processor.
The system does not provide full separation between operating systems. The main memory interface
and AMBA buses are shared. Since space separation is provided by processor memory management
units, it is possible for one operating system to disable the memory management unit and access mem-
ory areas assigned to another operating system.
There are also other shared resources that require all software instances that can access them to
behave properly:
•
The Ethernet MDIO bus is shared. Both Ethernet controllers can access the same MDIO bus and
it is possible to use one Ethernet controller's interface to reconfigure a transceiver connected to
the other Ethernet controller. It is also possible to generate MDIO interrupts that will, if
unmasked, assert a processor interrupt.
•
The General Purpose IO port provides functionality that allows use by multiple processors using
logical-AND/OR/XOR registers to change the registers. All processors that use these registers
can access the full register interface of the GPIO port and can interfere with each other.
Overview of the start-up process of a separated ASMP system:
•
On power up, processor 0 starts executing.
•
Processor 0 boot code sets up memory controller and other critical shared resources.
•
Processor 0 sets up the IOMMU access protection vectors so that each peripheral DMA can only
access memory address space belonging to its chosen partition, and sets up the IRQ routing so
that peripheral IRQs will go to internal interrupt controller belonging to that partition.
•
Processor 0 now starts all the other cores by writing to the interrupt controller.
•
Each processor now runs supervisor code that sets up it's MMU page tables so that it can not
access peripherals and memory belonging to other partitions, and also so that it can only access