#define CACHEOP_OCTEON_INV_ALL (0 << 2) /* I, D */
#define CACHEOP_OCTEON_INDEX_LOAD_TAG (1 << 2) /* I, D */
#define CACHEOP_OCTEON_BITMAP_STORE (3 << 2) /* I */
#define CACHEOP_OCTEON_VIRTUAL_TAG_INV (4 << 2) /* D */
#define OCTEON_CACHELINE_SIZE 128
/*
* Note that for the Dcache the 50XX manual says 1 set per way (Config1
* register - DS=0 ("... actual is 1"), p173) as does U-boot sources,
* however this only adds up to an 8kB Dcache. The 50XX manual
* elsewhere references a 16kB Dcache as does the CN50XX product brief.
* The original NetBSD code, current OpenBSD and Linux code all use 2
* sets per way. lmbench's "cache" program also detects a 16kB Dcache.
* So we assume that all Octeon 1 and Octeon Plus cores have a 16kB
* Dcache.
*/
#define OCTEON_I_DCACHE_WAYS 64
#define OCTEON_I_DCACHE_SETS 2