From owner-svn-src-all@FreeBSD.ORG Fri Oct 4 10:01:21 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id EE305D8D; Fri, 4 Oct 2013 10:01:20 +0000 (UTC) (envelope-from jchandra@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id DAE8F2294; Fri, 4 Oct 2013 10:01:20 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r94A1KjT037666; Fri, 4 Oct 2013 10:01:20 GMT (envelope-from jchandra@svn.freebsd.org) Received: (from jchandra@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r94A1K1O037663; Fri, 4 Oct 2013 10:01:20 GMT (envelope-from jchandra@svn.freebsd.org) Message-Id: <201310041001.r94A1K1O037663@svn.freebsd.org> From: "Jayachandran C." Date: Fri, 4 Oct 2013 10:01:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r256045 - head/sys/mips/nlm/dev/sec X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Oct 2013 10:01:21 -0000 Author: jchandra Date: Fri Oct 4 10:01:20 2013 New Revision: 256045 URL: http://svnweb.freebsd.org/changeset/base/256045 Log: Style fixes for the Netlogic XLP RSA driver Updates to the Netlogic XLP on-chp RSA block driver. The changes are to follow style(9) guidelines, to improve readability and to remove unnecessary initialization. No changes to logic have been introduced by this commit. Submitted by: Venkatesh J. V. Approved by: re (hrs) Modified: head/sys/mips/nlm/dev/sec/nlmrsa.c head/sys/mips/nlm/dev/sec/nlmrsalib.h Modified: head/sys/mips/nlm/dev/sec/nlmrsa.c ============================================================================== --- head/sys/mips/nlm/dev/sec/nlmrsa.c Fri Oct 4 09:02:02 2013 (r256044) +++ head/sys/mips/nlm/dev/sec/nlmrsa.c Fri Oct 4 10:01:20 2013 (r256045) @@ -62,14 +62,14 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include #include +#include #ifdef NLM_RSA_DEBUG -int print_krp_params(struct cryptkop *krp); +static int print_krp_params(struct cryptkop *krp); #endif static int xlp_rsa_init(struct xlp_rsa_softc *sc, int node); @@ -97,7 +97,7 @@ static device_method_t xlp_rsa_methods[] /* crypto device methods */ DEVMETHOD(cryptodev_newsession, xlp_rsa_newsession), - DEVMETHOD(cryptodev_freesession,xlp_rsa_freesession), + DEVMETHOD(cryptodev_freesession, xlp_rsa_freesession), DEVMETHOD(cryptodev_kprocess, xlp_rsa_kprocess), DEVMETHOD_END @@ -113,29 +113,25 @@ static devclass_t xlp_rsa_devclass; DRIVER_MODULE(nlmrsa, pci, xlp_rsa_driver, xlp_rsa_devclass, 0, 0); MODULE_DEPEND(nlmrsa, crypto, 1, 1, 1); -void -nlm_xlprsaecc_msgring_handler(int vc, int size, int code, int src_id, - struct nlm_fmn_msg *msg, void *data); - #ifdef NLM_RSA_DEBUG -int +static int print_krp_params(struct cryptkop *krp) { int i; - printf("krp->krp_op :%d\n",krp->krp_op); - printf("krp->krp_status :%d\n",krp->krp_status); - printf("krp->krp_iparams:%d\n",krp->krp_iparams); - printf("krp->krp_oparams:%d\n",krp->krp_oparams); - for (i=0;ikrp_iparams+krp->krp_oparams;i++) { - printf("krp->krp_param[%d].crp_p :0x%llx\n",i, + printf("krp->krp_op :%d\n", krp->krp_op); + printf("krp->krp_status :%d\n", krp->krp_status); + printf("krp->krp_iparams:%d\n", krp->krp_iparams); + printf("krp->krp_oparams:%d\n", krp->krp_oparams); + for (i = 0; i < krp->krp_iparams + krp->krp_oparams; i++) { + printf("krp->krp_param[%d].crp_p :0x%llx\n", i, (unsigned long long)krp->krp_param[i].crp_p); - printf("krp->krp_param[%d].crp_nbits :%d\n",i, + printf("krp->krp_param[%d].crp_nbits :%d\n", i, krp->krp_param[i].crp_nbits); - printf("krp->krp_param[%d].crp_nbytes :%d\n",i, - (krp->krp_param[i].crp_nbits+7)/8); + printf("krp->krp_param[%d].crp_nbytes :%d\n", i, + howmany(krp->krp_param[i].crp_nbits, 8)); } - return 0; + return (0); } #endif @@ -155,19 +151,20 @@ xlp_rsa_init(struct xlp_rsa_softc *sc, i printf("Couldn't register rsa/ecc msgring handler\n"); goto errout; } - m.msg[0] = m.msg[1] = m.msg[2] = m.msg[3] = 0; fbvc = nlm_cpuid() / CMS_MAX_VCPU_VC; /* Do the CMS credit initialization */ /* Currently it is configured by default to 50 when kernel comes up */ - if ((cmd = malloc(sizeof(struct xlp_rsa_command), M_DEVBUF, - M_NOWAIT | M_ZERO)) == NULL) { + cmd = malloc(sizeof(struct xlp_rsa_command), M_DEVBUF, + M_NOWAIT | M_ZERO); + if (cmd == NULL) { err = ENOMEM; printf("Failed to allocate mem for cmd\n"); goto errout; } size = sizeof(nlm_rsa_ucode_data); - if ((cmd->rsasrc = malloc(size, M_DEVBUF, M_NOWAIT | M_ZERO)) == NULL) { + cmd->rsasrc = malloc(size, M_DEVBUF, M_NOWAIT | M_ZERO); + if (cmd->rsasrc == NULL) { err = ENOMEM; printf("Failed to allocate mem for cmd->rsasrc\n"); goto errout; @@ -184,6 +181,7 @@ xlp_rsa_init(struct xlp_rsa_softc *sc, i vtophys(cmd->rsasrc)); /* Software scratch pad */ m.msg[2] = (uintptr_t)cmd; + m.msg[3] = 0; for (dstvc = sc->rsaecc_vc_start; dstvc <= sc->rsaecc_vc_end; dstvc++) { ret = nlm_fmn_msgsend(dstvc, 3, FMN_SWCODE_RSA, &m); @@ -215,38 +213,38 @@ void nlm_xlprsaecc_msgring_handler(int vc, int size, int code, int src_id, struct nlm_fmn_msg *msg, void *data) { - struct xlp_rsa_command *cmd = NULL; - struct xlp_rsa_softc *sc = NULL; + struct xlp_rsa_command *cmd; + struct xlp_rsa_softc *sc; + struct crparam *outparam; + int ostart; KASSERT(code == FMN_SWCODE_RSA, - ("%s: bad code = %d, expected code = %d\n", __FUNCTION__, code, + ("%s: bad code = %d, expected code = %d\n", __func__, code, FMN_SWCODE_RSA)); - sc = (struct xlp_rsa_softc *)data; + sc = data; KASSERT(src_id >= sc->rsaecc_vc_start && src_id <= sc->rsaecc_vc_end, - ("%s: bad src_id = %d, expect %d - %d\n", __FUNCTION__, + ("%s: bad src_id = %d, expect %d - %d\n", __func__, src_id, sc->rsaecc_vc_start, sc->rsaecc_vc_end)); cmd = (struct xlp_rsa_command *)(uintptr_t)msg->msg[1]; - KASSERT(cmd != NULL, ("%s:cmd not received properly\n", - __FUNCTION__)); + KASSERT(cmd != NULL, ("%s:cmd not received properly\n", __func__)); KASSERT(RSA_ERROR(msg->msg[0]) == 0, - ("%s: Message rcv msg0 %llx msg1 %llx err %x \n", __FUNCTION__, + ("%s: Message rcv msg0 %llx msg1 %llx err %x \n", __func__, (unsigned long long)msg->msg[0], (unsigned long long)msg->msg[1], (int)RSA_ERROR(msg->msg[0]))); - xlp_rsa_inp2hwformat(((uint8_t *)cmd->rsasrc+ - (cmd->rsaopsize*cmd->krp->krp_iparams)), - cmd->krp->krp_param[cmd->krp->krp_iparams].crp_p, - ((cmd->krp->krp_param[cmd->krp->krp_iparams].crp_nbits+7)/8), 1); - + ostart = cmd->krp->krp_iparams; + outparam = &cmd->krp->krp_param[ostart]; + xlp_rsa_inp2hwformat(cmd->rsasrc + cmd->rsaopsize * ostart, + outparam->crp_p, + howmany(outparam->crp_nbits, 8), + 1); if (cmd->krp != NULL) crypto_kdone(cmd->krp); xlp_free_cmd_params(cmd); - - return; } static int @@ -302,7 +300,6 @@ xlp_rsa_attach(device_t dev) error_exit: return (ENXIO); - } /* @@ -323,8 +320,8 @@ static int xlp_rsa_newsession(device_t dev, u_int32_t *sidp, struct cryptoini *cri) { struct xlp_rsa_softc *sc = device_get_softc(dev); - int sesn; struct xlp_rsa_session *ses = NULL; + int sesn; if (sidp == NULL || cri == NULL || sc == NULL) return (EINVAL); @@ -346,7 +343,7 @@ xlp_rsa_newsession(device_t dev, u_int32 if (ses == NULL) { sesn = sc->sc_nsessions; - ses = malloc((sesn + 1)*sizeof(struct xlp_rsa_session), + ses = malloc((sesn + 1) * sizeof(*ses), M_DEVBUF, M_NOWAIT); if (ses == NULL) return (ENOMEM); @@ -392,16 +389,17 @@ xlp_rsa_freesession(device_t dev, u_int6 static void xlp_free_cmd_params(struct xlp_rsa_command *cmd) { + if (cmd->rsasrc != NULL) free(cmd->rsasrc, M_DEVBUF); if (cmd != NULL) free(cmd, M_DEVBUF); - return; } static int xlp_get_rsa_opsize(struct xlp_rsa_command *cmd, unsigned int bits) { + if (bits == 0) return (-1); /* XLP hardware expects always a fixed size with unused bytes @@ -436,25 +434,25 @@ xlp_rsa_inp2hwformat(uint8_t *src, uint8 uint8_t result) { uint32_t pdwords, pbytes; - int i=0, j=0, k=0; + int i, j, k; - pdwords = (paramsize / 8); - pbytes = (paramsize % 8); + pdwords = paramsize / 8; + pbytes = paramsize % 8; for (i = 0, k = 0; i < pdwords; i++) { /* copy dwords of inp/hw to hw/out format */ for (j = 7; j >= 0; j--, k++) - dst[(i*8)+j] = src[k]; + dst[i * 8 + j] = src[k]; } if (pbytes) { - if (!result) { + if (result == 0) { /* copy rem bytes of input data to hw format */ for (j = 7; k < paramsize; j--, k++) - dst[(i*8)+j] = src[k]; + dst[i * 8 + j] = src[k]; } else { /* copy rem bytes of hw data to exp output format */ for (j = 7; k < paramsize; j--, k++) - dst[k] = src[(i*8)+j]; + dst[k] = src[i * 8 + j]; } } @@ -470,14 +468,13 @@ nlm_crypto_complete_rsa_request(struct x int ret; fbvc = nlm_cpuid() / CMS_MAX_VCPU_VC; - m.msg[0] = m.msg[1] = m.msg[2] = m.msg[3] = 0; - m.msg[0] = nlm_crypto_form_rsa_ecc_fmn_entry0(1, cmd->rsatype, cmd->rsafn, vtophys(cmd->rsasrc)); m.msg[1] = nlm_crypto_form_rsa_ecc_fmn_entry1(0, 1, fbvc, - vtophys(cmd->rsasrc + (cmd->rsaopsize * cmd->krp->krp_iparams))); + vtophys(cmd->rsasrc + cmd->rsaopsize * cmd->krp->krp_iparams)); /* Software scratch pad */ m.msg[2] = (uintptr_t)cmd; + m.msg[3] = 0; /* Send the message to rsa engine vc */ ret = nlm_fmn_msgsend(sc->rsaecc_vc_start, 3, FMN_SWCODE_RSA, &m); @@ -494,14 +491,16 @@ static int xlp_rsa_kprocess(device_t dev, struct cryptkop *krp, int hint) { struct xlp_rsa_softc *sc = device_get_softc(dev); - struct xlp_rsa_command *cmd = NULL; + struct xlp_rsa_command *cmd; + struct crparam *kp; int err = -1, i; if (krp == NULL || krp->krp_callback == NULL) return (EINVAL); - if ((cmd = malloc(sizeof(struct xlp_rsa_command), M_DEVBUF, - M_NOWAIT | M_ZERO)) == NULL) { + cmd = malloc(sizeof(struct xlp_rsa_command), M_DEVBUF, + M_NOWAIT | M_ZERO); + if (cmd == NULL) { err = ENOMEM; goto errout; } @@ -516,19 +515,22 @@ xlp_rsa_kprocess(device_t dev, struct cr break; goto errout; default: - printf("Op:%d not yet supported\n", krp->krp_op); + device_printf(dev, "Op:%d not yet supported\n", krp->krp_op); goto errout; } - if ((xlp_get_rsa_opsize(cmd, - krp->krp_param[krp->krp_iparams-1].crp_nbits)) != 0) { + err = xlp_get_rsa_opsize(cmd, + krp->krp_param[krp->krp_iparams - 1].crp_nbits); + if (err != 0) { err = EINVAL; goto errout; } cmd->rsafn = 0; /* Mod Exp */ - if ((cmd->rsasrc = malloc((cmd->rsaopsize * - (krp->krp_iparams+krp->krp_oparams)), M_DEVBUF, - M_NOWAIT | M_ZERO)) == NULL) { + cmd->rsasrc = malloc( + cmd->rsaopsize * (krp->krp_iparams + krp->krp_oparams), + M_DEVBUF, + M_NOWAIT | M_ZERO); + if (cmd->rsasrc == NULL) { err = ENOMEM; goto errout; } @@ -536,13 +538,12 @@ xlp_rsa_kprocess(device_t dev, struct cr err = EINVAL; goto errout; } - - for (i=0;ikrp_iparams;i++) { - KASSERT(krp->krp_param[i].crp_nbits != 0, - ("%s: parameter[%d]'s length is zero\n", __FUNCTION__, i)); - xlp_rsa_inp2hwformat(krp->krp_param[i].crp_p, - ((uint8_t *)cmd->rsasrc+(i*cmd->rsaopsize)), - ((krp->krp_param[i].crp_nbits+7)/8), 0); + for (i = 0, kp = krp->krp_param; i < krp->krp_iparams; i++, kp++) { + KASSERT(kp->crp_nbits != 0, + ("%s: parameter[%d]'s length is zero\n", __func__, i)); + xlp_rsa_inp2hwformat(kp->crp_p, + cmd->rsasrc + i * cmd->rsaopsize, + howmany(kp->crp_nbits, 8), 0); } if (nlm_crypto_complete_rsa_request(sc, cmd) != 0) goto errout; Modified: head/sys/mips/nlm/dev/sec/nlmrsalib.h ============================================================================== --- head/sys/mips/nlm/dev/sec/nlmrsalib.h Fri Oct 4 09:02:02 2013 (r256044) +++ head/sys/mips/nlm/dev/sec/nlmrsalib.h Fri Oct 4 10:01:20 2013 (r256045) @@ -30,12 +30,10 @@ #ifndef _NLMRSALIB_H_ #define _NLMRSALIB_H_ -#define XLP_RSA_SESSION(sid) ((sid) & 0x000007ff) -#define XLP_RSA_SID(crd,ses) (((crd) << 28) | ((ses) & 0x7ff)) +#define XLP_RSA_SESSION(sid) ((sid) & 0x000007ff) +#define XLP_RSA_SID(crd,ses) (((crd) << 28) | ((ses) & 0x7ff)) -#define NUM_RSAECC_VC 9 - -#define RSA_ERROR(__msg0) ((__msg0 >> 53) & 0x1f) +#define RSA_ERROR(msg0) (((msg0) >> 53) & 0x1f) struct xlp_rsa_session { uint32_t sessionid; @@ -65,4 +63,8 @@ struct xlp_rsa_softc { int rsaecc_vc_end; }; +void +nlm_xlprsaecc_msgring_handler(int vc, int size, int code, int src_id, + struct nlm_fmn_msg *msg, void *data); + #endif /* _NLMRSALIB_H_ */