xref: /isa-l_crypto/sha256_mb/sha256_mb_mgr_datastruct.asm (revision 46a0dff78d55b00a33b45f10bd48e24389624094)
16df3ef80SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
26df3ef80SGreg Tucker;  Copyright(c) 2011-2016 Intel Corporation All rights reserved.
36df3ef80SGreg Tucker;
46df3ef80SGreg Tucker;  Redistribution and use in source and binary forms, with or without
56df3ef80SGreg Tucker;  modification, are permitted provided that the following conditions
66df3ef80SGreg Tucker;  are met:
76df3ef80SGreg Tucker;    * Redistributions of source code must retain the above copyright
86df3ef80SGreg Tucker;      notice, this list of conditions and the following disclaimer.
96df3ef80SGreg Tucker;    * Redistributions in binary form must reproduce the above copyright
106df3ef80SGreg Tucker;      notice, this list of conditions and the following disclaimer in
116df3ef80SGreg Tucker;      the documentation and/or other materials provided with the
126df3ef80SGreg Tucker;      distribution.
136df3ef80SGreg Tucker;    * Neither the name of Intel Corporation nor the names of its
146df3ef80SGreg Tucker;      contributors may be used to endorse or promote products derived
156df3ef80SGreg Tucker;      from this software without specific prior written permission.
166df3ef80SGreg Tucker;
176df3ef80SGreg Tucker;  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
186df3ef80SGreg Tucker;  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
196df3ef80SGreg Tucker;  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
206df3ef80SGreg Tucker;  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
216df3ef80SGreg Tucker;  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
226df3ef80SGreg Tucker;  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
236df3ef80SGreg Tucker;  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
246df3ef80SGreg Tucker;  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
256df3ef80SGreg Tucker;  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
266df3ef80SGreg Tucker;  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
276df3ef80SGreg Tucker;  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
286df3ef80SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
296df3ef80SGreg Tucker
306df3ef80SGreg Tucker%include "datastruct.asm"
316df3ef80SGreg Tucker
326df3ef80SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
336df3ef80SGreg Tucker;;;; Define SHA256 Out Of Order Data Structures
346df3ef80SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
356df3ef80SGreg Tucker
366df3ef80SGreg TuckerSTART_FIELDS    ; LANE_DATA
376df3ef80SGreg Tucker;;;     name            size    align
386df3ef80SGreg TuckerFIELD   _job_in_lane,   8,      8       ; pointer to job object
396df3ef80SGreg TuckerEND_FIELDS
406df3ef80SGreg Tucker
416df3ef80SGreg Tucker%assign _LANE_DATA_size _FIELD_OFFSET
426df3ef80SGreg Tucker%assign _LANE_DATA_align        _STRUCT_ALIGN
436df3ef80SGreg Tucker
446df3ef80SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
456df3ef80SGreg Tucker
466df3ef80SGreg TuckerSTART_FIELDS    ; SHA256_ARGS_X16
476df3ef80SGreg Tucker;;;     name            size    align
486df3ef80SGreg TuckerFIELD   _digest,        4*8*16,  4       ; transposed digest
496df3ef80SGreg TuckerFIELD   _data_ptr,      8*16,    8       ; array of pointers to data
506df3ef80SGreg TuckerEND_FIELDS
516df3ef80SGreg Tucker
526df3ef80SGreg Tucker%assign _SHA256_ARGS_X4_size    _FIELD_OFFSET
536df3ef80SGreg Tucker%assign _SHA256_ARGS_X4_align   _STRUCT_ALIGN
546df3ef80SGreg Tucker%assign _SHA256_ARGS_X8_size	_FIELD_OFFSET
556df3ef80SGreg Tucker%assign _SHA256_ARGS_X8_align	_STRUCT_ALIGN
566df3ef80SGreg Tucker%assign _SHA256_ARGS_X16_size	_FIELD_OFFSET
576df3ef80SGreg Tucker%assign _SHA256_ARGS_X16_align	_STRUCT_ALIGN
586df3ef80SGreg Tucker
596df3ef80SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
606df3ef80SGreg Tucker
616df3ef80SGreg TuckerSTART_FIELDS    ; MB_MGR
626df3ef80SGreg Tucker;;;     name            size    align
636df3ef80SGreg TuckerFIELD   _args,          _SHA256_ARGS_X4_size, _SHA256_ARGS_X4_align
64*46a0dff7SPablo de LaraFIELD   _lens,          4*16,    16
656df3ef80SGreg TuckerFIELD   _unused_lanes,  8,      8
666df3ef80SGreg TuckerFIELD   _ldata,         _LANE_DATA_size*16, _LANE_DATA_align
676df3ef80SGreg TuckerFIELD   _num_lanes_inuse, 4,    4
686df3ef80SGreg TuckerEND_FIELDS
696df3ef80SGreg Tucker
706df3ef80SGreg Tucker%assign _MB_MGR_size    _FIELD_OFFSET
716df3ef80SGreg Tucker%assign _MB_MGR_align   _STRUCT_ALIGN
726df3ef80SGreg Tucker
736df3ef80SGreg Tucker_args_digest    equ     _args + _digest
746df3ef80SGreg Tucker_args_data_ptr  equ     _args + _data_ptr
75