Symbol: skey
arch/powerpc/include/asm/kvm_book3s_64.h
468
unsigned long skey;
arch/powerpc/include/asm/kvm_book3s_64.h
470
skey = ((hpte_r & HPTE_R_KEY_HI) >> 57) |
arch/powerpc/include/asm/kvm_book3s_64.h
472
return (amr >> (62 - 2 * skey)) & 3;
arch/s390/include/asm/page.h
126
unsigned char skey, int mapped)
arch/s390/include/asm/page.h
132
: [skey] "d" (skey), [addr] "a" (addr)
arch/s390/include/asm/page.h
138
: [skey] "d" (skey), [addr] "a" (addr)
arch/s390/include/asm/page.h
145
unsigned char skey;
arch/s390/include/asm/page.h
147
asm volatile("iske %0,%1" : "=d" (skey) : "a" (addr));
arch/s390/include/asm/page.h
148
return skey;
arch/s390/include/asm/pgtable.h
1123
static inline unsigned long sske_frame(unsigned long addr, unsigned char skey)
arch/s390/include/asm/pgtable.h
1126
: [addr] "+a" (addr) : [skey] "d" (skey));
arch/s390/include/asm/sclp.h
49
u8 skey : 1;
arch/s390/kvm/dat.c
164
union skey nkey = { .acc = pgste.acc, .fp = pgste.fp };
arch/s390/kvm/dat.c
166
page_set_storage_key(pte_origin(pte), nkey.skey, 0);
arch/s390/kvm/dat.c
176
union skey skey;
arch/s390/kvm/dat.c
178
skey.skey = page_get_storage_key(pte_origin(pte));
arch/s390/kvm/dat.c
180
pgste.acc = skey.acc;
arch/s390/kvm/dat.c
181
pgste.fp = skey.fp;
arch/s390/kvm/dat.c
182
pgste.gr |= skey.r;
arch/s390/kvm/dat.c
183
pgste.gc |= skey.c;
arch/s390/kvm/dat.c
616
int dat_get_storage_key(union asce asce, gfn_t gfn, union skey *skey)
arch/s390/kvm/dat.c
623
skey->skey = 0;
arch/s390/kvm/dat.c
634
skey->skey = page_get_storage_key(large_crste_to_phys(crste, gfn));
arch/s390/kvm/dat.c
639
skey->acc = pgste.acc;
arch/s390/kvm/dat.c
640
skey->fp = pgste.fp;
arch/s390/kvm/dat.c
642
skey->skey = page_get_storage_key(pte_origin(*ptep));
arch/s390/kvm/dat.c
644
skey->r |= pgste.gr;
arch/s390/kvm/dat.c
645
skey->c |= pgste.gc;
arch/s390/kvm/dat.c
657
union skey skey, bool nq)
arch/s390/kvm/dat.c
670
page_set_storage_key(large_crste_to_phys(*crstep, gfn), skey.skey, !nq);
arch/s390/kvm/dat.c
677
pgste.acc = skey.acc;
arch/s390/kvm/dat.c
678
pgste.fp = skey.fp;
arch/s390/kvm/dat.c
679
pgste.gc = skey.c;
arch/s390/kvm/dat.c
680
pgste.gr = skey.r;
arch/s390/kvm/dat.c
683
union skey old_skey;
arch/s390/kvm/dat.c
685
old_skey.skey = page_get_storage_key(pte_origin(*ptep));
arch/s390/kvm/dat.c
690
skey.r = 0;
arch/s390/kvm/dat.c
691
skey.c = 0;
arch/s390/kvm/dat.c
692
page_set_storage_key(pte_origin(*ptep), skey.skey, !nq);
arch/s390/kvm/dat.c
700
static bool page_cond_set_storage_key(phys_addr_t paddr, union skey skey, union skey *oldkey,
arch/s390/kvm/dat.c
703
oldkey->skey = page_get_storage_key(paddr);
arch/s390/kvm/dat.c
704
if (oldkey->acc == skey.acc && oldkey->fp == skey.fp &&
arch/s390/kvm/dat.c
705
(oldkey->r == skey.r || mr) && (oldkey->c == skey.c || mc))
arch/s390/kvm/dat.c
707
page_set_storage_key(paddr, skey.skey, !nq);
arch/s390/kvm/dat.c
712
union skey skey, union skey *oldkey, bool nq, bool mr, bool mc)
arch/s390/kvm/dat.c
716
union skey prev;
arch/s390/kvm/dat.c
726
return page_cond_set_storage_key(large_crste_to_phys(*crstep, gfn), skey, oldkey,
arch/s390/kvm/dat.c
733
pgste.acc = skey.acc;
arch/s390/kvm/dat.c
734
pgste.fp = skey.fp;
arch/s390/kvm/dat.c
735
pgste.gc = skey.c;
arch/s390/kvm/dat.c
736
pgste.gr = skey.r;
arch/s390/kvm/dat.c
739
rc = page_cond_set_storage_key(pte_origin(*ptep), skey, &prev, nq, mr, mc);
arch/s390/kvm/dat.h
299
unsigned char skey;
arch/s390/kvm/dat.h
316
static_assert(sizeof(union skey) == sizeof(char));
arch/s390/kvm/dat.h
535
int dat_get_storage_key(union asce asce, gfn_t gfn, union skey *skey);
arch/s390/kvm/dat.h
537
union skey skey, bool nq);
arch/s390/kvm/dat.h
539
union skey skey, union skey *oldkey, bool nq, bool mr, bool mc);
arch/s390/kvm/gaccess.c
656
union skey storage_key;
arch/s390/kvm/gaccess.c
708
union skey storage_key;
arch/s390/kvm/kvm-s390.c
2182
union skey *keys;
arch/s390/kvm/kvm-s390.c
2223
union skey *keys;
arch/s390/kvm/kvm-s390.c
3060
union skey skey;
arch/s390/kvm/kvm-s390.c
3066
skey.skey = kop.key;
arch/s390/kvm/kvm-s390.c
3072
r = kvm_s390_keyop(mc, kvm, kop.operation, kop.guest_addr, skey);
arch/s390/kvm/kvm-s390.c
563
unsigned long addr, union skey skey)
arch/s390/kvm/kvm-s390.c
573
r = dat_cond_set_storage_key(mc, asce, gfn, skey, &skey, 0, 0, 0);
arch/s390/kvm/kvm-s390.c
575
return skey.skey;
arch/s390/kvm/kvm-s390.c
578
r = dat_get_storage_key(asce, gfn, &skey);
arch/s390/kvm/kvm-s390.c
580
return skey.skey;
arch/s390/kvm/priv.c
1050
union skey key;
arch/s390/kvm/priv.c
1078
key.skey = vcpu->run->s.regs.gprs[reg1] & PFMF_KEY;
arch/s390/kvm/priv.c
261
union skey key;
arch/s390/kvm/priv.c
285
vcpu->run->s.regs.gprs[reg1] |= key.skey;
arch/s390/kvm/priv.c
327
union skey key, oldkey;
arch/s390/kvm/priv.c
349
key.skey = vcpu->run->s.regs.gprs[reg1] & 0xfe;
arch/s390/kvm/priv.c
386
vcpu->run->s.regs.gprs[reg1] |= (u64)oldkey.skey << 8;
drivers/message/fusion/mptscsih.c
439
u8 skey, asc, ascq;
drivers/message/fusion/mptscsih.c
552
skey = sc->sense_buffer[2] & 0x0F;
drivers/message/fusion/mptscsih.c
557
"[0x%02x,0x%02x,0x%02x]\n", ioc->name, skey, asc, ascq);
drivers/net/ethernet/mellanox/mlx5/core/esw/vporttbl.c
118
e->key = skey;
drivers/net/ethernet/mellanox/mlx5/core/esw/vporttbl.c
69
esw_vport_tbl_lookup(struct mlx5_eswitch *esw, struct mlx5_vport_key *skey, u32 key)
drivers/net/ethernet/mellanox/mlx5/core/esw/vporttbl.c
74
if (!memcmp(&e->key, skey, sizeof(*skey)))
drivers/net/ethernet/mellanox/mlx5/core/esw/vporttbl.c
87
struct mlx5_vport_key skey;
drivers/net/ethernet/mellanox/mlx5/core/esw/vporttbl.c
92
hkey = flow_attr_to_vport_key(esw, attr, &skey);
drivers/net/ethernet/mellanox/mlx5/core/esw/vporttbl.c
93
e = esw_vport_tbl_lookup(esw, &skey, hkey);
drivers/nvme/common/auth.c
373
int nvme_auth_augmented_challenge(u8 hmac_id, const u8 *skey, size_t skey_len,
drivers/nvme/common/auth.c
376
return nvme_auth_hmac(hmac_id, skey, skey_len, challenge, hlen, aug);
drivers/nvme/common/auth.c
536
int nvme_auth_generate_psk(u8 hmac_id, const u8 *skey, size_t skey_len,
drivers/nvme/common/auth.c
548
ret = nvme_auth_hmac_init(&hmac, hmac_id, skey, skey_len);
drivers/nvme/common/tests/auth_kunit.c
45
u8 skey[NVME_AUTH_MAX_DIGEST_SIZE];
drivers/nvme/common/tests/auth_kunit.c
56
skey[i] = 'A' + i;
drivers/nvme/common/tests/auth_kunit.c
61
ret = nvme_auth_generate_psk(hmac_id, skey, skey_len, c1, c2, hash_len,
drivers/s390/char/sclp_early.c
98
sclp.has_skey = cpue->skey;
drivers/scsi/mpt3sas/mpt3sas_scsih.c
233
u8 skey;
drivers/scsi/mpt3sas/mpt3sas_scsih.c
5609
data->skey = sense_buffer[1] & 0x0F;
drivers/scsi/mpt3sas/mpt3sas_scsih.c
5614
data->skey = sense_buffer[2] & 0x0F;
drivers/scsi/mpt3sas/mpt3sas_scsih.c
5822
data.skey, data.asc, data.ascq,
drivers/scsi/mpt3sas/mpt3sas_scsih.c
6116
mpt3sas_trigger_scsi(ioc, data.skey, data.asc, data.ascq);
drivers/scsi/mpt3sas/mpt3sas_scsih.c
7694
if (sense_info.skey == UNIT_ATTENTION)
drivers/scsi/mpt3sas/mpt3sas_scsih.c
7696
else if (sense_info.skey == NOT_READY) {
drivers/scsi/mpt3sas/mpt3sas_scsih.c
7712
} else if (sense_info.skey == ILLEGAL_REQUEST &&
drivers/scsi/mpt3sas/mpt3sas_scsih.c
7715
} else if (sense_info.skey == MEDIUM_ERROR) {
drivers/scsi/mpt3sas/mpt3sas_scsih.c
7723
} else if (sense_info.skey == HARDWARE_ERROR) {
drivers/scsi/mpt3sas/mpt3sas_scsih.c
7762
sense_info.skey, sense_info.asc, sense_info.ascq);
drivers/staging/rtl8723bs/core/rtw_cmd.c
894
memcpy(&psetstakey_para->key, &psecuritypriv->dot118021XGrpKey[psecuritypriv->dot118021XGrpKeyid].skey, 16);
drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
440
memcpy(&(psecuritypriv->dot11DefKey[keyid].skey[0]), &(wep->key_material), wep->key_length);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1911
memcpy(&psetkeyparm->key[0], &psecuritypriv->dot11DefKey[keyid].skey[0], keylen);
drivers/staging/rtl8723bs/core/rtw_mlme.c
1915
memcpy(&psetkeyparm->key[0], &psecuritypriv->dot11DefKey[keyid].skey[0], keylen);
drivers/staging/rtl8723bs/core/rtw_recv.c
365
mickey = &psecuritypriv->dot118021XGrprxmickey[prxattrib->key_index].skey[0];
drivers/staging/rtl8723bs/core/rtw_recv.c
374
mickey = &stainfo->dot11tkiprxmickey.skey[0];
drivers/staging/rtl8723bs/core/rtw_security.c
115
memcpy(&wepkey[3], &psecuritypriv->dot11DefKey[keyindex].skey[0], keylength);
drivers/staging/rtl8723bs/core/rtw_security.c
1247
prwskey = psecuritypriv->dot118021XGrpKey[prxattrib->key_index].skey;
drivers/staging/rtl8723bs/core/rtw_security.c
1253
prwskey = &stainfo->dot118021x_UncstKey.skey[0];
drivers/staging/rtl8723bs/core/rtw_security.c
1318
if (omac1_aes_128(padapter->securitypriv.dot11wBIPKey[padapter->securitypriv.dot11wBIPKeyid].skey
drivers/staging/rtl8723bs/core/rtw_security.c
454
prwskey = psecuritypriv->dot118021XGrpKey[psecuritypriv->dot118021XGrpKeyid].skey;
drivers/staging/rtl8723bs/core/rtw_security.c
456
prwskey = pattrib->dot118021x_UncstKey.skey;
drivers/staging/rtl8723bs/core/rtw_security.c
565
prwskey = psecuritypriv->dot118021XGrpKey[prxattrib->key_index].skey;
drivers/staging/rtl8723bs/core/rtw_security.c
567
prwskey = &stainfo->dot118021x_UncstKey.skey[0];
drivers/staging/rtl8723bs/core/rtw_security.c
66
memcpy(&wepkey[3], &psecuritypriv->dot11DefKey[psecuritypriv->dot11PrivacyKeyIndex].skey[0], keylength);
drivers/staging/rtl8723bs/core/rtw_security.c
958
prwskey = psecuritypriv->dot118021XGrpKey[psecuritypriv->dot118021XGrpKeyid].skey;
drivers/staging/rtl8723bs/core/rtw_security.c
960
prwskey = pattrib->dot118021x_UncstKey.skey;
drivers/staging/rtl8723bs/core/rtw_xmit.c
1286
if (omac1_aes_128(padapter->securitypriv.dot11wBIPKey[padapter->securitypriv.dot11wBIPKeyid].skey
drivers/staging/rtl8723bs/core/rtw_xmit.c
1317
memcpy(pattrib->dot118021x_UncstKey.skey, psta->dot118021x_UncstKey.skey, 16);
drivers/staging/rtl8723bs/core/rtw_xmit.c
515
memset(pattrib->dot118021x_UncstKey.skey, 0, 16);
drivers/staging/rtl8723bs/core/rtw_xmit.c
516
memset(pattrib->dot11tkiptxmickey.skey, 0, 16);
drivers/staging/rtl8723bs/core/rtw_xmit.c
573
memcpy(pattrib->dot11tkiptxmickey.skey, psta->dot11tkiptxmickey.skey, 16);
drivers/staging/rtl8723bs/core/rtw_xmit.c
596
memcpy(pattrib->dot118021x_UncstKey.skey, psta->dot118021x_UncstKey.skey, 16);
drivers/staging/rtl8723bs/core/rtw_xmit.c
836
if (!memcmp(psecuritypriv->dot118021XGrptxmickey[psecuritypriv->dot118021XGrpKeyid].skey, null_key, 16))
drivers/staging/rtl8723bs/core/rtw_xmit.c
839
rtw_secmicsetkey(&micdata, psecuritypriv->dot118021XGrptxmickey[psecuritypriv->dot118021XGrpKeyid].skey);
drivers/staging/rtl8723bs/core/rtw_xmit.c
841
if (!memcmp(&pattrib->dot11tkiptxmickey.skey[0], null_key, 16))
drivers/staging/rtl8723bs/core/rtw_xmit.c
844
rtw_secmicsetkey(&micdata, &pattrib->dot11tkiptxmickey.skey[0]);
drivers/staging/rtl8723bs/include/rtw_security.h
78
u8 skey[16];
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
505
char *grpkey = padapter->securitypriv.dot118021XGrpKey[param->u.crypt.idx].skey;
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
506
char *txkey = padapter->securitypriv.dot118021XGrptxmickey[param->u.crypt.idx].skey;
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
507
char *rxkey = padapter->securitypriv.dot118021XGrprxmickey[param->u.crypt.idx].skey;
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
562
memcpy(&(psecuritypriv->dot11DefKey[wep_key_idx].skey[0]), param->u.crypt.key, wep_key_len);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
622
memcpy(psta->dot118021x_UncstKey.skey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
632
memcpy(psta->dot11tkiptxmickey.skey, &(param->u.crypt.key[16]), 8);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
633
memcpy(psta->dot11tkiprxmickey.skey, &(param->u.crypt.key[24]), 8);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
758
memcpy(&(psecuritypriv->dot11DefKey[wep_key_idx].skey[0]), param->u.crypt.key, wep_key_len);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
785
memcpy(psta->dot118021x_UncstKey.skey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
788
memcpy(psta->dot11tkiptxmickey.skey, &(param->u.crypt.key[16]), 8);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
789
memcpy(psta->dot11tkiprxmickey.skey, &(param->u.crypt.key[24]), 8);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
798
memcpy(padapter->securitypriv.dot118021XGrpKey[param->u.crypt.idx].skey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
799
memcpy(padapter->securitypriv.dot118021XGrptxmickey[param->u.crypt.idx].skey, &(param->u.crypt.key[16]), 8);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
800
memcpy(padapter->securitypriv.dot118021XGrprxmickey[param->u.crypt.idx].skey, &(param->u.crypt.key[24]), 8);
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
807
memcpy(padapter->securitypriv.dot11wBIPKey[param->u.crypt.idx].skey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
fs/sysfs/file.c
313
key = attr->key ?: (struct lock_class_key *)&attr->skey;
fs/sysfs/file.c
348
key = attr->key ?: (struct lock_class_key *)&attr->skey;
include/linux/nvme-auth.h
47
int nvme_auth_augmented_challenge(u8 hmac_id, const u8 *skey, size_t skey_len,
include/linux/nvme-auth.h
55
int nvme_auth_generate_psk(u8 hmac_id, const u8 *skey, size_t skey_len,
include/linux/sysfs.h
36
struct lock_class_key skey;
include/net/sock.h
1690
#define sock_lock_init_class_and_name(sk, sname, skey, name, key) \
include/net/sock.h
1699
(skey), (sname)); \
net/l2tp/l2tp_debugfs.c
38
unsigned long skey; /* lookup key of current session */
net/l2tp/l2tp_debugfs.c
61
pd->tunnel->tunnel_id, &pd->skey);
net/l2tp/l2tp_debugfs.c
62
pd->skey++;
net/l2tp/l2tp_debugfs.c
65
pd->skey = 0;
net/l2tp/l2tp_netlink.c
496
unsigned long skey;
net/l2tp/l2tp_netlink.c
846
unsigned long skey = cbd->skey;
net/l2tp/l2tp_netlink.c
856
tunnel->tunnel_id, &skey);
net/l2tp/l2tp_netlink.c
861
skey = 0;
net/l2tp/l2tp_netlink.c
874
skey++;
net/l2tp/l2tp_netlink.c
879
cbd->skey = skey;
net/l2tp/l2tp_ppp.c
1399
unsigned long skey; /* lookup key of current session */
net/l2tp/l2tp_ppp.c
1430
pd->tunnel->tunnel_id, &pd->skey);
net/l2tp/l2tp_ppp.c
1431
pd->skey++;
net/l2tp/l2tp_ppp.c
1434
pd->skey = 0;
net/mac802154/llsec.c
362
u32 skey = llsec_dev_hash_short(dev->short_addr, dev->pan_id);
net/mac802154/llsec.c
381
hash_add_rcu(sec->devices_short, &entry->bucket_s, skey);
net/tipc/crypto.c
1222
kfree_sensitive(rx->skey);
net/tipc/crypto.c
1223
rx->skey = NULL;
net/tipc/crypto.c
1878
rx->nokey = !(rx->skey ||
net/tipc/crypto.c
211
struct tipc_aead_key *skey;
net/tipc/crypto.c
2238
static int tipc_crypto_key_xmit(struct net *net, struct tipc_aead_key *skey,
net/tipc/crypto.c
2248
size = tipc_aead_key_size(skey);
net/tipc/crypto.c
2261
*((__be32 *)(data + TIPC_AEAD_ALG_NAME)) = htonl(skey->keylen);
net/tipc/crypto.c
2262
memcpy(data, skey->alg_name, TIPC_AEAD_ALG_NAME);
net/tipc/crypto.c
2263
memcpy(data + TIPC_AEAD_ALG_NAME + sizeof(__be32), skey->key,
net/tipc/crypto.c
2264
skey->keylen);
net/tipc/crypto.c
2290
struct tipc_aead_key *skey = NULL;
net/tipc/crypto.c
2312
if (unlikely(rx->skey || (key_gen == rx->key_gen && rx->key.keys))) {
net/tipc/crypto.c
2314
rx->skey, key_gen, rx->key_gen);
net/tipc/crypto.c
2319
skey = kmalloc(size, GFP_ATOMIC);
net/tipc/crypto.c
2320
if (unlikely(!skey)) {
net/tipc/crypto.c
2326
skey->keylen = keylen;
net/tipc/crypto.c
2327
memcpy(skey->alg_name, data, TIPC_AEAD_ALG_NAME);
net/tipc/crypto.c
2328
memcpy(skey->key, data + TIPC_AEAD_ALG_NAME + sizeof(__be32),
net/tipc/crypto.c
2329
skey->keylen);
net/tipc/crypto.c
2333
rx->skey = skey;
net/tipc/crypto.c
2342
if (likely(skey && queue_delayed_work(tx->wq, &rx->work, 0)))
net/tipc/crypto.c
2384
if (rx->skey) {
net/tipc/crypto.c
2385
rc = tipc_crypto_key_init(rx, rx->skey, rx->skey_mode, false);
net/tipc/crypto.c
2397
kfree_sensitive(rx->skey);
net/tipc/crypto.c
2398
rx->skey = NULL;
net/tipc/crypto.c
2448
struct tipc_aead_key *skey = NULL;
net/tipc/crypto.c
2466
skey = kmemdup(aead->key, tipc_aead_key_size(aead->key), GFP_ATOMIC);
net/tipc/crypto.c
2470
if (likely(skey)) {
net/tipc/crypto.c
2471
rc = tipc_aead_key_generate(skey) ?:
net/tipc/crypto.c
2472
tipc_crypto_key_init(tx, skey, PER_NODE_KEY, false);
net/tipc/crypto.c
2475
kfree_sensitive(skey);
net/tipc/crypto.c
303
static int tipc_crypto_key_xmit(struct net *net, struct tipc_aead_key *skey,
net/tipc/crypto.c
308
static int tipc_aead_key_generate(struct tipc_aead_key *skey);
net/tipc/crypto.c
368
static int tipc_aead_key_generate(struct tipc_aead_key *skey)
net/tipc/crypto.c
371
return crypto_stdrng_get_bytes(skey->key, skey->keylen);
tools/testing/selftests/kvm/s390/keyop.c
71
static int do_keyop(struct kvm_vcpu *vcpu, int op, unsigned long page_idx, unsigned char skey)
tools/testing/selftests/kvm/s390/keyop.c
75
.key = skey,
tools/testing/selftests/kvm/s390/keyop.c
84
page_idx, skey, keyop.key);
tools/testing/selftests/kvm/s390/shared_zeropage_test.c
15
static void set_storage_key(void *addr, u8 skey)
tools/testing/selftests/kvm/s390/shared_zeropage_test.c
17
asm volatile("sske %0,%1" : : "d" (skey), "a" (addr));