diff options
author | Jason Wright <jason@cvs.openbsd.org> | 2001-01-29 00:39:22 +0000 |
---|---|---|
committer | Jason Wright <jason@cvs.openbsd.org> | 2001-01-29 00:39:22 +0000 |
commit | a35279642e28744be4bf4c6cfcabf0946cb41dc7 (patch) | |
tree | 048ac6293a9d0b13810e473cfc8e105a73786334 /sys/dev/pci/ubsecvar.h | |
parent | e8fe2bfa385595a419df8f916b7aa1149ff150bf (diff) |
- 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.
Diffstat (limited to 'sys/dev/pci/ubsecvar.h')
-rw-r--r-- | sys/dev/pci/ubsecvar.h | 23 |
1 files changed, 19 insertions, 4 deletions
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 */ |