forked from mirrors/linux
		
	 8c60969856
			
		
	
	
		8c60969856
		
	
	
	
	
		
			
			Most of the commits are for defconfig changes, to enable newly added
 drivers or features that people have started using. For the changed
 lines lines, we have mostly cleanups, the affected platforms are
 OMAP, Versatile, EP93xx, Samsung, Broadcom, i.MX, and Actions.
 
 The largest single change is the introduction of the TI "sysc" bus
 driver, with the intention of cleaning up more legacy code.
 
 Two new SoC platforms get added this time:
 - Allwinner R40 is a modernized version of the A20 chip, now
   with a Quad-Core ARM Cortex-A7. According to the manufacturer,
   it is intended for "Smart Hardware"
 - Broadcom Hurricane 2 (Aka Strataconnect BCM5334X) is a family
   of chips meant for managed gigabit ethernet switches, based
   around a Cortex-A9 CPU.
 
 Finally, we gain SMP support for two platforms: Renesas R-Car E2
 and Amlogic Meson8/8b, which were previously added but only supported
 uniprocessor operation.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJaDgf/AAoJEGCrR//JCVIntcMQAKI2q0Dr2giWtKSoH9GDh5co
 137MamTj1YExIcmtbDVO22jV4WSKhIduo+rRBYmQ/uvrkUe9tf7I172JeAIzMzGf
 HGYJ6fxpaEMUAbUlNcjuXJc7jQXNKLBK2X9CMuwXX3X3HddxKkL38D1d/Mxv5RGu
 G1pEe0j734Qio9LpACnb0xnluwyUBJOYNwo7Agj5RWzOrXZ+TdwkiIW0JdQiG7Z5
 wabzDa7OW1maB+hVYMAM3wHcqO7DKEvGvjYLRoT12cnOLXq7BNbXqXFufuMUNmNE
 ABhWA1h9SYrXT3n5pQLwoonvvTsI7KXCefrZ0wuxbjrdD4yGW1gmgpRee9RfoggD
 A6/62wpmSS61X5QWC6BLEa5v/o5NKewndyWhnjLllgJX8sRUbnPQa/xKv7ngdlN5
 7YL5HWoNpMQv7fEweSc6j5l/F3yRBndn9TpeKiqCiUiNDrIGlZYhYKIcr9rGESFk
 pu2KgK+e9+1k7F4s7LotsA65Q5bZIMveyyVtx0XHXz1G4O8NksoQCLJ3wcqQ2pzI
 WpyOO5R1CNltPhKGC7EP3OZcIMlCtCnsNcedb/AGHgPS+ert2UxBnlSeSMBQlLZY
 4fDwEAlA1qx9PuG9N3xrK/gAFiFLafK2sNxtVc7NSmXkkdm3xgJ95Y9sa72Y2qNO
 rU2LL8SM7cOwhXHrlEFB
 =jlJ2
 -----END PGP SIGNATURE-----
Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC platform updates from Arnd Bergmann:
 "Most of the commits are for defconfig changes, to enable newly added
  drivers or features that people have started using. For the changed
  lines lines, we have mostly cleanups, the affected platforms are OMAP,
  Versatile, EP93xx, Samsung, Broadcom, i.MX, and Actions.
  The largest single change is the introduction of the TI "sysc" bus
  driver, with the intention of cleaning up more legacy code.
  Two new SoC platforms get added this time:
   - Allwinner R40 is a modernized version of the A20 chip, now with a
     Quad-Core ARM Cortex-A7. According to the manufacturer, it is
     intended for "Smart Hardware"
   - Broadcom Hurricane 2 (Aka Strataconnect BCM5334X) is a family of
     chips meant for managed gigabit ethernet switches, based around a
     Cortex-A9 CPU.
  Finally, we gain SMP support for two platforms: Renesas R-Car E2 and
  Amlogic Meson8/8b, which were previously added but only supported
  uniprocessor operation"
* tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (118 commits)
  ARM: multi_v7_defconfig: Select RPMSG_VIRTIO as module
  ARM: multi_v7_defconfig: enable CONFIG_GPIO_UNIPHIER
  arm64: defconfig: enable CONFIG_GPIO_UNIPHIER
  ARM: meson: enable MESON_IRQ_GPIO in Kconfig for meson8b
  ARM: meson: Add SMP bringup code for Meson8 and Meson8b
  ARM: smp_scu: allow the platform code to read the SCU CPU status
  ARM: smp_scu: add a helper for powering on a specific CPU
  dt-bindings: Amlogic: Add Meson8 and Meson8b SMP related documentation
  ARM: OMAP3: Delete an unnecessary variable initialisation in omap3xxx_hwmod_init()
  ARM: OMAP3: Use common error handling code in omap3xxx_hwmod_init()
  ARM: defconfig: select the right SX150X driver
  arm64: defconfig: Enable QCOM_IOMMU
  arm64: Add ThunderX drivers to defconfig
  arm64: defconfig: Enable Tegra PCI controller
  cpufreq: imx6q: Move speed grading check to cpufreq driver
  arm64: defconfig: re-enable Qualcomm DB410c USB
  ARM: configs: stm32: Add MDMA support in STM32 defconfig
  ARM: imx: Enable cpuidle for i.MX6DL starting at 1.1
  bus: ti-sysc: Fix unbalanced pm_runtime_enable by adding remove
  bus: ti-sysc: mark PM functions as __maybe_unused
  ...
		
	
			
		
			
				
	
	
		
			163 lines
		
	
	
	
		
			4.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			163 lines
		
	
	
	
		
			4.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
 | |
| /*
 | |
|  *  arch/arm/include/asm/ptrace.h
 | |
|  *
 | |
|  *  Copyright (C) 1996-2003 Russell King
 | |
|  *
 | |
|  * This program is free software; you can redistribute it and/or modify
 | |
|  * it under the terms of the GNU General Public License version 2 as
 | |
|  * published by the Free Software Foundation.
 | |
|  */
 | |
| #ifndef _UAPI__ASM_ARM_PTRACE_H
 | |
| #define _UAPI__ASM_ARM_PTRACE_H
 | |
| 
 | |
| #include <asm/hwcap.h>
 | |
| 
 | |
| #define PTRACE_GETREGS		12
 | |
| #define PTRACE_SETREGS		13
 | |
| #define PTRACE_GETFPREGS	14
 | |
| #define PTRACE_SETFPREGS	15
 | |
| /* PTRACE_ATTACH is 16 */
 | |
| /* PTRACE_DETACH is 17 */
 | |
| #define PTRACE_GETWMMXREGS	18
 | |
| #define PTRACE_SETWMMXREGS	19
 | |
| /* 20 is unused */
 | |
| #define PTRACE_OLDSETOPTIONS	21
 | |
| #define PTRACE_GET_THREAD_AREA	22
 | |
| #define PTRACE_SET_SYSCALL	23
 | |
| /* PTRACE_SYSCALL is 24 */
 | |
| #define PTRACE_GETCRUNCHREGS	25
 | |
| #define PTRACE_SETCRUNCHREGS	26
 | |
| #define PTRACE_GETVFPREGS	27
 | |
| #define PTRACE_SETVFPREGS	28
 | |
| #define PTRACE_GETHBPREGS	29
 | |
| #define PTRACE_SETHBPREGS	30
 | |
| #define PTRACE_GETFDPIC		31
 | |
| 
 | |
| #define PTRACE_GETFDPIC_EXEC	0
 | |
| #define PTRACE_GETFDPIC_INTERP	1
 | |
| 
 | |
| /*
 | |
|  * PSR bits
 | |
|  * Note on V7M there is no mode contained in the PSR
 | |
|  */
 | |
| #define USR26_MODE	0x00000000
 | |
| #define FIQ26_MODE	0x00000001
 | |
| #define IRQ26_MODE	0x00000002
 | |
| #define SVC26_MODE	0x00000003
 | |
| #if defined(__KERNEL__) && defined(CONFIG_CPU_V7M)
 | |
| /*
 | |
|  * Use 0 here to get code right that creates a userspace
 | |
|  * or kernel space thread.
 | |
|  */
 | |
| #define USR_MODE	0x00000000
 | |
| #define SVC_MODE	0x00000000
 | |
| #else
 | |
| #define USR_MODE	0x00000010
 | |
| #define SVC_MODE	0x00000013
 | |
| #endif
 | |
| #define FIQ_MODE	0x00000011
 | |
| #define IRQ_MODE	0x00000012
 | |
| #define MON_MODE	0x00000016
 | |
| #define ABT_MODE	0x00000017
 | |
| #define HYP_MODE	0x0000001a
 | |
| #define UND_MODE	0x0000001b
 | |
| #define SYSTEM_MODE	0x0000001f
 | |
| #define MODE32_BIT	0x00000010
 | |
| #define MODE_MASK	0x0000001f
 | |
| 
 | |
| #define V4_PSR_T_BIT	0x00000020	/* >= V4T, but not V7M */
 | |
| #define V7M_PSR_T_BIT	0x01000000
 | |
| #if defined(__KERNEL__) && defined(CONFIG_CPU_V7M)
 | |
| #define PSR_T_BIT	V7M_PSR_T_BIT
 | |
| #else
 | |
| /* for compatibility */
 | |
| #define PSR_T_BIT	V4_PSR_T_BIT
 | |
| #endif
 | |
| 
 | |
| #define PSR_F_BIT	0x00000040	/* >= V4, but not V7M */
 | |
| #define PSR_I_BIT	0x00000080	/* >= V4, but not V7M */
 | |
| #define PSR_A_BIT	0x00000100	/* >= V6, but not V7M */
 | |
| #define PSR_E_BIT	0x00000200	/* >= V6, but not V7M */
 | |
| #define PSR_J_BIT	0x01000000	/* >= V5J, but not V7M */
 | |
| #define PSR_Q_BIT	0x08000000	/* >= V5E, including V7M */
 | |
| #define PSR_V_BIT	0x10000000
 | |
| #define PSR_C_BIT	0x20000000
 | |
| #define PSR_Z_BIT	0x40000000
 | |
| #define PSR_N_BIT	0x80000000
 | |
| 
 | |
| /*
 | |
|  * Groups of PSR bits
 | |
|  */
 | |
| #define PSR_f		0xff000000	/* Flags		*/
 | |
| #define PSR_s		0x00ff0000	/* Status		*/
 | |
| #define PSR_x		0x0000ff00	/* Extension		*/
 | |
| #define PSR_c		0x000000ff	/* Control		*/
 | |
| 
 | |
| /*
 | |
|  * ARMv7 groups of PSR bits
 | |
|  */
 | |
| #define APSR_MASK	0xf80f0000	/* N, Z, C, V, Q and GE flags */
 | |
| #define PSR_ISET_MASK	0x01000010	/* ISA state (J, T) mask */
 | |
| #define PSR_IT_MASK	0x0600fc00	/* If-Then execution state mask */
 | |
| #define PSR_ENDIAN_MASK	0x00000200	/* Endianness state mask */
 | |
| 
 | |
| /*
 | |
|  * Default endianness state
 | |
|  */
 | |
| #ifdef CONFIG_CPU_ENDIAN_BE8
 | |
| #define PSR_ENDSTATE	PSR_E_BIT
 | |
| #else
 | |
| #define PSR_ENDSTATE	0
 | |
| #endif
 | |
| 
 | |
| /* 
 | |
|  * These are 'magic' values for PTRACE_PEEKUSR that return info about where a
 | |
|  * process is located in memory.
 | |
|  */
 | |
| #define PT_TEXT_ADDR		0x10000
 | |
| #define PT_DATA_ADDR		0x10004
 | |
| #define PT_TEXT_END_ADDR	0x10008
 | |
| 
 | |
| #ifndef __ASSEMBLY__
 | |
| 
 | |
| /*
 | |
|  * This struct defines the way the registers are stored on the
 | |
|  * stack during a system call.  Note that sizeof(struct pt_regs)
 | |
|  * has to be a multiple of 8.
 | |
|  */
 | |
| #ifndef __KERNEL__
 | |
| struct pt_regs {
 | |
| 	long uregs[18];
 | |
| };
 | |
| #endif /* __KERNEL__ */
 | |
| 
 | |
| #define ARM_cpsr	uregs[16]
 | |
| #define ARM_pc		uregs[15]
 | |
| #define ARM_lr		uregs[14]
 | |
| #define ARM_sp		uregs[13]
 | |
| #define ARM_ip		uregs[12]
 | |
| #define ARM_fp		uregs[11]
 | |
| #define ARM_r10		uregs[10]
 | |
| #define ARM_r9		uregs[9]
 | |
| #define ARM_r8		uregs[8]
 | |
| #define ARM_r7		uregs[7]
 | |
| #define ARM_r6		uregs[6]
 | |
| #define ARM_r5		uregs[5]
 | |
| #define ARM_r4		uregs[4]
 | |
| #define ARM_r3		uregs[3]
 | |
| #define ARM_r2		uregs[2]
 | |
| #define ARM_r1		uregs[1]
 | |
| #define ARM_r0		uregs[0]
 | |
| #define ARM_ORIG_r0	uregs[17]
 | |
| 
 | |
| /*
 | |
|  * The size of the user-visible VFP state as seen by PTRACE_GET/SETVFPREGS
 | |
|  * and core dumps.
 | |
|  */
 | |
| #define ARM_VFPREGS_SIZE ( 32 * 8 /*fpregs*/ + 4 /*fpscr*/ )
 | |
| 
 | |
| 
 | |
| #endif /* __ASSEMBLY__ */
 | |
| 
 | |
| #endif /* _UAPI__ASM_ARM_PTRACE_H */
 |