mirror of
https://github.com/riscv-software-src/opensbi.git
synced 2026-02-28 02:01:50 +00:00
platform: generic: mips p8700: use global CM addresses
In the multi-cluster system each cluster has its own CM (Coherency Manager). Every CM has its "global" memory address where it is accessible from any bus master. Initially, all CMs accessible from the local cluster using same "local" address. Transactions by local address are not routed through system bus and thus are faster. Remap CM in every cluster to the local address matching its global address. Then, every CM is always accessed using same address, but when transaction initiated from the local cluster it is routed internally. This removes need for 2 PMP regions covering local address access. CM accessor functions simplified because there's no need to detect whether transaction is local or global Access timer always in cluster 0 Signed-off-by: Vladimir Kondratiev <vladimir.kondratiev@mobileye.com> Reviewed-by: Anup Patel <anup@brainfault.org> Link: https://lore.kernel.org/r/20260223-for-upstream-eyeq7h-v3-7-621d004d1a21@mobileye.com Signed-off-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
committed by
Anup Patel
parent
52ac3de50c
commit
c69c159bd0
@@ -71,10 +71,10 @@
|
||||
#define cpu_core(i) (((i) >> NEW_CORE_SHIFT) & NEW_CORE_MASK)
|
||||
#define cpu_hart(i) ((i) & NEW_HART_MASK)
|
||||
|
||||
#define CPC_BASE (CM_BASE + 0x8000)
|
||||
#define CPC_OFFSET (0x8000)
|
||||
|
||||
#define SIZE_FOR_CPC_MTIME 0x10000 /* The size must be 2^order */
|
||||
#define AIA_BASE (CM_BASE + 0x40000)
|
||||
#define AIA_OFFSET (0x40000)
|
||||
#define SIZE_FOR_AIA_M_MODE 0x20000 /* The size must be 2^order */
|
||||
#define P8700_ALIGN 0x10000
|
||||
|
||||
|
||||
Reference in New Issue
Block a user