2019-06-04 10:11:33 +02:00
|
|
|
|
ARC: Fundamental ARCH data-types/defines
* L1_CACHE_SHIFT
* PAGE_SIZE, PAGE_OFFSET
* struct pt_regs, struct user_regs_struct
* struct thread_struct, cpu_relax(), task_pt_regs(), start_thread(), ...
* struct thread_info, THREAD_SIZE, INIT_THREAD_INFO(), TIF_*, ...
* BUG()
* ELF_*
* Elf_*
To disallow user-space visibility into some of the core kernel data-types
such as struct pt_regs, #ifdef __KERNEL__ which also makes the UAPI header
spit (further patch in the series) to NOT export it to asm/uapi/ptrace.h
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Cc: Jonas Bonn <jonas.bonn@gmail.com>
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2013-01-18 15:12:17 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-09-05 13:17:49 +05:30
|
|
|
|
2013-01-18 15:12:19 +05:30
|
|
|
|
2013-05-14 13:28:17 +05:30
|
|
|
|
2014-09-19 01:28:24 +05:30
|
|
|
|
2013-05-14 13:28:17 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-03-14 08:09:36 +01:00
|
|
|
|
2013-01-18 15:12:19 +05:30
|
|
|
|
2019-11-08 19:20:22 +03:00
|
|
|
|
|
|
|
|
|
2013-01-18 15:12:19 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-18 17:31:24 +03:00
|
|
|
|
2018-07-26 16:15:43 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-01-18 15:12:19 +05:30
|
|
|
|
2019-02-08 13:55:19 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-10-13 15:58:59 -07:00
|
|
|
|
2016-08-26 15:41:29 -07:00
|
|
|
|
2015-05-25 19:54:28 +03:00
|
|
|
|
2025-03-14 08:09:36 +01:00
|
|
|
|
2013-01-18 15:12:19 +05:30
|
|
|
|
2014-03-07 18:08:11 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-08-29 10:55:15 +05:30
|
|
|
|
|
|
|
|
|
2014-03-07 18:08:11 +05:30
|
|
|
|
|
|
|
|
|
2015-02-06 18:44:57 +03:00
|
|
|
|
2014-03-07 18:08:11 +05:30
|
|
|
|
|
|
|
|
|
2016-06-22 16:01:19 +05:30
|
|
|
|
2014-03-07 18:08:11 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-08-29 10:55:15 +05:30
|
|
|
|
|
|
|
|
|
2014-03-07 18:08:11 +05:30
|
|
|
|
2015-02-06 18:44:57 +03:00
|
|
|
|
2014-03-07 18:08:11 +05:30
|
|
|
|
|
|
|
|
|
2016-06-22 16:01:19 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-08-29 10:55:15 +05:30
|
|
|
|
ARCv2: mm: micro-optimize region flush generated code
DC_CTRL.RGN_OP is 3 bits wide, however only 1 bit is used in current
programming model (0: flush, 1: invalidate)
The current code targetting 3 bits leads to additional 8 byte AND
operation which can be elided given that only 1 bit is ever set by
software and/or looked at by hardware
before
------
| 80b63324 <__dma_cache_wback_inv_l1>:
| 80b63324: clri r3
| 80b63328: lr r2,[dc_ctrl]
| 80b6332c: and r2,r2,0xfffff1ff <--- 8 bytes insn
| 80b63334: or r2,r2,576
| 80b63338: sr r2,[dc_ctrl]
| ...
| ...
| 80b63360 <__dma_cache_inv_l1>:
| 80b63360: clri r3
| 80b63364: lr r2,[dc_ctrl]
| 80b63368: and r2,r2,0xfffff1ff <--- 8 bytes insn
| 80b63370: bset_s r2,r2,0x9
| 80b63372: sr r2,[dc_ctrl]
| ...
| ...
| 80b6338c <__dma_cache_wback_l1>:
| 80b6338c: clri r3
| 80b63390: lr r2,[dc_ctrl]
| 80b63394: and r2,r2,0xfffff1ff <--- 8 bytes insn
| 80b6339c: sr r2,[dc_ctrl]
after (AND elided totally in 2 cases, replaced with 2 byte BCLR in 3rd)
-----
| 80b63324 <__dma_cache_wback_inv_l1>:
| 80b63324: clri r3
| 80b63328: lr r2,[dc_ctrl]
| 80b6332c: or r2,r2,576
| 80b63330: sr r2,[dc_ctrl]
| ...
| ...
| 80b63358 <__dma_cache_inv_l1>:
| 80b63358: clri r3
| 80b6335c: lr r2,[dc_ctrl]
| 80b63360: bset_s r2,r2,0x9
| 80b63362: sr r2,[dc_ctrl]
| ...
| ...
| 80b6337c <__dma_cache_wback_l1>:
| 80b6337c: clri r3
| 80b63380: lr r2,[dc_ctrl]
| 80b63384: bclr_s r2,r2,0x9
| 80b63386: sr r2,[dc_ctrl]
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2017-05-02 16:23:57 -07:00
|
|
|
|
2014-03-07 18:08:11 +05:30
|
|
|
|
2015-04-06 17:23:57 +05:30
|
|
|
|
|
|
|
|
|
2015-04-03 12:37:07 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-08-01 10:23:27 +05:30
|
|
|
|
|
|
|
|
|
2015-04-03 12:37:07 +03:00
|
|
|
|
2017-08-01 12:58:47 +03:00
|
|
|
|
2015-04-03 12:37:07 +03:00
|
|
|
|
2017-08-01 12:58:47 +03:00
|
|
|
|
2015-04-03 12:37:07 +03:00
|
|
|
|
|
|
|
|
|
2016-06-22 15:43:22 +05:30
|
|
|
|
2015-04-03 12:37:07 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-06 17:23:57 +05:30
|
|
|
|
2015-05-25 19:54:28 +03:00
|
|
|
|
|
|
|
|
|
2018-10-04 16:12:12 +03:00
|
|
|
|
2015-05-25 19:54:28 +03:00
|
|
|
|
2018-10-04 16:12:12 +03:00
|
|
|
|
2015-05-25 19:54:28 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ARC: Fundamental ARCH data-types/defines
* L1_CACHE_SHIFT
* PAGE_SIZE, PAGE_OFFSET
* struct pt_regs, struct user_regs_struct
* struct thread_struct, cpu_relax(), task_pt_regs(), start_thread(), ...
* struct thread_info, THREAD_SIZE, INIT_THREAD_INFO(), TIF_*, ...
* BUG()
* ELF_*
* Elf_*
To disallow user-space visibility into some of the core kernel data-types
such as struct pt_regs, #ifdef __KERNEL__ which also makes the UAPI header
spit (further patch in the series) to NOT export it to asm/uapi/ptrace.h
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Cc: Jonas Bonn <jonas.bonn@gmail.com>
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2013-01-18 15:12:17 +05:30
|
|
|
|