Module Name:    src
Committed By:   mrg
Date:           Mon May 17 08:50:36 UTC 2021

Modified Files:
        src/sys/kern: files.kern subr_disk.c subr_disk_mbr.c
        src/sys/lib/libkern: Makefile.libkern libkern.h
        src/sys/lib/libsa: Makefile disklabel.c stand.h
        src/sys/sys: disklabel.h
Added Files:
        src/sys/lib/libkern: disklabel_swap.c dkcksum.c
Removed Files:
        src/sys/lib/libsa: dkcksum.c

Log Message:
move bi-endian disklabel support from the kernel and libsa into libkern.

- dkcksum() and dkcksum_sized() move from subr_disk.c and from
  libsa into libkern/dkcksum.c (which is missing _sized() version),
  using the version from usr.sbin/disklabel.

- swap_disklabel() moves from subr_disk_mbr.c into libkern, now called
  disklabel_swap().  (the sh3 version should be updated to use this.)

- DISKLABEL_EI becomes a first-class option with opt_disklabel.h.

- add libkern.h to libsa/disklabel.c.

this enables future work for bi-endian libsa/ufs.c (relevant for ffsv1,
ffsv2, lfsv1, and lfsv2), as well as making it possible for ports not
using subr_disk_mbr.c to include bi-endian disklabel support (which,
afaict, includes any disk on mbr-supporting platforms that do not have
an mbr as well as disklabel.)

builds successsfully on: alpha, i386, amd64, sun2, sun3, evbarm64,
evbarm64-eb, sparc, and sparc64.  tested in anita on i386 and sparc,
testing in hardware on evbarm64*.


To generate a diff of this commit:
cvs rdiff -u -r1.54 -r1.55 src/sys/kern/files.kern
cvs rdiff -u -r1.132 -r1.133 src/sys/kern/subr_disk.c
cvs rdiff -u -r1.56 -r1.57 src/sys/kern/subr_disk_mbr.c
cvs rdiff -u -r1.50 -r1.51 src/sys/lib/libkern/Makefile.libkern
cvs rdiff -u -r0 -r1.1 src/sys/lib/libkern/disklabel_swap.c \
    src/sys/lib/libkern/dkcksum.c
cvs rdiff -u -r1.142 -r1.143 src/sys/lib/libkern/libkern.h
cvs rdiff -u -r1.93 -r1.94 src/sys/lib/libsa/Makefile
cvs rdiff -u -r1.10 -r1.11 src/sys/lib/libsa/disklabel.c
cvs rdiff -u -r1.5 -r0 src/sys/lib/libsa/dkcksum.c
cvs rdiff -u -r1.82 -r1.83 src/sys/lib/libsa/stand.h
cvs rdiff -u -r1.124 -r1.125 src/sys/sys/disklabel.h

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

Reply via email to