In D31251#703653, @trasz wrote:In D31251#703644, @dchagin wrote:I think you should start by adapting arm64 sendsig and sigreturn, and trampoline
That’s precisely what I’ve done, except that I stole the trampoline from Linux. It’s three instructions, and I’d rather not diverge here, to avoid complicating matters for native Linux debuggers or unwinders.
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Feed Advanced Search
Advanced Search
Advanced Search
Jul 20 2021
Jul 20 2021
as sigreturn called only from trampolines so it decl depends on how trampoline call it
I think you should start by adapting arm64 sendsig and sigreturn, and trampoline
followup D31248
followup D31248
dchagin updated the diff for D31237: umtx: Expose some of the pi umtx structures and API to the rest of the kernel..
followup D31248
followup D31248
followup D31248
followup D31248
dchagin updated the diff for D31233: umtx: Expose some of the umtx structures and API to the rest of the kernel..
dchagin added reviewers for D31249: umtx: Expose struct abs_timeout to the rest of the kernel.: kib, markj.
fix futex_wakep, it was a separate commit
dchagin added reviewers for D31239: linux(4): Replace copyin() by fueword32() in handle_futex_death().: kib, markj.
dchagin added reviewers for D31237: umtx: Expose some of the pi umtx structures and API to the rest of the kernel.: kib, markj.
dchagin added reviewers for D31235: umtx: Add umtxq_requeue Linux emulation layer extension.: kib, markj.
dchagin added reviewers for D31233: umtx: Expose some of the umtx structures and API to the rest of the kernel.: kib, markj.
dchagin requested review of D31239: linux(4): Replace copyin() by fueword32() in handle_futex_death()..
dchagin committed rG75cb2382b84d: linux(4): Factor out the futex_wait() op into linux_futex_wait(). (authored by dchagin).
linux(4): Factor out the futex_wait() op into linux_futex_wait().
linux(4): Prevent an endless loop.
linux(4): Eliminate bogus comment.
dchagin committed rGcf8d74e3fe63: linux(4): Allow musl brand to use FUTEX_REQUEUE op. (authored by dchagin).
linux(4): Allow musl brand to use FUTEX_REQUEUE op.
dchagin committed rGbb62a91944fa: linux(4): Factor out the FUTEX_CMP_REQUEUE op into linux_futex_requeue(). (authored by dchagin).
linux(4): Factor out the FUTEX_CMP_REQUEUE op into linux_futex_requeue().
dchagin committed rG4c361d7a5acc: linux(4): Factor out the FUTEX_WAKE_OP op into linux_futex_wakeop(). (authored by dchagin).
linux(4): Factor out the FUTEX_WAKE_OP op into linux_futex_wakeop().
dchagin committed rG19f7e2c2fb44: linux(4): Factor out the FUTEX_WAKE op into linux_futex_wake(). (authored by dchagin).
linux(4): Factor out the FUTEX_WAKE op into linux_futex_wake().
dchagin committed rGf6b0d275eb9e: linux(4): Factor out the FUTEX_WAIT op into linux_futex_wait(). (authored by dchagin).
linux(4): Factor out the FUTEX_WAIT op into linux_futex_wait().
dchagin committed rG1866eef48435: linux(4): Refactor the struct linux_futex_args. (authored by dchagin).
linux(4): Refactor the struct linux_futex_args.
dchagin committed rG1ca6b15bbdce: Drop "All rights reserved" from my copyright statements. (authored by dchagin).
Drop "All rights reserved" from my copyright statements.
dchagin committed rG2b3818633090: Drop rdivacky@ "All rights reserved" from linux_event. (authored by dchagin).
Drop rdivacky@ "All rights reserved" from linux_event.
dchagin committed rGae8330b44868: linux(4): Add arch name to the some printfs. (authored by dchagin).
linux(4): Add arch name to the some printfs.
dchagin committed rGfe7409530c54: linprocfs: Fixup vDSO name in the procmaps after 9931033bbf. (authored by dchagin).
linprocfs: Fixup vDSO name in the procmaps after 9931033bbf.
dchagin committed rG09cffde975b8: linux(4): Fixup the vDSO initialization order. (authored by dchagin).
linux(4): Fixup the vDSO initialization order.
linux(4): Constify vdso install/deinstall.
linux(4); Almost complete the vDSO.
dchagin committed rG5fd9cd53d256: linux(4): Modify sv_onexec hook to return an error. (authored by dchagin).
linux(4): Modify sv_onexec hook to return an error.
dchagin committed rG62ba4cd34067: Call sv_onexec hook after the process VA is created. (authored by dchagin).
Call sv_onexec hook after the process VA is created.
Remove bogus cast from exec_sysvec_init().
dchagin committed rG21629e2a4564: Modify exec_sysvec_init() to allow non-native abi to setup their sysentvecs. (authored by dchagin).
Modify exec_sysvec_init() to allow non-native abi to setup their sysentvecs.
dchagin committed rG815165be201e: linux(4): Remove function prototypes from the vDSO. (authored by dchagin).
linux(4): Remove function prototypes from the vDSO.
Jul 7 2021
Jul 7 2021
In D30900#695338, @dchagin wrote:'all rights' removed, adapted to the previous changes
AFAIR, this is used on amd64 only
Jul 6 2021
Jul 6 2021
dchagin added a comment to D30987: Only handle robust mutexes and sigfastblock on exec and exit for native FreeBSD ABIs.
In D30987#698633, @kib wrote:In D30987#698526, @markj wrote:In D30987#698405, @kib wrote:In D30987#698336, @markj wrote:Looks ok, but why? Now in the native case we converted direct function calls to an indirect call, but umtx and sigfastblock already do nothing in the !native case.
It was requested by dchagin. Obvious but vague reason is to not call freebsd-abi specific methods on other ABIs. But my guess is that linuxolator would get robust mutexes rework that might reuse parts of native code, including the structures pointed from struct thread. Then calling freebsd-native directly would be problematic.
It makes some sense to hide sigfastblock this way, but umtx is not really tied to any particular ABI as I understand it. So it feels to me that the umtx code should internally handle any extensions required to support the futex implementation. Probably I'm just quibbling.
IMO umtx is very FreeBSD-specific. But I wonder what Dmitry would end up with.
Jul 5 2021
Jul 5 2021
hi, how was it tested? also, could you please resend a patch with full context?
dchagin accepted D30987: Only handle robust mutexes and sigfastblock on exec and exit for native FreeBSD ABIs.
thanks!
Jul 1 2021
Jul 1 2021
dchagin added a comment to D30987: Only handle robust mutexes and sigfastblock on exec and exit for native FreeBSD ABIs.
it would be nice to eliminate umtx_thread_exit() call from linux_exit().
I'm AFK till monday, went to pick up the boat after repair, so im ok with the proposed change
Jun 29 2021
Jun 29 2021
dchagin committed rG5ca9d4170007: LinuxKPI: Rename a short description of the kmalloc type. (authored by dchagin).
LinuxKPI: Rename a short description of the kmalloc type.
dchagin committed rG1fd26da926d5: LinuxKPI: Put compat code under appropriate condition. (authored by dchagin).
LinuxKPI: Put compat code under appropriate condition.
Eliminate p_elf_machine from struct proc.
dchagin committed rG945accf502db: LinuxKPI: Use the proper API to determine the ABI of the running process. (authored by dchagin).
LinuxKPI: Use the proper API to determine the ABI of the running process.
dchagin committed rG615f22b2fb6d: Add a link to the Elf_Brandinfo into the struc proc. (authored by dchagin).
Add a link to the Elf_Brandinfo into the struc proc.
In D30918#696101, @trasz wrote:Why would we want ABI to do this, though?
Jun 28 2021
Jun 28 2021
In D30927#695793, @emaste wrote:Roll this into D30924?
dchagin added reviewers for D30928: LinuxKPI: Rename a short description of kmalloc type.: • hselasky, markj, kib.
dchagin added reviewers for D30927: LinuxKPI: Put compat code under appropriate condition.: • hselasky, kib.
dchagin added inline comments to D30918: Add a link to the Elf_Brandinfo into the struct sysentvec..