/* Page Frame Number */ #define ROGUE_MIPSFW_ENTRYLO_PFN_SHIFT (6) #define ROGUE_MIPSFW_ENTRYLO_PFN_ALIGNSHIFT (12) /* Mask used for the MIPS Page Table in case of physical bus on 32 bit. */ #define ROGUE_MIPSFW_ENTRYLO_PFN_MASK (0x03FFFFC0) #define ROGUE_MIPSFW_ENTRYLO_PFN_SIZE (20) /* Mask used for the MIPS Page Table in case of physical bus on more than 32 bit. */ #define ROGUE_MIPSFW_ENTRYLO_PFN_MASK_ABOVE_32BIT (0x3FFFFFC0) #define ROGUE_MIPSFW_ENTRYLO_PFN_SIZE_ABOVE_32BIT (24) #define ROGUE_MIPSFW_ADDR_TO_ENTRYLO_PFN_RSHIFT (ROGUE_MIPSFW_ENTRYLO_PFN_ALIGNSHIFT - \
ROGUE_MIPSFW_ENTRYLO_PFN_SHIFT)
/* Remap Range Config Addr Out. */ /* These defines refer to the upper half of the Remap Range Config register. */ #define ROGUE_MIPSFW_REMAP_RANGE_ADDR_OUT_MASK (0x0FFFFFF0) #define ROGUE_MIPSFW_REMAP_RANGE_ADDR_OUT_SHIFT (4) /* wrt upper half of the register. */ #define ROGUE_MIPSFW_REMAP_RANGE_ADDR_OUT_ALIGNSHIFT (12) #define ROGUE_MIPSFW_ADDR_TO_RR_ADDR_OUT_RSHIFT (ROGUE_MIPSFW_REMAP_RANGE_ADDR_OUT_ALIGNSHIFT - \
ROGUE_MIPSFW_REMAP_RANGE_ADDR_OUT_SHIFT)
/* * Pages to trampoline problematic physical addresses: * - ROGUE_MIPSFW_BOOT_REMAP_PHYS_ADDR_IN : 0x1FC0_0000 * - ROGUE_MIPSFW_DATA_REMAP_PHYS_ADDR_IN : 0x1FC0_1000 * - ROGUE_MIPSFW_CODE_REMAP_PHYS_ADDR_IN : 0x1FC0_2000 * - (benign trampoline) : 0x1FC0_3000 * that would otherwise be erroneously remapped by the MIPS wrapper. * (see "Firmware virtual layout and remap configuration" section below)
*/
/* Firmware virtual layout and remap configuration. */ /* * For each remap region we define: * - the virtual base used by the Firmware to access code/data through that region * - the microAptivAP physical address correspondent to the virtual base address, * used as input address and remapped to the actual physical address * - log2 of size of the region remapped by the MIPS wrapper, i.e. number of bits from * the bottom of the base input address that survive onto the output address * (this defines both the alignment and the maximum size of the remapped region) * - one or more code/data segments within the remapped region.
*/
/* Bootloader configuration data. */ /* * Bootloader configuration offset (where ROGUE_MIPSFW_BOOT_DATA lives) * within the bootloader/NMI data page.
*/ #define ROGUE_MIPSFW_BOOTLDR_CONF_OFFSET (0x0)
/* NMI shared data. */ /* Base address of the shared data within the bootloader/NMI data page. */ #define ROGUE_MIPSFW_NMI_SHARED_DATA_BASE (0x100) /* Size used by Debug dump data. */ #define ROGUE_MIPSFW_NMI_SHARED_SIZE (0x2B0) /* Offsets in the NMI shared area in 32-bit words. */ #define ROGUE_MIPSFW_NMI_SYNC_FLAG_OFFSET (0x0) #define ROGUE_MIPSFW_NMI_STATE_OFFSET (0x1) #define ROGUE_MIPSFW_NMI_ERROR_STATE_SET (0x1)
/* * MIPS private data in the bootloader data page. * Memory below this offset is used by the FW only, no interface data allowed.
*/ #define ROGUE_MIPSFW_PRIVATE_DATA_OFFSET (0x800)
/* Used for compatibility checks. */ #define ROGUE_MIPSFW_ARCHTYPE_VER_CLRMSK (0xFFFFE3FFU) #define ROGUE_MIPSFW_ARCHTYPE_VER_SHIFT (10U) #define ROGUE_MIPSFW_CORE_ID_VALUE (0x001U) #define ROGUE_FW_PROCESSOR_MIPS "MIPS"
/* microAptivAP cache line size. */ #define ROGUE_MIPSFW_MICROAPTIVEAP_CACHELINE_SIZE (16U)
/* * The SOCIF transactions are identified with the top 16 bits of the physical address emitted by * the MIPS.
*/ #define ROGUE_MIPSFW_WRAPPER_CONFIG_REGBANK_ADDR_ALIGN (16U)
/* Values to put in the MIPS selectors for performance counters. */ /* Icache accesses in COUNTER0. */ #define ROGUE_MIPSFW_PERF_COUNT_CTRL_ICACHE_ACCESSES_C0 (9U) /* Icache misses in COUNTER1. */ #define ROGUE_MIPSFW_PERF_COUNT_CTRL_ICACHE_MISSES_C1 (9U)
/* Dcache accesses in COUNTER0. */ #define ROGUE_MIPSFW_PERF_COUNT_CTRL_DCACHE_ACCESSES_C0 (10U) /* Dcache misses in COUNTER1. */ #define ROGUE_MIPSFW_PERF_COUNT_CTRL_DCACHE_MISSES_C1 (11U)
/* Instructions completed in COUNTER0. */ #define ROGUE_MIPSFW_PERF_COUNT_CTRL_INSTR_COMPLETED_C0 (1U) /* JTLB data misses in COUNTER1. */ #define ROGUE_MIPSFW_PERF_COUNT_CTRL_JTLB_DATA_MISSES_C1 (8U)
/* Shift for the Event field in the MIPS perf ctrl registers. */ #define ROGUE_MIPSFW_PERF_COUNT_CTRL_EVENT_SHIFT (5U)
/* Additional flags for performance counters. See MIPS manual for further reference. */ #define ROGUE_MIPSFW_PERF_COUNT_CTRL_COUNT_USER_MODE (8U) #define ROGUE_MIPSFW_PERF_COUNT_CTRL_COUNT_KERNEL_MODE (2U) #define ROGUE_MIPSFW_PERF_COUNT_CTRL_COUNT_EXL (1U)
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.