History log of /openbmc/google-ipmi-sys/test/ (Results 1 – 25 of 44)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
e892969919-Aug-2024 Brandon Kim <brandonkim@google.com>

bios_setting: Add a write handler

Tested:
```
// Test that it writes a new file if it doesn't exist
~# rm /run/oem_bios_setting

// Invalid command (no size / payload)
~# ipmitool raw 0x2e 0x32 0x79

bios_setting: Add a write handler

Tested:
```
// Test that it writes a new file if it doesn't exist
~# rm /run/oem_bios_setting

// Invalid command (no size / payload)
~# ipmitool raw 0x2e 0x32 0x79 0x2b 0x00 0x19
Unable to send RAW command (channel=0x0 netfn=0x2e lun=0x0 cmd=0x32 rsp=0xc7): Request data length invalid

// Invalid command (size doesn't match)
~# ipmitool raw 0x2e 0x32 0x79 0x2b 0x00 0x19 0x01 0x30 0x31
Unable to send RAW command (channel=0x0 netfn=0x2e lun=0x0 cmd=0x32 rsp=0xc7): Request data length invalid

// Command success
~# ipmitool raw 0x2e 0x32 0x79 0x2b 0x00 0x19 0x02 0x30 0x31
79 2b 00 19 02

// Read back
~# ipmitool raw 0x2e 0x32 0x79 0x2b 0x00 0x18
79 2b 00 18 02 30 31
~# cat /run/oem_bios_setting
01~#

// Verify overwrite works (truncates the previous bytes)
~# ipmitool raw 0x2e 0x32 0x79 0x2b 0x00 0x19 0x01 0x33
79 2b 00 19 01
~# cat /run/oem_bios_setting
3~#
~# ipmitool raw 0x2e 0x32 0x79 0x2b 0x00 0x18
79 2b 00 18 01 33
```

Signed-off-by: Brandon Kim <brandonkim@google.com>
Change-Id: I84db782da9b2f121c0a81a855692b5ca25ffda54

show more ...

93a4c0ab16-Aug-2024 Brandon Kim <brandonkim@google.com>

bios_setting: Add a read handler

Tested:
```
~# echo -n "01234567" > /run/oem_bios_setting
~# ipmitool raw 0x2e 0x32 0x79 0x2b 0x00 0x18
79 2b 00 18 08 30 31 32 33 34 35 36 37
~# rm /run/oem_bios_s

bios_setting: Add a read handler

Tested:
```
~# echo -n "01234567" > /run/oem_bios_setting
~# ipmitool raw 0x2e 0x32 0x79 0x2b 0x00 0x18
79 2b 00 18 08 30 31 32 33 34 35 36 37
~# rm /run/oem_bios_setting
~# ipmitool raw 0x2e 0x32 0x79 0x2b 0x00 0x18
Unable to send RAW command (channel=0x0 netfn=0x2e lun=0x0 cmd=0x32 rsp=0xca): Cannot return number of requested data bytes
```

Signed-off-by: Brandon Kim <brandonkim@google.com>
Change-Id: Icde2de4799a751634f56a580351bf10254dd7e4f

show more ...

8c0094e416-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: I8c81e5e5b6bd1ec4bdd52aa9039ef1c4bbef088d
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...

11a5bb6b17-Jun-2024 Manojkiran Eda <manojkiran.eda@gmail.com>

Fix spelling mistakes using codespell

This commit corrects various spelling mistakes throughout the
repository. The corrections were made automatically using `codespell`[1]
tool.

[1]: https://githu

Fix spelling mistakes using codespell

This commit corrects various spelling mistakes throughout the
repository. The corrections were made automatically using `codespell`[1]
tool.

[1]: https://github.com/codespell-project/codespell

Change-Id: Id21d7e92aa899635af034ff1ddeefabedd08660e
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>

show more ...

559cb01103-May-2024 Brandon Kim <brandonkim@google.com>

bm_instance: Create a new handler

This OEM handler will get properties from tmpfs to serve over IPMI.

Tested:
~# cat /run/bm-instance/asset-tag
12345
~# ipmitool raw 0x2e 0x32 0x79 0x2b 0x00 0x17 0

bm_instance: Create a new handler

This OEM handler will get properties from tmpfs to serve over IPMI.

Tested:
~# cat /run/bm-instance/asset-tag
12345
~# ipmitool raw 0x2e 0x32 0x79 0x2b 0x00 0x17 0x00
79 2b 00 17 05 31 32 33 34 35
...
...
(Verified this works for all 7 sub commands)

Signed-off-by: Brandon Kim <brandonkim@google.com>
Change-Id: I191b6f4994d91ada49a3332a8e93a3a305561904

show more ...

d455bfd630-Jan-2024 Gaurav Gandhi <gauravgandhi@google.com>

Add new oem command to set accel power mode

Signed-off-by: Gaurav Gandhi <gauravgandhi@google.com>
Change-Id: Ie0b47477b7ae9e8ae206ac0645571a7a79dbda40

8d61853225-Oct-2023 Michael Shen <gpgpgp@google.com>

all: Use stdplus::print over std::fprintf

Replacing `std::fprintf` with `stdplus::print`.
No logical change.

Tested: Buildable.
Signed-off-by: Michael Shen <gpgpgp@google.com>
Change-Id: I7050885c1

all: Use stdplus::print over std::fprintf

Replacing `std::fprintf` with `stdplus::print`.
No logical change.

Tested: Buildable.
Signed-off-by: Michael Shen <gpgpgp@google.com>
Change-Id: I7050885c13e33244a4128aa519d163fd5b725098

show more ...

15d4d21c11-Jul-2023 Hao Zhou <haoooamazing@google.com>

File System: Dependency Injection and Mock

1. Add an abstract FileSystemInterface for Dependency Injection
2. Add FileSystemWrapper for real file system operations, which is
called in produciton

File System: Dependency Injection and Mock

1. Add an abstract FileSystemInterface for Dependency Injection
2. Add FileSystemWrapper for real file system operations, which is
called in produciton
3. Add FileSystemMock for unit test mock only
4. Add bm_mode_transition_unittest.cpp to cover file system based bm
mode transition

Tested:
1/14 eth OK 0.22s
2/14 flash OK 0.21s
3/14 machine OK 0.12s
4/14 bmc_mode OK 0.05s
5/14 cable OK 0.27s
6/14 cpld OK 0.25s
7/14 entity OK 0.24s
8/14 google_accel_oob OK 0.20s
9/14 pcie OK 0.11s
10/14 poweroff OK 0.09s
11/14 psu OK 0.08s
12/14 pcie_bifurcation OK 0.07s
13/14 bm_mode_transition OK 0.29s
14/14 handler OK 0.44s

Ok: 14
Expected Fail: 0
Fail: 0
Unexpected Pass: 0
Skipped: 0
Timeout: 0

Change-Id: I8d0d9096fbeee7af1946d7e73f548e4a249d3bee
Signed-off-by: Hao Zhou <haoooamazing@google.com>

show more ...

a92d0e6b29-Jun-2023 John Wedig <johnwedig@google.com>

Add IPMI OEM command LinuxBootDone

Add a new OEM command for LinuxBoot to notify the BMC when it is about
to kexec into the OS. This is intended to give the BMC a chance to
prepare for an untrusted

Add IPMI OEM command LinuxBootDone

Add a new OEM command for LinuxBoot to notify the BMC when it is about
to kexec into the OS. This is intended to give the BMC a chance to
prepare for an untrusted OS, e.g. disable any interfaces it doesn't want
the OS to have access to.

Tested:
Exercised the new OEM command using ipmitool
$ ipmitool raw 0x2e 0x32 0x79 0x2b 0x00 0x11
79 2b 00 11

Change-Id: Ica76d77cdde48cebfbced32d8e7e860b559074e8
Signed-off-by: John Wedig <johnwedig@google.com>

show more ...

444b5ea419-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: I0a1783b101aa4e7d4b80fd5e1fc1b2beb86c5caa

show more ...

6537122819-May-2023 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

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

show more ...

1209ccc619-May-2023 Willy Tu <wltu@google.com>

cleanup: Reformat with clang

Also update required meson version to support
`get_variable` and remove deprecated get_pkgconfig_variable.

Change-Id: I1a0d5a9fce077d546cf56078b63c49ee52f1a816
Signed-o

cleanup: Reformat with clang

Also update required meson version to support
`get_variable` and remove deprecated get_pkgconfig_variable.

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

show more ...

5e70dc8c15-Sep-2022 Nikhil Namjoshi <nikhilnamjoshi@google.com>

Add ipmi OEM handler to get the BMC mode

The response can indicate one of the BMC mode
below
0 -> Non Bare Metal Mode
1 -> Bare Metal Mode
2 -> Bare Metal Cleaning Mode

The Bare Metal Cleaning Mode

Add ipmi OEM handler to get the BMC mode

The response can indicate one of the BMC mode
below
0 -> Non Bare Metal Mode
1 -> Bare Metal Mode
2 -> Bare Metal Cleaning Mode

The Bare Metal Cleaning Mode is not
yet supported

Tested:

Response in BM Mode

ipmitool raw 0x2e 0x32 0x79 0x2b 0x00 0x10
79 2b 00 14 01

Response in Non-BM Mode

ipmitool raw 0x2e 0x32 0x79 0x2b 0x00 0x10
79 2b 00 14 00

Signed-off-by: Nikhil Namjoshi <nikhilnamjoshi@google.com>
Change-Id: I34474fd04f9aed35bd71725805ed52a5df8ab8c9

show more ...

0e928ac620-Jun-2022 Michael Shen <gpgpgp@google.com>

accel: rename `accelOobGetDbus` to `getBus`

accelOobGetDbus returns a dbus bus which can be leverage by others.
Rename it to a more common name.

Tested: Unittest passed.
Signed-off-by: Michael Shen

accel: rename `accelOobGetDbus` to `getBus`

accelOobGetDbus returns a dbus bus which can be leverage by others.
Rename it to a more common name.

Tested: Unittest passed.
Signed-off-by: Michael Shen <gpgpgp@google.com>
Change-Id: I0e48f7f6a49c09b397d52e9343bc3e32ca41d9d8

show more ...

6c71b0f910-Oct-2021 Willy Tu <wltu@google.com>

pcie_bifurcation: Fetch bifurcation at a PCIe slot with hardcoded values

This will read a json config and return the bifurcation based on that.
It will read the configure file in a persistent file t

pcie_bifurcation: Fetch bifurcation at a PCIe slot with hardcoded values

This will read a json config and return the bifurcation based on that.
It will read the configure file in a persistent file to see if it is
valid machine config and return the bifurcation information
accordingly.

For example,
If it is valid config, it will return 8x8 for PE1,3,4,6.

Tested:
Unit tests passed.

Physical Tests.

PE0 -> no bifurcation
PE1 -> x8x8

```
$ ipmitool raw 0x2e 0x32 0x79 0x2b 0x00 0x0f 0
79 2b 00 0b 00

$ ipmitool raw 0x2e 0x32 0x79 0x2b 0x00 0x0f 1
79 2b 00 0b 02 08 08
```

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

show more ...

4f0d1de620-Sep-2021 Steve Foreman <foremans@google.com>

Add IPMI interface for CustomAccel service

Change-Id: I28a8976e382b457233ac521e9ab71f75abe029d1
Signed-off-by: Steve Foreman <foremans@google.com>

40fe522210-Nov-2021 Willy Tu <wltu@google.com>

copyright: Add Google Copyright to test helper.cpp

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

ff3cd8e915-Sep-2021 Willy Tu <wltu@google.com>

google-ipmi-sys: Refactor to use new version of OEM IPMI Handler

Using the new version of ipmi handler provide a higher level wrapper
over the same functionalities. It helps us parse the input and o

google-ipmi-sys: Refactor to use new version of OEM IPMI Handler

Using the new version of ipmi handler provide a higher level wrapper
over the same functionalities. It helps us parse the input and output to
have more control of the input/output we see.

The input and output will be
`std::uint8_t, std::optional<std::vector<uint8_t>>`.

This represents `subcommand` and any input data.

Changes to note,
- all subcommand in the request/response struct are removed. It will be
managed by the wrapper directly.
- Unit tests checking for input with only the subcommand are
removed.
- Move all reply struct to header files to be accessible in unit test.

Tested:
All IPMI OEM command still works the same as before this change.

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

show more ...

cad9eb8410-Oct-2021 Willy Tu <wltu@google.com>

test: Replace the C++ MOCK_METHOD<n> macros with the new MOCK_METHOD

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

a2056e9c10-Oct-2021 Willy Tu <wltu@google.com>

Add Google Copyright 2021

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

b69209b413-Jul-2021 William A. Kennington III <wak@google.com>

eth: Support looking up alternate interace channels

This makes it possible to use the GetEthDevice command to look up
interfaces other than the default NCSI interface.

Change-Id: I3a5563743a28b39ad

eth: Support looking up alternate interace channels

This makes it possible to use the GetEthDevice command to look up
interfaces other than the default NCSI interface.

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

show more ...

8d3d46a213-Jul-2021 William A. Kennington III <wak@google.com>

handler: Don't hardcode channel information

We can use the functions from the ipmi daemon to get the proper channel
for the named NIC.

Change-Id: I9f479ec90bffed147a68131a6dda5aebd9cfc910
Signed-of

handler: Don't hardcode channel information

We can use the functions from the ipmi daemon to get the proper channel
for the named NIC.

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

show more ...

bc62b19324-Jun-2021 William A. Kennington III <wak@google.com>

build: Remove autotools

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

ac730af224-Jun-2021 William A. Kennington III <wak@google.com>

build: Add meson build

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

8cfa4c4416-Jun-2021 linyuny <linyuny@google.com>

Add new google ipmi sys command: SysHostPowerOff

New google ipmi sys command to let the BMC knows host shutdown,
allow host to gracefully shutdown and disable the watchdog with given
time delay.

Si

Add new google ipmi sys command: SysHostPowerOff

New google ipmi sys command to let the BMC knows host shutdown,
allow host to gracefully shutdown and disable the watchdog with given
time delay.

Signed-off-by: Yunyun Lin <linyuny@google.com>
Change-Id: I02171c9cfed57ae5d10d66b515e4ab7ee8856466

show more ...

12