| // Copyright 2018 The Go Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style | |
| // license that can be found in the LICENSE file. | |
| #include "textflag.h" | |
| // func stfle() facilityList | |
| TEXT ·stfle(SB), NOSPLIT|NOFRAME, $0-32 | |
| MOVD $ret+0(FP), R1 | |
| MOVD $3, R0 // last doubleword index to store | |
| XC $32, (R1), (R1) // clear 4 doublewords (32 bytes) | |
| WORD $0xb2b01000 // store facility list extended (STFLE) | |
| RET | |
| // func kmQuery() queryResult | |
| TEXT ·kmQuery(SB), NOSPLIT|NOFRAME, $0-16 | |
| MOVD $0, R0 // set function code to 0 (KM-Query) | |
| MOVD $ret+0(FP), R1 // address of 16-byte return value | |
| KM R2, R4 // cipher message (KM) | |
| RET | |
| // func kmcQuery() queryResult | |
| TEXT ·kmcQuery(SB), NOSPLIT|NOFRAME, $0-16 | |
| MOVD $0, R0 // set function code to 0 (KMC-Query) | |
| MOVD $ret+0(FP), R1 // address of 16-byte return value | |
| KMC R2, R4 // cipher message with chaining (KMC) | |
| RET | |
| // func kmctrQuery() queryResult | |
| TEXT ·kmctrQuery(SB), NOSPLIT|NOFRAME, $0-16 | |
| MOVD $0, R0 // set function code to 0 (KMCTR-Query) | |
| MOVD $ret+0(FP), R1 // address of 16-byte return value | |
| KMCTR R2, R4, R4 // cipher message with counter (KMCTR) | |
| RET | |
| // func kmaQuery() queryResult | |
| TEXT ·kmaQuery(SB), NOSPLIT|NOFRAME, $0-16 | |
| MOVD $0, R0 // set function code to 0 (KMA-Query) | |
| MOVD $ret+0(FP), R1 // address of 16-byte return value | |
| KMA R2, R6, R4 // cipher message with authentication (KMA) | |
| RET | |
| // func kimdQuery() queryResult | |
| TEXT ·kimdQuery(SB), NOSPLIT|NOFRAME, $0-16 | |
| MOVD $0, R0 // set function code to 0 (KIMD-Query) | |
| MOVD $ret+0(FP), R1 // address of 16-byte return value | |
| KIMD R2, R4 // compute intermediate message digest (KIMD) | |
| RET | |
| // func klmdQuery() queryResult | |
| TEXT ·klmdQuery(SB), NOSPLIT|NOFRAME, $0-16 | |
| MOVD $0, R0 // set function code to 0 (KLMD-Query) | |
| MOVD $ret+0(FP), R1 // address of 16-byte return value | |
| KLMD R2, R4 // compute last message digest (KLMD) | |
| RET | |
| // func kdsaQuery() queryResult | |
| TEXT ·kdsaQuery(SB), NOSPLIT|NOFRAME, $0-16 | |
| MOVD $0, R0 // set function code to 0 (KLMD-Query) | |
| MOVD $ret+0(FP), R1 // address of 16-byte return value | |
| KDSA R0, R4 // compute digital signature authentication | |
| RET | |