> On Jul 2, 2024, at 1:01 AM, Hiroki Sato <h...@freebsd.org> wrote: > > Hi, > > Zhenlei Huang <z...@freebsd.org> wrote > in <6b9a293f-18cf-4fb2-b095-bc468354b...@freebsd.org>: > > zl> I'm recently working on cleaning up malloc(M_WAITOK), and found that the > sys/dev/usb > zl> stack is also used by bootloader. Currently stand/usb fails to compile ( > since the > zl> commit 9e4e7bcaef3f 2022/8/23 ) and I have some WIP patches. I do not > find a good > zl> page about its usage. How can I test stand/usb ? Or it has no usage any > more and should > zl> be retired ? > > The stand/usb directory is used to build the libusbboot.a library > containing the devsw for umass(4). The following patch (against a bit > old tree) should fix the build errors at least: > > https://people.allbsd.org/~hrs/FreeBSD/kshim-fix.20240702-1.diff > > To compile a loader with libusbboot.a, you need to build a > libusbboot.a with some flags first and link it with a loader. On the > loader side, you need to edit conf.c and Makefile. The above patch > includes changes for i386/loader, and the following command lines > should build both (MK_LOADER_ZFS=no because libusbboot.a is too > large): > > # cd /usr/src/stand/usb/tools && make && make install > % cd /usr/src/stand/usb && \ > make obj && \ > make -DHAVE_UMASS_LOADER -DHAVE_EHCI depend && \ > make -DHAVE_UMASS_LOADER -DHAVE_EHCI > % cd /usr/src/stand/i386/loader && \ > make obj && \ > make MK_LOADER_ZFS=no depend && \ > make MK_LOADER_ZFS=no > # cd /usr/src/stand/i386/loader && \ > make MK_LOADER_ZFS=no DESTDIR=/tmp install > > and you should be able to find a legacy BIOS loader in > /tmp/boot/loader. I did not test whether the build result works > actually, though. Note that the first command builds "sysinit" tool > and installs it into /usr/bin. You can remove it after testing. > > Also note that the kernel source files used by ones under usb/ will > use a different malloc implementation defined in > kshim/bsd_kernel.[ch]. So, malloc(9) flags are simply ignored. If > your work intends to check if rewriting of malloc(M_WAITOK) works or > not, I think you can consider it does not affect the loaders using the > libusbboot library.
Thanks for the detailed instructions. I'll try that. > > Although the files under kshim/ and usb/ are not maintained well, I > personally think they are still worth keeping. > > -- Hiroki
signature.asc
Description: Message signed with OpenPGP