aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/um/Makefile2
-rw-r--r--arch/um/kernel/skas/util/Makefile1
-rw-r--r--arch/um/kernel/skas/util/mk_ptregs-i386.c46
-rw-r--r--arch/um/kernel/skas/util/mk_ptregs-x86_64.c60
4 files changed, 53 insertions, 56 deletions
diff --git a/arch/um/Makefile b/arch/um/Makefile
index e3465dab57fd..46a332f96e3c 100644
--- a/arch/um/Makefile
+++ b/arch/um/Makefile
@@ -196,7 +196,7 @@ $(ARCH_DIR)/kernel/skas/util/mk_ptregs: $(ARCH_DIR)/kernel/skas/util FORCE ;
$(ARCH_DIR)/util: scripts_basic $(SYS_DIR)/sc.h FORCE
$(Q)$(MAKE) $(build)=$@
-$(ARCH_DIR)/kernel/skas/util: scripts_basic FORCE
+$(ARCH_DIR)/kernel/skas/util: scripts_basic $(ARCH_DIR)/user-offsets.h FORCE
$(Q)$(MAKE) $(build)=$@
$(ARCH_DIR)/os-$(OS)/util: scripts_basic FORCE
diff --git a/arch/um/kernel/skas/util/Makefile b/arch/um/kernel/skas/util/Makefile
index 17f5909d60f7..f7b7eba83340 100644
--- a/arch/um/kernel/skas/util/Makefile
+++ b/arch/um/kernel/skas/util/Makefile
@@ -2,3 +2,4 @@ hostprogs-y := mk_ptregs
always := $(hostprogs-y)
mk_ptregs-objs := mk_ptregs-$(SUBARCH).o
+HOSTCFLAGS_mk_ptregs-$(SUBARCH).o := -I$(objtree)/arch/um
diff --git a/arch/um/kernel/skas/util/mk_ptregs-i386.c b/arch/um/kernel/skas/util/mk_ptregs-i386.c
index 0788dd05bcac..1f96e1eeb8a7 100644
--- a/arch/um/kernel/skas/util/mk_ptregs-i386.c
+++ b/arch/um/kernel/skas/util/mk_ptregs-i386.c
@@ -1,8 +1,7 @@
#include <stdio.h>
-#include <asm/ptrace.h>
-#include <asm/user.h>
+#include <user-offsets.h>
-#define PRINT_REG(name, val) printf("#define HOST_%s %d\n", (name), (val))
+#define SHOW(name) printf("#define %s %d\n", #name, name)
int main(int argc, char **argv)
{
@@ -12,28 +11,27 @@ int main(int argc, char **argv)
printf("#ifndef __SKAS_PT_REGS_\n");
printf("#define __SKAS_PT_REGS_\n");
printf("\n");
- printf("#define HOST_FRAME_SIZE %d\n", FRAME_SIZE);
- printf("#define HOST_FP_SIZE %d\n",
- sizeof(struct user_i387_struct) / sizeof(unsigned long));
- printf("#define HOST_XFP_SIZE %d\n",
- sizeof(struct user_fxsr_struct) / sizeof(unsigned long));
+ SHOW(HOST_FRAME_SIZE);
+ SHOW(HOST_FP_SIZE);
+ SHOW(HOST_XFP_SIZE);
+
+ SHOW(HOST_IP);
+ SHOW(HOST_SP);
+ SHOW(HOST_EFLAGS);
+ SHOW(HOST_EAX);
+ SHOW(HOST_EBX);
+ SHOW(HOST_ECX);
+ SHOW(HOST_EDX);
+ SHOW(HOST_ESI);
+ SHOW(HOST_EDI);
+ SHOW(HOST_EBP);
+ SHOW(HOST_CS);
+ SHOW(HOST_SS);
+ SHOW(HOST_DS);
+ SHOW(HOST_FS);
+ SHOW(HOST_ES);
+ SHOW(HOST_GS);
- PRINT_REG("IP", EIP);
- PRINT_REG("SP", UESP);
- PRINT_REG("EFLAGS", EFL);
- PRINT_REG("EAX", EAX);
- PRINT_REG("EBX", EBX);
- PRINT_REG("ECX", ECX);
- PRINT_REG("EDX", EDX);
- PRINT_REG("ESI", ESI);
- PRINT_REG("EDI", EDI);
- PRINT_REG("EBP", EBP);
- PRINT_REG("CS", CS);
- PRINT_REG("SS", SS);
- PRINT_REG("DS", DS);
- PRINT_REG("FS", FS);
- PRINT_REG("ES", ES);
- PRINT_REG("GS", GS);
printf("\n");
printf("#endif\n");
return(0);
diff --git a/arch/um/kernel/skas/util/mk_ptregs-x86_64.c b/arch/um/kernel/skas/util/mk_ptregs-x86_64.c
index 67aee92a70ef..5fccbfe35f78 100644
--- a/arch/um/kernel/skas/util/mk_ptregs-x86_64.c
+++ b/arch/um/kernel/skas/util/mk_ptregs-x86_64.c
@@ -5,11 +5,10 @@
*/
#include <stdio.h>
-#define __FRAME_OFFSETS
-#include <asm/ptrace.h>
+#include <user-offsets.h>
-#define PRINT_REG(name, val) \
- printf("#define HOST_%s (%d / sizeof(unsigned long))\n", (name), (val))
+#define SHOW(name) \
+ printf("#define %s (%d / sizeof(unsigned long))\n", #name, name)
int main(int argc, char **argv)
{
@@ -18,36 +17,35 @@ int main(int argc, char **argv)
printf("\n");
printf("#ifndef __SKAS_PT_REGS_\n");
printf("#define __SKAS_PT_REGS_\n");
- printf("#define HOST_FRAME_SIZE (%d / sizeof(unsigned long))\n",
- FRAME_SIZE);
- PRINT_REG("RBX", RBX);
- PRINT_REG("RCX", RCX);
- PRINT_REG("RDI", RDI);
- PRINT_REG("RSI", RSI);
- PRINT_REG("RDX", RDX);
- PRINT_REG("RBP", RBP);
- PRINT_REG("RAX", RAX);
- PRINT_REG("R8", R8);
- PRINT_REG("R9", R9);
- PRINT_REG("R10", R10);
- PRINT_REG("R11", R11);
- PRINT_REG("R12", R12);
- PRINT_REG("R13", R13);
- PRINT_REG("R14", R14);
- PRINT_REG("R15", R15);
- PRINT_REG("ORIG_RAX", ORIG_RAX);
- PRINT_REG("CS", CS);
- PRINT_REG("SS", SS);
- PRINT_REG("EFLAGS", EFLAGS);
+ SHOW(HOST_FRAME_SIZE);
+ SHOW(HOST_RBX);
+ SHOW(HOST_RCX);
+ SHOW(HOST_RDI);
+ SHOW(HOST_RSI);
+ SHOW(HOST_RDX);
+ SHOW(HOST_RBP);
+ SHOW(HOST_RAX);
+ SHOW(HOST_R8);
+ SHOW(HOST_R9);
+ SHOW(HOST_R10);
+ SHOW(HOST_R11);
+ SHOW(HOST_R12);
+ SHOW(HOST_R13);
+ SHOW(HOST_R14);
+ SHOW(HOST_R15);
+ SHOW(HOST_ORIG_RAX);
+ SHOW(HOST_CS);
+ SHOW(HOST_SS);
+ SHOW(HOST_EFLAGS);
#if 0
- PRINT_REG("FS", FS);
- PRINT_REG("GS", GS);
- PRINT_REG("DS", DS);
- PRINT_REG("ES", ES);
+ SHOW(HOST_FS);
+ SHOW(HOST_GS);
+ SHOW(HOST_DS);
+ SHOW(HOST_ES);
#endif
- PRINT_REG("IP", RIP);
- PRINT_REG("SP", RSP);
+ SHOW(HOST_IP);
+ SHOW(HOST_SP);
printf("#define HOST_FP_SIZE 0\n");
printf("#define HOST_XFP_SIZE 0\n");
printf("\n");