History log of /openbsd/sys/dev/ic/psp.c (Results 1 – 14 of 14)
Revision Date Author Comments
# 45c4fed2 10-Nov-2024 jsg <jsg@openbsd.org>

replace uvm.h includes with uvm_extern.h where possible


# a061ddb5 09-Nov-2024 bluhm <bluhm@openbsd.org>

Simplify uvm wire and unwire in psp(4) for lauch update data.

Instead of wiring page by page, wire the whole range. After the
PSP lauch update data command finished, unwire the memory again.

from

Simplify uvm wire and unwire in psp(4) for lauch update data.

Instead of wiring page by page, wire the whole range. After the
PSP lauch update data command finished, unwire the memory again.

from hshoexer@; OK mlarkin@

show more ...


# 8f8d81e9 08-Nov-2024 bluhm <bluhm@openbsd.org>

Use a mutex to make psp(4) MP safe.

To avoid a race between writing PSP command, sleeping, receiving
interrupt, and calling wakeup(9), protect psp(4) driver with a
mutex. With that interrupt handle

Use a mutex to make psp(4) MP safe.

To avoid a race between writing PSP command, sleeping, receiving
interrupt, and calling wakeup(9), protect psp(4) driver with a
mutex. With that interrupt handler is MP safe and ioctl(2) can
release kernel lock.

from hshoexer@; OK dlg@

show more ...


# 305d28e7 08-Nov-2024 bluhm <bluhm@openbsd.org>

psp(4) waits for acknowledgement of wbinvd from other CPU.

If any other CPU has not finished wbinvd, PSP command may fail. To
avoid races, call wbinvd_on_all_cpus_acked() which waits for
acknowledg

psp(4) waits for acknowledgement of wbinvd from other CPU.

If any other CPU has not finished wbinvd, PSP command may fail. To
avoid races, call wbinvd_on_all_cpus_acked() which waits for
acknowledgement from IPI handler. Provide stub to build non-MP
kernels.

from hshoexer@; OK mlarkin@

show more ...


# b25bc4b2 05-Nov-2024 bluhm <bluhm@openbsd.org>

Implement psp(4) shutdown command and ioctl(2) PSP_IOC_SHUTDOWN.

This will be used by vmd(8) to reset psp(4) on startup.

from hshoexer@; OK mlarkin@


# 3c6d599c 30-Oct-2024 bluhm <bluhm@openbsd.org>

For AMD SEV automatically load psp(4) firmware during vmd(4) startup.

When opening /dev/psp for the first time, load the SEV firmware
located in /etc/firmware/amdsev/ optained via fw_update(8). The

For AMD SEV automatically load psp(4) firmware during vmd(4) startup.

When opening /dev/psp for the first time, load the SEV firmware
located in /etc/firmware/amdsev/ optained via fw_update(8). The
relevant file is determined by CPU family and model.
If firmware files are not installed or the correct file could not
be determined, PSP will be initialized using the on-chip firmware.
Alternatively a BIOS upgrade could install a newer version.

from hshoexer@; OK mlarkin@

show more ...


# 52c926a1 30-Oct-2024 bluhm <bluhm@openbsd.org>

For AMD SEV implement psp(4) download firmware command.

Implement the command to load new firmware onto the chip. Will be
used for automatic firmware loading.

from hshoexer@; OK mlarkin@


# ff28563e 29-Oct-2024 bluhm <bluhm@openbsd.org>

Move psp(4) initialization from attach to device open.

In preparation for automatic loading of the AMD SEV firmware, factor
out the code that initializes the PSP. As the firmware must be
loaded bef

Move psp(4) initialization from attach to device open.

In preparation for automatic loading of the AMD SEV firmware, factor
out the code that initializes the PSP. As the firmware must be
loaded before the initialization, delay initialization to first use
of the PSP. Initialization is triggered by opening /dev/psp for
the first time. A later diff will add firmware loading in a similar
way.
Also provide a ioctl(2) for initialization. Not used right now.
Will be later used by vmd(8) to reset the PSP.

from hshoexer@; OK mlarkin@

show more ...


# 38923a19 24-Oct-2024 bluhm <bluhm@openbsd.org>

Attach psp(4) version 1.

Some AMD CPUs come with an older platform security processor. It
is detectet by PCI Id and has different register offsets. Move the
dynamic register offsets into psp_softc

Attach psp(4) version 1.

Some AMD CPUs come with an older platform security processor. It
is detectet by PCI Id and has different register offsets. Move the
dynamic register offsets into psp_softc. The PCI attach code is
now in a separate psp_pci.c file and detects the version of the psp
along with the ccp. The attach code is more verbose to display
where problems might occur. Now the ccp_wait() has 2 seconds
timeout, both for polling and interrupt. Also prevent a useless
bus_space_read_4().

OK hshoexer@

show more ...


# 9b0827f5 04-Oct-2024 bluhm <bluhm@openbsd.org>

Increase psp(4) timeouts.

On EPYC 9124 psp(4) seems to need more to time to respond. Otherwise
it will not attach. Increase timeouts for both polling during
autoconf and interrupt during normal op

Increase psp(4) timeouts.

On EPYC 9124 psp(4) seems to need more to time to respond. Otherwise
it will not attach. Increase timeouts for both polling during
autoconf and interrupt during normal operation.

from hshoexer@ OK mlarkin@

show more ...


# 7989dc90 04-Sep-2024 jsg <jsg@openbsd.org>

wrap long lines


# 9ed1841c 04-Sep-2024 jsg <jsg@openbsd.org>

remove unused timeout from softc


# 8eadc5ec 04-Sep-2024 jsg <jsg@openbsd.org>

make psp attach to ccp as a different driver
'fine with me' hshoexer, ok bluhm@


# 0b9f4c66 03-Sep-2024 jsg <jsg@openbsd.org>

move psp functions to psp.c and remove the ifdefs
ok bluhm@ hshoexer@