sync with OpenBSD -current

This commit is contained in:
purplerain 2023-12-30 04:25:26 +00:00
parent 505632e9be
commit 72a51d0b15
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
41 changed files with 3131 additions and 1347 deletions

View file

@ -1,4 +1,4 @@
/* $OpenBSD: pmap.c,v 1.164 2023/04/13 15:23:21 miod Exp $ */
/* $OpenBSD: pmap.c,v 1.165 2023/12/29 13:23:27 jca Exp $ */
/* $NetBSD: pmap.c,v 1.3 2003/05/08 18:13:13 thorpej Exp $ */
/*
@ -913,6 +913,12 @@ pmap_bootstrap(paddr_t first_avail, paddr_t max_pa)
return first_avail;
}
void
pmap_init_percpu(void)
{
pool_cache_init(&pmap_pv_pool);
}
/*
* pmap_randomize
*

View file

@ -1,4 +1,4 @@
/* $OpenBSD: pmap.h,v 1.87 2023/12/11 22:12:52 kettenis Exp $ */
/* $OpenBSD: pmap.h,v 1.88 2023/12/29 13:23:28 jca Exp $ */
/* $NetBSD: pmap.h,v 1.1 2003/04/26 18:39:46 fvdl Exp $ */
/*
@ -375,7 +375,6 @@ extern const long nbpd[], nkptpmax[];
#define pmap_valid_entry(E) ((E) & PG_V) /* is PDE or PTE valid? */
#define pmap_proc_iflush(p,va,len) /* nothing */
#define pmap_init_percpu() do { /* nothing */ } while (0)
#define pmap_unuse_final(p) /* nothing */
#define pmap_remove_holes(vm) do { /* nothing */ } while (0)
@ -386,6 +385,7 @@ extern const long nbpd[], nkptpmax[];
void map_tramps(void); /* machdep.c */
paddr_t pmap_bootstrap(paddr_t, paddr_t);
void pmap_init_percpu(void);
void pmap_randomize(void);
void pmap_randomize_level(pd_entry_t *, int);
int pmap_clear_attrs(struct vm_page *, unsigned long);

View file

@ -1556,9 +1556,6 @@ struct drm_device *
drm_get_device_from_kdev(dev_t kdev)
{
int unit = minor(kdev) & ((1 << CLONE_SHIFT) - 1);
/* control */
if (unit >= 64 && unit < 128)
unit -= 64;
/* render */
if (unit >= 128)
unit -= 128;
@ -1701,12 +1698,18 @@ drmopen(dev_t kdev, int flags, int fmt, struct proc *p)
realminor = dminor & ((1 << CLONE_SHIFT) - 1);
if (realminor < 64)
minor_type = DRM_MINOR_PRIMARY;
else if (realminor >= 64 && realminor < 128)
minor_type = DRM_MINOR_CONTROL;
else
else if (realminor >= 128 && realminor < 192)
minor_type = DRM_MINOR_RENDER;
else {
ret = ENXIO;
goto err;
}
dm = *drm_minor_get_slot(dev, minor_type);
if (dm == NULL) {
ret = ENXIO;
goto err;
}
dm->index = minor(kdev);
file_priv = drm_file_alloc(dm);

View file

@ -1,4 +1,4 @@
/* $OpenBSD: if.c,v 1.713 2023/12/23 10:52:54 bluhm Exp $ */
/* $OpenBSD: if.c,v 1.714 2023/12/29 11:43:04 bluhm Exp $ */
/* $NetBSD: if.c,v 1.35 1996/05/07 05:26:04 thorpej Exp $ */
/*
@ -839,11 +839,14 @@ if_input_local(struct ifnet *ifp, struct mbuf *m, sa_family_t af)
if (ISSET(keepcksum, M_ICMP_CSUM_OUT))
m->m_pkthdr.csum_flags |= M_ICMP_CSUM_IN_OK;
ifp->if_opackets++;
ifp->if_obytes += m->m_pkthdr.len;
ifp->if_ipackets++;
ifp->if_ibytes += m->m_pkthdr.len;
if (ifp->if_counters == NULL) {
/* XXXSMP multicast loopback and simplex interfaces */
ifp->if_opackets++;
ifp->if_obytes += m->m_pkthdr.len;
} else {
counters_pkt(ifp->if_counters, ifc_opackets, ifc_obytes,
m->m_pkthdr.len);
}
switch (af) {
case AF_INET:

View file

@ -1,4 +1,4 @@
/* $OpenBSD: if_loop.c,v 1.97 2023/07/21 22:24:41 bluhm Exp $ */
/* $OpenBSD: if_loop.c,v 1.98 2023/12/29 11:43:04 bluhm Exp $ */
/* $NetBSD: if_loop.c,v 1.15 1996/05/07 02:40:33 thorpej Exp $ */
/*
@ -185,6 +185,7 @@ loop_clone_create(struct if_clone *ifc, int unit)
ifp->if_output = looutput;
ifp->if_type = IFT_LOOP;
ifp->if_hdrlen = sizeof(u_int32_t);
if_counters_alloc(ifp);
if (unit == 0) {
if_attachhead(ifp);
if_addgroup(ifp, ifc->ifc_name);
@ -250,7 +251,7 @@ loinput(struct ifnet *ifp, struct mbuf *m)
error = if_input_local(ifp, m, m->m_pkthdr.ph_family);
if (error)
ifp->if_ierrors++;
counters_inc(ifp->if_counters, ifc_ierrors);
}
int