mirror of
https://github.com/genodelabs/genode.git
synced 2025-01-28 23:23:56 +00:00
b529b1eac6
Instead of directly process URBs whenever a USBPacket arrives from the Qemu ported XHCI layer, send a local signal to the I/O handler, which will process the requests after leaving certain sensible code pathes like usb_packet_complete. Otherwise, it might happen that a packet, which was still marked as being queued gets already completed, which leads to an assertion and hang of the library. Fix genodelabs/genode#5389
This directory contains ports of 3rd-party libraries to Genode. Usage ----- The tool './tool/ports/prepare_port' in the toplevel directory automates the task of downloading and preparing the 3rd-party source codes. One can select individual ports that have to be prepared by specifying their base names (without the version number) as command-line argument. For example, the following command prepares both the C library and the Freetype library: ! ./tool/ports/prepare_port libc freetype To compile and link against 3rd-party libraries of the 'libports' repository, you have to include the repository into the build process by appending it to the 'REPOSITORIES' declaration of your '<build-dir>/etc/build.conf' file. Under the hood -------------- For each library, there is a file contained in the 'libports/ports/' subdirectory. The file is named after the library and contains the library-specific rules for downloading the source code and installing header files. How does 'libports' relate to the other repositories? ----------------------------------------------------- Most libraries hosted in the 'libports' repository expect a complete C library, which is provided via the 'libc' port. The libc, in turn, depends on the 'os' repository for its back end.