| 
									
										
										
										
											2007-10-11 11:14:19 +02:00
										 |  |  | #include <asm/ia32.h>
 | 
					
						
							| 
									
										
										
										
											2008-12-18 14:46:52 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-11 16:07:41 -08:00
										 |  |  | #define __SYSCALL_64(nr, sym, compat) [nr] = 1,
 | 
					
						
							| 
									
										
										
										
											2012-02-14 14:18:50 -08:00
										 |  |  | #define __SYSCALL_COMMON(nr, sym, compat) [nr] = 1,
 | 
					
						
							| 
									
										
										
										
											2012-02-19 11:08:37 -08:00
										 |  |  | #ifdef CONFIG_X86_X32_ABI
 | 
					
						
							|  |  |  | # define __SYSCALL_X32(nr, sym, compat) [nr] = 1,
 | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | # define __SYSCALL_X32(nr, sym, compat) /* nothing */
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2011-11-11 16:07:41 -08:00
										 |  |  | static char syscalls_64[] = { | 
					
						
							|  |  |  | #include <asm/syscalls_64.h>
 | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | #define __SYSCALL_I386(nr, sym, compat) [nr] = 1,
 | 
					
						
							|  |  |  | static char syscalls_ia32[] = { | 
					
						
							|  |  |  | #include <asm/syscalls_32.h>
 | 
					
						
							| 
									
										
										
										
											2007-10-11 11:14:19 +02:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | int main(void) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2008-01-30 13:33:19 +01:00
										 |  |  | #ifdef CONFIG_PARAVIRT
 | 
					
						
							| 
									
										
										
										
											2008-06-25 00:19:31 -04:00
										 |  |  | 	OFFSET(PV_IRQ_adjust_exception_frame, pv_irq_ops, adjust_exception_frame); | 
					
						
							| 
									
										
										
										
											2008-06-25 00:19:28 -04:00
										 |  |  | 	OFFSET(PV_CPU_usergs_sysret32, pv_cpu_ops, usergs_sysret32); | 
					
						
							|  |  |  | 	OFFSET(PV_CPU_usergs_sysret64, pv_cpu_ops, usergs_sysret64); | 
					
						
							| 
									
										
										
										
											2008-01-30 13:33:19 +01:00
										 |  |  | 	OFFSET(PV_CPU_swapgs, pv_cpu_ops, swapgs); | 
					
						
							| 
									
										
										
										
											2011-02-09 08:24:34 +00:00
										 |  |  | 	BLANK(); | 
					
						
							| 
									
										
										
										
											2008-01-30 13:33:19 +01:00
										 |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-11 11:14:19 +02:00
										 |  |  | #ifdef CONFIG_IA32_EMULATION
 | 
					
						
							| 
									
										
										
										
											2011-02-09 08:24:34 +00:00
										 |  |  | 	OFFSET(TI_sysenter_return, thread_info, sysenter_return); | 
					
						
							|  |  |  | 	BLANK(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define ENTRY(entry) OFFSET(IA32_SIGCONTEXT_ ## entry, sigcontext_ia32, entry)
 | 
					
						
							| 
									
										
										
										
											2008-01-30 13:30:56 +01:00
										 |  |  | 	ENTRY(ax); | 
					
						
							|  |  |  | 	ENTRY(bx); | 
					
						
							|  |  |  | 	ENTRY(cx); | 
					
						
							|  |  |  | 	ENTRY(dx); | 
					
						
							|  |  |  | 	ENTRY(si); | 
					
						
							|  |  |  | 	ENTRY(di); | 
					
						
							|  |  |  | 	ENTRY(bp); | 
					
						
							|  |  |  | 	ENTRY(sp); | 
					
						
							|  |  |  | 	ENTRY(ip); | 
					
						
							| 
									
										
										
										
											2007-10-11 11:14:19 +02:00
										 |  |  | 	BLANK(); | 
					
						
							|  |  |  | #undef ENTRY
 | 
					
						
							| 
									
										
										
										
											2011-02-09 08:24:34 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	OFFSET(IA32_RT_SIGFRAME_sigcontext, rt_sigframe_ia32, uc.uc_mcontext); | 
					
						
							| 
									
										
										
										
											2007-10-11 11:14:19 +02:00
										 |  |  | 	BLANK(); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2011-02-09 08:24:34 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define ENTRY(entry) OFFSET(pt_regs_ ## entry, pt_regs, entry)
 | 
					
						
							| 
									
										
										
										
											2008-01-30 13:30:56 +01:00
										 |  |  | 	ENTRY(bx); | 
					
						
							|  |  |  | 	ENTRY(bx); | 
					
						
							|  |  |  | 	ENTRY(cx); | 
					
						
							|  |  |  | 	ENTRY(dx); | 
					
						
							|  |  |  | 	ENTRY(sp); | 
					
						
							|  |  |  | 	ENTRY(bp); | 
					
						
							|  |  |  | 	ENTRY(si); | 
					
						
							|  |  |  | 	ENTRY(di); | 
					
						
							| 
									
										
										
										
											2007-10-23 22:37:24 +02:00
										 |  |  | 	ENTRY(r8); | 
					
						
							|  |  |  | 	ENTRY(r9); | 
					
						
							|  |  |  | 	ENTRY(r10); | 
					
						
							|  |  |  | 	ENTRY(r11); | 
					
						
							|  |  |  | 	ENTRY(r12); | 
					
						
							|  |  |  | 	ENTRY(r13); | 
					
						
							|  |  |  | 	ENTRY(r14); | 
					
						
							|  |  |  | 	ENTRY(r15); | 
					
						
							| 
									
										
										
										
											2008-01-30 13:30:56 +01:00
										 |  |  | 	ENTRY(flags); | 
					
						
							| 
									
										
										
										
											2007-10-23 22:37:24 +02:00
										 |  |  | 	BLANK(); | 
					
						
							|  |  |  | #undef ENTRY
 | 
					
						
							| 
									
										
										
										
											2011-02-09 08:24:34 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define ENTRY(entry) OFFSET(saved_context_ ## entry, saved_context, entry)
 | 
					
						
							| 
									
										
										
										
											2007-10-23 22:37:24 +02:00
										 |  |  | 	ENTRY(cr0); | 
					
						
							|  |  |  | 	ENTRY(cr2); | 
					
						
							|  |  |  | 	ENTRY(cr3); | 
					
						
							|  |  |  | 	ENTRY(cr4); | 
					
						
							|  |  |  | 	ENTRY(cr8); | 
					
						
							| 
									
										
										
										
											2013-05-01 21:53:30 -04:00
										 |  |  | 	ENTRY(gdt_desc); | 
					
						
							| 
									
										
										
										
											2007-10-23 22:37:24 +02:00
										 |  |  | 	BLANK(); | 
					
						
							|  |  |  | #undef ENTRY
 | 
					
						
							| 
									
										
										
										
											2007-10-26 11:29:04 -06:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-09 08:24:34 +00:00
										 |  |  | 	OFFSET(TSS_ist, tss_struct, x86_tss.ist); | 
					
						
							| 
									
										
										
										
											2007-10-26 11:29:04 -06:00
										 |  |  | 	BLANK(); | 
					
						
							| 
									
										
										
										
											2008-07-08 15:06:44 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-11 16:07:41 -08:00
										 |  |  | 	DEFINE(__NR_syscall_max, sizeof(syscalls_64) - 1); | 
					
						
							|  |  |  | 	DEFINE(NR_syscalls, sizeof(syscalls_64)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	DEFINE(__NR_ia32_syscall_max, sizeof(syscalls_ia32) - 1); | 
					
						
							|  |  |  | 	DEFINE(IA32_NR_syscalls, sizeof(syscalls_ia32)); | 
					
						
							| 
									
										
										
										
											2011-02-09 08:24:34 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-11 11:14:19 +02:00
										 |  |  | 	return 0; | 
					
						
							|  |  |  | } |