Build CRC calc/static block decode tables when needed to fix netboot
authorkn <kn@openbsd.org>
Thu, 6 Oct 2022 23:32:17 +0000 (23:32 +0000)
committerkn <kn@openbsd.org>
Thu, 6 Oct 2022 23:32:17 +0000 (23:32 +0000)
commit5ed81ac7e9f0faa04997bd378b2af6c51909bfa3
tree93e16f8d592b037f549bae2fdfc4400f5eaf82fe
parentba760a4075341dadc8067f0f79ff7950a4d86688
Build CRC calc/static block decode tables when needed to fix netboot

The last libz update broke sparc64's ofwboot.net on at least T4-2 machines
running OpenBoot 4.38.16 as bootblocks grew too big for OBP to load:

# size ofwboot.net.*
60684   596     2472    63752   f908    ofwboot.net.71
71340   596     2472    74408   122a8   ofwboot.net.snap

{0} ok boot net
Boot device: /virtual-devices@100/channel-devices@200/network@0  File and args:
TFTP: Transfer timed out

As suggested by tb, adapt b7dd453d18bbd69c3a22e9c7e44e83163348942a to make
OBP load and execute ofwboot.net over TFTP again on at least T4-2 and T5220
where ofwboot off disk keeps loading and both bootblocks boot plain and
gzipped kernels before.

Overall size is now smaller that 7.1 release:
-current
71340   596     2472    74408   122a8   ofwboot.net/obj/ofwboot.net
119580  532     2512    122624  1df00   ofwboot/obj/ofwboot
71140   532     2472    74144   121a0   ofwbootfd/obj/ofwbootfd
-current with -DDYNAMIC_CRC_TABLE -DBUILDFIXED
59788   608     15040   75436   126ac   ofwboot.net/obj/ofwboot.net
108028  544     15080   123652  1e304   ofwboot/obj/ofwboot
59588   544     15040   75172   125a4   ofwbootfd/obj/ofwbootfd

happy kettenis
OK tb
sys/arch/sparc64/stand/libz/Makefile