mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-13 01:36:55 +07:00
6f52b16c5b
Many user space API headers are missing licensing information, which makes it hard for compliance tools to determine the correct license. By default are files without license information under the default license of the kernel, which is GPLV2. Marking them GPLV2 would exclude them from being included in non GPLV2 code, which is obviously not intended. The user space API headers fall under the syscall exception which is in the kernels COPYING file: NOTE! This copyright does *not* cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does *not* fall under the heading of "derived work". otherwise syscall usage would not be possible. Update the files which contain no license information with an SPDX license identifier. The chosen identifier is 'GPL-2.0 WITH Linux-syscall-note' which is the officially assigned identifier for the Linux syscall exception. SPDX license identifiers are a legally binding shorthand, which can be used instead of the full boiler plate text. This patch is based on work done by Thomas Gleixner and Kate Stewart and Philippe Ombredanne. See the previous patch in this series for the methodology of how this patch was researched. Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com> Reviewed-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
72 lines
1.7 KiB
C
72 lines
1.7 KiB
C
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
#ifndef _UAPI_ASMAXP_PTRACE_H
|
|
#define _UAPI_ASMAXP_PTRACE_H
|
|
|
|
|
|
/*
|
|
* This struct defines the way the registers are stored on the
|
|
* kernel stack during a system call or other kernel entry
|
|
*
|
|
* NOTE! I want to minimize the overhead of system calls, so this
|
|
* struct has as little information as possible. I does not have
|
|
*
|
|
* - floating point regs: the kernel doesn't change those
|
|
* - r9-15: saved by the C compiler
|
|
*
|
|
* This makes "fork()" and "exec()" a bit more complex, but should
|
|
* give us low system call latency.
|
|
*/
|
|
|
|
struct pt_regs {
|
|
unsigned long r0;
|
|
unsigned long r1;
|
|
unsigned long r2;
|
|
unsigned long r3;
|
|
unsigned long r4;
|
|
unsigned long r5;
|
|
unsigned long r6;
|
|
unsigned long r7;
|
|
unsigned long r8;
|
|
unsigned long r19;
|
|
unsigned long r20;
|
|
unsigned long r21;
|
|
unsigned long r22;
|
|
unsigned long r23;
|
|
unsigned long r24;
|
|
unsigned long r25;
|
|
unsigned long r26;
|
|
unsigned long r27;
|
|
unsigned long r28;
|
|
unsigned long hae;
|
|
/* JRP - These are the values provided to a0-a2 by PALcode */
|
|
unsigned long trap_a0;
|
|
unsigned long trap_a1;
|
|
unsigned long trap_a2;
|
|
/* These are saved by PAL-code: */
|
|
unsigned long ps;
|
|
unsigned long pc;
|
|
unsigned long gp;
|
|
unsigned long r16;
|
|
unsigned long r17;
|
|
unsigned long r18;
|
|
};
|
|
|
|
/*
|
|
* This is the extended stack used by signal handlers and the context
|
|
* switcher: it's pushed after the normal "struct pt_regs".
|
|
*/
|
|
struct switch_stack {
|
|
unsigned long r9;
|
|
unsigned long r10;
|
|
unsigned long r11;
|
|
unsigned long r12;
|
|
unsigned long r13;
|
|
unsigned long r14;
|
|
unsigned long r15;
|
|
unsigned long r26;
|
|
unsigned long fp[32]; /* fp[31] is fpcr */
|
|
};
|
|
|
|
|
|
#endif /* _UAPI_ASMAXP_PTRACE_H */
|