From a35279642e28744be4bf4c6cfcabf0946cb41dc7 Mon Sep 17 00:00:00 2001 From: Jason Wright Date: Mon, 29 Jan 2001 00:39:22 +0000 Subject: - add infrastructure for dealing with the key generator (MCR2) - add support for the onboard rng using that structure - add a interrupt status mask (differs for 5501 and 5601) - reorganize slightly to take into account that MCR1 isn't the only reason for interrupts. --- sys/dev/pci/ubsecvar.h | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'sys/dev/pci/ubsecvar.h') diff --git a/sys/dev/pci/ubsecvar.h b/sys/dev/pci/ubsecvar.h index f7a00d48bda..dc6c951de7e 100644 --- a/sys/dev/pci/ubsecvar.h +++ b/sys/dev/pci/ubsecvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: ubsecvar.h,v 1.11 2001/01/11 18:56:50 deraadt Exp $ */ +/* $OpenBSD: ubsecvar.h,v 1.12 2001/01/29 00:39:21 jason Exp $ */ /* * Copyright (c) 2000 Theo de Raadt @@ -34,12 +34,17 @@ struct ubsec_softc { bus_space_tag_t sc_st; /* memory tag */ bus_dma_tag_t sc_dmat; /* dma tag */ int sc_5601; /* device is 5601 */ + u_int32_t sc_statmask; /* interrupt status mask */ int32_t sc_cid; /* crypto tag */ - SIMPLEQ_HEAD(,ubsec_q) sc_queue; /* packet queue */ - int sc_nqueue; /* count enqueued */ - SIMPLEQ_HEAD(,ubsec_q) sc_qchip; /* on chip */ + SIMPLEQ_HEAD(,ubsec_q) sc_queue; /* packet queue, mcr1 */ + int sc_nqueue; /* count enqueued, mcr1 */ + SIMPLEQ_HEAD(,ubsec_q) sc_qchip; /* on chip, mcr1 */ + SIMPLEQ_HEAD(,ubsec_q2) sc_queue2; /* packet queue, mcr2 */ + int sc_nqueue2; /* count enqueued, mcr2 */ + SIMPLEQ_HEAD(,ubsec_q2) sc_qchip2; /* on chip, mcr2 */ int sc_nsessions; /* # of sessions */ struct ubsec_session *sc_sessions; /* sessions */ + struct timeout sc_rngto; /* rng timeout */ }; struct ubsec_q { @@ -64,6 +69,16 @@ struct ubsec_q { int q_sesn; }; +struct ubsec_q2 { + SIMPLEQ_ENTRY(ubsec_q2) q_next; + struct ubsec_softc *q_sc; + struct ubsec_mcr *q_mcr; + void *q_ctx; + struct ubsec_pktbuf q_srcpkt[MAX_SCATTER-1]; + struct ubsec_pktbuf q_dstpkt[MAX_SCATTER-1]; + void *q_private; +}; + struct ubsec_session { u_int32_t ses_used; u_int32_t ses_deskey[6]; /* 3DES key */ -- cgit v1.2.3