sync with OpenBSD -current
This commit is contained in:
parent
fdb8624c1a
commit
7f3136b31c
@ -1,4 +1,4 @@
|
|||||||
# $OpenBSD: Makefile,v 1.81 2023/11/22 15:55:28 tb Exp $
|
# $OpenBSD: Makefile,v 1.82 2024/06/25 14:10:45 jsing Exp $
|
||||||
|
|
||||||
.include <bsd.own.mk>
|
.include <bsd.own.mk>
|
||||||
.ifndef NOMAN
|
.ifndef NOMAN
|
||||||
@ -23,6 +23,7 @@ CFLAGS+= -DLIBRESSL_NAMESPACE
|
|||||||
CFLAGS+= -DTLS13_DEBUG
|
CFLAGS+= -DTLS13_DEBUG
|
||||||
.endif
|
.endif
|
||||||
CFLAGS+= -I${.CURDIR}
|
CFLAGS+= -I${.CURDIR}
|
||||||
|
CFLAGS+= -I${.CURDIR}/../libcrypto
|
||||||
CFLAGS+= -I${.CURDIR}/../libcrypto/hidden
|
CFLAGS+= -I${.CURDIR}/../libcrypto/hidden
|
||||||
CFLAGS+= -I${.CURDIR}/../libcrypto/bio
|
CFLAGS+= -I${.CURDIR}/../libcrypto/bio
|
||||||
CFLAGS+= -I${.CURDIR}/hidden
|
CFLAGS+= -I${.CURDIR}/hidden
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: ssl_local.h,v 1.16 2024/05/19 07:12:50 jsg Exp $ */
|
/* $OpenBSD: ssl_local.h,v 1.17 2024/06/25 14:10:45 jsing Exp $ */
|
||||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
@ -167,8 +167,10 @@
|
|||||||
|
|
||||||
__BEGIN_HIDDEN_DECLS
|
__BEGIN_HIDDEN_DECLS
|
||||||
|
|
||||||
|
#ifndef CTASSERT
|
||||||
#define CTASSERT(x) extern char _ctassert[(x) ? 1 : -1 ] \
|
#define CTASSERT(x) extern char _ctassert[(x) ? 1 : -1 ] \
|
||||||
__attribute__((__unused__))
|
__attribute__((__unused__))
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef LIBRESSL_HAS_DTLS1_2
|
#ifndef LIBRESSL_HAS_DTLS1_2
|
||||||
#define LIBRESSL_HAS_DTLS1_2
|
#define LIBRESSL_HAS_DTLS1_2
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: ssl_srvr.c,v 1.160 2024/02/03 17:39:17 tb Exp $ */
|
/* $OpenBSD: ssl_srvr.c,v 1.161 2024/06/25 14:10:45 jsing Exp $ */
|
||||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
@ -163,6 +163,7 @@
|
|||||||
#include <openssl/x509.h>
|
#include <openssl/x509.h>
|
||||||
|
|
||||||
#include "bytestring.h"
|
#include "bytestring.h"
|
||||||
|
#include "crypto_internal.h"
|
||||||
#include "dtls_local.h"
|
#include "dtls_local.h"
|
||||||
#include "ssl_local.h"
|
#include "ssl_local.h"
|
||||||
#include "ssl_sigalgs.h"
|
#include "ssl_sigalgs.h"
|
||||||
@ -1621,98 +1622,104 @@ ssl3_send_certificate_request(SSL *s)
|
|||||||
static int
|
static int
|
||||||
ssl3_get_client_kex_rsa(SSL *s, CBS *cbs)
|
ssl3_get_client_kex_rsa(SSL *s, CBS *cbs)
|
||||||
{
|
{
|
||||||
unsigned char fakekey[SSL_MAX_MASTER_KEY_LENGTH];
|
uint8_t fakepms[SSL_MAX_MASTER_KEY_LENGTH];
|
||||||
unsigned char *pms = NULL;
|
uint8_t *pms = NULL;
|
||||||
unsigned char *p;
|
|
||||||
size_t pms_len = 0;
|
size_t pms_len = 0;
|
||||||
|
size_t pad_len;
|
||||||
EVP_PKEY *pkey = NULL;
|
EVP_PKEY *pkey = NULL;
|
||||||
RSA *rsa = NULL;
|
RSA *rsa = NULL;
|
||||||
CBS enc_pms;
|
CBS enc_pms;
|
||||||
int decrypt_len;
|
int decrypt_len;
|
||||||
int al = -1;
|
uint8_t mask;
|
||||||
|
size_t i;
|
||||||
|
int valid = 1;
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
arc4random_buf(fakekey, sizeof(fakekey));
|
/*
|
||||||
|
* Handle key exchange in the form of an RSA-Encrypted Premaster Secret
|
||||||
|
* Message. See RFC 5246, section 7.4.7.1.
|
||||||
|
*/
|
||||||
|
|
||||||
fakekey[0] = s->s3->hs.peer_legacy_version >> 8;
|
arc4random_buf(fakepms, sizeof(fakepms));
|
||||||
fakekey[1] = s->s3->hs.peer_legacy_version & 0xff;
|
|
||||||
|
fakepms[0] = s->s3->hs.peer_legacy_version >> 8;
|
||||||
|
fakepms[1] = s->s3->hs.peer_legacy_version & 0xff;
|
||||||
|
|
||||||
pkey = s->cert->pkeys[SSL_PKEY_RSA].privatekey;
|
pkey = s->cert->pkeys[SSL_PKEY_RSA].privatekey;
|
||||||
if (pkey == NULL || (rsa = EVP_PKEY_get0_RSA(pkey)) == NULL) {
|
if (pkey == NULL || (rsa = EVP_PKEY_get0_RSA(pkey)) == NULL) {
|
||||||
al = SSL_AD_HANDSHAKE_FAILURE;
|
|
||||||
SSLerror(s, SSL_R_MISSING_RSA_CERTIFICATE);
|
SSLerror(s, SSL_R_MISSING_RSA_CERTIFICATE);
|
||||||
goto fatal_err;
|
ssl3_send_alert(s, SSL3_AL_FATAL, SSL_AD_HANDSHAKE_FAILURE);
|
||||||
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The minimum size of an encrypted premaster secret is 11 bytes of
|
||||||
|
* padding (00 02 <8 or more non-zero bytes> 00) (RFC 8017, section
|
||||||
|
* 9.2) and 48 bytes of premaster secret (RFC 5246, section 7.4.7.1).
|
||||||
|
* This means an RSA key size of at least 472 bits.
|
||||||
|
*/
|
||||||
pms_len = RSA_size(rsa);
|
pms_len = RSA_size(rsa);
|
||||||
if (pms_len < SSL_MAX_MASTER_KEY_LENGTH)
|
if (pms_len < 11 + SSL_MAX_MASTER_KEY_LENGTH) {
|
||||||
goto err;
|
SSLerror(s, SSL_R_DECRYPTION_FAILED);
|
||||||
if ((pms = malloc(pms_len)) == NULL)
|
ssl3_send_alert(s, SSL3_AL_FATAL, SSL_AD_DECRYPT_ERROR);
|
||||||
goto err;
|
|
||||||
p = pms;
|
|
||||||
|
|
||||||
if (!CBS_get_u16_length_prefixed(cbs, &enc_pms))
|
|
||||||
goto decode_err;
|
|
||||||
if (CBS_len(cbs) != 0 || CBS_len(&enc_pms) != RSA_size(rsa)) {
|
|
||||||
SSLerror(s, SSL_R_TLS_RSA_ENCRYPTED_VALUE_LENGTH_IS_WRONG);
|
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
pad_len = pms_len - SSL_MAX_MASTER_KEY_LENGTH;
|
||||||
|
|
||||||
|
if (!CBS_get_u16_length_prefixed(cbs, &enc_pms)) {
|
||||||
|
SSLerror(s, SSL_R_BAD_PACKET_LENGTH);
|
||||||
|
ssl3_send_alert(s, SSL3_AL_FATAL, SSL_AD_DECODE_ERROR);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
if (CBS_len(&enc_pms) != pms_len || CBS_len(cbs) != 0) {
|
||||||
|
SSLerror(s, SSL_R_TLS_RSA_ENCRYPTED_VALUE_LENGTH_IS_WRONG);
|
||||||
|
ssl3_send_alert(s, SSL3_AL_FATAL, SSL_AD_DECODE_ERROR);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((pms = calloc(1, pms_len)) == NULL)
|
||||||
|
goto err;
|
||||||
|
|
||||||
decrypt_len = RSA_private_decrypt(CBS_len(&enc_pms), CBS_data(&enc_pms),
|
decrypt_len = RSA_private_decrypt(CBS_len(&enc_pms), CBS_data(&enc_pms),
|
||||||
pms, rsa, RSA_PKCS1_PADDING);
|
pms, rsa, RSA_NO_PADDING);
|
||||||
|
|
||||||
ERR_clear_error();
|
if (decrypt_len != pms_len) {
|
||||||
|
SSLerror(s, SSL_R_DECRYPTION_FAILED);
|
||||||
if (decrypt_len != SSL_MAX_MASTER_KEY_LENGTH) {
|
ssl3_send_alert(s, SSL3_AL_FATAL, SSL_AD_DECRYPT_ERROR);
|
||||||
al = SSL_AD_DECODE_ERROR;
|
goto err;
|
||||||
/* SSLerror(s, SSL_R_BAD_RSA_DECRYPT); */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((al == -1) && !((pms[0] == (s->s3->hs.peer_legacy_version >> 8)) &&
|
/*
|
||||||
(pms[1] == (s->s3->hs.peer_legacy_version & 0xff)))) {
|
* All processing from here on needs to avoid leaking any information
|
||||||
/*
|
* about the decrypted content, in order to prevent oracle attacks and
|
||||||
* The premaster secret must contain the same version number
|
* minimise timing attacks.
|
||||||
* as the ClientHello to detect version rollback attacks
|
*/
|
||||||
* (strangely, the protocol does not offer such protection for
|
|
||||||
* DH ciphersuites).
|
|
||||||
*
|
|
||||||
* The Klima-Pokorny-Rosa extension of Bleichenbacher's attack
|
|
||||||
* (http://eprint.iacr.org/2003/052/) exploits the version
|
|
||||||
* number check as a "bad version oracle" -- an alert would
|
|
||||||
* reveal that the plaintext corresponding to some ciphertext
|
|
||||||
* made up by the adversary is properly formatted except that
|
|
||||||
* the version number is wrong. To avoid such attacks, we should
|
|
||||||
* treat this just like any other decryption error.
|
|
||||||
*/
|
|
||||||
al = SSL_AD_DECODE_ERROR;
|
|
||||||
/* SSLerror(s, SSL_R_BAD_PROTOCOL_VERSION_NUMBER); */
|
|
||||||
}
|
|
||||||
|
|
||||||
if (al != -1) {
|
/* Check padding - 00 02 <8 or more non-zero bytes> 00 */
|
||||||
/*
|
valid &= crypto_ct_eq_u8(pms[0], 0x00);
|
||||||
* Some decryption failure -- use random value instead
|
valid &= crypto_ct_eq_u8(pms[1], 0x02);
|
||||||
* as countermeasure against Bleichenbacher's attack
|
for (i = 2; i < pad_len - 1; i++)
|
||||||
* on PKCS #1 v1.5 RSA padding (see RFC 2246,
|
valid &= crypto_ct_ne_u8(pms[i], 0x00);
|
||||||
* section 7.4.7.1).
|
valid &= crypto_ct_eq_u8(pms[pad_len - 1], 0x00);
|
||||||
*/
|
|
||||||
p = fakekey;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!tls12_derive_master_secret(s, p, SSL_MAX_MASTER_KEY_LENGTH))
|
/* Ensure client version in premaster secret matches ClientHello version. */
|
||||||
|
valid &= crypto_ct_eq_u8(pms[pad_len + 0], s->s3->hs.peer_legacy_version >> 8);
|
||||||
|
valid &= crypto_ct_eq_u8(pms[pad_len + 1], s->s3->hs.peer_legacy_version & 0xff);
|
||||||
|
|
||||||
|
/* Use the premaster secret if padding is correct, if not use the fake. */
|
||||||
|
mask = crypto_ct_eq_mask_u8(valid, 1);
|
||||||
|
for (i = 0; i < SSL_MAX_MASTER_KEY_LENGTH; i++)
|
||||||
|
pms[i] = (pms[pad_len + i] & mask) | (fakepms[i] & ~mask);
|
||||||
|
|
||||||
|
if (!tls12_derive_master_secret(s, pms, SSL_MAX_MASTER_KEY_LENGTH))
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
freezero(pms, pms_len);
|
ret = 1;
|
||||||
|
|
||||||
return 1;
|
|
||||||
|
|
||||||
decode_err:
|
|
||||||
al = SSL_AD_DECODE_ERROR;
|
|
||||||
SSLerror(s, SSL_R_BAD_PACKET_LENGTH);
|
|
||||||
fatal_err:
|
|
||||||
ssl3_send_alert(s, SSL3_AL_FATAL, al);
|
|
||||||
err:
|
err:
|
||||||
freezero(pms, pms_len);
|
freezero(pms, pms_len);
|
||||||
|
|
||||||
return 0;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: ssl_tlsext.c,v 1.150 2024/06/06 16:13:12 tb Exp $ */
|
/* $OpenBSD: ssl_tlsext.c,v 1.151 2024/06/25 05:46:48 tb Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016, 2017, 2019 Joel Sing <jsing@openbsd.org>
|
* Copyright (c) 2016, 2017, 2019 Joel Sing <jsing@openbsd.org>
|
||||||
* Copyright (c) 2017 Doug Hogan <doug@openbsd.org>
|
* Copyright (c) 2017 Doug Hogan <doug@openbsd.org>
|
||||||
@ -2427,7 +2427,7 @@ tlsext_randomize_build_order(SSL *s)
|
|||||||
s->tlsext_build_order[N_TLS_EXTENSIONS - 1] = psk_ext;
|
s->tlsext_build_order[N_TLS_EXTENSIONS - 1] = psk_ext;
|
||||||
|
|
||||||
/* Fisher-Yates shuffle with PSK fixed. */
|
/* Fisher-Yates shuffle with PSK fixed. */
|
||||||
for (idx = 0; idx < psk_idx; idx++) {
|
for (idx = 0; idx < N_TLS_EXTENSIONS - 1; idx++) {
|
||||||
new_idx = arc4random_uniform(idx + 1);
|
new_idx = arc4random_uniform(idx + 1);
|
||||||
s->tlsext_build_order[idx] = s->tlsext_build_order[new_idx];
|
s->tlsext_build_order[idx] = s->tlsext_build_order[new_idx];
|
||||||
s->tlsext_build_order[new_idx] = &tls_extensions[idx];
|
s->tlsext_build_order[new_idx] = &tls_extensions[idx];
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: intr.c,v 1.60 2024/06/15 18:01:44 kettenis Exp $ */
|
/* $OpenBSD: intr.c,v 1.61 2024/06/25 12:02:48 kettenis Exp $ */
|
||||||
/* $NetBSD: intr.c,v 1.3 2003/03/03 22:16:20 fvdl Exp $ */
|
/* $NetBSD: intr.c,v 1.3 2003/03/03 22:16:20 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -74,6 +74,7 @@ struct pic softintr_pic = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
int intr_suspended;
|
int intr_suspended;
|
||||||
|
struct intrhand *intr_nowake;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Fill in default interrupt table (in case of spurious interrupt
|
* Fill in default interrupt table (in case of spurious interrupt
|
||||||
@ -537,8 +538,10 @@ intr_handler(struct intrframe *frame, struct intrhand *ih)
|
|||||||
* We may not be able to mask MSIs, so block non-wakeup
|
* We may not be able to mask MSIs, so block non-wakeup
|
||||||
* interrupts while we're suspended.
|
* interrupts while we're suspended.
|
||||||
*/
|
*/
|
||||||
if (intr_suspended && (ih->ih_flags & IPL_WAKEUP) == 0)
|
if (intr_suspended && (ih->ih_flags & IPL_WAKEUP) == 0) {
|
||||||
|
intr_nowake = ih;
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef MULTIPROCESSOR
|
#ifdef MULTIPROCESSOR
|
||||||
if (ih->ih_flags & IPL_MPSAFE)
|
if (ih->ih_flags & IPL_MPSAFE)
|
||||||
@ -749,6 +752,13 @@ intr_disable_wakeup(void)
|
|||||||
if (pic->pic_hwunmask)
|
if (pic->pic_hwunmask)
|
||||||
pic->pic_hwunmask(pic, pin);
|
pic->pic_hwunmask(pic, pin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (intr_nowake) {
|
||||||
|
printf("last non-wakeup interrupt: irq%d/%s\n",
|
||||||
|
*(int *)intr_nowake->ih_count.ec_data,
|
||||||
|
intr_nowake->ih_count.ec_name);
|
||||||
|
intr_nowake = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: machdep.c,v 1.294 2024/06/07 16:53:35 kettenis Exp $ */
|
/* $OpenBSD: machdep.c,v 1.295 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
/* $NetBSD: machdep.c,v 1.3 2003/05/07 22:58:18 fvdl Exp $ */
|
/* $NetBSD: machdep.c,v 1.3 2003/05/07 22:58:18 fvdl Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
@ -1294,7 +1294,8 @@ set_sys_segment(struct sys_segment_descriptor *sd, void *base, size_t limit,
|
|||||||
sd->sd_hibase = (u_int64_t)base >> 24;
|
sd->sd_hibase = (u_int64_t)base >> 24;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cpu_init_idt(void)
|
void
|
||||||
|
cpu_init_idt(void)
|
||||||
{
|
{
|
||||||
struct region_descriptor region;
|
struct region_descriptor region;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: vmm_machdep.c,v 1.27 2024/05/13 01:15:50 jsg Exp $ */
|
/* $OpenBSD: vmm_machdep.c,v 1.28 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2014 Mike Larkin <mlarkin@openbsd.org>
|
* Copyright (c) 2014 Mike Larkin <mlarkin@openbsd.org>
|
||||||
*
|
*
|
||||||
@ -8370,7 +8370,8 @@ vmm_decode_perf_status_value(uint64_t val)
|
|||||||
DPRINTF("(pstate ratio = 0x%llx)\n", (val & 0xffff));
|
DPRINTF("(pstate ratio = 0x%llx)\n", (val & 0xffff));
|
||||||
}
|
}
|
||||||
|
|
||||||
void vmm_decode_perf_ctl_value(uint64_t val)
|
void
|
||||||
|
vmm_decode_perf_ctl_value(uint64_t val)
|
||||||
{
|
{
|
||||||
DPRINTF("(%s ", (val & PERF_CTL_TURBO) ? "TURBO" : "turbo");
|
DPRINTF("(%s ", (val & PERF_CTL_TURBO) ? "TURBO" : "turbo");
|
||||||
DPRINTF("pstate req = 0x%llx)\n", (val & 0xfffF));
|
DPRINTF("pstate req = 0x%llx)\n", (val & 0xfffF));
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: intr.c,v 1.21 2022/07/27 20:26:17 kettenis Exp $ */
|
/* $OpenBSD: intr.c,v 1.22 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2011 Dale Rahn <drahn@openbsd.org>
|
* Copyright (c) 2011 Dale Rahn <drahn@openbsd.org>
|
||||||
*
|
*
|
||||||
@ -72,16 +72,21 @@ arm_dflt_intr(void *frame)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void *arm_intr_establish(int irqno, int level, int (*func)(void *),
|
void *
|
||||||
|
arm_intr_establish(int irqno, int level, int (*func)(void *),
|
||||||
void *cookie, char *name)
|
void *cookie, char *name)
|
||||||
{
|
{
|
||||||
return arm_intr_func.intr_establish(irqno, level, NULL, func, cookie, name);
|
return arm_intr_func.intr_establish(irqno, level, NULL, func, cookie, name);
|
||||||
}
|
}
|
||||||
void arm_intr_disestablish(void *cookie)
|
|
||||||
|
void
|
||||||
|
arm_intr_disestablish(void *cookie)
|
||||||
{
|
{
|
||||||
arm_intr_func.intr_disestablish(cookie);
|
arm_intr_func.intr_disestablish(cookie);
|
||||||
}
|
}
|
||||||
const char *arm_intr_string(void *cookie)
|
|
||||||
|
const char *
|
||||||
|
arm_intr_string(void *cookie)
|
||||||
{
|
{
|
||||||
return arm_intr_func.intr_string(cookie);
|
return arm_intr_func.intr_string(cookie);
|
||||||
}
|
}
|
||||||
@ -657,13 +662,15 @@ arm_dflt_setipl(int newcpl)
|
|||||||
ci->ci_cpl = newcpl;
|
ci->ci_cpl = newcpl;
|
||||||
}
|
}
|
||||||
|
|
||||||
void *arm_dflt_intr_establish(int irqno, int level, struct cpu_info *ci,
|
void *
|
||||||
|
arm_dflt_intr_establish(int irqno, int level, struct cpu_info *ci,
|
||||||
int (*func)(void *), void *cookie, char *name)
|
int (*func)(void *), void *cookie, char *name)
|
||||||
{
|
{
|
||||||
panic("arm_dflt_intr_establish called");
|
panic("arm_dflt_intr_establish called");
|
||||||
}
|
}
|
||||||
|
|
||||||
void arm_dflt_intr_disestablish(void *cookie)
|
void
|
||||||
|
arm_dflt_intr_disestablish(void *cookie)
|
||||||
{
|
{
|
||||||
panic("arm_dflt_intr_disestablish called");
|
panic("arm_dflt_intr_disestablish called");
|
||||||
}
|
}
|
||||||
@ -721,7 +728,8 @@ arm_do_pending_intr(int pcpl)
|
|||||||
restore_interrupts(oldirqstate);
|
restore_interrupts(oldirqstate);
|
||||||
}
|
}
|
||||||
|
|
||||||
void arm_set_intr_handler(int (*raise)(int), int (*lower)(int),
|
void
|
||||||
|
arm_set_intr_handler(int (*raise)(int), int (*lower)(int),
|
||||||
void (*x)(int), void (*setipl)(int),
|
void (*x)(int), void (*setipl)(int),
|
||||||
void *(*intr_establish)(int irqno, int level, struct cpu_info *ci,
|
void *(*intr_establish)(int irqno, int level, struct cpu_info *ci,
|
||||||
int (*func)(void *), void *cookie, char *name),
|
int (*func)(void *), void *cookie, char *name),
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: intc.c,v 1.14 2024/04/29 12:42:06 jsg Exp $ */
|
/* $OpenBSD: intc.c,v 1.15 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007,2009 Dale Rahn <drahn@openbsd.org>
|
* Copyright (c) 2007,2009 Dale Rahn <drahn@openbsd.org>
|
||||||
*
|
*
|
||||||
@ -418,7 +418,8 @@ intc_tst(void *a)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void intc_test(void);
|
void intc_test(void);
|
||||||
void intc_test(void)
|
void
|
||||||
|
intc_test(void)
|
||||||
{
|
{
|
||||||
void * ih;
|
void * ih;
|
||||||
printf("about to register handler\n");
|
printf("about to register handler\n");
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: omusbtll.c,v 1.5 2021/10/24 17:52:28 mpi Exp $ */
|
/* $OpenBSD: omusbtll.c,v 1.6 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2010 Dale Rahn <drahn@openbsd.org>
|
* Copyright (c) 2010 Dale Rahn <drahn@openbsd.org>
|
||||||
*
|
*
|
||||||
@ -132,8 +132,8 @@ omusbtll_attach(struct device *parent, struct device *self, void *args)
|
|||||||
omusbtll_init(0x3);
|
omusbtll_init(0x3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
void omusbtll_init(uint32_t channel_mask)
|
omusbtll_init(uint32_t channel_mask)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
uint32_t val;
|
uint32_t val;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: machdep.c,v 1.40 2022/07/07 00:56:47 daniel Exp $ */
|
/* $OpenBSD: machdep.c,v 1.41 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2004 Tom Cosgrove
|
* Copyright (c) 2004 Tom Cosgrove
|
||||||
@ -112,7 +112,8 @@ machdep(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int check_skip_conf(void)
|
int
|
||||||
|
check_skip_conf(void)
|
||||||
{
|
{
|
||||||
/* Return non-zero (skip boot.conf) if Control "shift" key down */
|
/* Return non-zero (skip boot.conf) if Control "shift" key down */
|
||||||
#ifndef EFIBOOT
|
#ifndef EFIBOOT
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: acpi.c,v 1.431 2024/06/11 17:35:26 kettenis Exp $ */
|
/* $OpenBSD: acpi.c,v 1.432 2024/06/25 11:57:10 kettenis Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com>
|
* Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com>
|
||||||
* Copyright (c) 2005 Jordan Hargrave <jordan@openbsd.org>
|
* Copyright (c) 2005 Jordan Hargrave <jordan@openbsd.org>
|
||||||
@ -2115,6 +2115,11 @@ acpi_interrupt(void *arg)
|
|||||||
if (!(en & sts & (1L << jdx)))
|
if (!(en & sts & (1L << jdx)))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if (cpu_suspended) {
|
||||||
|
cpu_suspended = 0;
|
||||||
|
sc->sc_wakegpe = idx + jdx;
|
||||||
|
}
|
||||||
|
|
||||||
/* Signal this GPE */
|
/* Signal this GPE */
|
||||||
gpe = idx + jdx;
|
gpe = idx + jdx;
|
||||||
sc->gpe_table[gpe].active = 1;
|
sc->gpe_table[gpe].active = 1;
|
||||||
@ -2149,8 +2154,10 @@ acpi_interrupt(void *arg)
|
|||||||
ACPI_PM1_PWRBTN_STS);
|
ACPI_PM1_PWRBTN_STS);
|
||||||
sts &= ~ACPI_PM1_PWRBTN_STS;
|
sts &= ~ACPI_PM1_PWRBTN_STS;
|
||||||
|
|
||||||
if (cpu_suspended)
|
if (cpu_suspended) {
|
||||||
cpu_suspended = 0;
|
cpu_suspended = 0;
|
||||||
|
sc->sc_wakegpe = -1;
|
||||||
|
}
|
||||||
|
|
||||||
acpi_addtask(sc, acpi_pbtn_task, sc, 0);
|
acpi_addtask(sc, acpi_pbtn_task, sc, 0);
|
||||||
}
|
}
|
||||||
@ -2162,6 +2169,11 @@ acpi_interrupt(void *arg)
|
|||||||
ACPI_PM1_SLPBTN_STS);
|
ACPI_PM1_SLPBTN_STS);
|
||||||
sts &= ~ACPI_PM1_SLPBTN_STS;
|
sts &= ~ACPI_PM1_SLPBTN_STS;
|
||||||
|
|
||||||
|
if (cpu_suspended) {
|
||||||
|
cpu_suspended = 0;
|
||||||
|
sc->sc_wakegpe = -2;
|
||||||
|
}
|
||||||
|
|
||||||
acpi_addtask(sc, acpi_sbtn_task, sc, 0);
|
acpi_addtask(sc, acpi_sbtn_task, sc, 0);
|
||||||
}
|
}
|
||||||
if (sts) {
|
if (sts) {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: acpi_x86.c,v 1.21 2024/05/29 12:21:33 kettenis Exp $ */
|
/* $OpenBSD: acpi_x86.c,v 1.22 2024/06/25 11:57:10 kettenis Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com>
|
* Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com>
|
||||||
* Copyright (c) 2005 Jordan Hargrave <jordan@openbsd.org>
|
* Copyright (c) 2005 Jordan Hargrave <jordan@openbsd.org>
|
||||||
@ -147,6 +147,19 @@ suspend_finish(void *v)
|
|||||||
{
|
{
|
||||||
struct acpi_softc *sc = v;
|
struct acpi_softc *sc = v;
|
||||||
|
|
||||||
|
printf("wakeup event: ");
|
||||||
|
switch (sc->sc_wakegpe) {
|
||||||
|
case -1:
|
||||||
|
printf("PWRBTN\n");
|
||||||
|
break;
|
||||||
|
case -2:
|
||||||
|
printf("SLPTN\n");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
printf("GPE 0x%x\n", sc->sc_wakegpe);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
acpi_record_event(sc, APM_NORMAL_RESUME);
|
acpi_record_event(sc, APM_NORMAL_RESUME);
|
||||||
acpi_indicator(sc, ACPI_SST_WORKING);
|
acpi_indicator(sc, ACPI_SST_WORKING);
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: acpidebug.c,v 1.34 2024/05/13 01:15:50 jsg Exp $ */
|
/* $OpenBSD: acpidebug.c,v 1.35 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006 Marco Peereboom <marco@openbsd.org>
|
* Copyright (c) 2006 Marco Peereboom <marco@openbsd.org>
|
||||||
*
|
*
|
||||||
@ -289,7 +289,8 @@ db_acpi_showval(db_expr_t addr, int haddr, db_expr_t count, char *modif)
|
|||||||
db_printf("Not a valid value\n");
|
db_printf("Not a valid value\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void db_disprint(void *arg, const char *fmt, ...)
|
void
|
||||||
|
db_disprint(void *arg, const char *fmt, ...)
|
||||||
{
|
{
|
||||||
va_list ap;
|
va_list ap;
|
||||||
|
|
||||||
|
@ -223,12 +223,14 @@ struct iommu_softc {
|
|||||||
paddr_t evt_tblp;
|
paddr_t evt_tblp;
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline int iommu_bad(struct iommu_softc *sc)
|
static inline int
|
||||||
|
iommu_bad(struct iommu_softc *sc)
|
||||||
{
|
{
|
||||||
return (sc->flags & IOMMU_FLAGS_BAD);
|
return (sc->flags & IOMMU_FLAGS_BAD);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int iommu_enabled(struct iommu_softc *sc)
|
static inline int
|
||||||
|
iommu_enabled(struct iommu_softc *sc)
|
||||||
{
|
{
|
||||||
if (sc->dte) {
|
if (sc->dte) {
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -230,12 +230,15 @@
|
|||||||
#define IQA_QS_32K 7 /* 32768 */
|
#define IQA_QS_32K 7 /* 32768 */
|
||||||
|
|
||||||
/* Read-Modify-Write helpers */
|
/* Read-Modify-Write helpers */
|
||||||
static inline void iommu_rmw32(void *ov, uint32_t mask, uint32_t shift, uint32_t nv)
|
static inline void
|
||||||
|
iommu_rmw32(void *ov, uint32_t mask, uint32_t shift, uint32_t nv)
|
||||||
{
|
{
|
||||||
*(uint32_t *)ov &= ~(mask << shift);
|
*(uint32_t *)ov &= ~(mask << shift);
|
||||||
*(uint32_t *)ov |= (nv & mask) << shift;
|
*(uint32_t *)ov |= (nv & mask) << shift;
|
||||||
}
|
}
|
||||||
static inline void iommu_rmw64(void *ov, uint32_t mask, uint32_t shift, uint64_t nv)
|
|
||||||
|
static inline void
|
||||||
|
iommu_rmw64(void *ov, uint32_t mask, uint32_t shift, uint64_t nv)
|
||||||
{
|
{
|
||||||
*(uint64_t *)ov &= ~(mask << shift);
|
*(uint64_t *)ov &= ~(mask << shift);
|
||||||
*(uint64_t *)ov |= (nv & mask) << shift;
|
*(uint64_t *)ov |= (nv & mask) << shift;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: acpiec.c,v 1.65 2022/08/10 16:58:16 patrick Exp $ */
|
/* $OpenBSD: acpiec.c,v 1.66 2024/06/25 11:57:10 kettenis Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006 Can Erkin Acar <canacar@openbsd.org>
|
* Copyright (c) 2006 Can Erkin Acar <canacar@openbsd.org>
|
||||||
*
|
*
|
||||||
@ -274,6 +274,9 @@ acpiec_attach(struct device *parent, struct device *self, void *aux)
|
|||||||
{
|
{
|
||||||
struct acpiec_softc *sc = (struct acpiec_softc *)self;
|
struct acpiec_softc *sc = (struct acpiec_softc *)self;
|
||||||
struct acpi_attach_args *aa = aux;
|
struct acpi_attach_args *aa = aux;
|
||||||
|
#ifndef SMALL_KERNEL
|
||||||
|
struct acpi_wakeq *wq;
|
||||||
|
#endif
|
||||||
struct aml_value res;
|
struct aml_value res;
|
||||||
int64_t st;
|
int64_t st;
|
||||||
|
|
||||||
@ -318,6 +321,17 @@ acpiec_attach(struct device *parent, struct device *self, void *aux)
|
|||||||
#ifndef SMALL_KERNEL
|
#ifndef SMALL_KERNEL
|
||||||
acpi_set_gpehandler(sc->sc_acpi, sc->sc_gpe, acpiec_gpehandler,
|
acpi_set_gpehandler(sc->sc_acpi, sc->sc_gpe, acpiec_gpehandler,
|
||||||
sc, GPE_EDGE);
|
sc, GPE_EDGE);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* On many machines the EC is not listed as a wakeup device
|
||||||
|
* but is necessary to wake up from S0i.
|
||||||
|
*/
|
||||||
|
wq = malloc(sizeof(struct acpi_wakeq), M_DEVBUF, M_WAITOK | M_ZERO);
|
||||||
|
wq->q_node = sc->sc_devnode;
|
||||||
|
wq->q_gpe = sc->sc_gpe;
|
||||||
|
wq->q_state = ACPI_STATE_S0;
|
||||||
|
wq->q_enabled = 1;
|
||||||
|
SIMPLEQ_INSERT_TAIL(&sc->sc_acpi->sc_wakedevs, wq, q_next);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (aml_evalname(sc->sc_acpi, sc->sc_devnode, "_GLK", 0, NULL, &res))
|
if (aml_evalname(sc->sc_acpi, sc->sc_devnode, "_GLK", 0, NULL, &res))
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: acpivar.h,v 1.127 2024/05/13 19:56:37 kettenis Exp $ */
|
/* $OpenBSD: acpivar.h,v 1.128 2024/06/25 11:57:10 kettenis Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com>
|
* Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com>
|
||||||
*
|
*
|
||||||
@ -253,6 +253,7 @@ struct acpi_softc {
|
|||||||
int slp_typb;
|
int slp_typb;
|
||||||
} sc_sleeptype[6];
|
} sc_sleeptype[6];
|
||||||
int sc_lastgpe;
|
int sc_lastgpe;
|
||||||
|
int sc_wakegpe;
|
||||||
|
|
||||||
struct gpe_block *gpe_table;
|
struct gpe_block *gpe_table;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: dsdt.c,v 1.268 2024/05/14 08:26:13 jsg Exp $ */
|
/* $OpenBSD: dsdt.c,v 1.269 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2005 Jordan Hargrave <jordan@openbsd.org>
|
* Copyright (c) 2005 Jordan Hargrave <jordan@openbsd.org>
|
||||||
*
|
*
|
||||||
@ -251,7 +251,8 @@ struct aml_opcode aml_table[] = {
|
|||||||
{ AMLOP_COPYOBJECT, "CopyObject", "tS", },
|
{ AMLOP_COPYOBJECT, "CopyObject", "tS", },
|
||||||
};
|
};
|
||||||
|
|
||||||
int aml_pc(uint8_t *src)
|
int
|
||||||
|
aml_pc(uint8_t *src)
|
||||||
{
|
{
|
||||||
return src - aml_root.start;
|
return src - aml_root.start;
|
||||||
}
|
}
|
||||||
@ -1668,7 +1669,8 @@ aml_foreachpkg(struct aml_value *pkg, int start,
|
|||||||
*/
|
*/
|
||||||
int aml_fixup_node(struct aml_node *, void *);
|
int aml_fixup_node(struct aml_node *, void *);
|
||||||
|
|
||||||
int aml_fixup_node(struct aml_node *node, void *arg)
|
int
|
||||||
|
aml_fixup_node(struct aml_node *node, void *arg)
|
||||||
{
|
{
|
||||||
struct aml_value *val = arg;
|
struct aml_value *val = arg;
|
||||||
int i;
|
int i;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: aic7xxx_openbsd.h,v 1.32 2024/05/29 00:48:15 jsg Exp $ */
|
/* $OpenBSD: aic7xxx_openbsd.h,v 1.33 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
/* $NetBSD: aic7xxx_osm.h,v 1.7 2003/11/02 11:07:44 wiz Exp $ */
|
/* $NetBSD: aic7xxx_osm.h,v 1.7 2003/11/02 11:07:44 wiz Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -209,20 +209,20 @@ static __inline uint32_t ahc_get_sense_bufsize(struct ahc_softc *,
|
|||||||
struct scb *);
|
struct scb *);
|
||||||
static __inline void ahc_freeze_scb(struct scb *);
|
static __inline void ahc_freeze_scb(struct scb *);
|
||||||
|
|
||||||
static __inline
|
static __inline void
|
||||||
void ahc_set_transaction_status(struct scb *scb, uint32_t status)
|
ahc_set_transaction_status(struct scb *scb, uint32_t status)
|
||||||
{
|
{
|
||||||
scb->xs->error = status;
|
scb->xs->error = status;
|
||||||
}
|
}
|
||||||
|
|
||||||
static __inline
|
static __inline void
|
||||||
void ahc_set_scsi_status(struct scb *scb, uint32_t status)
|
ahc_set_scsi_status(struct scb *scb, uint32_t status)
|
||||||
{
|
{
|
||||||
scb->xs->status = status;
|
scb->xs->status = status;
|
||||||
}
|
}
|
||||||
|
|
||||||
static __inline
|
static __inline uint32_t
|
||||||
uint32_t ahc_get_transaction_status(struct scb *scb)
|
ahc_get_transaction_status(struct scb *scb)
|
||||||
{
|
{
|
||||||
if (scb->xs->flags & ITSDONE)
|
if (scb->xs->flags & ITSDONE)
|
||||||
return CAM_REQ_CMP;
|
return CAM_REQ_CMP;
|
||||||
@ -230,49 +230,49 @@ uint32_t ahc_get_transaction_status(struct scb *scb)
|
|||||||
return scb->xs->error;
|
return scb->xs->error;
|
||||||
}
|
}
|
||||||
|
|
||||||
static __inline
|
static __inline uint32_t
|
||||||
uint32_t ahc_get_scsi_status(struct scb *scb)
|
ahc_get_scsi_status(struct scb *scb)
|
||||||
{
|
{
|
||||||
return (scb->xs->status);
|
return (scb->xs->status);
|
||||||
}
|
}
|
||||||
|
|
||||||
static __inline
|
static __inline void
|
||||||
void ahc_set_transaction_tag(struct scb *scb, int enabled, u_int type)
|
ahc_set_transaction_tag(struct scb *scb, int enabled, u_int type)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
static __inline
|
static __inline u_long
|
||||||
u_long ahc_get_transfer_length(struct scb *scb)
|
ahc_get_transfer_length(struct scb *scb)
|
||||||
{
|
{
|
||||||
return (scb->xs->datalen);
|
return (scb->xs->datalen);
|
||||||
}
|
}
|
||||||
|
|
||||||
static __inline
|
static __inline int
|
||||||
int ahc_get_transfer_dir(struct scb *scb)
|
ahc_get_transfer_dir(struct scb *scb)
|
||||||
{
|
{
|
||||||
return (scb->xs->flags & (SCSI_DATA_IN | SCSI_DATA_OUT));
|
return (scb->xs->flags & (SCSI_DATA_IN | SCSI_DATA_OUT));
|
||||||
}
|
}
|
||||||
|
|
||||||
static __inline
|
static __inline void
|
||||||
void ahc_set_residual(struct scb *scb, u_long resid)
|
ahc_set_residual(struct scb *scb, u_long resid)
|
||||||
{
|
{
|
||||||
scb->xs->resid = resid;
|
scb->xs->resid = resid;
|
||||||
}
|
}
|
||||||
|
|
||||||
static __inline
|
static __inline void
|
||||||
void ahc_set_sense_residual(struct scb *scb, u_long resid)
|
ahc_set_sense_residual(struct scb *scb, u_long resid)
|
||||||
{
|
{
|
||||||
scb->xs->resid = resid;
|
scb->xs->resid = resid;
|
||||||
}
|
}
|
||||||
|
|
||||||
static __inline
|
static __inline u_long
|
||||||
u_long ahc_get_residual(struct scb *scb)
|
ahc_get_residual(struct scb *scb)
|
||||||
{
|
{
|
||||||
return (scb->xs->resid);
|
return (scb->xs->resid);
|
||||||
}
|
}
|
||||||
|
|
||||||
static __inline
|
static __inline int
|
||||||
int ahc_perform_autosense(struct scb *scb)
|
ahc_perform_autosense(struct scb *scb)
|
||||||
{
|
{
|
||||||
/* Return true for OpenBSD */
|
/* Return true for OpenBSD */
|
||||||
return (1);
|
return (1);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: ami.c,v 1.262 2022/04/16 19:19:58 naddy Exp $ */
|
/* $OpenBSD: ami.c,v 1.263 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001 Michael Shalayeff
|
* Copyright (c) 2001 Michael Shalayeff
|
||||||
@ -2277,7 +2277,8 @@ bail:
|
|||||||
return (error);
|
return (error);
|
||||||
}
|
}
|
||||||
|
|
||||||
int ami_ioctl_alarm(struct ami_softc *sc, struct bioc_alarm *ba)
|
int
|
||||||
|
ami_ioctl_alarm(struct ami_softc *sc, struct bioc_alarm *ba)
|
||||||
{
|
{
|
||||||
int error = 0;
|
int error = 0;
|
||||||
u_int8_t func, ret;
|
u_int8_t func, ret;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: bt463.c,v 1.13 2014/07/08 17:19:25 deraadt Exp $ */
|
/* $OpenBSD: bt463.c,v 1.14 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
/* $NetBSD: bt463.c,v 1.2 2000/06/13 17:21:06 nathanw Exp $ */
|
/* $NetBSD: bt463.c,v 1.2 2000/06/13 17:21:06 nathanw Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
@ -492,7 +492,8 @@ bt463_get_curcmap(rc, cursorp)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef BT463_DEBUG
|
#ifdef BT463_DEBUG
|
||||||
int bt463_store(void *v)
|
int
|
||||||
|
bt463_store(void *v)
|
||||||
{
|
{
|
||||||
struct bt463data *data = (struct bt463data *)v;
|
struct bt463data *data = (struct bt463data *)v;
|
||||||
|
|
||||||
@ -504,7 +505,8 @@ int bt463_store(void *v)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int bt463_readback(void *v)
|
int
|
||||||
|
bt463_readback(void *v)
|
||||||
{
|
{
|
||||||
struct bt463data *data = (struct bt463data *)v;
|
struct bt463data *data = (struct bt463data *)v;
|
||||||
|
|
||||||
@ -623,7 +625,8 @@ bt463_update(p)
|
|||||||
data->changed = 0;
|
data->changed = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int bt463_set_cursor (rc, cur)
|
int
|
||||||
|
bt463_set_cursor (rc, cur)
|
||||||
struct ramdac_cookie *rc;
|
struct ramdac_cookie *rc;
|
||||||
struct wsdisplay_cursor *cur;
|
struct wsdisplay_cursor *cur;
|
||||||
{
|
{
|
||||||
@ -631,7 +634,8 @@ int bt463_set_cursor (rc, cur)
|
|||||||
return tga_builtin_set_cursor(data->cookie, cur);
|
return tga_builtin_set_cursor(data->cookie, cur);
|
||||||
}
|
}
|
||||||
|
|
||||||
int bt463_get_cursor (rc, cur)
|
int
|
||||||
|
bt463_get_cursor (rc, cur)
|
||||||
struct ramdac_cookie *rc;
|
struct ramdac_cookie *rc;
|
||||||
struct wsdisplay_cursor *cur;
|
struct wsdisplay_cursor *cur;
|
||||||
{
|
{
|
||||||
@ -639,7 +643,8 @@ int bt463_get_cursor (rc, cur)
|
|||||||
return tga_builtin_get_cursor(data->cookie, cur);
|
return tga_builtin_get_cursor(data->cookie, cur);
|
||||||
}
|
}
|
||||||
|
|
||||||
int bt463_set_curpos (rc, cur)
|
int
|
||||||
|
bt463_set_curpos (rc, cur)
|
||||||
struct ramdac_cookie *rc;
|
struct ramdac_cookie *rc;
|
||||||
struct wsdisplay_curpos *cur;
|
struct wsdisplay_curpos *cur;
|
||||||
{
|
{
|
||||||
@ -647,7 +652,8 @@ int bt463_set_curpos (rc, cur)
|
|||||||
return tga_builtin_set_curpos(data->cookie, cur);
|
return tga_builtin_set_curpos(data->cookie, cur);
|
||||||
}
|
}
|
||||||
|
|
||||||
int bt463_get_curpos (rc, cur)
|
int
|
||||||
|
bt463_get_curpos (rc, cur)
|
||||||
struct ramdac_cookie *rc;
|
struct ramdac_cookie *rc;
|
||||||
struct wsdisplay_curpos *cur;
|
struct wsdisplay_curpos *cur;
|
||||||
{
|
{
|
||||||
@ -655,7 +661,8 @@ int bt463_get_curpos (rc, cur)
|
|||||||
return tga_builtin_get_curpos(data->cookie, cur);
|
return tga_builtin_get_curpos(data->cookie, cur);
|
||||||
}
|
}
|
||||||
|
|
||||||
int bt463_get_curmax (rc, cur)
|
int
|
||||||
|
bt463_get_curmax (rc, cur)
|
||||||
struct ramdac_cookie *rc;
|
struct ramdac_cookie *rc;
|
||||||
struct wsdisplay_curpos *cur;
|
struct wsdisplay_curpos *cur;
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: iosf.c,v 1.1 2023/04/23 00:20:26 dlg Exp $ */
|
/* $OpenBSD: iosf.c,v 1.2 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2023 David Gwynne <dlg@openbsd.org>
|
* Copyright (c) 2023 David Gwynne <dlg@openbsd.org>
|
||||||
@ -253,7 +253,8 @@ iosf_mbi_punit_release(void)
|
|||||||
rw_exit_write(&iosf_lock);
|
rw_exit_write(&iosf_lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
void iosf_mbi_assert_punit_acquired(void)
|
void
|
||||||
|
iosf_mbi_assert_punit_acquired(void)
|
||||||
{
|
{
|
||||||
int s;
|
int s;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: rtwn.c,v 1.57 2023/04/28 01:24:14 kevlo Exp $ */
|
/* $OpenBSD: rtwn.c,v 1.58 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* Copyright (c) 2010 Damien Bergamini <damien.bergamini@free.fr>
|
* Copyright (c) 2010 Damien Bergamini <damien.bergamini@free.fr>
|
||||||
@ -857,7 +857,8 @@ rtwn_ra_init(struct rtwn_softc *sc)
|
|||||||
/*
|
/*
|
||||||
* Initialize rate adaptation in firmware.
|
* Initialize rate adaptation in firmware.
|
||||||
*/
|
*/
|
||||||
int rtwn_r92c_ra_init(struct rtwn_softc *sc, u_int8_t mode, u_int32_t rates,
|
int
|
||||||
|
rtwn_r92c_ra_init(struct rtwn_softc *sc, u_int8_t mode, u_int32_t rates,
|
||||||
int maxrate, uint32_t basicrates, int maxbasicrate)
|
int maxrate, uint32_t basicrates, int maxbasicrate)
|
||||||
{
|
{
|
||||||
struct r92c_fw_cmd_macid_cfg cmd;
|
struct r92c_fw_cmd_macid_cfg cmd;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: ess_isapnp.c,v 1.8 2022/04/06 18:59:28 naddy Exp $ */
|
/* $OpenBSD: ess_isapnp.c,v 1.9 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
/* $NetBSD: ess_isa.c,v 1.4 1999/03/18 20:57:11 mycroft Exp $ */
|
/* $NetBSD: ess_isa.c,v 1.4 1999/03/18 20:57:11 mycroft Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
@ -63,7 +63,8 @@ ess_isapnp_probe(struct device *parent, void *match, void *aux)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ess_isapnp_attach(struct device *parent, struct device *self, void *aux)
|
void
|
||||||
|
ess_isapnp_attach(struct device *parent, struct device *self, void *aux)
|
||||||
{
|
{
|
||||||
struct ess_softc *sc = (void *)self;
|
struct ess_softc *sc = (void *)self;
|
||||||
struct isa_attach_args *ia = aux;
|
struct isa_attach_args *ia = aux;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: eephy.c,v 1.65 2024/03/17 00:06:43 patrick Exp $ */
|
/* $OpenBSD: eephy.c,v 1.66 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
/*
|
/*
|
||||||
* Principal Author: Parag Patel
|
* Principal Author: Parag Patel
|
||||||
* Copyright (c) 2001
|
* Copyright (c) 2001
|
||||||
@ -443,7 +443,8 @@ eephy_status(struct mii_softc *sc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __HAVE_FDT
|
#ifdef __HAVE_FDT
|
||||||
void eephy_fdt_reg_init(struct mii_softc *sc)
|
void
|
||||||
|
eephy_fdt_reg_init(struct mii_softc *sc)
|
||||||
{
|
{
|
||||||
uint32_t *prop, opage;
|
uint32_t *prop, opage;
|
||||||
int i, len;
|
int i, len;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: xmphy.c,v 1.25 2024/05/27 04:58:43 jsg Exp $ */
|
/* $OpenBSD: xmphy.c,v 1.26 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000
|
* Copyright (c) 2000
|
||||||
@ -85,7 +85,8 @@ static const struct mii_phydesc xmphys[] = {
|
|||||||
NULL },
|
NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
int xmphy_probe(struct device *parent, void *match, void *aux)
|
int
|
||||||
|
xmphy_probe(struct device *parent, void *match, void *aux)
|
||||||
{
|
{
|
||||||
struct mii_attach_args *ma = aux;
|
struct mii_attach_args *ma = aux;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: bktr_core.c,v 1.44 2024/06/22 10:22:29 jsg Exp $ */
|
/* $OpenBSD: bktr_core.c,v 1.45 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
/* $FreeBSD: src/sys/dev/bktr/bktr_core.c,v 1.114 2000/10/31 13:09:56 roger Exp $ */
|
/* $FreeBSD: src/sys/dev/bktr/bktr_core.c,v 1.114 2000/10/31 13:09:56 roger Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -3504,7 +3504,8 @@ set_fps( bktr_ptr_t bktr, u_short fps )
|
|||||||
* as one would expect.
|
* as one would expect.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static u_int pixfmt_swap_flags( int pixfmt )
|
static u_int
|
||||||
|
pixfmt_swap_flags( int pixfmt )
|
||||||
{
|
{
|
||||||
const struct meteor_pixfmt *pf = &pixfmt_table[ pixfmt ].public;
|
const struct meteor_pixfmt *pf = &pixfmt_table[ pixfmt ].public;
|
||||||
u_int swapf = 0;
|
u_int swapf = 0;
|
||||||
@ -3541,7 +3542,8 @@ static u_int pixfmt_swap_flags( int pixfmt )
|
|||||||
* our pixfmt_table indices.
|
* our pixfmt_table indices.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static int oformat_meteor_to_bt( u_int format )
|
static int
|
||||||
|
oformat_meteor_to_bt( u_int format )
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
const struct meteor_pixfmt *pf1, *pf2;
|
const struct meteor_pixfmt *pf1, *pf2;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: if_bnxt.c,v 1.50 2024/05/24 06:02:53 jsg Exp $ */
|
/* $OpenBSD: if_bnxt.c,v 1.51 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
/*-
|
/*-
|
||||||
* Broadcom NetXtreme-C/E network driver.
|
* Broadcom NetXtreme-C/E network driver.
|
||||||
*
|
*
|
||||||
@ -3502,7 +3502,8 @@ _bnxt_hwrm_set_async_event_bit(struct hwrm_func_drv_rgtr_input *req, int bit)
|
|||||||
req->async_event_fwd[bit/32] |= (1 << (bit % 32));
|
req->async_event_fwd[bit/32] |= (1 << (bit % 32));
|
||||||
}
|
}
|
||||||
|
|
||||||
int bnxt_hwrm_func_rgtr_async_events(struct bnxt_softc *softc)
|
int
|
||||||
|
bnxt_hwrm_func_rgtr_async_events(struct bnxt_softc *softc)
|
||||||
{
|
{
|
||||||
struct hwrm_func_drv_rgtr_input req = {0};
|
struct hwrm_func_drv_rgtr_input req = {0};
|
||||||
int events[] = {
|
int events[] = {
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
/* $OpenBSD: if_em_hw.c,v 1.121 2024/05/24 06:02:53 jsg Exp $ */
|
/* $OpenBSD: if_em_hw.c,v 1.122 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
/*
|
/*
|
||||||
* if_em_hw.c Shared functions for accessing and configuring the MAC
|
* if_em_hw.c Shared functions for accessing and configuring the MAC
|
||||||
*/
|
*/
|
||||||
@ -5515,7 +5515,8 @@ em_write_kmrn_reg(struct em_hw *hw, uint32_t reg_addr, uint16_t data)
|
|||||||
* Called to determine if the I2C pins are being used for I2C or as an
|
* Called to determine if the I2C pins are being used for I2C or as an
|
||||||
* external MDIO interface since the two options are mutually exclusive.
|
* external MDIO interface since the two options are mutually exclusive.
|
||||||
**/
|
**/
|
||||||
int em_sgmii_uses_mdio_82575(struct em_hw *hw)
|
int
|
||||||
|
em_sgmii_uses_mdio_82575(struct em_hw *hw)
|
||||||
{
|
{
|
||||||
uint32_t reg = 0;
|
uint32_t reg = 0;
|
||||||
int ext_mdio = 0;
|
int ext_mdio = 0;
|
||||||
@ -5549,7 +5550,8 @@ int em_sgmii_uses_mdio_82575(struct em_hw *hw)
|
|||||||
* Reads the PHY register at offset using the i2c interface and stores the
|
* Reads the PHY register at offset using the i2c interface and stores the
|
||||||
* retrieved information in data.
|
* retrieved information in data.
|
||||||
**/
|
**/
|
||||||
int32_t em_read_phy_reg_i2c(struct em_hw *hw, uint32_t offset, uint16_t *data)
|
int32_t
|
||||||
|
em_read_phy_reg_i2c(struct em_hw *hw, uint32_t offset, uint16_t *data)
|
||||||
{
|
{
|
||||||
uint32_t i, i2ccmd = 0;
|
uint32_t i, i2ccmd = 0;
|
||||||
|
|
||||||
@ -5595,7 +5597,8 @@ int32_t em_read_phy_reg_i2c(struct em_hw *hw, uint32_t offset, uint16_t *data)
|
|||||||
*
|
*
|
||||||
* Writes the data to PHY register at the offset using the i2c interface.
|
* Writes the data to PHY register at the offset using the i2c interface.
|
||||||
**/
|
**/
|
||||||
int32_t em_write_phy_reg_i2c(struct em_hw *hw, uint32_t offset, uint16_t data)
|
int32_t
|
||||||
|
em_write_phy_reg_i2c(struct em_hw *hw, uint32_t offset, uint16_t data)
|
||||||
{
|
{
|
||||||
uint32_t i, i2ccmd = 0;
|
uint32_t i, i2ccmd = 0;
|
||||||
uint16_t phy_data_swapped;
|
uint16_t phy_data_swapped;
|
||||||
@ -5655,7 +5658,8 @@ int32_t em_write_phy_reg_i2c(struct em_hw *hw, uint32_t offset, uint16_t data)
|
|||||||
* E1000_I2CCMD_SFP_DIAG_ADDR(<byte offset>) for SFP diagnostics parameters
|
* E1000_I2CCMD_SFP_DIAG_ADDR(<byte offset>) for SFP diagnostics parameters
|
||||||
* access
|
* access
|
||||||
**/
|
**/
|
||||||
int32_t em_read_sfp_data_byte(struct em_hw *hw, uint16_t offset, uint8_t *data)
|
int32_t
|
||||||
|
em_read_sfp_data_byte(struct em_hw *hw, uint16_t offset, uint8_t *data)
|
||||||
{
|
{
|
||||||
uint32_t i = 0;
|
uint32_t i = 0;
|
||||||
uint32_t i2ccmd = 0;
|
uint32_t i2ccmd = 0;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: if_iwx.c,v 1.186 2024/05/24 06:02:53 jsg Exp $ */
|
/* $OpenBSD: if_iwx.c,v 1.187 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2014, 2016 genua gmbh <info@genua.de>
|
* Copyright (c) 2014, 2016 genua gmbh <info@genua.de>
|
||||||
@ -597,7 +597,8 @@ iwx_ctxt_info_alloc_dma(struct iwx_softc *sc,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void iwx_ctxt_info_free_paging(struct iwx_softc *sc)
|
void
|
||||||
|
iwx_ctxt_info_free_paging(struct iwx_softc *sc)
|
||||||
{
|
{
|
||||||
struct iwx_self_init_dram *dram = &sc->init_dram;
|
struct iwx_self_init_dram *dram = &sc->init_dram;
|
||||||
int i;
|
int i;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: if_sk.c,v 1.196 2024/05/24 06:02:57 jsg Exp $ */
|
/* $OpenBSD: if_sk.c,v 1.197 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 1998, 1999, 2000
|
* Copyright (c) 1997, 1998, 1999, 2000
|
||||||
@ -2083,7 +2083,8 @@ sk_init_xmac(struct sk_if_softc *sc_if)
|
|||||||
sc_if->sk_link = 1;
|
sc_if->sk_link = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sk_init_yukon(struct sk_if_softc *sc_if)
|
void
|
||||||
|
sk_init_yukon(struct sk_if_softc *sc_if)
|
||||||
{
|
{
|
||||||
u_int32_t phy, v;
|
u_int32_t phy, v;
|
||||||
u_int16_t reg;
|
u_int16_t reg;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: virtio_pci.c,v 1.37 2024/05/17 16:37:10 sf Exp $ */
|
/* $OpenBSD: virtio_pci.c,v 1.38 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
/* $NetBSD: virtio.c,v 1.3 2011/11/02 23:05:52 njoly Exp $ */
|
/* $NetBSD: virtio.c,v 1.3 2011/11/02 23:05:52 njoly Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -162,8 +162,8 @@ struct virtio_ops virtio_pci_ops = {
|
|||||||
virtio_pci_poll_intr,
|
virtio_pci_poll_intr,
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline
|
static inline uint64_t
|
||||||
uint64_t _cread(struct virtio_pci_softc *sc, unsigned off, unsigned size)
|
_cread(struct virtio_pci_softc *sc, unsigned off, unsigned size)
|
||||||
{
|
{
|
||||||
uint64_t val;
|
uint64_t val;
|
||||||
switch (size) {
|
switch (size) {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: yds.c,v 1.64 2024/05/24 06:02:58 jsg Exp $ */
|
/* $OpenBSD: yds.c,v 1.65 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
/* $NetBSD: yds.c,v 1.5 2001/05/21 23:55:04 minoura Exp $ */
|
/* $NetBSD: yds.c,v 1.5 2001/05/21 23:55:04 minoura Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -107,27 +107,36 @@ void YWRITE1(struct yds_softc *sc,bus_size_t r,u_int8_t x);
|
|||||||
void YWRITE2(struct yds_softc *sc,bus_size_t r,u_int16_t x);
|
void YWRITE2(struct yds_softc *sc,bus_size_t r,u_int16_t x);
|
||||||
void YWRITE4(struct yds_softc *sc,bus_size_t r,u_int32_t x);
|
void YWRITE4(struct yds_softc *sc,bus_size_t r,u_int32_t x);
|
||||||
|
|
||||||
u_int16_t YREAD2(struct yds_softc *sc,bus_size_t r)
|
u_int16_t
|
||||||
|
YREAD2(struct yds_softc *sc,bus_size_t r)
|
||||||
{
|
{
|
||||||
DPRINTFN(5, (" YREAD2(0x%lX)\n",(unsigned long)r));
|
DPRINTFN(5, (" YREAD2(0x%lX)\n",(unsigned long)r));
|
||||||
return bus_space_read_2(sc->memt,sc->memh,r);
|
return bus_space_read_2(sc->memt,sc->memh,r);
|
||||||
}
|
}
|
||||||
u_int32_t YREAD4(struct yds_softc *sc,bus_size_t r)
|
|
||||||
|
u_int32_t
|
||||||
|
YREAD4(struct yds_softc *sc,bus_size_t r)
|
||||||
{
|
{
|
||||||
DPRINTFN(5, (" YREAD4(0x%lX)\n",(unsigned long)r));
|
DPRINTFN(5, (" YREAD4(0x%lX)\n",(unsigned long)r));
|
||||||
return bus_space_read_4(sc->memt,sc->memh,r);
|
return bus_space_read_4(sc->memt,sc->memh,r);
|
||||||
}
|
}
|
||||||
void YWRITE1(struct yds_softc *sc,bus_size_t r,u_int8_t x)
|
|
||||||
|
void
|
||||||
|
YWRITE1(struct yds_softc *sc,bus_size_t r,u_int8_t x)
|
||||||
{
|
{
|
||||||
DPRINTFN(5, (" YWRITE1(0x%lX,0x%lX)\n",(unsigned long)r,(unsigned long)x));
|
DPRINTFN(5, (" YWRITE1(0x%lX,0x%lX)\n",(unsigned long)r,(unsigned long)x));
|
||||||
bus_space_write_1(sc->memt,sc->memh,r,x);
|
bus_space_write_1(sc->memt,sc->memh,r,x);
|
||||||
}
|
}
|
||||||
void YWRITE2(struct yds_softc *sc,bus_size_t r,u_int16_t x)
|
|
||||||
|
void
|
||||||
|
YWRITE2(struct yds_softc *sc,bus_size_t r,u_int16_t x)
|
||||||
{
|
{
|
||||||
DPRINTFN(5, (" YWRITE2(0x%lX,0x%lX)\n",(unsigned long)r,(unsigned long)x));
|
DPRINTFN(5, (" YWRITE2(0x%lX,0x%lX)\n",(unsigned long)r,(unsigned long)x));
|
||||||
bus_space_write_2(sc->memt,sc->memh,r,x);
|
bus_space_write_2(sc->memt,sc->memh,r,x);
|
||||||
}
|
}
|
||||||
void YWRITE4(struct yds_softc *sc,bus_size_t r,u_int32_t x)
|
|
||||||
|
void
|
||||||
|
YWRITE4(struct yds_softc *sc,bus_size_t r,u_int32_t x)
|
||||||
{
|
{
|
||||||
DPRINTFN(5, (" YWRITE4(0x%lX,0x%lX)\n",(unsigned long)r,(unsigned long)x));
|
DPRINTFN(5, (" YWRITE4(0x%lX,0x%lX)\n",(unsigned long)r,(unsigned long)x));
|
||||||
bus_space_write_4(sc->memt,sc->memh,r,x);
|
bus_space_write_4(sc->memt,sc->memh,r,x);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: if_vio.c,v 1.40 2024/06/10 19:26:17 jan Exp $ */
|
/* $OpenBSD: if_vio.c,v 1.41 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2012 Stefan Fritsch, Alexander Fiveg.
|
* Copyright (c) 2012 Stefan Fritsch, Alexander Fiveg.
|
||||||
@ -524,7 +524,8 @@ vio_put_lladdr(struct arpcom *ac, struct virtio_softc *vsc)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int vio_needs_reset(struct vio_softc *sc)
|
static int
|
||||||
|
vio_needs_reset(struct vio_softc *sc)
|
||||||
{
|
{
|
||||||
if (virtio_get_status(sc->sc_virtio) &
|
if (virtio_get_status(sc->sc_virtio) &
|
||||||
VIRTIO_CONFIG_DEVICE_STATUS_DEVICE_NEEDS_RESET) {
|
VIRTIO_CONFIG_DEVICE_STATUS_DEVICE_NEEDS_RESET) {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: vioblk.c,v 1.38 2024/05/24 10:05:55 jsg Exp $ */
|
/* $OpenBSD: vioblk.c,v 1.39 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2012 Stefan Fritsch.
|
* Copyright (c) 2012 Stefan Fritsch.
|
||||||
@ -150,7 +150,8 @@ const struct scsi_adapter vioblk_switch = {
|
|||||||
vioblk_scsi_cmd, NULL, NULL, NULL, NULL
|
vioblk_scsi_cmd, NULL, NULL, NULL, NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
int vioblk_match(struct device *parent, void *match, void *aux)
|
int
|
||||||
|
vioblk_match(struct device *parent, void *match, void *aux)
|
||||||
{
|
{
|
||||||
struct virtio_softc *va = aux;
|
struct virtio_softc *va = aux;
|
||||||
if (va->sc_childdevid == PCI_PRODUCT_VIRTIO_BLOCK)
|
if (va->sc_childdevid == PCI_PRODUCT_VIRTIO_BLOCK)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: viocon.c,v 1.11 2024/05/24 10:05:55 jsg Exp $ */
|
/* $OpenBSD: viocon.c,v 1.12 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2013-2015 Stefan Fritsch <sf@sfritsch.de>
|
* Copyright (c) 2013-2015 Stefan Fritsch <sf@sfritsch.de>
|
||||||
@ -159,7 +159,8 @@ dev2port(dev_t dev)
|
|||||||
return dev2sc(dev)->sc_ports[VIOCONPORT(dev)];
|
return dev2sc(dev)->sc_ports[VIOCONPORT(dev)];
|
||||||
}
|
}
|
||||||
|
|
||||||
int viocon_match(struct device *parent, void *match, void *aux)
|
int
|
||||||
|
viocon_match(struct device *parent, void *match, void *aux)
|
||||||
{
|
{
|
||||||
struct virtio_softc *va = aux;
|
struct virtio_softc *va = aux;
|
||||||
if (va->sc_childdevid == PCI_PRODUCT_VIRTIO_CONSOLE)
|
if (va->sc_childdevid == PCI_PRODUCT_VIRTIO_CONSOLE)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: viornd.c,v 1.8 2024/05/24 10:05:55 jsg Exp $ */
|
/* $OpenBSD: viornd.c,v 1.9 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2014 Stefan Fritsch <sf@sfritsch.de>
|
* Copyright (c) 2014 Stefan Fritsch <sf@sfritsch.de>
|
||||||
@ -69,8 +69,8 @@ struct cfdriver viornd_cd = {
|
|||||||
NULL, "viornd", DV_DULL
|
NULL, "viornd", DV_DULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
int
|
||||||
int viornd_match(struct device *parent, void *match, void *aux)
|
viornd_match(struct device *parent, void *match, void *aux)
|
||||||
{
|
{
|
||||||
struct virtio_softc *va = aux;
|
struct virtio_softc *va = aux;
|
||||||
if (va->sc_childdevid == PCI_PRODUCT_VIRTIO_ENTROPY)
|
if (va->sc_childdevid == PCI_PRODUCT_VIRTIO_ENTROPY)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: wsmouse.c,v 1.72 2024/05/17 20:11:58 miod Exp $ */
|
/* $OpenBSD: wsmouse.c,v 1.73 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
/* $NetBSD: wsmouse.c,v 1.35 2005/02/27 00:27:52 perry Exp $ */
|
/* $NetBSD: wsmouse.c,v 1.35 2005/02/27 00:27:52 perry Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1622,7 +1622,8 @@ wsmouse_set_mode(struct device *sc, int mode)
|
|||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct wsmousehw *wsmouse_get_hw(struct device *sc)
|
struct wsmousehw *
|
||||||
|
wsmouse_get_hw(struct device *sc)
|
||||||
{
|
{
|
||||||
return &((struct wsmouse_softc *) sc)->sc_input.hw;
|
return &((struct wsmouse_softc *) sc)->sc_input.hw;
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: kern_malloc.c,v 1.151 2023/12/14 14:04:57 claudio Exp $ */
|
/* $OpenBSD: kern_malloc.c,v 1.152 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
/* $NetBSD: kern_malloc.c,v 1.15.4.2 1996/06/13 17:10:56 cgd Exp $ */
|
/* $NetBSD: kern_malloc.c,v 1.15.4.2 1996/06/13 17:10:56 cgd Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -54,7 +54,8 @@ static
|
|||||||
#ifndef SMALL_KERNEL
|
#ifndef SMALL_KERNEL
|
||||||
__inline__
|
__inline__
|
||||||
#endif
|
#endif
|
||||||
long BUCKETINDX(size_t sz)
|
long
|
||||||
|
BUCKETINDX(size_t sz)
|
||||||
{
|
{
|
||||||
long b, d;
|
long b, d;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: if_pppoe.c,v 1.83 2022/07/14 11:03:15 mvs Exp $ */
|
/* $OpenBSD: if_pppoe.c,v 1.84 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
/* $NetBSD: if_pppoe.c,v 1.51 2003/11/28 08:56:48 keihan Exp $ */
|
/* $NetBSD: if_pppoe.c,v 1.51 2003/11/28 08:56:48 keihan Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -188,7 +188,8 @@ struct mbuf_queue pppoediscinq = MBUF_QUEUE_INITIALIZER(
|
|||||||
struct mbuf_queue pppoeinq = MBUF_QUEUE_INITIALIZER(
|
struct mbuf_queue pppoeinq = MBUF_QUEUE_INITIALIZER(
|
||||||
IFQ_MAXLEN, IPL_SOFTNET);
|
IFQ_MAXLEN, IPL_SOFTNET);
|
||||||
|
|
||||||
void pppoeintr(void)
|
void
|
||||||
|
pppoeintr(void)
|
||||||
{
|
{
|
||||||
struct mbuf_list ml;
|
struct mbuf_list ml;
|
||||||
struct mbuf *m;
|
struct mbuf *m;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: nfs_syscalls.c,v 1.126 2024/05/01 13:15:59 jsg Exp $ */
|
/* $OpenBSD: nfs_syscalls.c,v 1.127 2024/06/26 01:40:49 jsg Exp $ */
|
||||||
/* $NetBSD: nfs_syscalls.c,v 1.19 1996/02/18 11:53:52 fvdl Exp $ */
|
/* $NetBSD: nfs_syscalls.c,v 1.19 1996/02/18 11:53:52 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -302,7 +302,8 @@ nfssvc_addsock(struct file *fp, struct mbuf *mynam)
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int nfssvc_checknam(struct mbuf *nam)
|
static inline int
|
||||||
|
nfssvc_checknam(struct mbuf *nam)
|
||||||
{
|
{
|
||||||
struct sockaddr_in *sin;
|
struct sockaddr_in *sin;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: rde_prefix.c,v 1.50 2023/07/12 14:45:43 claudio Exp $ */
|
/* $OpenBSD: rde_prefix.c,v 1.51 2024/06/25 13:21:18 claudio Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2004 Claudio Jeker <claudio@openbsd.org>
|
* Copyright (c) 2003, 2004 Claudio Jeker <claudio@openbsd.org>
|
||||||
@ -567,6 +567,9 @@ pt_writebuf(struct ibuf *buf, struct pt_entry *pte, int withdraw,
|
|||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* keep 2 bytes reserved in the withdraw case for IPv4 encoding */
|
||||||
|
if (withdraw && ibuf_left(buf) < ibuf_size(tmp) + 2)
|
||||||
|
goto fail;
|
||||||
if (ibuf_add_buf(buf, tmp) == -1)
|
if (ibuf_add_buf(buf, tmp) == -1)
|
||||||
goto fail;
|
goto fail;
|
||||||
ibuf_free(tmp);
|
ibuf_free(tmp);
|
||||||
|
Loading…
Reference in New Issue
Block a user