Repository navigation
feat(libSceUsbd): add the transfer fill helpers and the synchronous bulk and interrupt transfers - #3875
feat(libSceUsbd): add the transfer fill helpers and the synchronous bulk and interrupt transfers#3875semirkabir wants to merge 3 commits into
Conversation
Progress report (a11c8f7 → e91ec2b)📈 System libraries: 86.41% (+0.6%, +29 implemented functions) ✅ 29 implemented
|
|
The conflict against #1835 is textual only: both PRs append different submodule blocks to the same tail of |
adriadam10
left a comment
There was a problem hiding this comment.
#3848 is merged now, but with different commits than the first commit of this branch (6073ac556): main has 98d594c9c plus faff4a645 (cancel under the state lock). The branch no longer merges cleanly: core/libs/prx/libSceUsbd/Export.cpp, core/libs/tests/GuestUsbd.cpp and docs/dev/TechnicalDebt.md conflict.
- Please rebase onto current
mainand drop6073ac556, so the PR contains only the transfer-helpers commit and the diff shows only that change. - Re-run
guest_usbdafter the rebase (the merged base changed the cancel path and the test file), and keep the TechnicalDebt line consistent with the version now on main.
I'll review the code once the diff is just this commit.
|
Closing: no title is known to reach this. With the queue at 700+ open PRs, please hold off on new PRs that don't name a title needing the change until it's down. If a title stops on this on current main, reopen with the title ID and the log line. |
What
Adds the transfer helpers FreeType titles allocate and fill through, following libusb10_io.c field for field:
sceUsbdFillBulkTransfer,sceUsbdFillIsoTransferandsceUsbdFillControlTransfer, andsceUsbdFillControlSetupwith the little-endian setup bytes.sceUsbdControlTransferGetDataandsceUsbdControlTransferGetSetup.sceUsbdSetIsoPacketLengthsandsceUsbdGetIsoPacketBuffer, whose offsets sum the earlier packet lengths.sceUsbdBulkTransferandsceUsbdInterruptTransfer, passing through to libusb's synchronous calls; a null transferred output throws, which FreeBSD writes to.Stacked on #3848; until that merges the diff shows both commits.
Tested
guest_usbd devicewithAPS5_USBD_DEVICE=3537:100fnow does the control request through the new fill helpers and completes a synchronous interrupt read on endpoint 0x81 (15-byte input report) and an asynchronous one through the event loop.guest_usbdrun passes, andcheck_conventions.pypasses.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt.mdfiles or images added to the repository (attach them to this PR)