#
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@
|