History log of /openbmc/phosphor-host-ipmid/chassishandler.cpp (Results 1 – 25 of 128)
Revision Date Author Comments
# 99db6885 18-Dec-2024 Patrick Williams <patrick@stwcx.xyz>

clang-format: re-format for clang-19

clang-format-19 isn't compatible with the clang-format-18 output, so we
need to reformat the code with the latest version. A few parameters
in clang-tidy have b

clang-format: re-format for clang-19

clang-format-19 isn't compatible with the clang-format-18 output, so we
need to reformat the code with the latest version. A few parameters
in clang-tidy have been deprecated, so adjust the style file
accordingly.

See Ie2f6eb3b043f2d655c9df806815afd7971fd0947 for updated style.
See I88192b41ab7a95599a90915013579608af7bc56f for clang-19 enablement.

Change-Id: I0f8e47d0f6826f64f44c7fa17541e1752d1c3147
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 656ae3c5 23-Aug-2024 George Liu <liuxiwei@ieisystem.com>

Remove unused variables

Using clang-tidy, it was detected that some variables are no longer
in use. This commit remove unused variables.

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id

Remove unused variables

Using clang-tidy, it was detected that some variables are no longer
in use. This commit remove unused variables.

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: I382e6ce07e66dc5ad082be9b36d217a037e609b5

show more ...


# 1318a5ed 16-Aug-2024 Patrick Williams <patrick@stwcx.xyz>

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda forma

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda formatting also changed, so we have made changes to the
organization default style format to better handle lambda formatting.

See I5e08687e696dd240402a2780158664b7113def0e for updated style.
See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.

Change-Id: I01547e98d27910919e09ebf7907c86292a6c825d
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# ced0ddf1 18-May-2023 okashany <okashany@nvidia.com>

Fixed restartCause interface and object path

- Fixed interface and object path according to phosphor-dbus-interface.
- Format file with clang-format-17.

Change-Id: I5d6265024646f2acaa0758a7aefe49ad

Fixed restartCause interface and object path

- Fixed interface and object path according to phosphor-dbus-interface.
- Format file with clang-format-17.

Change-Id: I5d6265024646f2acaa0758a7aefe49adf67f67a8
Signed-off-by: Orit Kashany <okashany@nvidia.com>

show more ...


# 38108d9d 11-Mar-2024 Vernon Mauery <vernon.mauery@linux.intel.com>

convert chassishandler.cpp to use lg2

Change-Id: Ie01500cecc206ba4d197322ce8544a46bdcf52c5
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>


# 337a0978 08-Mar-2024 Zev Weiss <zev@bewilderbeest.net>

chassis: Switch NMI handling to Control.Host.NMI interface

Nothing in mainline OpenBMC appears to implement a service for the
Chassis.Control.NMISource interface as far as I can tell, so 'ipmitool
c

chassis: Switch NMI handling to Control.Host.NMI interface

Nothing in mainline OpenBMC appears to implement a service for the
Chassis.Control.NMISource interface as far as I can tell, so 'ipmitool
chassis power diag' had no way of working. With this change we switch
ipmid to use the same interface that bmcweb uses to handle a POST of
'{"ResetType":"Nmi"}' to the ComputerSystem.Reset endpoint (which
x86-power-control implements and thus actually works).

Tested: 'ipmitool chassis power diag' now successfully triggers an NMI
on the host via x86-power-control instead of simply logging an error on
the BMC.

Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
Change-Id: Ic4c6cb2546cbd3877953fac9dd04ea752810c46c

show more ...


# e561d3ea 04-Feb-2024 George Liu <liuxiwei@ieisystem.com>

chassishanlder: restorePolicy supports Unknown type

The PDI interface of RestorePolicy already supports None type [1],
and ipmitool will resolve it to 0x03 by default. This commit is
adding None typ

chassishanlder: restorePolicy supports Unknown type

The PDI interface of RestorePolicy already supports None type [1],
and ipmitool will resolve it to 0x03 by default. This commit is
adding None type.

[1] https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Control/Power/RestorePolicy.interface.yaml#L24

Tested: If the value of the PowerRestorePolicy attribute on DBus is
equal to xyz.openbmc_project.Control.Power.RestorePolicy.Policy.None

1. without this patch:
~# ipmitool chassis status
Error sending Chassis Status command: Unspecified error

2. with this patch:
~# ipmitool chassis status
System Power : off
Power Overload : false
Power Interlock : inactive
Main Power Fault : false
Power Control Fault : false
Power Restore Policy : unknown
Last Power Event :
Chassis Intrusion : inactive
Front-Panel Lockout : inactive
Drive Fault : false
Cooling/Fan Fault : false
Front Panel Control : none

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: I91ae1c40229c8646846443c0977685241f456838

show more ...


# d9eb721e 03-Feb-2024 George Liu <liuxiwei@ieisystem.com>

Remove libmapper dependency

After this commit is merged [1], phosphor-ipmi-host no longer depends
on libmapper. This commit removes the dependence on libmapper.

[1] https://gerrit.openbmc.org/c/ope

Remove libmapper dependency

After this commit is merged [1], phosphor-ipmi-host no longer depends
on libmapper. This commit removes the dependence on libmapper.

[1] https://gerrit.openbmc.org/c/openbmc/phosphor-host-ipmid/+/69082

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: Iacf20716b3dd02f0c3173eb6c1fcb39d416f72a6

show more ...


# 95655220 05-Dec-2023 Patrick Williams <patrick@stwcx.xyz>

sdbusplus: avoid deprecated phosphor::Timer

sdbusplus had an older type named `phosphor::Timer` which was
recently renamed to `sdbusplus::Timer`. Update the code to use
the new type alias.

Change-

sdbusplus: avoid deprecated phosphor::Timer

sdbusplus had an older type named `phosphor::Timer` which was
recently renamed to `sdbusplus::Timer`. Update the code to use
the new type alias.

Change-Id: If69434b3a3639b8f97ab16cab5da4d70e3379cb2
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 523e2d1b 05-Sep-2023 Willy Tu <wltu@google.com>

ipmid: Update sdbuspp namespaces

Fixed all errors when we remove
`SDBUSPP_REMOVE_DEPRECATED_NAMESPACE` in sdbusplus.

Change-Id: I5607585b2709faa7aee347d26e458ef769ca1626
Signed-off-by: Willy Tu <wl

ipmid: Update sdbuspp namespaces

Fixed all errors when we remove
`SDBUSPP_REMOVE_DEPRECATED_NAMESPACE` in sdbusplus.

Change-Id: I5607585b2709faa7aee347d26e458ef769ca1626
Signed-off-by: Willy Tu <wltu@google.com>

show more ...


# 3e3cc35b 26-Jul-2023 George Liu <liuxiwei@inspur.com>

Remove is_method_error method

Remove the usage of is_method_error()[1], and add try-catch to handle
D-Bus exceptions around mapper call.

[1]https://github.com/openbmc/sdbusplus/commit/079fb85a398d9

Remove is_method_error method

Remove the usage of is_method_error()[1], and add try-catch to handle
D-Bus exceptions around mapper call.

[1]https://github.com/openbmc/sdbusplus/commit/079fb85a398d90800935e3985bb1266a7530a26e#diff-945669e8bd9cab4ecc83a574a732921281b2c79eb8bba65efff11736ad18f92bR237-R240

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I85192219c1c34cf5fd6c6aca06a8b207d7e06697

show more ...


# 4c521025 28-Jul-2023 William A. Kennington III <wak@google.com>

treewide: Fix various compiler warnings

LTO is currently hiding these warnings.

Change-Id: I09560dfbb150f43d58f472e7592fc0c072e3cc29
Signed-off-by: William A. Kennington III <wak@google.com>


# 69c945ea 26-May-2023 Patrick Williams <patrick@stwcx.xyz>

fix GCC 13 issues

GCC 13 has moved `uint*_t` family from being included in a default
include tree. Explicitly add `#include <cstdint>` to give these types.

Also remove one useless `std::move`.

Si

fix GCC 13 issues

GCC 13 has moved `uint*_t` family from being included in a default
include tree. Explicitly add `#include <cstdint>` to give these types.

Also remove one useless `std::move`.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I3e69ff4d3aa4a52856fc57b8d8babd32693324ee

show more ...


# fbc6c9d7 10-May-2023 Patrick Williams <patrick@stwcx.xyz>

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest .clang-format from the docs repository and reformat the
repository.

Change-Id: I44441096113929ce96eb1439e2932e6ff3c87f27
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 9e666cda 06-Mar-2023 Chau Ly <chaul@amperecomputing.com>

chassishandler: Read chassis intrusion status

This patch supports reading chassis intrusion status from "Status"
property under xyz.openbmc_project.Chassis.Intrusion on Dbus and
shows it to "Chassis

chassishandler: Read chassis intrusion status

This patch supports reading chassis intrusion status from "Status"
property under xyz.openbmc_project.Chassis.Intrusion on Dbus and
shows it to "Chassis Intrusion" field of ipmi command "chassis status".
This is corresponding to patch:
https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/61433 which modifies
dbus-sensors intrusionsensor object path.

Tested:
$ ipmitool chassis status | grep -i "Chassis Intrusion"
Chassis Intrusion: active means "HardwareIntrusion"
Chassis Intrusion: inactive means "Normal"

Signed-off-by: Chau Ly <chaul@amperecomputing.com>
Change-Id: Ieef0d8d7a70bbb7472125cdf04d3687926b333c5

show more ...


# 5d82f474 22-Jul-2022 Patrick Williams <patrick@stwcx.xyz>

sdbusplus: use shorter type aliases

The sdbusplus headers provide shortened aliases for many types.
Switch to using them to provide better code clarity and shorter
lines. Possible replacements are

sdbusplus: use shorter type aliases

The sdbusplus headers provide shortened aliases for many types.
Switch to using them to provide better code clarity and shorter
lines. Possible replacements are for:
* bus_t
* exception_t
* manager_t
* match_t
* message_t
* object_t
* slot_t

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ibd2a0b512bfb7caf65bfab64b271d194da520aac

show more ...


# 11d68897 20-Jan-2022 Willy Tu <wltu@google.com>

cleanup: Remove all warning errors for the Meson build support

Remove all the build warning to prepare for the meson build.
Meson build will be in
https://gerrit.openbmc-project.xyz/c/openbmc/phosph

cleanup: Remove all warning errors for the Meson build support

Remove all the build warning to prepare for the meson build.
Meson build will be in
https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-host-ipmid/+/47748

Tested:
Ipmi command works fine the cleanup.
```
$ systemctl status phosphor-ipmi-host
● phosphor-ipmi-host.service - Phosphor Inband IPMI
Loaded: loaded (/lib/systemd/system/phosphor-ipmi-host.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 1970-01-08 21:20:56 UTC; 21s ago
Main PID: 24987 (ipmid)
CGroup: /system.slice/phosphor-ipmi-host.service
└─24987 /tmp/ipmid

Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X002B79], Cmd:[0X30] for Ethstats Commands
Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X00C2CF], Cmd:[0X30] for Ethstats Commands
Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X002B79], Cmd:[0X32] for Sys Commands
Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X002B79], Cmd:[0X02] for I2C
Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X00C2CF], Cmd:[0X02] for I2C
Jan 08 21:20:56 $HOST ipmid[24987]: I2C_WHITELIST_CHECK is disabled, do not populate whitelist
Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X00C2CF], Cmd:[0X04] for Manual Zone Control
Jan 08 21:20:56 $HOST systemd[1]: Started Phosphor Inband IPMI.
Jan 08 21:20:56 $HOST ipmid[24987]: Loading whitelist filter
Jan 08 21:20:56 $HOST ipmid[24987]: Set restrictedMode = true
(reverse-i-search)`ipmi': systemctl status phosphor-^Cmi-host

$ ipmitool mc info
Device ID : 32
Device Revision : 1
Firmware Revision : 0.00
IPMI Version : 2.0
Manufacturer ID : 7244
Manufacturer Name : Quanta Computer Inc.
Product ID : 14426 (0x385a)
Product Name : Unknown (0x385A)
Device Available : yes
Provides Device SDRs : yes
Additional Device Support :
Sensor Device
SEL Device
FRU Inventory Device
Chassis Device
Aux Firmware Rev Info :
0x00
0x00
0x00
0x00
```

Change-Id: I372c9433a274bc633a24d213b7a1bc205531e33d
Signed-off-by: Willy Tu <wltu@google.com>

show more ...


# 9bb4a386 05-Nov-2021 Vernon Mauery <vernon.mauery@linux.intel.com>

Rework setNmiProperty to use yielding Dbus API

setNmiProperty was the last holdout making blocking Dbus calls in the
ipmiChassisControl function. This converts the blocking calls to
yielding calls,

Rework setNmiProperty to use yielding Dbus API

setNmiProperty was the last holdout making blocking Dbus calls in the
ipmiChassisControl function. This converts the blocking calls to
yielding calls, making use of the Context object.

Tested: ipmitool chassis power diag
Check host to see that it recieved an NMI

Change-Id: I4d96752b020947cc08a1e985213afc1af735344d
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>

show more ...


# c2c3a40a 30-Jan-2020 Jason M. Bills <jason.m.bills@linux.intel.com>

Update IPMI Chassis Control command transition requests

This change updates the IPMI Chassis Control command to use the new
host state transitions and chassis off transition based on the
mapping in

Update IPMI Chassis Control command transition requests

This change updates the IPMI Chassis Control command to use the new
host state transitions and chassis off transition based on the
mapping in the design document below. This allows each chassis
control action to more closely follow the behavior defined in the
IPMI spec.

ref: https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/22358

Tested:
Ran each IPMI chassis control command to confirm the expected
behavior:
ipmitool power on: system is powered-on using Host.On
ipmitool power off: system is forced off using Chassis.Off
ipmitool power cycle: system is forced off then powered-on using
Host.Reboot
ipmitool power reset: system is hard reset using Host.ForceWarmReboot
ipmitool power soft: soft power-off requested from system software
using Host.Off

Change-Id: Ieb42722102fde0e51a49dc4aaa3ff227a3394066
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>

show more ...


# ad588bf5 30-Jan-2020 Jason M. Bills <jason.m.bills@linux.intel.com>

Add Chassis State Transition interface

This adds the Chassis State Transition interface in preparation
to support the mapping defined in the design document below.

ref: https://gerrit.openbmc-proje

Add Chassis State Transition interface

This adds the Chassis State Transition interface in preparation
to support the mapping defined in the design document below.

ref: https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/22358

Tested: Compiles. Since this adds a new function that is not used yet,
there is not much in the way of testing that can be done on this
individual commit. But the next commit that calls it does do the
testing of this new function.

Change-Id: I6acfb795a9a33ff5227a5d6e1830774ab732ac0c
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>

show more ...


# 664e1c31 30-Jan-2020 Jason M. Bills <jason.m.bills@linux.intel.com>

Update Host State Transition function

This updates the Host State Transition function to use the new
IPMI DBus APIs for transition requests.

Tested:
Ran each IPMI chassis control command to confirm

Update Host State Transition function

This updates the Host State Transition function to use the new
IPMI DBus APIs for transition requests.

Tested:
Ran each IPMI chassis control command to confirm the expected
behavior:
ipmitool power on: system is powered-on
ipmitool power off: system is forced off
ipmitool power cycle: system is forced off then powered-on
ipmitool power reset: system is hard reset
ipmitool power soft: soft power-off requested from system software

Change-Id: Id2253a9c0060e892bc318dd02a6221ac1a2ae2d9
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>

show more ...


# 1982a3fb 20-Sep-2021 Hieu Huynh <hieuh@os.amperecomputing.com>

Support chassis bootdev clear-cmos

Implement the set/get the CMOS clear data 2 of the boot option
parameters boot flags(0x05).

Tested:
1. Set the clear-cmos to yes
# ipmitool chassis bootdev non

Support chassis bootdev clear-cmos

Implement the set/get the CMOS clear data 2 of the boot option
parameters boot flags(0x05).

Tested:
1. Set the clear-cmos to yes
# ipmitool chassis bootdev none clear-cmos=yes
2. Get the bootparam 0x05
# ipmitool chassis bootparam get 5
Boot parameter version: 1
Boot parameter 5 is valid/unlocked
Boot parameter data: a080000000
Boot Flags :
- Boot Flag Valid
- Options apply to only next boot
- BIOS EFI boot
- CMOS Clear
- Boot Device Selector : No override
- BIOS verbosity : System Default
- Console Redirection control : Console redirection occurs per
BIOS configuration setting (default)
- BIOS Mux Control Override : BIOS uses recommended setting of
the mux at the end of POST

Signed-off-by: Hieu Huynh <hieuh@os.amperecomputing.com>
Change-Id: I7312106977f8aef5d781dd276eecf9af279a7dc3

show more ...


# a2ad2da8 06-Oct-2021 Patrick Williams <patrick@stwcx.xyz>

catch exceptions as const

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ic2b49715c7b81ac5bcfc12ff2d3b4c593cd95ce7


# ef1259be 02-Sep-2021 Patrick Williams <patrick@stwcx.xyz>

exception: switch to public sdbus exception

SdBusError was intended to be a private error type inside sdbusplus.
Switch all catch locations to use the general sdbusplus::exception type.

Signed-off-

exception: switch to public sdbus exception

SdBusError was intended to be a private error type inside sdbusplus.
Switch all catch locations to use the general sdbusplus::exception type.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I3b5d83511afdf17b2911502279087e57a59b9945

show more ...


# 38ffafcf 14-May-2021 Hieu Huynh <hieuh@os.amperecomputing.com>

Implement the set/get system boot option parameters 0x04

Implement the set/get system boot options parameter 0x04 (boot info
acknowledge).

Tested:
1. Set system boot options by command:
$ ipmito

Implement the set/get system boot option parameters 0x04

Implement the set/get system boot options parameter 0x04 (boot info
acknowledge).

Tested:
1. Set system boot options by command:
$ ipmitool raw 0x00 0x08 0x04 0x01 0x01
2. Get system boot options by command:
$ ipmitool raw 0x00 0x09 0x04 0x00 0x00
01 04 00 01
3. Force boot into BIOS setup menu
$ ipmitool chassis bootdev bios
4. Get the bootparm #4
$ ipmitool chassis bootparam get 4
Boot parameter version: 1
Boot parameter 4 is valid/unlocked
Boot parameter data: 0001
Boot Info Acknowledge :
- BIOS/POST has handled boot info
5. Chassis power reset
6. Wait and make sure the Host boot to the BIOS menu
7. Force boot from default Hard-drive or PXE
$ ipmitool bootdev disk/pxe
8. Chassis power reset, the Host will boot to disk/pxe

Signed-off-by: Hieu Huynh <hieuh@os.amperecomputing.com>
Change-Id: I66f68bf3c673cb983404ff215da52add482551f8

show more ...


123456