| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) |
|---|
| 3 | | - * |
|---|
| 4 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 5 | | - * it under the terms of the GNU General Public License version 2 as |
|---|
| 6 | | - * published by the Free Software Foundation. |
|---|
| 7 | 4 | */ |
|---|
| 8 | 5 | |
|---|
| 9 | 6 | #ifndef _ASM_ARC_MMU_H |
|---|
| .. | .. |
|---|
| 43 | 40 | #define ARC_REG_SCRATCH_DATA0 0x46c |
|---|
| 44 | 41 | #endif |
|---|
| 45 | 42 | |
|---|
| 43 | +#if defined(CONFIG_ISA_ARCV2) || !defined(CONFIG_SMP) |
|---|
| 44 | +#define ARC_USE_SCRATCH_REG |
|---|
| 45 | +#endif |
|---|
| 46 | + |
|---|
| 46 | 47 | /* Bits in MMU PID register */ |
|---|
| 47 | 48 | #define __TLB_ENABLE (1 << 31) |
|---|
| 48 | 49 | #define __PROG_ENABLE (1 << 30) |
|---|
| .. | .. |
|---|
| 66 | 67 | #if (CONFIG_ARC_MMU_VER >= 2) |
|---|
| 67 | 68 | #define TLBWriteNI 0x5 /* write JTLB without inv uTLBs */ |
|---|
| 68 | 69 | #define TLBIVUTLB 0x6 /* explicitly inv uTLBs */ |
|---|
| 70 | +#else |
|---|
| 71 | +#define TLBWriteNI TLBWrite /* Not present in hardware, fallback */ |
|---|
| 69 | 72 | #endif |
|---|
| 70 | 73 | |
|---|
| 71 | 74 | #if (CONFIG_ARC_MMU_VER >= 4) |
|---|