CVSROOT: /cvs Module name: src Changes by: js...@cvs.openbsd.org 2016/09/18 09:13:10
Modified files: sys/arch/i386/stand/libsa: biosdev.c sys/arch/amd64/stand/libsa: biosdev.c Log message: Fix a bug in the bounce buffer handling of BIOS disk I/O. Currently, if a buffer crosses a 64KB boundary, a bounce buffer is allocated, however it is assumed that this new buffer does not cross the 64KB boundary. In the case of i386 fdboot, it just so happens that (due to the size of fdboot and heap allocations) UFS gets allocated a 4KB buffer that crosses a 64KB boundary, then biosd_io() allocates a bounce buffer, which also crosses a 64KB boundary. At this point the BIOS gets grumpy and refuses to read from the disk. Further clean up to come from tom@.