Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys



Module Name:    src
Committed By:   mrg
Date:           Thu May 27 06:54:45 UTC 2021

Modified Files:
        src/sys/lib/libsa: Makefile ffsv1.c ffsv2.c lfsv1.c lfsv2.c ufs.c ufs.h
        src/sys/stand/efiboot: Makefile.efiboot version
Added Files:
        src/sys/lib/libsa: ffs_bswap.c

Log Message:
add bi-endian support to the libsa ufs reader and enable it in efiboot.

ffs frontends to "ufs.c" now also define ufs_dinode_swap, ufs_indp_swap,
and FS_MAGIC (moved from ufs.c #if segments.)  these are used to call
the right (32/64 bit) ffsv1/v2 version.

ufs.c 'struct file' gains f_swapped member.  accessors for d_magic,
d_reclen, and d_ino are introduced (they need to be swapped.)  sfter
reading an inode from disk, read_inode() may call ufs_dinode_swap().
indirect block number and caches may be swapped.

error handling in ffs_find_superblock() is cleaned up.  (size is slightly
reduced on some ports with this part.)

defaults for new defines added to ufs.c.  (XXX: we build ufs.c but i think
all the consumers don't use it, and we can stop building it.)

LFS support is not included.

add a cut-down copy of ffs_bswap.c from the kernel.

also enable bi-endian disklabel support in efiboot.

most ports build and sizes compared for platforms that don't enable this
code and all but one saw reduced code size.  booted several platforms with
new boot code.


To generate a diff of this commit:
cvs rdiff -u -r1.94 -r1.95 src/sys/lib/libsa/Makefile
cvs rdiff -u -r0 -r1.1 src/sys/lib/libsa/ffs_bswap.c
cvs rdiff -u -r1.7 -r1.8 src/sys/lib/libsa/ffsv1.c src/sys/lib/libsa/ffsv2.c
cvs rdiff -u -r1.14 -r1.15 src/sys/lib/libsa/lfsv1.c \
    src/sys/lib/libsa/lfsv2.c
cvs rdiff -u -r1.79 -r1.80 src/sys/lib/libsa/ufs.c
cvs rdiff -u -r1.10 -r1.11 src/sys/lib/libsa/ufs.h
cvs rdiff -u -r1.20 -r1.21 src/sys/stand/efiboot/Makefile.efiboot
cvs rdiff -u -r1.24 -r1.25 src/sys/stand/efiboot/version

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index