18ce0c61cSGavin Atkinson.\" Copyright (c) 2005 Christian Brueffer 28ce0c61cSGavin Atkinson.\" All rights reserved. 38ce0c61cSGavin Atkinson.\" 48ce0c61cSGavin Atkinson.\" Redistribution and use in source and binary forms, with or without 58ce0c61cSGavin Atkinson.\" modification, are permitted provided that the following conditions 68ce0c61cSGavin Atkinson.\" are met: 78ce0c61cSGavin Atkinson.\" 1. Redistributions of source code must retain the above copyright 88ce0c61cSGavin Atkinson.\" notice, this list of conditions and the following disclaimer. 98ce0c61cSGavin Atkinson.\" 2. Redistributions in binary form must reproduce the above copyright 108ce0c61cSGavin Atkinson.\" notice, this list of conditions and the following disclaimer in the 118ce0c61cSGavin Atkinson.\" documentation and/or other materials provided with the distribution. 128ce0c61cSGavin Atkinson.\" 138ce0c61cSGavin Atkinson.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 148ce0c61cSGavin Atkinson.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 158ce0c61cSGavin Atkinson.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 168ce0c61cSGavin Atkinson.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 178ce0c61cSGavin Atkinson.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 188ce0c61cSGavin Atkinson.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 198ce0c61cSGavin Atkinson.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 208ce0c61cSGavin Atkinson.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 218ce0c61cSGavin Atkinson.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 228ce0c61cSGavin Atkinson.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 238ce0c61cSGavin Atkinson.\" SUCH DAMAGE. 248ce0c61cSGavin Atkinson.\" 25*40326c17SJohn-Mark Gurney.Dd July 29, 2020 268ce0c61cSGavin Atkinson.Dt PADLOCK 4 278ce0c61cSGavin Atkinson.Os 288ce0c61cSGavin Atkinson.Sh NAME 298ce0c61cSGavin Atkinson.Nm padlock 308ce0c61cSGavin Atkinson.Nd "driver for the cryptographic functions and RNG in VIA C3, C7 and Eden processors" 318ce0c61cSGavin Atkinson.Sh SYNOPSIS 328ce0c61cSGavin AtkinsonTo compile this driver into the kernel, 338ce0c61cSGavin Atkinsonplace the following lines in your 348ce0c61cSGavin Atkinsonkernel configuration file: 358ce0c61cSGavin Atkinson.Bd -ragged -offset indent 368ce0c61cSGavin Atkinson.Cd "device crypto" 378ce0c61cSGavin Atkinson.Cd "device padlock" 388ce0c61cSGavin Atkinson.Ed 398ce0c61cSGavin Atkinson.Pp 408ce0c61cSGavin AtkinsonAlternatively, to load the driver as a 418ce0c61cSGavin Atkinsonmodule at boot time, place the following line in 428ce0c61cSGavin Atkinson.Xr loader.conf 5 : 438ce0c61cSGavin Atkinson.Bd -literal -offset indent 448ce0c61cSGavin Atkinsonpadlock_load="YES" 458ce0c61cSGavin Atkinson.Ed 468ce0c61cSGavin Atkinson.Sh DESCRIPTION 478ce0c61cSGavin AtkinsonThe C3 and Eden processor series from VIA include hardware acceleration for 488ce0c61cSGavin AtkinsonAES. 498ce0c61cSGavin AtkinsonThe C7 series includes hardware acceleration for AES, SHA1, SHA256 and RSA. 508ce0c61cSGavin AtkinsonAll of the above processor series include a hardware random number generator. 518ce0c61cSGavin Atkinson.Pp 528ce0c61cSGavin AtkinsonThe 538ce0c61cSGavin Atkinson.Nm 548ce0c61cSGavin Atkinsondriver registers itself to accelerate AES operations and, if available, HMAC/SHA1 558ce0c61cSGavin Atkinsonand HMAC/SHA256 for 568ce0c61cSGavin Atkinson.Xr crypto 4 . 578ce0c61cSGavin AtkinsonIt also registers itself to accelerate other HMAC algorithms, although 588ce0c61cSGavin Atkinsonthere is no hardware acceleration for those algorithms. 598ce0c61cSGavin AtkinsonThis is only needed so 608ce0c61cSGavin Atkinson.Nm 618ce0c61cSGavin Atkinsoncan work with 628ce0c61cSGavin Atkinson.Xr ipsec 4 . 638ce0c61cSGavin Atkinson.Pp 648ce0c61cSGavin AtkinsonThe hardware random number generator supplies data for the kernel 658ce0c61cSGavin Atkinson.Xr random 4 668ce0c61cSGavin Atkinsonsubsystem. 678ce0c61cSGavin Atkinson.Sh SEE ALSO 688ce0c61cSGavin Atkinson.Xr crypt 3 , 698ce0c61cSGavin Atkinson.Xr crypto 4 , 708ce0c61cSGavin Atkinson.Xr intro 4 , 718ce0c61cSGavin Atkinson.Xr ipsec 4 , 728ce0c61cSGavin Atkinson.Xr random 4 , 73*40326c17SJohn-Mark Gurney.Xr crypto 7 , 748ce0c61cSGavin Atkinson.Xr crypto 9 758ce0c61cSGavin Atkinson.Sh HISTORY 768ce0c61cSGavin AtkinsonThe 778ce0c61cSGavin Atkinson.Nm 788ce0c61cSGavin Atkinsondriver first appeared in 798ce0c61cSGavin Atkinson.Ox . 808ce0c61cSGavin AtkinsonThe first 818ce0c61cSGavin Atkinson.Fx 828ce0c61cSGavin Atkinsonrelease to include it was 838ce0c61cSGavin Atkinson.Fx 6.0 . 848ce0c61cSGavin Atkinson.Sh AUTHORS 858ce0c61cSGavin Atkinson.An -nosplit 868ce0c61cSGavin AtkinsonThe 878ce0c61cSGavin Atkinson.Nm 888ce0c61cSGavin Atkinsondriver with AES encryption support was written by 896c899950SBaptiste Daroussin.An Jason Wright Aq Mt jason@OpenBSD.org . 908ce0c61cSGavin AtkinsonIt was ported to 918ce0c61cSGavin Atkinson.Fx 928ce0c61cSGavin Atkinsonand then extended to support SHA1 and SHA256 938ce0c61cSGavin Atkinsonby 946c899950SBaptiste Daroussin.An Pawel Jakub Dawidek Aq Mt pjd@FreeBSD.org . 958ce0c61cSGavin AtkinsonThis manual page was written by 966c899950SBaptiste Daroussin.An Christian Brueffer Aq Mt brueffer@FreeBSD.org . 97