sync with OpenBSD -current
This commit is contained in:
parent
e42955765e
commit
0c5463838b
28 changed files with 291 additions and 300 deletions
|
@ -2614,6 +2614,9 @@
|
|||
./usr/share/man/man8/rad.8
|
||||
./usr/share/man/man8/radiusctl.8
|
||||
./usr/share/man/man8/radiusd.8
|
||||
./usr/share/man/man8/radiusd_bsdauth.8
|
||||
./usr/share/man/man8/radiusd_radius.8
|
||||
./usr/share/man/man8/radiusd_standard.8
|
||||
./usr/share/man/man8/rarpd.8
|
||||
./usr/share/man/man8/rbootd.8
|
||||
./usr/share/man/man8/rc.8
|
||||
|
|
|
@ -1,20 +1,5 @@
|
|||
/* $OpenBSD: agp_machdep.c,v 1.14 2015/03/14 03:38:46 jsg Exp $ */
|
||||
/* $OpenBSD: agp_machdep.c,v 1.17 2024/07/02 04:42:43 jsg Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008 - 2009 Owain G. Ainsworth <oga@openbsd.org>
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2002 Michael Shalayeff
|
||||
* All rights reserved.
|
||||
|
@ -43,90 +28,11 @@
|
|||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/malloc.h>
|
||||
#include <sys/rwlock.h>
|
||||
|
||||
#include <dev/pci/pcivar.h>
|
||||
#include <dev/pci/pcireg.h>
|
||||
#include <dev/pci/pcidevs.h>
|
||||
|
||||
#include <uvm/uvm_extern.h>
|
||||
|
||||
#include <machine/cpufunc.h>
|
||||
#include <machine/bus.h>
|
||||
#include <machine/pmap.h>
|
||||
|
||||
void
|
||||
agp_flush_cache(void)
|
||||
{
|
||||
wbinvd();
|
||||
}
|
||||
|
||||
void
|
||||
agp_flush_cache_range(vaddr_t va, vsize_t sz)
|
||||
{
|
||||
pmap_flush_cache(va, sz);
|
||||
}
|
||||
|
||||
struct agp_map {
|
||||
bus_space_tag_t bst;
|
||||
bus_space_handle_t bsh;
|
||||
bus_size_t size;
|
||||
};
|
||||
|
||||
int
|
||||
agp_init_map(bus_space_tag_t tag, bus_addr_t address, bus_size_t size,
|
||||
int flags, struct agp_map **mapp)
|
||||
{
|
||||
struct agp_map *map;
|
||||
int err;
|
||||
|
||||
map = malloc(sizeof(*map), M_AGP, M_WAITOK | M_CANFAIL);
|
||||
if (map == NULL)
|
||||
return (ENOMEM);
|
||||
|
||||
map->bst = tag;
|
||||
map->size = size;
|
||||
|
||||
if ((err = bus_space_map(tag, address, size, flags, &map->bsh)) != 0) {
|
||||
free(map, M_AGP, sizeof(*map));
|
||||
return (err);
|
||||
}
|
||||
*mapp = map;
|
||||
return (0);
|
||||
}
|
||||
|
||||
void
|
||||
agp_destroy_map(struct agp_map *map)
|
||||
{
|
||||
bus_space_unmap(map->bst, map->bsh, map->size);
|
||||
free(map, M_AGP, sizeof(*map));
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
agp_map_subregion(struct agp_map *map, bus_size_t offset, bus_size_t size,
|
||||
bus_space_handle_t *bshp)
|
||||
{
|
||||
return (bus_space_subregion(map->bst, map->bsh, offset, size, bshp));
|
||||
}
|
||||
|
||||
void
|
||||
agp_unmap_subregion(struct agp_map *map, bus_space_handle_t bsh,
|
||||
bus_size_t size)
|
||||
{
|
||||
/* subregion doesn't need unmapping, do nothing */
|
||||
}
|
||||
|
||||
void
|
||||
agp_map_atomic(struct agp_map *map, bus_size_t offset,
|
||||
bus_space_handle_t *bshp)
|
||||
{
|
||||
agp_map_subregion(map, offset, PAGE_SIZE, bshp);
|
||||
}
|
||||
|
||||
void
|
||||
agp_unmap_atomic(struct agp_map *map, bus_space_handle_t bsh)
|
||||
{
|
||||
/* subregion doesn't need unmapping, do nothing */
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: cpu.c,v 1.121 2024/06/23 10:17:16 kettenis Exp $ */
|
||||
/* $OpenBSD: cpu.c,v 1.123 2024/07/02 19:59:54 kettenis Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2016 Dale Rahn <drahn@dalerahn.com>
|
||||
|
@ -244,6 +244,7 @@ uint64_t cpu_id_aa64isar2;
|
|||
uint64_t cpu_id_aa64pfr0;
|
||||
uint64_t cpu_id_aa64pfr1;
|
||||
|
||||
int arm64_has_lse;
|
||||
#ifdef CRYPTO
|
||||
int arm64_has_aes;
|
||||
#endif
|
||||
|
@ -714,6 +715,7 @@ cpu_identify(struct cpu_info *ci)
|
|||
if (ID_AA64ISAR0_ATOMIC(id) >= ID_AA64ISAR0_ATOMIC_IMPL) {
|
||||
printf("%sAtomic", sep);
|
||||
sep = ",";
|
||||
arm64_has_lse = 1;
|
||||
}
|
||||
|
||||
if (ID_AA64ISAR0_CRC32(id) >= ID_AA64ISAR0_CRC32_BASE) {
|
||||
|
@ -2003,7 +2005,7 @@ cpu_psci_init(struct cpu_info *ci)
|
|||
*/
|
||||
|
||||
len = OF_getproplen(node, "domain-idle-states");
|
||||
if (len < sizeof(uint32_t))
|
||||
if (len < (int)sizeof(uint32_t))
|
||||
return;
|
||||
|
||||
states = malloc(len, M_TEMP, M_WAITOK);
|
||||
|
|
170
sys/arch/arm64/arm64/lse.S
Normal file
170
sys/arch/arm64/arm64/lse.S
Normal file
|
@ -0,0 +1,170 @@
|
|||
/* $OpenBSD: lse.S,v 1.1 2024/07/02 10:25:16 kettenis Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2024 Mark Kettenis <kettenis@openbsd.org>
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
|
||||
/*
|
||||
* Out-of-line LSE atomics helpers
|
||||
*/
|
||||
|
||||
.arch armv8-a+lse
|
||||
|
||||
ENTRY(__aarch64_cas4_acq_rel)
|
||||
RETGUARD_SETUP(__aarch64_cas4_acq_rel, x15)
|
||||
adrp x9, arm64_has_lse
|
||||
ldr w9, [x9, :lo12:arm64_has_lse]
|
||||
cbz w9, 1f
|
||||
casal w0, w1, [x2]
|
||||
RETGUARD_CHECK(__aarch64_cas4_acq_rel, x15)
|
||||
ret
|
||||
1:
|
||||
ldaxr w9, [x2]
|
||||
cmp w9, w0
|
||||
b.ne 2f
|
||||
stlxr w10, w1, [x2]
|
||||
cbnz w10, 1b
|
||||
2:
|
||||
mov w0, w9
|
||||
RETGUARD_CHECK(__aarch64_cas4_acq_rel, x15)
|
||||
ret
|
||||
END(__aarch64_cas4_acq_rel)
|
||||
|
||||
ENTRY(__aarch64_cas8_acq_rel)
|
||||
RETGUARD_SETUP(__aarch64_cas8_acq_rel, x15)
|
||||
adrp x9, arm64_has_lse
|
||||
ldr w9, [x9, :lo12:arm64_has_lse]
|
||||
cbz w9, 1f
|
||||
casal x0, x1, [x2]
|
||||
RETGUARD_CHECK(__aarch64_cas8_acq_rel, x15)
|
||||
ret
|
||||
1:
|
||||
ldaxr x9, [x2]
|
||||
cmp x9, x0
|
||||
b.ne 2f
|
||||
stlxr w10, x1, [x2]
|
||||
cbnz w10, 1b
|
||||
2:
|
||||
mov x0, x9
|
||||
RETGUARD_CHECK(__aarch64_cas8_acq_rel, x15)
|
||||
ret
|
||||
END(__aarch64_cas8_acq_rel)
|
||||
|
||||
ENTRY(__aarch64_ldadd4_acq_rel)
|
||||
RETGUARD_SETUP(__aarch64_ldadd4_acq_rel, x15)
|
||||
adrp x9, arm64_has_lse
|
||||
ldr w9, [x9, :lo12:arm64_has_lse]
|
||||
cbz w9, 1f
|
||||
ldaddal w0, w0, [x1]
|
||||
RETGUARD_CHECK(__aarch64_ldadd4_acq_rel, x15)
|
||||
ret
|
||||
1:
|
||||
ldaxr w9, [x1]
|
||||
add w11, w9, w0
|
||||
stlxr w10, w11, [x1]
|
||||
cbnz w10, 1b
|
||||
mov w0, w9
|
||||
RETGUARD_CHECK(__aarch64_ldadd4_acq_rel, x15)
|
||||
ret
|
||||
END(__aarch64_ldadd4_acq_rel)
|
||||
|
||||
ENTRY(__aarch64_ldadd8_acq_rel)
|
||||
RETGUARD_SETUP(__aarch64_ldadd8_acq_rel, x15)
|
||||
adrp x9, arm64_has_lse
|
||||
ldr w9, [x9, :lo12:arm64_has_lse]
|
||||
cbz w9, 1f
|
||||
ldaddal x0, x0, [x1]
|
||||
RETGUARD_CHECK(__aarch64_ldadd8_acq_rel, x15)
|
||||
ret
|
||||
1:
|
||||
ldaxr x9, [x1]
|
||||
add x11, x9, x0
|
||||
stlxr w10, x11, [x1]
|
||||
cbnz w10, 1b
|
||||
mov x0, x9
|
||||
RETGUARD_CHECK(__aarch64_ldadd8_acq_rel, x15)
|
||||
ret
|
||||
END(__aarch64_ldadd8_acq_rel)
|
||||
|
||||
ENTRY(__aarch64_ldclr4_acq_rel)
|
||||
RETGUARD_SETUP(__aarch64_ldclr4_acq_rel, x15)
|
||||
adrp x9, arm64_has_lse
|
||||
ldr w9, [x9, :lo12:arm64_has_lse]
|
||||
cbz w9, 1f
|
||||
ldclral w0, w0, [x1]
|
||||
RETGUARD_CHECK(__aarch64_ldclr4_acq_rel, x15)
|
||||
ret
|
||||
1:
|
||||
ldaxr w9, [x1]
|
||||
bic w11, w9, w0
|
||||
stlxr w10, w11, [x1]
|
||||
cbnz w10, 1b
|
||||
mov w0, w9
|
||||
RETGUARD_CHECK(__aarch64_ldclr4_acq_rel, x15)
|
||||
ret
|
||||
END(__aarch64_ldclr4_acq_rel)
|
||||
|
||||
ENTRY(__aarch64_ldset4_acq_rel)
|
||||
RETGUARD_SETUP(__aarch64_ldset4_acq_rel, x15)
|
||||
adrp x9, arm64_has_lse
|
||||
ldr w9, [x9, :lo12:arm64_has_lse]
|
||||
cbz w9, 1f
|
||||
ldsetal w0, w0, [x1]
|
||||
RETGUARD_CHECK(__aarch64_ldset4_acq_rel, x15)
|
||||
ret
|
||||
1:
|
||||
ldaxr w9, [x1]
|
||||
orr w11, w9, w0
|
||||
stlxr w10, w11, [x1]
|
||||
cbnz w10, 1b
|
||||
mov w0, w9
|
||||
RETGUARD_CHECK(__aarch64_ldset4_acq_rel, x15)
|
||||
ret
|
||||
END(__aarch64_ldset4_acq_rel)
|
||||
|
||||
ENTRY(__aarch64_swp4_acq_rel)
|
||||
RETGUARD_SETUP(__aarch64_swp4_acq_rel, x15)
|
||||
adrp x9, arm64_has_lse
|
||||
ldr w9, [x9, :lo12:arm64_has_lse]
|
||||
cbz w9, 1f
|
||||
swpal w0, w0, [x1]
|
||||
RETGUARD_CHECK(__aarch64_swp4_acq_rel, x15)
|
||||
ret
|
||||
1:
|
||||
ldaxr w9, [x1]
|
||||
stlxr w10, w0, [x1]
|
||||
cbnz w10, 1b
|
||||
mov w0, w9
|
||||
RETGUARD_CHECK(__aarch64_swp4_acq_rel, x15)
|
||||
ret
|
||||
END(__aarch64_swp4_acq_rel)
|
||||
|
||||
ENTRY(__aarch64_swp8_acq_rel)
|
||||
RETGUARD_SETUP(__aarch64_swp8_acq_rel, x15)
|
||||
adrp x9, arm64_has_lse
|
||||
ldr w9, [x9, :lo12:arm64_has_lse]
|
||||
cbz w9, 1f
|
||||
swpal x0, x0, [x1]
|
||||
RETGUARD_CHECK(__aarch64_swp8_acq_rel, x15)
|
||||
ret
|
||||
1:
|
||||
ldaxr x9, [x1]
|
||||
stlxr w10, x0, [x1]
|
||||
cbnz w10, 1b
|
||||
mov x0, x9
|
||||
RETGUARD_CHECK(__aarch64_swp8_acq_rel, x15)
|
||||
ret
|
||||
END(__aarch64_swp8_acq_rel)
|
|
@ -1,4 +1,4 @@
|
|||
# $OpenBSD: Makefile.arm64,v 1.47 2023/09/06 01:47:36 jsg Exp $
|
||||
# $OpenBSD: Makefile.arm64,v 1.48 2024/07/02 10:25:16 kettenis Exp $
|
||||
|
||||
# For instructions on building kernels consult the config(8) and options(4)
|
||||
# manual pages.
|
||||
|
@ -60,6 +60,7 @@ CMACHFLAGS= -march=armv8-a+nofp+nosimd \
|
|||
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer \
|
||||
-ffixed-x18
|
||||
CMACHFLAGS+= -ffreestanding ${NOPIE_FLAGS}
|
||||
CMACHFLAGS+= -moutline-atomics
|
||||
SORTR= sort -R
|
||||
.if ${IDENT:M-DNO_PROPOLICE}
|
||||
CMACHFLAGS+= -fno-stack-protector
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $OpenBSD: files.arm64,v 1.69 2024/03/25 17:24:03 patrick Exp $
|
||||
# $OpenBSD: files.arm64,v 1.70 2024/07/02 10:25:16 kettenis Exp $
|
||||
|
||||
maxpartitions 16
|
||||
maxusers 2 8 128
|
||||
|
@ -34,6 +34,7 @@ file arch/arm64/arm64/trap.c
|
|||
file arch/arm64/arm64/ast.c
|
||||
|
||||
file arch/arm64/arm64/cpufunc_asm.S
|
||||
file arch/arm64/arm64/lse.S
|
||||
file arch/arm64/arm64/support.S
|
||||
file arch/arm64/arm64/bus_dma.c
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: smmu_fdt.c,v 1.6 2022/11/06 12:14:52 patrick Exp $ */
|
||||
/* $OpenBSD: smmu_fdt.c,v 1.7 2024/07/02 19:41:52 patrick Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2021 Patrick Wildt <patrick@blueri.se>
|
||||
*
|
||||
|
@ -83,7 +83,8 @@ smmu_fdt_attach(struct device *parent, struct device *self, void *aux)
|
|||
sc->sc_is_mmu500 = 1;
|
||||
if (OF_is_compatible(faa->fa_node, "marvell,ap806-smmu-500"))
|
||||
sc->sc_is_ap806 = 1;
|
||||
if (OF_is_compatible(faa->fa_node, "qcom,sc8280xp-smmu-500"))
|
||||
if (OF_is_compatible(faa->fa_node, "qcom,sc8280xp-smmu-500") ||
|
||||
OF_is_compatible(faa->fa_node, "qcom,x1e80100-smmu-500"))
|
||||
sc->sc_is_qcom = 1;
|
||||
if (OF_getproplen(faa->fa_node, "dma-coherent") == 0)
|
||||
sc->sc_coherent = 1;
|
||||
|
|
|
@ -1,20 +1,5 @@
|
|||
/* $OpenBSD: agp_machdep.c,v 1.21 2023/01/30 10:49:05 jsg Exp $ */
|
||||
/* $OpenBSD: agp_machdep.c,v 1.24 2024/07/02 04:42:43 jsg Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008 - 2009 Owain G. Ainsworth <oga@openbsd.org>
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2002 Michael Shalayeff
|
||||
* All rights reserved.
|
||||
|
@ -43,129 +28,11 @@
|
|||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/malloc.h>
|
||||
|
||||
#include <dev/pci/pcivar.h>
|
||||
#include <dev/pci/pcireg.h>
|
||||
#include <dev/pci/agpvar.h>
|
||||
|
||||
#include <uvm/uvm_extern.h>
|
||||
|
||||
#include <machine/cpufunc.h>
|
||||
#include <machine/bus.h>
|
||||
#include <machine/pmap.h>
|
||||
|
||||
void
|
||||
agp_flush_cache(void)
|
||||
{
|
||||
wbinvd();
|
||||
}
|
||||
|
||||
void
|
||||
agp_flush_cache_range(vaddr_t va, vsize_t sz)
|
||||
{
|
||||
pmap_flush_cache(va, sz);
|
||||
}
|
||||
|
||||
struct agp_map {
|
||||
bus_space_tag_t bst;
|
||||
bus_addr_t addr;
|
||||
bus_size_t size;
|
||||
int flags;
|
||||
vaddr_t va;
|
||||
};
|
||||
|
||||
extern struct extent *iomem_ex;
|
||||
|
||||
int
|
||||
agp_init_map(bus_space_tag_t tag, bus_addr_t address, bus_size_t size,
|
||||
int flags, struct agp_map **mapp)
|
||||
{
|
||||
struct agp_map *map;
|
||||
int error;
|
||||
|
||||
KASSERT(tag == I386_BUS_SPACE_MEM);
|
||||
|
||||
/*
|
||||
* We grab the extent out of the bus region ourselves
|
||||
* so we don't need to do these allocations every time.
|
||||
*/
|
||||
error = extent_alloc_region(iomem_ex, address, size,
|
||||
EX_NOWAIT | EX_MALLOCOK);
|
||||
if (error)
|
||||
return (error);
|
||||
|
||||
map = malloc(sizeof(*map), M_AGP, M_WAITOK | M_CANFAIL);
|
||||
if (map == NULL)
|
||||
return (ENOMEM);
|
||||
|
||||
map->bst = tag;
|
||||
map->addr = address;
|
||||
map->size = size;
|
||||
map->flags = flags;
|
||||
|
||||
map->va = (vaddr_t)km_alloc(PAGE_SIZE, &kv_any, &kp_none, &kd_waitok);
|
||||
if (map->va == 0) {
|
||||
free(map, M_AGP, sizeof(*map));
|
||||
return (ENOMEM);
|
||||
}
|
||||
|
||||
*mapp = map;
|
||||
return (0);
|
||||
}
|
||||
|
||||
void
|
||||
agp_destroy_map(struct agp_map *map)
|
||||
{
|
||||
if (extent_free(iomem_ex, map->addr, map->size,
|
||||
EX_NOWAIT | EX_MALLOCOK ))
|
||||
printf("%s: can't free region\n",__func__);
|
||||
km_free((void *)map->va, PAGE_SIZE, &kv_any, &kp_none);
|
||||
free(map, M_AGP, sizeof(*map));
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
agp_map_subregion(struct agp_map *map, bus_size_t offset, bus_size_t size,
|
||||
bus_space_handle_t *bshp)
|
||||
{
|
||||
return (_bus_space_map(map->bst, map->addr + offset, size,
|
||||
map->flags, bshp));
|
||||
}
|
||||
|
||||
void
|
||||
agp_unmap_subregion(struct agp_map *map, bus_space_handle_t bsh,
|
||||
bus_size_t size)
|
||||
{
|
||||
return (_bus_space_unmap(map->bst, bsh, size, NULL));
|
||||
}
|
||||
|
||||
void
|
||||
agp_map_atomic(struct agp_map *map, bus_size_t offset,
|
||||
bus_space_handle_t *bshp)
|
||||
{
|
||||
int pmap_flags = PMAP_NOCACHE;
|
||||
paddr_t pa;
|
||||
|
||||
KASSERT((offset & PGOFSET) == 0);
|
||||
|
||||
if (map->flags & BUS_SPACE_MAP_CACHEABLE)
|
||||
pmap_flags = 0;
|
||||
else if (map->flags & BUS_SPACE_MAP_PREFETCHABLE)
|
||||
pmap_flags = PMAP_WC;
|
||||
|
||||
pa = bus_space_mmap(map->bst, map->addr, offset, 0, 0);
|
||||
pmap_kenter_pa(map->va, pa | pmap_flags, PROT_READ | PROT_WRITE);
|
||||
pmap_update(pmap_kernel());
|
||||
|
||||
*bshp = (bus_space_handle_t)map->va;
|
||||
}
|
||||
|
||||
void
|
||||
agp_unmap_atomic(struct agp_map *map, bus_space_handle_t bsh)
|
||||
{
|
||||
KASSERT(bsh == (bus_space_handle_t)map->va);
|
||||
|
||||
pmap_kremove(map->va, PAGE_SIZE);
|
||||
pmap_update(pmap_kernel());
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: acpi.c,v 1.432 2024/06/25 11:57:10 kettenis Exp $ */
|
||||
/* $OpenBSD: acpi.c,v 1.433 2024/07/02 08:27:04 kettenis Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com>
|
||||
* Copyright (c) 2005 Jordan Hargrave <jordan@openbsd.org>
|
||||
|
@ -2203,6 +2203,7 @@ acpi_add_device(struct aml_node *node, void *arg)
|
|||
CPU_INFO_ITERATOR cii;
|
||||
struct cpu_info *ci;
|
||||
int proc_id = -1;
|
||||
int64_t sta;
|
||||
|
||||
memset(&aaa, 0, sizeof(aaa));
|
||||
aaa.aaa_node = node;
|
||||
|
@ -2233,6 +2234,10 @@ acpi_add_device(struct aml_node *node, void *arg)
|
|||
aaa.aaa_name = "acpicpu";
|
||||
break;
|
||||
case AML_OBJTYPE_THERMZONE:
|
||||
sta = acpi_getsta(sc, node);
|
||||
if ((sta & STA_PRESENT) == 0)
|
||||
return 0;
|
||||
|
||||
aaa.aaa_name = "acpitz";
|
||||
break;
|
||||
case AML_OBJTYPE_POWERRSRC:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: dwpcie.c,v 1.53 2024/03/29 12:45:13 kettenis Exp $ */
|
||||
/* $OpenBSD: dwpcie.c,v 1.54 2024/07/02 19:44:37 patrick Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2018 Mark Kettenis <kettenis@openbsd.org>
|
||||
*
|
||||
|
@ -314,6 +314,7 @@ dwpcie_match(struct device *parent, void *match, void *aux)
|
|||
OF_is_compatible(faa->fa_node, "fsl,imx8mq-pcie") ||
|
||||
OF_is_compatible(faa->fa_node, "marvell,armada8k-pcie") ||
|
||||
OF_is_compatible(faa->fa_node, "qcom,pcie-sc8280xp") ||
|
||||
OF_is_compatible(faa->fa_node, "qcom,pcie-x1e80100") ||
|
||||
OF_is_compatible(faa->fa_node, "rockchip,rk3568-pcie") ||
|
||||
OF_is_compatible(faa->fa_node, "rockchip,rk3588-pcie") ||
|
||||
OF_is_compatible(faa->fa_node, "sifive,fu740-pcie"));
|
||||
|
@ -533,7 +534,8 @@ dwpcie_attach_deferred(struct device *self)
|
|||
if (OF_is_compatible(sc->sc_node, "fsl,imx8mm-pcie") ||
|
||||
OF_is_compatible(sc->sc_node, "fsl,imx8mq-pcie"))
|
||||
error = dwpcie_imx8mq_init(sc);
|
||||
if (OF_is_compatible(sc->sc_node, "qcom,pcie-sc8280xp"))
|
||||
if (OF_is_compatible(sc->sc_node, "qcom,pcie-sc8280xp") ||
|
||||
OF_is_compatible(sc->sc_node, "qcom,pcie-x1e80100"))
|
||||
error = dwpcie_sc8280xp_init(sc);
|
||||
if (OF_is_compatible(sc->sc_node, "rockchip,rk3568-pcie") ||
|
||||
OF_is_compatible(sc->sc_node, "rockchip,rk3588-pcie"))
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: qcgpio_fdt.c,v 1.3 2024/05/13 01:15:50 jsg Exp $ */
|
||||
/* $OpenBSD: qcgpio_fdt.c,v 1.4 2024/07/02 19:43:52 patrick Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2022 Mark Kettenis <kettenis@openbsd.org>
|
||||
*
|
||||
|
@ -100,7 +100,8 @@ qcgpio_fdt_match(struct device *parent, void *match, void *aux)
|
|||
{
|
||||
struct fdt_attach_args *faa = aux;
|
||||
|
||||
return OF_is_compatible(faa->fa_node, "qcom,sc8280xp-tlmm");
|
||||
return (OF_is_compatible(faa->fa_node, "qcom,sc8280xp-tlmm") ||
|
||||
OF_is_compatible(faa->fa_node, "qcom,x1e80100-tlmm"));
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -116,7 +117,10 @@ qcgpio_fdt_attach(struct device *parent, struct device *self, void *aux)
|
|||
return;
|
||||
}
|
||||
|
||||
sc->sc_npins = 230;
|
||||
if (OF_is_compatible(faa->fa_node, "qcom,sc8280xp-tlmm"))
|
||||
sc->sc_npins = 230;
|
||||
else
|
||||
sc->sc_npins = 239;
|
||||
sc->sc_pin_ih = mallocarray(sc->sc_npins, sizeof(*sc->sc_pin_ih),
|
||||
M_DEVBUF, M_WAITOK | M_ZERO);
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: hidkbd.c,v 1.12 2024/01/03 21:41:44 tobhe Exp $ */
|
||||
/* $OpenBSD: hidkbd.c,v 1.13 2024/07/02 05:50:02 gkoehler Exp $ */
|
||||
/* $NetBSD: ukbd.c,v 1.85 2003/03/11 16:44:00 augustss Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -141,9 +141,26 @@ static const struct hidkbd_translation apple_fn_trans[] = {
|
|||
{ 60, 127 }, /* F3 -> audio mute */
|
||||
{ 61, 129 }, /* F4 -> audio lower */
|
||||
{ 62, 128 }, /* F5 -> audio raise */
|
||||
{ 63, 83 }, /* F6 -> num lock */
|
||||
{ 65, 234 }, /* F8 -> backlight toggle */
|
||||
{ 66, 236 }, /* F9 -> backlight lower */
|
||||
{ 67, 235 }, /* F10 -> backlight raise */
|
||||
{ 39, 84 }, /* keypad divide */
|
||||
{ 19, 85 }, /* keypad multiply */
|
||||
{ 51, 86 }, /* keypad substract */
|
||||
{ 56, 87 }, /* keypad add */
|
||||
{ 13, 89 }, /* keypad 1 */
|
||||
{ 14, 90 }, /* keypad 2 */
|
||||
{ 15, 91 }, /* keypad 3 */
|
||||
{ 24, 92 }, /* keypad 4 */
|
||||
{ 12, 93 }, /* keypad 5 */
|
||||
{ 18, 94 }, /* keypad 6 */
|
||||
{ 36, 95 }, /* keypad 7 */
|
||||
{ 37, 96 }, /* keypad 8 */
|
||||
{ 38, 97 }, /* keypad 9 */
|
||||
{ 16, 98 }, /* keypad 0 */
|
||||
{ 55, 99 }, /* keypad decimal */
|
||||
{ 45, 103 }, /* keypad equal */
|
||||
#else
|
||||
{ 63, 102 }, /* F6 -> sleep */
|
||||
{ 67, 127 }, /* F10 -> audio mute */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: agpvar.h,v 1.35 2024/05/13 01:15:51 jsg Exp $ */
|
||||
/* $OpenBSD: agpvar.h,v 1.37 2024/07/02 04:29:01 jsg Exp $ */
|
||||
/* $NetBSD: agpvar.h,v 1.4 2001/10/01 21:54:48 fvdl Exp $ */
|
||||
|
||||
/*-
|
||||
|
@ -122,8 +122,6 @@ struct agp_gatt {
|
|||
size_t ag_size;
|
||||
};
|
||||
|
||||
struct agp_map;
|
||||
|
||||
/*
|
||||
* Functions private to the AGP code.
|
||||
*/
|
||||
|
@ -134,17 +132,7 @@ struct agp_gatt *
|
|||
agp_alloc_gatt(bus_dma_tag_t, u_int32_t);
|
||||
void agp_free_gatt(bus_dma_tag_t, struct agp_gatt *);
|
||||
void agp_flush_cache(void);
|
||||
void agp_flush_cache_range(vaddr_t, vsize_t);
|
||||
int agp_generic_enable(struct agp_softc *, u_int32_t);
|
||||
int agp_init_map(bus_space_tag_t, bus_addr_t, bus_size_t, int, struct
|
||||
agp_map **);
|
||||
void agp_destroy_map(struct agp_map *);
|
||||
int agp_map_subregion(struct agp_map *, bus_size_t, bus_size_t,
|
||||
bus_space_handle_t *);
|
||||
void agp_unmap_subregion(struct agp_map *, bus_space_handle_t,
|
||||
bus_size_t);
|
||||
void agp_map_atomic(struct agp_map *, bus_size_t, bus_space_handle_t *);
|
||||
void agp_unmap_atomic(struct agp_map *, bus_space_handle_t);
|
||||
|
||||
int agp_alloc_dmamem(bus_dma_tag_t, size_t, bus_dmamap_t *,
|
||||
bus_addr_t *, bus_dma_segment_t *);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
$OpenBSD: pcidevs,v 1.2078 2024/06/30 08:11:36 kevlo Exp $
|
||||
$OpenBSD: pcidevs,v 1.2079 2024/07/02 22:28:02 kettenis Exp $
|
||||
/* $NetBSD: pcidevs,v 1.30 1997/06/24 06:20:24 thorpej Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -8628,6 +8628,7 @@ product QLOGIC ISP8432 0x8432 ISP8432
|
|||
|
||||
/* Qualcomm products */
|
||||
product QUALCOMM SC8280XP_PCIE 0x010e SC8280XP PCIe
|
||||
product QUALCOMM X1E80100_PCIE 0x0111 X1E80100 PCIe
|
||||
product QUALCOMM QCNFA765 0x1103 QCNFA765
|
||||
|
||||
/* Quancom products */
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.
|
||||
*
|
||||
* generated from:
|
||||
* OpenBSD: pcidevs,v 1.2078 2024/06/30 08:11:36 kevlo Exp
|
||||
* OpenBSD: pcidevs,v 1.2079 2024/07/02 22:28:02 kettenis Exp
|
||||
*/
|
||||
/* $NetBSD: pcidevs,v 1.30 1997/06/24 06:20:24 thorpej Exp $ */
|
||||
|
||||
|
@ -8633,6 +8633,7 @@
|
|||
|
||||
/* Qualcomm products */
|
||||
#define PCI_PRODUCT_QUALCOMM_SC8280XP_PCIE 0x010e /* SC8280XP PCIe */
|
||||
#define PCI_PRODUCT_QUALCOMM_X1E80100_PCIE 0x0111 /* X1E80100 PCIe */
|
||||
#define PCI_PRODUCT_QUALCOMM_QCNFA765 0x1103 /* QCNFA765 */
|
||||
|
||||
/* Quancom products */
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.
|
||||
*
|
||||
* generated from:
|
||||
* OpenBSD: pcidevs,v 1.2078 2024/06/30 08:11:36 kevlo Exp
|
||||
* OpenBSD: pcidevs,v 1.2079 2024/07/02 22:28:02 kettenis Exp
|
||||
*/
|
||||
|
||||
/* $NetBSD: pcidevs,v 1.30 1997/06/24 06:20:24 thorpej Exp $ */
|
||||
|
@ -31139,6 +31139,10 @@ static const struct pci_known_product pci_known_products[] = {
|
|||
PCI_VENDOR_QUALCOMM, PCI_PRODUCT_QUALCOMM_SC8280XP_PCIE,
|
||||
"SC8280XP PCIe",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_QUALCOMM, PCI_PRODUCT_QUALCOMM_X1E80100_PCIE,
|
||||
"X1E80100 PCIe",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_QUALCOMM, PCI_PRODUCT_QUALCOMM_QCNFA765,
|
||||
"QCNFA765",
|
||||
|
|
27
sys/net/pf.c
27
sys/net/pf.c
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: pf.c,v 1.1199 2024/06/21 12:51:29 sashan Exp $ */
|
||||
/* $OpenBSD: pf.c,v 1.1200 2024/07/02 18:33:47 bluhm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2001 Daniel Hartmeier
|
||||
|
@ -7958,20 +7958,26 @@ done:
|
|||
case PF_AFRT:
|
||||
if (pf_translate_af(&pd)) {
|
||||
action = PF_DROP;
|
||||
break;
|
||||
goto out;
|
||||
}
|
||||
pd.m->m_pkthdr.pf.flags |= PF_TAG_GENERATED;
|
||||
switch (pd.naf) {
|
||||
case AF_INET:
|
||||
if (pd.dir == PF_IN) {
|
||||
int flags;
|
||||
int flags = IP_REDIRECT;
|
||||
|
||||
if (ip_forwarding == 0) {
|
||||
switch (ip_forwarding) {
|
||||
case 2:
|
||||
SET(flags, IP_FORWARDING_IPSEC);
|
||||
/* FALLTHROUGH */
|
||||
case 1:
|
||||
SET(flags, IP_FORWARDING);
|
||||
break;
|
||||
default:
|
||||
ipstat_inc(ips_cantforward);
|
||||
action = PF_DROP;
|
||||
break;
|
||||
goto out;
|
||||
}
|
||||
flags = IP_FORWARDING | IP_REDIRECT;
|
||||
if (ip_directedbcast)
|
||||
SET(flags, IP_ALLOWBROADCAST);
|
||||
ip_forward(pd.m, ifp, NULL, flags);
|
||||
|
@ -7985,7 +7991,7 @@ done:
|
|||
if (ip6_forwarding == 0) {
|
||||
ip6stat_inc(ip6s_cantforward);
|
||||
action = PF_DROP;
|
||||
break;
|
||||
goto out;
|
||||
}
|
||||
flags = IPV6_FORWARDING | IPV6_REDIRECT;
|
||||
ip6_forward(pd.m, NULL, flags);
|
||||
|
@ -7993,10 +7999,8 @@ done:
|
|||
ip6_output(pd.m, NULL, NULL, 0, NULL, NULL);
|
||||
break;
|
||||
}
|
||||
if (action != PF_DROP) {
|
||||
pd.m = NULL;
|
||||
action = PF_PASS;
|
||||
}
|
||||
pd.m = NULL;
|
||||
action = PF_PASS;
|
||||
break;
|
||||
#endif /* INET6 */
|
||||
case PF_DROP:
|
||||
|
@ -8036,6 +8040,7 @@ done:
|
|||
st->if_index_out = ifp->if_index;
|
||||
}
|
||||
|
||||
out:
|
||||
*m0 = pd.m;
|
||||
|
||||
pf_state_unref(st);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: ip_input.c,v 1.396 2024/06/24 12:19:19 bluhm Exp $ */
|
||||
/* $OpenBSD: ip_input.c,v 1.397 2024/07/02 18:33:47 bluhm Exp $ */
|
||||
/* $NetBSD: ip_input.c,v 1.30 1996/03/16 23:53:58 christos Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -465,8 +465,14 @@ ip_input_if(struct mbuf **mp, int *offp, int nxt, int af, struct ifnet *ifp)
|
|||
SET(flags, IP_REDIRECT);
|
||||
#endif
|
||||
|
||||
if (ip_forwarding != 0)
|
||||
switch (ip_forwarding) {
|
||||
case 2:
|
||||
SET(flags, IP_FORWARDING_IPSEC);
|
||||
/* FALLTHROUGH */
|
||||
case 1:
|
||||
SET(flags, IP_FORWARDING);
|
||||
break;
|
||||
}
|
||||
if (ip_directedbcast)
|
||||
SET(flags, IP_ALLOWBROADCAST);
|
||||
|
||||
|
@ -529,7 +535,7 @@ ip_input_if(struct mbuf **mp, int *offp, int nxt, int af, struct ifnet *ifp)
|
|||
* ip_output().)
|
||||
*/
|
||||
KERNEL_LOCK();
|
||||
error = ip_mforward(m, ifp);
|
||||
error = ip_mforward(m, ifp, flags);
|
||||
KERNEL_UNLOCK();
|
||||
if (error) {
|
||||
ipstat_inc(ips_cantforward);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: ip_mroute.c,v 1.142 2024/04/06 14:23:27 bluhm Exp $ */
|
||||
/* $OpenBSD: ip_mroute.c,v 1.143 2024/07/02 18:33:47 bluhm Exp $ */
|
||||
/* $NetBSD: ip_mroute.c,v 1.85 2004/04/26 01:31:57 matt Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -122,7 +122,7 @@ int get_api_support(struct mbuf *);
|
|||
int get_api_config(struct mbuf *);
|
||||
int socket_send(struct socket *, struct mbuf *,
|
||||
struct sockaddr_in *);
|
||||
int ip_mdq(struct mbuf *, struct ifnet *, struct rtentry *);
|
||||
int ip_mdq(struct mbuf *, struct ifnet *, struct rtentry *, int);
|
||||
struct ifnet *if_lookupbyvif(vifi_t, unsigned int);
|
||||
struct rtentry *rt_mcast_add(struct ifnet *, struct sockaddr *,
|
||||
struct sockaddr *);
|
||||
|
@ -1080,7 +1080,7 @@ socket_send(struct socket *so, struct mbuf *mm, struct sockaddr_in *src)
|
|||
#define TUNNEL_LEN 12 /* # bytes of IP option for tunnel encapsulation */
|
||||
|
||||
int
|
||||
ip_mforward(struct mbuf *m, struct ifnet *ifp)
|
||||
ip_mforward(struct mbuf *m, struct ifnet *ifp, int flags)
|
||||
{
|
||||
struct ip *ip = mtod(m, struct ip *);
|
||||
struct vif *v;
|
||||
|
@ -1121,7 +1121,7 @@ ip_mforward(struct mbuf *m, struct ifnet *ifp)
|
|||
|
||||
/* Entry exists, so forward if necessary */
|
||||
if (rt != NULL) {
|
||||
return (ip_mdq(m, ifp, rt));
|
||||
return (ip_mdq(m, ifp, rt, flags));
|
||||
} else {
|
||||
/*
|
||||
* If we don't have a route for packet's origin,
|
||||
|
@ -1183,7 +1183,7 @@ ip_mforward(struct mbuf *m, struct ifnet *ifp)
|
|||
* Packet forwarding routine once entry in the cache is made
|
||||
*/
|
||||
int
|
||||
ip_mdq(struct mbuf *m, struct ifnet *ifp0, struct rtentry *rt)
|
||||
ip_mdq(struct mbuf *m, struct ifnet *ifp0, struct rtentry *rt, int flags)
|
||||
{
|
||||
struct ip *ip = mtod(m, struct ip *);
|
||||
struct mfc *mfc = (struct mfc *)rt->rt_llinfo;
|
||||
|
@ -1281,7 +1281,7 @@ ip_mdq(struct mbuf *m, struct ifnet *ifp0, struct rtentry *rt)
|
|||
imo.imo_ttl = ip->ip_ttl - IPTTLDEC;
|
||||
imo.imo_loop = 1;
|
||||
|
||||
ip_output(mc, NULL, NULL, IP_FORWARDING, &imo, NULL, 0);
|
||||
ip_output(mc, NULL, NULL, flags | IP_FORWARDING, &imo, NULL, 0);
|
||||
if_put(ifp);
|
||||
} while ((rt = rtable_iterate(rt)) != NULL);
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: ip_output.c,v 1.400 2024/06/07 18:24:16 bluhm Exp $ */
|
||||
/* $OpenBSD: ip_output.c,v 1.401 2024/07/02 18:33:47 bluhm Exp $ */
|
||||
/* $NetBSD: ip_output.c,v 1.28 1996/02/13 23:43:07 christos Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -331,7 +331,7 @@ reroute:
|
|||
int rv;
|
||||
|
||||
KERNEL_LOCK();
|
||||
rv = ip_mforward(m, ifp);
|
||||
rv = ip_mforward(m, ifp, flags);
|
||||
KERNEL_UNLOCK();
|
||||
if (rv != 0)
|
||||
goto bad;
|
||||
|
@ -428,9 +428,8 @@ sendit:
|
|||
#endif
|
||||
|
||||
#ifdef IPSEC
|
||||
if ((flags & IP_FORWARDING) && ip_forwarding == 2 &&
|
||||
(!ipsec_in_use ||
|
||||
m_tag_find(m, PACKET_TAG_IPSEC_IN_DONE, NULL) == NULL)) {
|
||||
if (ISSET(flags, IP_FORWARDING) && ISSET(flags, IP_FORWARDING_IPSEC) &&
|
||||
!ISSET(m->m_pkthdr.ph_tagsset, PACKET_TAG_IPSEC_IN_DONE)) {
|
||||
error = EHOSTUNREACH;
|
||||
goto bad;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: ip_var.h,v 1.118 2024/06/07 18:24:16 bluhm Exp $ */
|
||||
/* $OpenBSD: ip_var.h,v 1.119 2024/07/02 18:33:47 bluhm Exp $ */
|
||||
/* $NetBSD: ip_var.h,v 1.16 1996/02/13 23:43:20 christos Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -207,6 +207,7 @@ struct ipoffnxt {
|
|||
#define IP_FORWARDING 0x0001 /* most of ip header exists */
|
||||
#define IP_RAWOUTPUT 0x0002 /* raw ip header exists */
|
||||
#define IP_REDIRECT 0x0004 /* redirected by pf or source route */
|
||||
#define IP_FORWARDING_IPSEC 0x0008 /* only packets processed by IPsec */
|
||||
#define IP_ALLOWBROADCAST SO_BROADCAST /* can send broadcast packets */
|
||||
#define IP_MTUDISC 0x0800 /* pmtu discovery, set DF */
|
||||
|
||||
|
@ -246,7 +247,7 @@ int ip_getmoptions(int, struct ip_moptions *, struct mbuf *);
|
|||
void ip_init(void);
|
||||
struct mbuf*
|
||||
ip_insertoptions(struct mbuf *, struct mbuf *, int *);
|
||||
int ip_mforward(struct mbuf *, struct ifnet *);
|
||||
int ip_mforward(struct mbuf *, struct ifnet *, int);
|
||||
int ip_optcopy(struct ip *, struct ip *);
|
||||
int ip_output(struct mbuf *, struct mbuf *, struct route *, int,
|
||||
struct ip_moptions *, const struct ipsec_level *, u_int32_t);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: frontend.c,v 1.48 2024/05/31 16:10:42 florian Exp $ */
|
||||
/* $OpenBSD: frontend.c,v 1.49 2024/07/02 17:41:27 florian Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2018 Florian Obser <florian@openbsd.org>
|
||||
|
@ -777,8 +777,9 @@ merge_ra_interface(char *if_name, char *conf_name, struct ifaddrs *ifap)
|
|||
link_state =
|
||||
((struct if_data*)ifa->ifa_data)->ifi_link_state;
|
||||
sdl = (struct sockaddr_dl *)ifa->ifa_addr;
|
||||
if (sdl->sdl_type == IFT_ETHER &&
|
||||
sdl->sdl_alen == ETHER_ADDR_LEN) {
|
||||
if (sdl != NULL && (sdl->sdl_type == IFT_ETHER ||
|
||||
sdl->sdl_type == IFT_CARP) && sdl->sdl_alen ==
|
||||
ETHER_ADDR_LEN) {
|
||||
has_hw_addr = 1;
|
||||
memcpy(&hw_addr, LLADDR(sdl), ETHER_ADDR_LEN);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
# $OpenBSD: Makefile,v 1.2 2023/09/08 05:56:22 yasuoka Exp $
|
||||
# $OpenBSD: Makefile,v 1.3 2024/07/02 16:18:11 deraadt Exp $
|
||||
|
||||
SUBDIR= radiusd
|
||||
SUBDIR+= radiusd_bsdauth
|
||||
SUBDIR+= radiusd_radius
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
# $OpenBSD: Makefile.inc,v 1.2 2017/02/21 05:17:48 yasuoka Exp $
|
||||
# $OpenBSD: Makefile.inc,v 1.3 2024/07/02 16:18:11 deraadt Exp $
|
||||
|
||||
.PATH: ${.CURDIR}/..
|
||||
CFLAGS+= -I${.CURDIR}/..
|
||||
CFLAGS+= -Wall -Wextra -Wshadow -Wno-unused-parameter
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.\" $OpenBSD: radiusd.conf.5,v 1.22 2024/07/02 00:35:56 yasuoka Exp $
|
||||
.\" $OpenBSD: radiusd.conf.5,v 1.23 2024/07/02 06:01:22 jmc Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 2014 Esdenera Networks GmbH
|
||||
.\" Copyright (c) 2014, 2023 Internet Initiative Japan Inc.
|
||||
|
@ -43,7 +43,7 @@ and a
|
|||
.Ar port
|
||||
to listen on.
|
||||
When
|
||||
.Ar accouting
|
||||
.Ar accounting
|
||||
is specified,
|
||||
it is used for waiting for RADIUS accounting messages.
|
||||
The default port number is 1812 for authentication and 1813 for accounting.
|
||||
|
@ -72,7 +72,7 @@ and
|
|||
When multiple modules of the same path are loaded with different names,
|
||||
each module can have configurations respectively and work independently.
|
||||
.Pp
|
||||
The following module are predefined:
|
||||
The following modules are predefined:
|
||||
.Bl -tag -width Ds
|
||||
.It Do bsdauth Dc module
|
||||
The
|
||||
|
@ -108,7 +108,7 @@ and
|
|||
for the module specified by
|
||||
.Ar module .
|
||||
Notice that
|
||||
.Ar key ,
|
||||
.Ar key
|
||||
and
|
||||
.Ar value
|
||||
must be quoted to be distinguished from the reserved word if needed.
|
||||
|
@ -116,8 +116,8 @@ must be quoted to be distinguished from the reserved word if needed.
|
|||
.It Ic authenticate Ar username-pattern ... Ic by Ar auth Oo Ic decorated-by \
|
||||
Ar deco ... Oc
|
||||
Specify an authentication configuration for the users specified by
|
||||
.Ar username-pattern.
|
||||
The users matched by the pattern is authenticated by the module
|
||||
.Ar username-pattern .
|
||||
The users matched by the pattern are authenticated by the module
|
||||
specified by
|
||||
.Ar auth .
|
||||
Use shell globbing rules for the pattern;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
# $OpenBSD: Makefile,v 1.3 2024/07/02 00:00:12 yasuoka Exp $
|
||||
# $OpenBSD: Makefile,v 1.4 2024/07/02 16:18:11 deraadt Exp $
|
||||
|
||||
PROG= radiusd_bsdauth
|
||||
BINDIR= /usr/libexec/radiusd
|
||||
SRCS= radiusd_bsdauth.c radiusd_module.c imsg_subr.c
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
# $OpenBSD: Makefile,v 1.3 2024/07/02 00:00:12 yasuoka Exp $
|
||||
# $OpenBSD: Makefile,v 1.4 2024/07/02 16:18:11 deraadt Exp $
|
||||
|
||||
PROG= radiusd_radius
|
||||
BINDIR= /usr/libexec/radiusd
|
||||
SRCS= radiusd_radius.c radiusd_module.c util.c imsg_subr.c log.c
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
# $OpenBSD: Makefile,v 1.2 2024/07/02 00:00:12 yasuoka Exp $
|
||||
|
||||
# $OpenBSD: Makefile,v 1.3 2024/07/02 16:18:11 deraadt Exp $
|
||||
PROG= radiusd_standard
|
||||
BINDIR= /usr/libexec/radiusd
|
||||
SRCS= radiusd_standard.c radiusd_module.c
|
||||
LDADD= -lutil -lradius -lcrypto
|
||||
LDADD= -lradius -lcrypto -lutil
|
||||
DPADD= ${LIBRADIUS} ${LIBCRYPTO} ${LIBUTIL}
|
||||
MAN= radiusd_standard.8
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue