2019-06-04 10:11:33 +02:00
|
|
|
|
2013-01-18 15:12:18 +05:30
|
|
|
|
2015-02-21 15:09:32 +05:30
|
|
|
|
2013-01-18 15:12:18 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-03-29 17:14:32 -05:00
|
|
|
|
2013-01-18 15:12:18 +05:30
|
|
|
|
|
|
|
|
|
2013-02-11 19:52:57 +05:30
|
|
|
|
2013-07-26 15:29:40 -07:00
|
|
|
|
2013-01-18 15:12:18 +05:30
|
|
|
|
2023-08-12 18:23:59 -07:00
|
|
|
|
|
|
|
|
|
ARCv2: Support for ARCv2 ISA and HS38x cores
The notable features are:
- SMP configurations of upto 4 cores with coherency
- Optional L2 Cache and IO-Coherency
- Revised Interrupt Architecture (multiple priorites, reg banks,
auto stack switch, auto regfile save/restore)
- MMUv4 (PIPT dcache, Huge Pages)
- Instructions for
* 64bit load/store: LDD, STD
* Hardware assisted divide/remainder: DIV, REM
* Function prologue/epilogue: ENTER_S, LEAVE_S
* IRQ enable/disable: CLRI, SETI
* pop count: FFS, FLS
* SETcc, BMSKN, XBFU...
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-05-13 18:30:41 +05:30
|
|
|
|
2015-02-21 15:09:32 +05:30
|
|
|
|
ARCv2: Support for ARCv2 ISA and HS38x cores
The notable features are:
- SMP configurations of upto 4 cores with coherency
- Optional L2 Cache and IO-Coherency
- Revised Interrupt Architecture (multiple priorites, reg banks,
auto stack switch, auto regfile save/restore)
- MMUv4 (PIPT dcache, Huge Pages)
- Instructions for
* 64bit load/store: LDD, STD
* Hardware assisted divide/remainder: DIV, REM
* Function prologue/epilogue: ENTER_S, LEAVE_S
* IRQ enable/disable: CLRI, SETI
* pop count: FFS, FLS
* SETcc, BMSKN, XBFU...
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-05-13 18:30:41 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-02-21 15:09:32 +05:30
|
|
|
|
2020-05-12 22:18:08 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-01-18 15:12:18 +05:30
|
|
|
|
2020-05-21 13:33:24 -07:00
|
|
|
|
2013-01-18 15:12:18 +05:30
|
|
|
|
|
|
|
|
|
2020-05-12 22:18:08 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-01-18 15:12:19 +05:30
|
|
|
|
2020-05-21 13:33:24 -07:00
|
|
|
|
2020-05-12 22:18:08 -07:00
|
|
|
|
2013-01-18 15:12:19 +05:30
|
|
|
|
2020-05-12 22:18:08 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-05-21 13:33:24 -07:00
|
|
|
|
2020-05-12 22:18:08 -07:00
|
|
|
|
ARCv2: STAR 9000808988: signals involving Delay Slot
Reported by Anton as LTP:munmap01 failing with Illegal Instruction
Exception.
--------------------->8--------------------------------------
mmap2(NULL, 24576, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0) = 0x200d2000
munmap(0x200d2000, 24576) = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x200d2000}
---
potentially unexpected fatal signal 4.
Path: /munmap01
CPU: 0 PID: 61 Comm: munmap01 Not tainted 3.13.0-g5d5c46d9a556 #8
task: 9f1a8000 ti: 9f154000 task.ti: 9f154000
[ECR ]: 0x00020100 => Illegal Insn
[EFA ]: 0x0001354c
[BLINK ]: 0x200515d4
[ERET ]: 0x1354c
@off 0x1354c in [/munmap01]
VMA: 0x00010000 to 0x00018000
[STAT32]: 0x800802c0
...
--------------------->8--------------------------------------
The issue was
1. munmap01 accessed unmapped memory (on purpose) with signal handler
installed for SIGSEGV
2. The faulting instruction happened to be in Delay Slot
00011864 <main>:
11908: bl.d 13284 <tst_resm>
1190c: stb r16,[r2]
3. kernel sets up the reg file for signal handler and correctly clears
the DE bit in pt_regs->status32 placeholder
4. However RESTORE_CALLEE_SAVED_USER macro is not adjusted for ARCv2,
and it over-writes the above with orig/stale value of status32
5. After RTIE, userspace signal handler executes a non branch
instruction with DE bit set, triggering Illegal Instruction Exception.
Reported-by: Anton Kolesov <akolesov@synopsys.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2014-10-07 14:12:13 +05:30
|
|
|
|
2020-05-12 22:18:08 -07:00
|
|
|
|
2020-05-21 13:33:24 -07:00
|
|
|
|
2013-01-18 15:12:19 +05:30
|
|
|
|
|
|
|
|
|
2013-01-18 15:12:18 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-05-27 21:43:41 +05:30
|
|
|
|
2013-01-18 15:12:18 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-03-29 17:14:32 -05:00
|
|
|
|
2013-01-18 15:12:18 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-05-28 09:34:45 +05:30
|
|
|
|
2013-01-18 15:12:18 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-01-18 15:12:23 +05:30
|
|
|
|
|
|
|
|
|
2020-05-12 22:18:08 -07:00
|
|
|
|
2013-01-18 15:12:23 +05:30
|
|
|
|
2020-05-12 22:18:08 -07:00
|
|
|
|
|
|
|
|
|
2013-01-18 15:12:23 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-05-12 22:18:08 -07:00
|
|
|
|
2013-01-18 15:12:23 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-01-18 15:12:18 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-02-11 19:52:57 +05:30
|
|
|
|
2020-05-12 22:18:08 -07:00
|
|
|
|
2013-02-11 19:52:57 +05:30
|
|
|
|
2013-01-18 15:12:18 +05:30
|
|
|
|
|
|
|
|
|
2013-01-18 15:12:23 +05:30
|
|
|
|
|
|
|
|
|
2020-05-12 22:18:08 -07:00
|
|
|
|
2013-01-18 15:12:18 +05:30
|
|
|
|
2020-05-12 22:18:08 -07:00
|
|
|
|
2013-01-18 15:12:18 +05:30
|
|
|
|
2013-02-11 19:52:57 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-05-12 22:18:08 -07:00
|
|
|
|
2013-02-11 19:52:57 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-01-18 15:12:18 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-02-11 19:52:57 +05:30
|
|
|
|
|
|
|
|
|
2023-08-12 18:23:59 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-01-18 15:12:18 +05:30
|
|
|
|