linux.h (30c6d982190482857883fc96eefafcc6fd769fa0) | linux.h (ba279bcd6d75aa236bcb9ccf11aeb6f51a2f8514) |
---|---|
1/*- 2 * SPDX-License-Identifier: BSD-2-Clause-FreeBSD 3 * 4 * Copyright (c) 1994-1996 Søren Schmidt 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 390 unchanged lines hidden (view full) --- 399 struct l_fpxreg _fxsr_st[8]; /* reg data is ignored. */ 400 struct l_xmmreg _xmm[8]; 401 u_int32_t padding[56]; 402}; 403 404/* 405 * We make the stack look like Linux expects it when calling a signal 406 * handler, but use the BSD way of calling the handler and sigreturn(). | 1/*- 2 * SPDX-License-Identifier: BSD-2-Clause-FreeBSD 3 * 4 * Copyright (c) 1994-1996 Søren Schmidt 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 390 unchanged lines hidden (view full) --- 399 struct l_fpxreg _fxsr_st[8]; /* reg data is ignored. */ 400 struct l_xmmreg _xmm[8]; 401 u_int32_t padding[56]; 402}; 403 404/* 405 * We make the stack look like Linux expects it when calling a signal 406 * handler, but use the BSD way of calling the handler and sigreturn(). |
407 * This means that we need to pass the pointer to the handler too. 408 * It is appended to the frame to not interfere with the rest of it. | |
409 */ 410struct l_sigframe { 411 l_int sf_sig; 412 struct l_sigcontext sf_sc; 413 struct l_fpstate sf_fpstate; 414 l_uint sf_extramask[LINUX_NSIG_WORDS-1]; | 407 */ 408struct l_sigframe { 409 l_int sf_sig; 410 struct l_sigcontext sf_sc; 411 struct l_fpstate sf_fpstate; 412 l_uint sf_extramask[LINUX_NSIG_WORDS-1]; |
415 l_handler_t sf_handler; | |
416}; 417 418struct l_rt_sigframe { 419 l_int sf_sig; 420 l_siginfo_t *sf_siginfo; 421 struct l_ucontext *sf_ucontext; 422 l_siginfo_t sf_si; 423 struct l_ucontext sf_sc; | 413}; 414 415struct l_rt_sigframe { 416 l_int sf_sig; 417 l_siginfo_t *sf_siginfo; 418 struct l_ucontext *sf_ucontext; 419 l_siginfo_t sf_si; 420 struct l_ucontext sf_sc; |
424 l_handler_t sf_handler; | |
425}; 426 427extern struct sysentvec linux_sysvec; 428 429/* 430 * arch specific open/fcntl flags 431 */ 432#define LINUX_F_GETLK64 12 --- 139 unchanged lines hidden --- | 421}; 422 423extern struct sysentvec linux_sysvec; 424 425/* 426 * arch specific open/fcntl flags 427 */ 428#define LINUX_F_GETLK64 12 --- 139 unchanged lines hidden --- |