sync with OpenBSD -current
This commit is contained in:
parent
10cf24ada0
commit
dde71458ae
28 changed files with 813 additions and 112 deletions
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: cpu.c,v 1.99 2023/10/24 13:20:09 claudio Exp $ */
|
||||
/* $OpenBSD: cpu.c,v 1.101 2023/11/23 19:54:30 patrick Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2016 Dale Rahn <drahn@dalerahn.com>
|
||||
|
@ -17,6 +17,8 @@
|
|||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "kstat.h"
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/proc.h>
|
||||
|
@ -25,6 +27,7 @@
|
|||
#include <sys/sysctl.h>
|
||||
#include <sys/task.h>
|
||||
#include <sys/user.h>
|
||||
#include <sys/kstat.h>
|
||||
|
||||
#include <uvm/uvm.h>
|
||||
|
||||
|
@ -250,6 +253,11 @@ void cpu_psci_init(struct cpu_info *);
|
|||
void cpu_flush_bp_noop(void);
|
||||
void cpu_flush_bp_psci(void);
|
||||
|
||||
#if NKSTAT > 0
|
||||
void cpu_kstat_attach(struct cpu_info *ci);
|
||||
void cpu_opp_kstat_attach(struct cpu_info *ci);
|
||||
#endif
|
||||
|
||||
void
|
||||
cpu_identify(struct cpu_info *ci)
|
||||
{
|
||||
|
@ -937,6 +945,10 @@ cpu_attach(struct device *parent, struct device *dev, void *aux)
|
|||
}
|
||||
|
||||
cpu_init();
|
||||
|
||||
#if NKSTAT > 0
|
||||
cpu_kstat_attach(ci);
|
||||
#endif
|
||||
#ifdef MULTIPROCESSOR
|
||||
}
|
||||
#endif
|
||||
|
@ -1181,6 +1193,10 @@ cpu_init_secondary(struct cpu_info *ci)
|
|||
|
||||
spllower(IPL_NONE);
|
||||
|
||||
#if NKSTAT > 0
|
||||
cpu_kstat_attach(ci);
|
||||
#endif
|
||||
|
||||
sched_toidle();
|
||||
}
|
||||
|
||||
|
@ -1534,6 +1550,10 @@ cpu_opp_mountroot(struct device *self)
|
|||
if (ot == NULL)
|
||||
continue;
|
||||
|
||||
#if NKSTAT > 0
|
||||
cpu_opp_kstat_attach(ci);
|
||||
#endif
|
||||
|
||||
/* Skip if this table is shared and we're not the master. */
|
||||
if (ot->ot_master && ot->ot_master != ci)
|
||||
continue;
|
||||
|
@ -1817,3 +1837,157 @@ cpu_psci_init(struct cpu_info *ci)
|
|||
ci->ci_psci_suspend_param =
|
||||
OF_getpropint(node, "arm,psci-suspend-param", 0);
|
||||
}
|
||||
|
||||
#if NKSTAT > 0
|
||||
|
||||
struct cpu_kstats {
|
||||
struct kstat_kv ck_impl;
|
||||
struct kstat_kv ck_part;
|
||||
struct kstat_kv ck_rev;
|
||||
};
|
||||
|
||||
void
|
||||
cpu_kstat_attach(struct cpu_info *ci)
|
||||
{
|
||||
struct kstat *ks;
|
||||
struct cpu_kstats *ck;
|
||||
|
||||
uint64_t midr, impl, part;
|
||||
const char *impl_name = NULL, *part_name = NULL;
|
||||
const struct cpu_cores *coreselecter = cpu_cores_none;
|
||||
size_t i;
|
||||
|
||||
ks = kstat_create(ci->ci_dev->dv_xname, 0, "mach", 0, KSTAT_T_KV, 0);
|
||||
if (ks == NULL) {
|
||||
printf("%s: unable to create cpu kstats\n",
|
||||
ci->ci_dev->dv_xname);
|
||||
/* printf? */
|
||||
return;
|
||||
}
|
||||
|
||||
ck = malloc(sizeof(*ck), M_DEVBUF, M_WAITOK);
|
||||
|
||||
midr = READ_SPECIALREG(midr_el1);
|
||||
impl = CPU_IMPL(midr);
|
||||
part = CPU_PART(midr);
|
||||
|
||||
for (i = 0; cpu_implementers[i].name; i++) {
|
||||
if (impl == cpu_implementers[i].id) {
|
||||
impl_name = cpu_implementers[i].name;
|
||||
coreselecter = cpu_implementers[i].corelist;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (impl_name) {
|
||||
kstat_kv_init(&ck->ck_impl, "impl", KSTAT_KV_T_ISTR);
|
||||
strlcpy(kstat_kv_istr(&ck->ck_impl), impl_name,
|
||||
sizeof(kstat_kv_istr(&ck->ck_impl)));
|
||||
} else
|
||||
kstat_kv_init(&ck->ck_impl, "impl", KSTAT_KV_T_NULL);
|
||||
|
||||
for (i = 0; coreselecter[i].name; i++) {
|
||||
if (part == coreselecter[i].id) {
|
||||
part_name = coreselecter[i].name;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (part_name) {
|
||||
kstat_kv_init(&ck->ck_part, "part", KSTAT_KV_T_ISTR);
|
||||
strlcpy(kstat_kv_istr(&ck->ck_part), part_name,
|
||||
sizeof(kstat_kv_istr(&ck->ck_part)));
|
||||
} else
|
||||
kstat_kv_init(&ck->ck_part, "part", KSTAT_KV_T_NULL);
|
||||
|
||||
kstat_kv_init(&ck->ck_rev, "rev", KSTAT_KV_T_ISTR);
|
||||
snprintf(kstat_kv_istr(&ck->ck_rev), sizeof(kstat_kv_istr(&ck->ck_rev)),
|
||||
"r%llup%llu", CPU_VAR(midr), CPU_REV(midr));
|
||||
|
||||
ks->ks_softc = ci;
|
||||
ks->ks_data = ck;
|
||||
ks->ks_datalen = sizeof(*ck);
|
||||
ks->ks_read = kstat_read_nop;
|
||||
|
||||
kstat_install(ks);
|
||||
|
||||
/* XXX should we have a ci->ci_kstat = ks? */
|
||||
}
|
||||
|
||||
struct cpu_opp_kstats {
|
||||
struct kstat_kv coppk_freq;
|
||||
struct kstat_kv coppk_supply_v;
|
||||
};
|
||||
|
||||
int
|
||||
cpu_opp_kstat_read(struct kstat *ks)
|
||||
{
|
||||
struct cpu_info *ci = ks->ks_softc;
|
||||
struct cpu_opp_kstats *coppk = ks->ks_data;
|
||||
|
||||
struct opp_table *ot = ci->ci_opp_table;
|
||||
struct cpu_info *oci;
|
||||
struct timespec now, diff;
|
||||
|
||||
/* rate limit */
|
||||
getnanouptime(&now);
|
||||
timespecsub(&now, &ks->ks_updated, &diff);
|
||||
if (diff.tv_sec < 1)
|
||||
return (0);
|
||||
|
||||
if (ot == NULL)
|
||||
return (0);
|
||||
|
||||
oci = ot->ot_master;
|
||||
if (oci == NULL)
|
||||
oci = ci;
|
||||
|
||||
kstat_kv_freq(&coppk->coppk_freq) =
|
||||
clock_get_frequency(oci->ci_node, NULL);
|
||||
|
||||
if (oci->ci_cpu_supply) {
|
||||
kstat_kv_volts(&coppk->coppk_supply_v) =
|
||||
regulator_get_voltage(oci->ci_cpu_supply);
|
||||
}
|
||||
|
||||
ks->ks_updated = now;
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
void
|
||||
cpu_opp_kstat_attach(struct cpu_info *ci)
|
||||
{
|
||||
struct kstat *ks;
|
||||
struct cpu_opp_kstats *coppk;
|
||||
struct opp_table *ot = ci->ci_opp_table;
|
||||
struct cpu_info *oci = ot->ot_master;
|
||||
|
||||
if (oci == NULL)
|
||||
oci = ci;
|
||||
|
||||
ks = kstat_create(ci->ci_dev->dv_xname, 0, "dt-opp", 0,
|
||||
KSTAT_T_KV, 0);
|
||||
if (ks == NULL) {
|
||||
printf("%s: unable to create cpu dt-opp kstats\n",
|
||||
ci->ci_dev->dv_xname);
|
||||
return;
|
||||
}
|
||||
|
||||
coppk = malloc(sizeof(*coppk), M_DEVBUF, M_WAITOK);
|
||||
|
||||
kstat_kv_init(&coppk->coppk_freq, "freq", KSTAT_KV_T_FREQ);
|
||||
kstat_kv_init(&coppk->coppk_supply_v, "supply",
|
||||
oci->ci_cpu_supply ? KSTAT_KV_T_VOLTS_DC : KSTAT_KV_T_NULL);
|
||||
|
||||
ks->ks_softc = oci;
|
||||
ks->ks_data = coppk;
|
||||
ks->ks_datalen = sizeof(*coppk);
|
||||
ks->ks_read = cpu_opp_kstat_read;
|
||||
|
||||
kstat_install(ks);
|
||||
|
||||
/* XXX should we have a ci->ci_opp_kstat = ks? */
|
||||
}
|
||||
|
||||
#endif /* NKSTAT > 0 */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: ofw_thermal.c,v 1.7 2020/12/31 11:11:22 kettenis Exp $ */
|
||||
/* $OpenBSD: ofw_thermal.c,v 1.8 2023/11/23 00:47:13 dlg Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2019 Mark Kettenis
|
||||
*
|
||||
|
@ -15,12 +15,16 @@
|
|||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "kstat.h"
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/malloc.h>
|
||||
#include <sys/stdint.h>
|
||||
#include <sys/task.h>
|
||||
#include <sys/timeout.h>
|
||||
#include <sys/sched.h>
|
||||
#include <sys/kstat.h>
|
||||
|
||||
#include <machine/bus.h>
|
||||
|
||||
|
@ -36,6 +40,7 @@ LIST_HEAD(, cooling_device) cooling_devices =
|
|||
struct taskq *tztq;
|
||||
|
||||
struct trippoint {
|
||||
int tp_node;
|
||||
int32_t tp_temperature;
|
||||
uint32_t tp_hysteresis;
|
||||
int tp_type;
|
||||
|
@ -48,6 +53,14 @@ struct trippoint {
|
|||
#define THERMAL_HOT 3
|
||||
#define THERMAL_CRITICAL 4
|
||||
|
||||
static const char *trip_types[] = {
|
||||
[THERMAL_NONE] = "none",
|
||||
[THERMAL_ACTIVE] = "active",
|
||||
[THERMAL_PASSIVE] = "passive",
|
||||
[THERMAL_HOT] = "hot",
|
||||
[THERMAL_CRITICAL] = "critical",
|
||||
};
|
||||
|
||||
struct cmap {
|
||||
uint32_t *cm_cdev;
|
||||
uint32_t *cm_cdevend;
|
||||
|
@ -82,8 +95,16 @@ struct thermal_zone {
|
|||
LIST_HEAD(, cdev) tz_cdevs;
|
||||
|
||||
int32_t tz_temperature;
|
||||
|
||||
struct rwlock tz_lock;
|
||||
struct kstat *tz_kstat;
|
||||
};
|
||||
|
||||
#if NKSTAT > 0
|
||||
static void thermal_zone_kstat_attach(struct thermal_zone *);
|
||||
static void thermal_zone_kstat_update(struct thermal_zone *);
|
||||
#endif /* NKSTAT > 0 */
|
||||
|
||||
LIST_HEAD(, thermal_zone) thermal_zones =
|
||||
LIST_HEAD_INITIALIZER(thermal_zones);
|
||||
|
||||
|
@ -324,6 +345,9 @@ thermal_zone_poll(void *arg)
|
|||
|
||||
out:
|
||||
tz->tz_temperature = temp;
|
||||
#if NKSTAT > 0
|
||||
thermal_zone_kstat_update(tz);
|
||||
#endif
|
||||
if (tz->tz_tp && tz->tz_tp->tp_type == THERMAL_PASSIVE)
|
||||
polling_delay = tz->tz_polling_delay_passive;
|
||||
else
|
||||
|
@ -331,6 +355,23 @@ out:
|
|||
timeout_add_msec(&tz->tz_poll_to, polling_delay);
|
||||
}
|
||||
|
||||
static int
|
||||
thermal_zone_triptype(const char *prop)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < nitems(trip_types); i++) {
|
||||
const char *name = trip_types[i];
|
||||
if (name == NULL)
|
||||
continue;
|
||||
|
||||
if (strcmp(name, prop) == 0)
|
||||
return (i);
|
||||
}
|
||||
|
||||
return (THERMAL_NONE);
|
||||
}
|
||||
|
||||
void
|
||||
thermal_zone_init(int node)
|
||||
{
|
||||
|
@ -351,6 +392,7 @@ thermal_zone_init(int node)
|
|||
|
||||
tz = malloc(sizeof(struct thermal_zone), M_DEVBUF, M_ZERO | M_WAITOK);
|
||||
tz->tz_node = node;
|
||||
rw_init(&tz->tz_lock, "tzlk");
|
||||
|
||||
OF_getprop(node, "name", &tz->tz_name, sizeof(tz->tz_name));
|
||||
tz->tz_name[sizeof(tz->tz_name) - 1] = 0;
|
||||
|
@ -394,17 +436,11 @@ thermal_zone_init(int node)
|
|||
break;
|
||||
}
|
||||
tp = &tz->tz_trips[i];
|
||||
tp->tp_node = node;
|
||||
tp->tp_temperature = temp;
|
||||
tp->tp_hysteresis = OF_getpropint(node, "hysteresis", 0);
|
||||
OF_getprop(node, "type", type, sizeof(type));
|
||||
if (strcmp(type, "active") == 0)
|
||||
tp->tp_type = THERMAL_ACTIVE;
|
||||
else if (strcmp(type, "passive") == 0)
|
||||
tp->tp_type = THERMAL_PASSIVE;
|
||||
else if (strcmp(type, "hot") == 0)
|
||||
tp->tp_type = THERMAL_HOT;
|
||||
else if (strcmp(type, "critical") == 0)
|
||||
tp->tp_type = THERMAL_CRITICAL;
|
||||
tp->tp_type = thermal_zone_triptype(type);
|
||||
tp->tp_phandle = OF_getpropint(node, "phandle", 0);
|
||||
tp++;
|
||||
}
|
||||
|
@ -465,6 +501,10 @@ thermal_zone_init(int node)
|
|||
if (tz->tz_polling_delay > 0)
|
||||
timeout_add_msec(&tz->tz_poll_to, tz->tz_polling_delay);
|
||||
LIST_INSERT_HEAD(&thermal_zones, tz, tz_list);
|
||||
|
||||
#if NKSTAT > 0
|
||||
thermal_zone_kstat_attach(tz);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -480,3 +520,109 @@ thermal_init(void)
|
|||
for (node = OF_child(node); node != 0; node = OF_peer(node))
|
||||
thermal_zone_init(node);
|
||||
}
|
||||
|
||||
#if NKSTAT > 0
|
||||
|
||||
static const char *
|
||||
thermal_zone_tripname(int type)
|
||||
{
|
||||
if (type >= nitems(trip_types))
|
||||
return (NULL);
|
||||
|
||||
return (trip_types[type]);
|
||||
}
|
||||
|
||||
struct thermal_zone_kstats {
|
||||
struct kstat_kv tzk_name; /* istr could be short */
|
||||
struct kstat_kv tzk_temp;
|
||||
struct kstat_kv tzk_tp;
|
||||
struct kstat_kv tzk_tp_type;
|
||||
struct kstat_kv tzk_cooling;
|
||||
};
|
||||
|
||||
static void
|
||||
thermal_zone_kstat_update(struct thermal_zone *tz)
|
||||
{
|
||||
struct kstat *ks = tz->tz_kstat;
|
||||
struct thermal_zone_kstats *tzk;
|
||||
|
||||
if (ks == NULL)
|
||||
return;
|
||||
|
||||
tzk = ks->ks_data;
|
||||
|
||||
rw_enter_write(&tz->tz_lock);
|
||||
if (tz->tz_temperature == THERMAL_SENSOR_MAX)
|
||||
tzk->tzk_temp.kv_type = KSTAT_KV_T_NULL;
|
||||
else {
|
||||
tzk->tzk_temp.kv_type = KSTAT_KV_T_TEMP;
|
||||
kstat_kv_temp(&tzk->tzk_temp) = 273150000 +
|
||||
1000 * tz->tz_temperature;
|
||||
}
|
||||
|
||||
if (tz->tz_tp == NULL) {
|
||||
kstat_kv_u32(&tzk->tzk_tp) = 0;
|
||||
strlcpy(kstat_kv_istr(&tzk->tzk_tp_type), "none",
|
||||
sizeof(kstat_kv_istr(&tzk->tzk_tp_type)));
|
||||
} else {
|
||||
int triptype = tz->tz_tp->tp_type;
|
||||
const char *tripname = thermal_zone_tripname(triptype);
|
||||
|
||||
kstat_kv_u32(&tzk->tzk_tp) = tz->tz_tp->tp_node;
|
||||
|
||||
if (tripname == NULL) {
|
||||
snprintf(kstat_kv_istr(&tzk->tzk_tp_type),
|
||||
sizeof(kstat_kv_istr(&tzk->tzk_tp_type)),
|
||||
"%u", triptype);
|
||||
} else {
|
||||
strlcpy(kstat_kv_istr(&tzk->tzk_tp_type), tripname,
|
||||
sizeof(kstat_kv_istr(&tzk->tzk_tp_type)));
|
||||
}
|
||||
}
|
||||
|
||||
kstat_kv_bool(&tzk->tzk_cooling) = (tz->tz_cm != NULL);
|
||||
|
||||
getnanouptime(&ks->ks_updated);
|
||||
rw_exit_write(&tz->tz_lock);
|
||||
}
|
||||
|
||||
static void
|
||||
thermal_zone_kstat_attach(struct thermal_zone *tz)
|
||||
{
|
||||
struct kstat *ks;
|
||||
struct thermal_zone_kstats *tzk;
|
||||
static unsigned int unit = 0;
|
||||
|
||||
ks = kstat_create("dt", 0, "thermal-zone", unit++, KSTAT_T_KV, 0);
|
||||
if (ks == NULL) {
|
||||
printf("unable to create thermal-zone kstats for %s",
|
||||
tz->tz_name);
|
||||
return;
|
||||
}
|
||||
|
||||
tzk = malloc(sizeof(*tzk), M_DEVBUF, M_WAITOK|M_ZERO);
|
||||
|
||||
kstat_kv_init(&tzk->tzk_name, "name", KSTAT_KV_T_ISTR);
|
||||
strlcpy(kstat_kv_istr(&tzk->tzk_name), tz->tz_name,
|
||||
sizeof(kstat_kv_istr(&tzk->tzk_name)));
|
||||
kstat_kv_init(&tzk->tzk_temp, "temperature", KSTAT_KV_T_NULL);
|
||||
|
||||
/* XXX dt node is not be the most useful info here. */
|
||||
kstat_kv_init(&tzk->tzk_tp, "trip-point-node", KSTAT_KV_T_UINT32);
|
||||
kstat_kv_init(&tzk->tzk_tp_type, "trip-type", KSTAT_KV_T_ISTR);
|
||||
strlcpy(kstat_kv_istr(&tzk->tzk_tp_type), "unknown",
|
||||
sizeof(kstat_kv_istr(&tzk->tzk_tp_type)));
|
||||
|
||||
kstat_kv_init(&tzk->tzk_cooling, "active-cooling", KSTAT_KV_T_BOOL);
|
||||
kstat_kv_bool(&tzk->tzk_cooling) = 0;
|
||||
|
||||
ks->ks_softc = tz;
|
||||
ks->ks_data = tzk;
|
||||
ks->ks_datalen = sizeof(*tzk);
|
||||
ks->ks_read = kstat_read_nop;
|
||||
kstat_set_rlock(ks, &tz->tz_lock);
|
||||
|
||||
tz->tz_kstat = ks;
|
||||
kstat_install(ks);
|
||||
}
|
||||
#endif /* NKSTAT > 0 */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: azalia.c,v 1.284 2023/07/30 08:46:03 yasuoka Exp $ */
|
||||
/* $OpenBSD: azalia.c,v 1.285 2023/11/23 14:24:06 jsg Exp $ */
|
||||
/* $NetBSD: azalia.c,v 1.20 2006/05/07 08:31:44 kent Exp $ */
|
||||
|
||||
/*-
|
||||
|
@ -475,6 +475,7 @@ azalia_configure_pci(azalia_t *az)
|
|||
case PCI_PRODUCT_INTEL_GLK_HDA:
|
||||
case PCI_PRODUCT_INTEL_JSL_HDA:
|
||||
case PCI_PRODUCT_INTEL_EHL_HDA:
|
||||
case PCI_PRODUCT_INTEL_ADL_N_HDA:
|
||||
reg = azalia_pci_read(az->pc, az->tag,
|
||||
INTEL_PCIE_NOSNOOP_REG);
|
||||
reg &= INTEL_PCIE_NOSNOOP_MASK;
|
||||
|
@ -498,6 +499,7 @@ const struct pci_matchid azalia_pci_devices[] = {
|
|||
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_GLK_HDA },
|
||||
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_JSL_HDA },
|
||||
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EHL_HDA },
|
||||
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_HDA },
|
||||
};
|
||||
|
||||
int
|
||||
|
|
|
@ -142,7 +142,8 @@ static const struct pci_matchid amdgpu_devices[] = {
|
|||
{0x1002, 0x73BF },
|
||||
|
||||
/* Van Gogh */
|
||||
{0x1002, 0x163F },
|
||||
{0x1002, 0x1435 }, /* Custom GPU 0932 */
|
||||
{0x1002, 0x163F }, /* Custom GPU 0405 */
|
||||
|
||||
/* Yellow Carp */
|
||||
{0x1002, 0x164D },
|
||||
|
|
|
@ -1963,6 +1963,7 @@ static const struct pci_device_id pciidlist[] = {
|
|||
{0x1002, 0x73BF, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SIENNA_CICHLID},
|
||||
|
||||
/* Van Gogh */
|
||||
{0x1002, 0x1435, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VANGOGH|AMD_IS_APU},
|
||||
{0x1002, 0x163F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VANGOGH|AMD_IS_APU},
|
||||
|
||||
/* Yellow Carp */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: dwiic_pci.c,v 1.23 2023/02/05 02:26:02 jsg Exp $ */
|
||||
/* $OpenBSD: dwiic_pci.c,v 1.24 2023/11/23 14:24:06 jsg Exp $ */
|
||||
/*
|
||||
* Synopsys DesignWare I2C controller
|
||||
* PCI attachment
|
||||
|
@ -166,6 +166,12 @@ const struct pci_matchid dwiic_pci_ids[] = {
|
|||
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EHL_SIO_I2C_5 },
|
||||
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EHL_SIO_I2C_6 },
|
||||
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EHL_SIO_I2C_7 },
|
||||
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_I2C_0 },
|
||||
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_I2C_1 },
|
||||
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_I2C_2 },
|
||||
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_I2C_3 },
|
||||
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_I2C_4 },
|
||||
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_I2C_5 },
|
||||
};
|
||||
|
||||
int
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: ichiic.c,v 1.51 2023/02/05 02:26:02 jsg Exp $ */
|
||||
/* $OpenBSD: ichiic.c,v 1.52 2023/11/23 14:24:06 jsg Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2005, 2006 Alexander Yurchenko <grange@openbsd.org>
|
||||
|
@ -139,6 +139,7 @@ const struct pci_matchid ichiic_ids[] = {
|
|||
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_700SERIES_SMB },
|
||||
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_JSL_SMB },
|
||||
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EHL_SMB },
|
||||
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_SMB },
|
||||
};
|
||||
|
||||
int
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
$OpenBSD: pcidevs,v 1.2053 2023/11/14 02:25:48 jsg Exp $
|
||||
$OpenBSD: pcidevs,v 1.2055 2023/11/23 14:21:47 jsg Exp $
|
||||
/* $NetBSD: pcidevs,v 1.30 1997/06/24 06:20:24 thorpej Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -1277,6 +1277,7 @@ product ATI KAVERI_20 0x131b Kaveri Radeon R4
|
|||
product ATI KAVERI_21 0x131c Kaveri Radeon R7
|
||||
product ATI KAVERI_22 0x131d Kaveri Radeon R6
|
||||
product ATI CYAN_SKILLFISH_1 0x13fe Cyan Skillfish
|
||||
product ATI VANGOGH_0932 0x1435 Van Gogh
|
||||
product ATI CYAN_SKILLFISH_2 0x143f Cyan Skillfish
|
||||
product ATI PPB_1 0x1478 PCIE
|
||||
product ATI PPB_2 0x1479 PCIE
|
||||
|
@ -1290,7 +1291,7 @@ product ATI BARCELO 0x15e7 Barcelo
|
|||
product ATI RENOIR 0x1636 Renoir
|
||||
product ATI RENOIR_HDA 0x1637 Renoir HD Audio
|
||||
product ATI CEZANNE 0x1638 Cezanne
|
||||
product ATI VANGOGH 0x163f Van Gogh
|
||||
product ATI VANGOGH_0405 0x163f Van Gogh
|
||||
product ATI VANGOGH_HDA 0x1640 Van Gogh HD Audio
|
||||
product ATI LUCIENNE 0x164c Lucienne
|
||||
product ATI YELLOW_CARP_1 0x164d Rembrandt
|
||||
|
@ -5601,8 +5602,11 @@ product INTEL ADL_U9_HB_2 0x460a Core 12G Host
|
|||
product INTEL ADL_S_PCIE_1 0x460d Core 12G PCIE
|
||||
product INTEL ADL_XDCI 0x460e Core 12G xDCI
|
||||
product INTEL ADL_S_HB_6 0x4610 Core 12G Host
|
||||
product INTEL ADL_N_HB_1 0x4617 ADL-N Host
|
||||
product INTEL ADL_U15_HB_2 0x4619 Core 12G Host
|
||||
product INTEL ADL_U9_HB_3 0x461a Core 12G Host
|
||||
product INTEL ADL_N_HB_2 0x461b N200 Host
|
||||
product INTEL ADL_N_HB_3 0x461c N100 Host
|
||||
product INTEL ADL_S_DTT 0x461d Core 12G DTT
|
||||
product INTEL ADL_XHCI 0x461e Core 12G xHCI
|
||||
product INTEL ADL_TBT_PCIE3 0x461f Core 12G PCIE
|
||||
|
@ -5895,7 +5899,49 @@ product INTEL 600SERIES_LP_ISH 0x51fc 600 Series ISH
|
|||
product INTEL 600SERIES_LP_UFS 0x51ff 600 Series UFS
|
||||
product INTEL 80960RD 0x5200 i960 RD
|
||||
product INTEL PRO_100_SERVER 0x5201 PRO 100 Server
|
||||
product INTEL ADL_N_ESPI 0x5481 ADL-N eSPI
|
||||
product INTEL ADL_N_P2SB 0x54a0 ADL-N P2SB
|
||||
product INTEL ADL_N_PMC 0x54a1 ADL-N PMC
|
||||
product INTEL ADL_N_SMB 0x54a3 ADL-N SMBus
|
||||
product INTEL ADL_N_SPI 0x54a4 ADL-N SPI
|
||||
product INTEL ADL_N_TH 0x54a6 ADL-N TH
|
||||
product INTEL ADL_N_UART_0 0x54a8 ADL-N UART
|
||||
product INTEL ADL_N_UART_1 0x54a9 ADL-N UART
|
||||
product INTEL ADL_N_GSPI_0 0x54aa ADL-N GSPI
|
||||
product INTEL ADL_N_GSPI_1 0x54ab ADL-N GSPI
|
||||
product INTEL ADL_N_PCIE_9 0x54b0 ADL-N PCIE
|
||||
product INTEL ADL_N_PCIE_10 0x54b1 ADL-N PCIE
|
||||
product INTEL ADL_N_PCIE_11 0x54b2 ADL-N PCIE
|
||||
product INTEL ADL_N_PCIE_12 0x54b3 ADL-N PCIE
|
||||
product INTEL ADL_N_PCIE_1 0x54b8 ADL-N PCIE
|
||||
product INTEL ADL_N_PCIE_2 0x54b9 ADL-N PCIE
|
||||
product INTEL ADL_N_PCIE_3 0x54ba ADL-N PCIE
|
||||
product INTEL ADL_N_PCIE_4 0x54bb ADL-N PCIE
|
||||
product INTEL ADL_N_PCIE_7 0x54be ADL-N PCIE
|
||||
product INTEL ADL_N_EMMC 0x54c4 ADL-N eMMC
|
||||
product INTEL ADL_N_I2C_4 0x54c5 ADL-N I2C
|
||||
product INTEL ADL_N_I2C_5 0x54c6 ADL-N I2C
|
||||
product INTEL ADL_N_UART_2 0x54c7 ADL-N UART
|
||||
product INTEL ADL_N_HDA 0x54c8 ADL-N HD Audio
|
||||
product INTEL ADL_N_THC_0 0x54d0 ADL-N THC
|
||||
product INTEL ADL_N_THC_1 0x54d1 ADL-N THC
|
||||
product INTEL ADL_N_AHCI 0x54d3 ADL-N AHCI
|
||||
product INTEL ADL_N_UART_3 0x54da ADL-N UART
|
||||
product INTEL ADL_N_HECI_1 0x54e0 ADL-N HECI
|
||||
product INTEL ADL_N_HECI_2 0x54e1 ADL-N HECI
|
||||
product INTEL ADL_N_HECI_3 0x54e4 ADL-N HECI
|
||||
product INTEL ADL_N_HECI_4 0x54e5 ADL-N HECI
|
||||
product INTEL ADL_N_I2C_0 0x54e8 ADL-N I2C
|
||||
product INTEL ADL_N_I2C_1 0x54e9 ADL-N I2C
|
||||
product INTEL ADL_N_I2C_2 0x54ea ADL-N I2C
|
||||
product INTEL ADL_N_I2C_3 0x54eb ADL-N I2C
|
||||
product INTEL ADL_N_XHCI 0x54ed ADL-N xHCI
|
||||
product INTEL ADL_N_XDCI 0x54ee ADL-N xDCI
|
||||
product INTEL ADL_N_SRAM 0x54ef ADL-N SRAM
|
||||
product INTEL WL_22500_16 0x54f0 Wi-Fi 6 AX211
|
||||
product INTEL ADL_N_GSPI_2 0x54fb ADL-N GSPI
|
||||
product INTEL ADL_N_ISH 0x54fc ADL-N ISH
|
||||
product INTEL ADL_N_UFS 0x54ff ADL-N UFS
|
||||
product INTEL I225_LMVP 0x5502 I225-LMvP
|
||||
product INTEL I226_K 0x5504 I226-K
|
||||
product INTEL I219_LM18 0x550a I219-LM
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.
|
||||
*
|
||||
* generated from:
|
||||
* OpenBSD: pcidevs,v 1.2053 2023/11/14 02:25:48 jsg Exp
|
||||
* OpenBSD: pcidevs,v 1.2055 2023/11/23 14:21:47 jsg Exp
|
||||
*/
|
||||
/* $NetBSD: pcidevs,v 1.30 1997/06/24 06:20:24 thorpej Exp $ */
|
||||
|
||||
|
@ -1282,6 +1282,7 @@
|
|||
#define PCI_PRODUCT_ATI_KAVERI_21 0x131c /* Kaveri Radeon R7 */
|
||||
#define PCI_PRODUCT_ATI_KAVERI_22 0x131d /* Kaveri Radeon R6 */
|
||||
#define PCI_PRODUCT_ATI_CYAN_SKILLFISH_1 0x13fe /* Cyan Skillfish */
|
||||
#define PCI_PRODUCT_ATI_VANGOGH_0932 0x1435 /* Van Gogh */
|
||||
#define PCI_PRODUCT_ATI_CYAN_SKILLFISH_2 0x143f /* Cyan Skillfish */
|
||||
#define PCI_PRODUCT_ATI_PPB_1 0x1478 /* PCIE */
|
||||
#define PCI_PRODUCT_ATI_PPB_2 0x1479 /* PCIE */
|
||||
|
@ -1295,7 +1296,7 @@
|
|||
#define PCI_PRODUCT_ATI_RENOIR 0x1636 /* Renoir */
|
||||
#define PCI_PRODUCT_ATI_RENOIR_HDA 0x1637 /* Renoir HD Audio */
|
||||
#define PCI_PRODUCT_ATI_CEZANNE 0x1638 /* Cezanne */
|
||||
#define PCI_PRODUCT_ATI_VANGOGH 0x163f /* Van Gogh */
|
||||
#define PCI_PRODUCT_ATI_VANGOGH_0405 0x163f /* Van Gogh */
|
||||
#define PCI_PRODUCT_ATI_VANGOGH_HDA 0x1640 /* Van Gogh HD Audio */
|
||||
#define PCI_PRODUCT_ATI_LUCIENNE 0x164c /* Lucienne */
|
||||
#define PCI_PRODUCT_ATI_YELLOW_CARP_1 0x164d /* Rembrandt */
|
||||
|
@ -5606,8 +5607,11 @@
|
|||
#define PCI_PRODUCT_INTEL_ADL_S_PCIE_1 0x460d /* Core 12G PCIE */
|
||||
#define PCI_PRODUCT_INTEL_ADL_XDCI 0x460e /* Core 12G xDCI */
|
||||
#define PCI_PRODUCT_INTEL_ADL_S_HB_6 0x4610 /* Core 12G Host */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_HB_1 0x4617 /* ADL-N Host */
|
||||
#define PCI_PRODUCT_INTEL_ADL_U15_HB_2 0x4619 /* Core 12G Host */
|
||||
#define PCI_PRODUCT_INTEL_ADL_U9_HB_3 0x461a /* Core 12G Host */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_HB_2 0x461b /* N200 Host */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_HB_3 0x461c /* N100 Host */
|
||||
#define PCI_PRODUCT_INTEL_ADL_S_DTT 0x461d /* Core 12G DTT */
|
||||
#define PCI_PRODUCT_INTEL_ADL_XHCI 0x461e /* Core 12G xHCI */
|
||||
#define PCI_PRODUCT_INTEL_ADL_TBT_PCIE3 0x461f /* Core 12G PCIE */
|
||||
|
@ -5900,7 +5904,49 @@
|
|||
#define PCI_PRODUCT_INTEL_600SERIES_LP_UFS 0x51ff /* 600 Series UFS */
|
||||
#define PCI_PRODUCT_INTEL_80960RD 0x5200 /* i960 RD */
|
||||
#define PCI_PRODUCT_INTEL_PRO_100_SERVER 0x5201 /* PRO 100 Server */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_ESPI 0x5481 /* ADL-N eSPI */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_P2SB 0x54a0 /* ADL-N P2SB */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_PMC 0x54a1 /* ADL-N PMC */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_SMB 0x54a3 /* ADL-N SMBus */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_SPI 0x54a4 /* ADL-N SPI */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_TH 0x54a6 /* ADL-N TH */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_UART_0 0x54a8 /* ADL-N UART */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_UART_1 0x54a9 /* ADL-N UART */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_GSPI_0 0x54aa /* ADL-N GSPI */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_GSPI_1 0x54ab /* ADL-N GSPI */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_PCIE_9 0x54b0 /* ADL-N PCIE */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_PCIE_10 0x54b1 /* ADL-N PCIE */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_PCIE_11 0x54b2 /* ADL-N PCIE */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_PCIE_12 0x54b3 /* ADL-N PCIE */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_PCIE_1 0x54b8 /* ADL-N PCIE */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_PCIE_2 0x54b9 /* ADL-N PCIE */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_PCIE_3 0x54ba /* ADL-N PCIE */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_PCIE_4 0x54bb /* ADL-N PCIE */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_PCIE_7 0x54be /* ADL-N PCIE */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_EMMC 0x54c4 /* ADL-N eMMC */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_I2C_4 0x54c5 /* ADL-N I2C */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_I2C_5 0x54c6 /* ADL-N I2C */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_UART_2 0x54c7 /* ADL-N UART */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_HDA 0x54c8 /* ADL-N HD Audio */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_THC_0 0x54d0 /* ADL-N THC */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_THC_1 0x54d1 /* ADL-N THC */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_AHCI 0x54d3 /* ADL-N AHCI */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_UART_3 0x54da /* ADL-N UART */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_HECI_1 0x54e0 /* ADL-N HECI */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_HECI_2 0x54e1 /* ADL-N HECI */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_HECI_3 0x54e4 /* ADL-N HECI */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_HECI_4 0x54e5 /* ADL-N HECI */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_I2C_0 0x54e8 /* ADL-N I2C */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_I2C_1 0x54e9 /* ADL-N I2C */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_I2C_2 0x54ea /* ADL-N I2C */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_I2C_3 0x54eb /* ADL-N I2C */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_XHCI 0x54ed /* ADL-N xHCI */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_XDCI 0x54ee /* ADL-N xDCI */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_SRAM 0x54ef /* ADL-N SRAM */
|
||||
#define PCI_PRODUCT_INTEL_WL_22500_16 0x54f0 /* Wi-Fi 6 AX211 */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_GSPI_2 0x54fb /* ADL-N GSPI */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_ISH 0x54fc /* ADL-N ISH */
|
||||
#define PCI_PRODUCT_INTEL_ADL_N_UFS 0x54ff /* ADL-N UFS */
|
||||
#define PCI_PRODUCT_INTEL_I225_LMVP 0x5502 /* I225-LMvP */
|
||||
#define PCI_PRODUCT_INTEL_I226_K 0x5504 /* I226-K */
|
||||
#define PCI_PRODUCT_INTEL_I219_LM18 0x550a /* I219-LM */
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.
|
||||
*
|
||||
* generated from:
|
||||
* OpenBSD: pcidevs,v 1.2053 2023/11/14 02:25:48 jsg Exp
|
||||
* OpenBSD: pcidevs,v 1.2055 2023/11/23 14:21:47 jsg Exp
|
||||
*/
|
||||
|
||||
/* $NetBSD: pcidevs,v 1.30 1997/06/24 06:20:24 thorpej Exp $ */
|
||||
|
@ -3247,6 +3247,10 @@ static const struct pci_known_product pci_known_products[] = {
|
|||
PCI_VENDOR_ATI, PCI_PRODUCT_ATI_CYAN_SKILLFISH_1,
|
||||
"Cyan Skillfish",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_ATI, PCI_PRODUCT_ATI_VANGOGH_0932,
|
||||
"Van Gogh",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_ATI, PCI_PRODUCT_ATI_CYAN_SKILLFISH_2,
|
||||
"Cyan Skillfish",
|
||||
|
@ -3300,7 +3304,7 @@ static const struct pci_known_product pci_known_products[] = {
|
|||
"Cezanne",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_ATI, PCI_PRODUCT_ATI_VANGOGH,
|
||||
PCI_VENDOR_ATI, PCI_PRODUCT_ATI_VANGOGH_0405,
|
||||
"Van Gogh",
|
||||
},
|
||||
{
|
||||
|
@ -19763,6 +19767,10 @@ static const struct pci_known_product pci_known_products[] = {
|
|||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_S_HB_6,
|
||||
"Core 12G Host",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_HB_1,
|
||||
"ADL-N Host",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_U15_HB_2,
|
||||
"Core 12G Host",
|
||||
|
@ -19771,6 +19779,14 @@ static const struct pci_known_product pci_known_products[] = {
|
|||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_U9_HB_3,
|
||||
"Core 12G Host",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_HB_2,
|
||||
"N200 Host",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_HB_3,
|
||||
"N100 Host",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_S_DTT,
|
||||
"Core 12G DTT",
|
||||
|
@ -20939,10 +20955,178 @@ static const struct pci_known_product pci_known_products[] = {
|
|||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_PRO_100_SERVER,
|
||||
"PRO 100 Server",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_ESPI,
|
||||
"ADL-N eSPI",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_P2SB,
|
||||
"ADL-N P2SB",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_PMC,
|
||||
"ADL-N PMC",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_SMB,
|
||||
"ADL-N SMBus",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_SPI,
|
||||
"ADL-N SPI",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_TH,
|
||||
"ADL-N TH",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_UART_0,
|
||||
"ADL-N UART",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_UART_1,
|
||||
"ADL-N UART",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_GSPI_0,
|
||||
"ADL-N GSPI",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_GSPI_1,
|
||||
"ADL-N GSPI",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_PCIE_9,
|
||||
"ADL-N PCIE",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_PCIE_10,
|
||||
"ADL-N PCIE",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_PCIE_11,
|
||||
"ADL-N PCIE",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_PCIE_12,
|
||||
"ADL-N PCIE",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_PCIE_1,
|
||||
"ADL-N PCIE",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_PCIE_2,
|
||||
"ADL-N PCIE",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_PCIE_3,
|
||||
"ADL-N PCIE",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_PCIE_4,
|
||||
"ADL-N PCIE",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_PCIE_7,
|
||||
"ADL-N PCIE",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_EMMC,
|
||||
"ADL-N eMMC",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_I2C_4,
|
||||
"ADL-N I2C",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_I2C_5,
|
||||
"ADL-N I2C",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_UART_2,
|
||||
"ADL-N UART",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_HDA,
|
||||
"ADL-N HD Audio",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_THC_0,
|
||||
"ADL-N THC",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_THC_1,
|
||||
"ADL-N THC",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_AHCI,
|
||||
"ADL-N AHCI",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_UART_3,
|
||||
"ADL-N UART",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_HECI_1,
|
||||
"ADL-N HECI",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_HECI_2,
|
||||
"ADL-N HECI",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_HECI_3,
|
||||
"ADL-N HECI",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_HECI_4,
|
||||
"ADL-N HECI",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_I2C_0,
|
||||
"ADL-N I2C",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_I2C_1,
|
||||
"ADL-N I2C",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_I2C_2,
|
||||
"ADL-N I2C",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_I2C_3,
|
||||
"ADL-N I2C",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_XHCI,
|
||||
"ADL-N xHCI",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_XDCI,
|
||||
"ADL-N xDCI",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_SRAM,
|
||||
"ADL-N SRAM",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_WL_22500_16,
|
||||
"Wi-Fi 6 AX211",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_GSPI_2,
|
||||
"ADL-N GSPI",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_ISH,
|
||||
"ADL-N ISH",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_UFS,
|
||||
"ADL-N UFS",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I225_LMVP,
|
||||
"I225-LMvP",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: wskbd.c,v 1.116 2023/11/22 18:19:25 tobhe Exp $ */
|
||||
/* $OpenBSD: wskbd.c,v 1.117 2023/11/23 15:02:57 deraadt Exp $ */
|
||||
/* $NetBSD: wskbd.c,v 1.80 2005/05/04 01:52:16 augustss Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -94,6 +94,7 @@
|
|||
#include <sys/errno.h>
|
||||
#include <sys/fcntl.h>
|
||||
#include <sys/vnode.h>
|
||||
#include <sys/task.h>
|
||||
|
||||
#include <ddb/db_var.h>
|
||||
|
||||
|
@ -113,7 +114,6 @@
|
|||
|
||||
#if NWSDISPLAY > 0
|
||||
#include <sys/atomic.h>
|
||||
#include <sys/task.h>
|
||||
#endif
|
||||
|
||||
#ifdef WSKBD_DEBUG
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: kern_physio.c,v 1.47 2020/02/20 16:26:01 krw Exp $ */
|
||||
/* $OpenBSD: kern_physio.c,v 1.48 2023/11/24 00:15:42 asou Exp $ */
|
||||
/* $NetBSD: kern_physio.c,v 1.28 1997/05/19 10:43:28 pk Exp $ */
|
||||
|
||||
/*-
|
||||
|
@ -113,8 +113,8 @@ physio(void (*strategy)(struct buf *), dev_t dev, int flags,
|
|||
/*
|
||||
* Because iov_len is size_t (unsigned) but b_bcount is
|
||||
* long (signed), an overflow is possible. Therefore
|
||||
* limit b_bcount to LONG_MAX before calling the provided
|
||||
* minphys.
|
||||
* limit b_bcount to LONG_MAX before calling the
|
||||
* provided minphys.
|
||||
*/
|
||||
if (iovp->iov_len > LONG_MAX)
|
||||
bp->b_bcount = LONG_MAX;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: if_veb.c,v 1.31 2023/05/16 14:32:54 jan Exp $ */
|
||||
/* $OpenBSD: if_veb.c,v 1.32 2023/11/23 23:45:10 dlg Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2021 David Gwynne <dlg@openbsd.org>
|
||||
|
@ -612,6 +612,7 @@ veb_pf(struct ifnet *ifp0, int dir, struct mbuf *m)
|
|||
{
|
||||
struct ether_header *eh, copy;
|
||||
const struct veb_pf_ip_family *fam;
|
||||
int hlen;
|
||||
|
||||
/*
|
||||
* pf runs on vport interfaces when they enter or leave the
|
||||
|
@ -640,11 +641,9 @@ veb_pf(struct ifnet *ifp0, int dir, struct mbuf *m)
|
|||
copy = *eh;
|
||||
m_adj(m, sizeof(*eh));
|
||||
|
||||
if (dir == PF_IN) {
|
||||
m = (*fam->ip_check)(ifp0, m);
|
||||
if (m == NULL)
|
||||
return (NULL);
|
||||
}
|
||||
m = (*fam->ip_check)(ifp0, m);
|
||||
if (m == NULL)
|
||||
return (NULL);
|
||||
|
||||
if (pf_test(fam->af, dir, ifp0, &m) != PF_PASS) {
|
||||
m_freem(m);
|
||||
|
@ -660,12 +659,14 @@ veb_pf(struct ifnet *ifp0, int dir, struct mbuf *m)
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
m = m_prepend(m, sizeof(*eh), M_DONTWAIT);
|
||||
hlen = roundup(sizeof(*eh), sizeof(long));
|
||||
m = m_prepend(m, hlen, M_DONTWAIT);
|
||||
if (m == NULL)
|
||||
return (NULL);
|
||||
|
||||
/* checksum? */
|
||||
|
||||
m_adj(m, hlen - sizeof(*eh));
|
||||
eh = mtod(m, struct ether_header *);
|
||||
*eh = copy;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue