Home
last modified time | relevance | path

Searched hist:a1750b2cba9c70191221f206bfbed277251dd644 (Results 1 – 2 of 2) sorted by relevance

/qemu/include/hw/ppc/
H A Dpnv_occ.ha1750b2cba9c70191221f206bfbed277251dd644 Mon Dec 09 10:00:45 UTC 2024 Nicholas Piggin <npiggin@gmail.com> ppc/pnv/occ: Implement a basic dynamic OCC model

The OCC is an On Chip Controller that handles various thermal and power
management. It is a PPC405 microcontroller that runs its own firmware
which is out of scope of the powernv machine model. Some dynamic
behaviour and interfaces that are important for host CPU testing can be
implemented with a much simpler state machine.

This change adds a 100ms timer that ticks through a simple state machine
that looks for "OCC command requests" coming from host firmware, and
responds to them.

For now the powercap command is implemented because that is used by
OPAL and exported to Linux and is easy to test.

$ F=/sys/firmware/opal/powercap/system-powercap/powercap-current
$ cat $F
100
$ echo 50 | sudo tee $F
50
$ cat $F
50

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
/qemu/hw/ppc/
H A Dpnv_occ.ca1750b2cba9c70191221f206bfbed277251dd644 Mon Dec 09 10:00:45 UTC 2024 Nicholas Piggin <npiggin@gmail.com> ppc/pnv/occ: Implement a basic dynamic OCC model

The OCC is an On Chip Controller that handles various thermal and power
management. It is a PPC405 microcontroller that runs its own firmware
which is out of scope of the powernv machine model. Some dynamic
behaviour and interfaces that are important for host CPU testing can be
implemented with a much simpler state machine.

This change adds a 100ms timer that ticks through a simple state machine
that looks for "OCC command requests" coming from host firmware, and
responds to them.

For now the powercap command is implemented because that is used by
OPAL and exported to Linux and is easy to test.

$ F=/sys/firmware/opal/powercap/system-powercap/powercap-current
$ cat $F
100
$ echo 50 | sudo tee $F
50
$ cat $F
50

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>