#
e8929699 |
| 19-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 ...
|
#
93a4c0ab |
| 16-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 ...
|
#
559cb011 |
| 03-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 ...
|
#
d455bfd6 |
| 30-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
|
#
8d618532 |
| 25-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 ...
|
#
a92d0e6b |
| 29-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 ...
|
#
444b5ea4 |
| 19-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 ...
|
#
5e70dc8c |
| 15-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 ...
|
#
6c71b0f9 |
| 10-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 ...
|
#
4f0d1de6 |
| 20-Sep-2021 |
Steve Foreman <foremans@google.com> |
Add IPMI interface for CustomAccel service
Change-Id: I28a8976e382b457233ac521e9ab71f75abe029d1 Signed-off-by: Steve Foreman <foremans@google.com>
|
#
b4e3704c |
| 12-Oct-2021 |
Willy Tu <wltu@google.com> |
google-ipmi-sys: Convert input to use std::span<const uint8_t>
Change-Id: I533de34c04e3d2577cb9076add441153b2994c30 Signed-off-by: Willy Tu <wltu@google.com>
|
#
ff3cd8e9 |
| 15-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 ...
|
#
a2056e9c |
| 10-Oct-2021 |
Willy Tu <wltu@google.com> |
Add Google Copyright 2021
Change-Id: I26020265613218d0c8df85b83772856bfc555e86 Signed-off-by: Willy Tu <wltu@google.com>
|
#
5d789734 |
| 24-Jun-2021 |
William A. Kennington III <wak@google.com> |
treewide: Cleanup pedantic C++ warnings
Change-Id: I9c770506d78bd30dde1903645d9bfe92bceab44d Signed-off-by: William A. Kennington III <wak@google.com>
|
#
8cfa4c44 |
| 16-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 ...
|
#
3b1b427c |
| 02-Mar-2021 |
Willy Tu <wltu@google.com> |
Add OEM command to request flash size
The BMC flash is `/dev/mtd0` and the size can found in `/sys/class/mtd/mtd0/size`. This OEM command will request that information with MTDINFO.
Tested: Success
Add OEM command to request flash size
The BMC flash is `/dev/mtd0` and the size can found in `/sys/class/mtd/mtd0/size`. This OEM command will request that information with MTDINFO.
Tested: Successfully requested the flash size information with ipmitool.
``` cat /sys/class/mtd/mtd0/size 67108864 ``` 67108864 / 1024 / 1024 = 64MB flash
``` ipmitool raw 0x2e 0x32 0x79 0x2b 0x00 0x09 79 2b 00 09 00 00 00 04 ``` Output in little endian. 0x04000000 -> 67108864
Change-Id: Iec1b33503d1166a42ceef4b8491e5c19c3a077fe Signed-off-by: Willy Tu <wltu@google.com>
show more ...
|
#
ac4a16f7 |
| 02-Feb-2021 |
Shounak Mitra <shounak@google.com> |
Add sys command for powercycle on host shutdown.
The new command will trigger a power cycle the next time the host shuts down. This can exist in parallel with the existing mechanism to trigger a pow
Add sys command for powercycle on host shutdown.
The new command will trigger a power cycle the next time the host shuts down. This can exist in parallel with the existing mechanism to trigger a power cycle after a specified time interval.
The implementation of host state detection and power cycling is platfrom specific; the new command will just add a temporary file that marks the system ready to powercycle on the next shutdown. Usually, a systemd unit would be enabled by the presence of this file to handle the power cycling process.
Signed-off-by: Shounak Mitra <shounak@google.com> Change-Id: I0cc40307748fb996be3f6062d8cba1a4b5049683
show more ...
|
#
29f35bce |
| 04-Nov-2020 |
William A. Kennington III <wak@google.com> |
Add suppport for retrieving machine name
This adds support for reading /etc/os-release, parsing out OPENBMC_TARGET_MACHINE and returning this to the caller.
Change-Id: If2a419b9a77597686f5137efce97
Add suppport for retrieving machine name
This adds support for reading /etc/os-release, parsing out OPENBMC_TARGET_MACHINE and returning this to the caller.
Change-Id: If2a419b9a77597686f5137efce97b1150142f181 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
#
6d50744c |
| 13-Aug-2020 |
Patrick Venture <venture@google.com> |
drop unused header: handler_ipml
The ipmi routing handler only needs to know the interface, and not any specific implementation.
Signed-off-by: Patrick Venture <venture@google.com> Change-Id: Id761
drop unused header: handler_ipml
The ipmi routing handler only needs to know the interface, and not any specific implementation.
Signed-off-by: Patrick Venture <venture@google.com> Change-Id: Id76119ee644f719d18c24f1b97b69557bcceb8fa
show more ...
|
#
0e9aae5d |
| 13-Aug-2020 |
Patrick Venture <venture@google.com> |
split the commands out
Split the commands out to avoid conflicts in multiple definitions of IPMI_CC_OK, etc, in a different environment.
Signed-off-by: Patrick Venture <venture@google.com> Change-I
split the commands out
Split the commands out to avoid conflicts in multiple definitions of IPMI_CC_OK, etc, in a different environment.
Signed-off-by: Patrick Venture <venture@google.com> Change-Id: I1f3a0214b4f6f6417a5649b0fc2d297119f8ad88
show more ...
|
#
eff1f2eb |
| 05-Aug-2020 |
Patrick Venture <venture@google.com> |
move implementation to ipmi file
Move the entrance point for the IPMI OEM handling to a separate file and pass in the handler pointer via binding.
Signed-off-by: Patrick Venture <venture@google.com
move implementation to ipmi file
Move the entrance point for the IPMI OEM handling to a separate file and pass in the handler pointer via binding.
Signed-off-by: Patrick Venture <venture@google.com> Change-Id: I4371ebee1c252ab6e9d8a7ff2389583919ecc996
show more ...
|