cmos.4 revision 1.1
The following commands are required for all man pages.
.Dd February 5, 2007 .Os .Dt cmos 4 i386 .Sh NAME .Nm cmos .Nd Read/write access to IBM PC/AT CMOS RAM .Sh SYNOPSIS .Cd pseudo-device cmos .Sh DESCRIPTION Use .Nm to read the real-time clock and ISA configuration data from an ISA-compatible CMOS RAM, and to write the ISA configuration data.

p A program reads between 0 and 48 bytes from the CMOS RAM, starting at byte 0 of the RAM, using a single call to .Xr read 2 . Likewise, a program writes between 0 and 48 bytes to the CMOS RAM, starting at byte 0 of the RAM, using a single call to .Xr write 2 .

p .Nm does not allow programs to overwrite the real-time clock data (bytes 0 through 9), the status registers (10 through 13), the diagnostic status or CMOS shutdown status (bytes 14 and 15), or the CMOS checksum (bytes 46 and 47). Writes to those bytes are ignored.

p On writes, .Nm recomputes the CMOS checksum and writes it to the CMOS RAM. .Sh EXAMPLES Display entire contents of CMOS RAM: d -literal -offset indent # dd if=/dev/cmos bs=48 count=1 | od -t x1 0000000 37 00 09 00 22 00 06 13 04 80 26 02 50 80 00 00 0000020 00 51 f0 00 01 80 02 00 fc 0f 2f 00 00 00 00 00 0000040 00 80 81 f0 ff 00 00 00 00 00 00 00 00 00 05 ee 0000060 .Ed

p Change boot order on Soekris net4521 to PXE ROM, Primary HDD, Secondary HDD: d -literal -offset indent # dd if=/dev/cmos of=/tmp/cmos0 bs=48 count=1 1+0 records in 1+0 records out 48 bytes transferred in 0.001 secs (48000 bytes/sec) # cp /tmp/cmos0 /tmp/cmos # printf '\exf0\ex80\ex81\exff' | dd bs=1 seek=33 conv=notrunc of=/tmp/cmos 4+0 records in 4+0 records out 4 bytes transferred in 0.001 secs (4000 bytes/sec) # dd if=/tmp/cmos of=/dev/cmos 0+1 records in 0+1 records out 48 bytes transferred in 0.001 secs (48000 bytes/sec) .Ed .Sh ERRORS A program can read or write no more than 48 bytes to .Nm . .Xr read 2 / .Xr write 2 will return .Er EINVAL if more than 48 bytes are read / written at once. .Sh AUTHORS The original .Nm driver was written by .An Takahiro Kambe Aq taca@back-street.net . .An David Young Aq dyoung@NetBSD.org modified the original and added it to .Nx . .Sh BUGS