OpenBSD cvs log

created 2023-06-18T02:08:30Z
begin 2023-06-10T00:00:00Z
end 2023-06-11T00:00:00Z
path src/sys
commits 2

date 2023-06-10T18:31:38Z
author patrick
files src/sys/arch/arm64/conf/GENERIC log diff annotate
src/sys/arch/arm64/conf/RAMDISK log diff annotate
src/sys/dev/fdt/files.fdt log diff annotate
src/sys/dev/fdt/qcpas.c log diff annotate
message Add qcpas(4), a driver for the Peripheral Authentication Service found on
Qualcomm SoCs.

The immediate task for this driver is to provide firmware to the auxiliary
cores and to bring them up. This is accomplished by parsing the ELF files
and providing the data in certain memory regions, and telling qcscm(4) to
check and execute the firmware on the auxiliary cores.

With the cores up we can now talk to the firmware. The glink-edge subnode
indicates that we can talk to it using the GLINK protocol over shared memory
provided by qcsmem(4). This interface is essentially a channel multiplexer,
with each channel identified through an ASCII string.

One of those channels connects to a PMIC router, which allows us to talk to
the battery manager service that contains information about the charging and
battery states.

ok drahn@ kettenis@

date 2023-06-10T19:30:48Z
author kettenis
files src/sys/arch/arm64/arm64/cpu.c log diff annotate
src/sys/arch/arm64/arm64/machdep.c log diff annotate
src/sys/arch/arm64/arm64/pmap.c log diff annotate
src/sys/arch/arm64/arm64/process_machdep.c log diff annotate
src/sys/arch/arm64/arm64/trap.c log diff annotate
src/sys/arch/arm64/arm64/vm_machdep.c log diff annotate
src/sys/arch/arm64/include/armreg.h log diff annotate
src/sys/arch/arm64/include/cpu.h log diff annotate
src/sys/arch/arm64/include/pmap.h log diff annotate
src/sys/arch/arm64/include/ptrace.h log diff annotate
src/sys/kern/exec_elf.c log diff annotate
src/sys/kern/sys_process.c log diff annotate
src/sys/sys/exec_elf.h log diff annotate
message Implement support for pointer authentication (PAC) in userland. With PAC
it is possible to "sign" pointers with a hidden key. The signature is
placed in unused bits of the pointer and can be checked later. This can
be used to provide "tail CFI" that is similar to what retguard provides.

Debuggers need to be aware of the fact that pointers can be signed. For
this purpose a new PT_PACMASK ptrace(2) request is introduced that returns
as mask that indicates the bits used for the signature. Separate masks
are provided for code and data pointers even though the masks are identical
in the current implementation. These masks are also written into a special
note section in the core dump.

ok patrick@