History log of /openbmc/phosphor-ipmi-flash/bmc/test/ (Results 1 – 25 of 36)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
32e9ea1601-Feb-2025 Patrick Williams <patrick@stwcx.xyz>

meson: reformat with meson formatter

Apply the `meson format` results.

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


/openbmc/phosphor-ipmi-flash/.clang-format
/openbmc/phosphor-ipmi-flash/.gitignore
/openbmc/phosphor-ipmi-flash/OWNERS
/openbmc/phosphor-ipmi-flash/README.md
/openbmc/phosphor-ipmi-flash/bmc/README.md
/openbmc/phosphor-ipmi-flash/bmc/buildjson.cpp
/openbmc/phosphor-ipmi-flash/bmc/buildjson.hpp
/openbmc/phosphor-ipmi-flash/bmc/file_handler.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/data_handler.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/firmware_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/firmware_handler.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/firmware_handlers_builder.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/firmware_handlers_builder.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/lpc_aspeed.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/lpc_aspeed.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/lpc_nuvoton.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/lpc_nuvoton.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/main.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/mapper_errors.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/meson.build
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/net_handler.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/pci_handler.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/crc_mock.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_state_verificationstarted_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/meson.build
/openbmc/phosphor-ipmi-flash/bmc/general_systemd.cpp
/openbmc/phosphor-ipmi-flash/bmc/general_systemd.hpp
/openbmc/phosphor-ipmi-flash/bmc/image_handler.hpp
/openbmc/phosphor-ipmi-flash/bmc/log-handler/log_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/log-handler/log_handlers_builder.cpp
/openbmc/phosphor-ipmi-flash/bmc/log-handler/log_handlers_builder.hpp
/openbmc/phosphor-ipmi-flash/bmc/log-handler/meson.build
/openbmc/phosphor-ipmi-flash/bmc/log-handler/test/meson.build
/openbmc/phosphor-ipmi-flash/bmc/meson.build
/openbmc/phosphor-ipmi-flash/bmc/skip_action.cpp
meson.build
/openbmc/phosphor-ipmi-flash/bmc/version-handler/meson.build
/openbmc/phosphor-ipmi-flash/bmc/version-handler/test/meson.build
/openbmc/phosphor-ipmi-flash/bmc/version-handler/test/version_mock.hpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/version_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/version_handlers_builder.cpp
/openbmc/phosphor-ipmi-flash/bmc_json_config.md
/openbmc/phosphor-ipmi-flash/cleanup/cleanup.hpp
/openbmc/phosphor-ipmi-flash/cleanup/meson.build
/openbmc/phosphor-ipmi-flash/cleanup/test/meson.build
/openbmc/phosphor-ipmi-flash/internal/sys.cpp
/openbmc/phosphor-ipmi-flash/internal/sys.hpp
/openbmc/phosphor-ipmi-flash/ipmi_flash.md
/openbmc/phosphor-ipmi-flash/meson.build
/openbmc/phosphor-ipmi-flash/meson.options
/openbmc/phosphor-ipmi-flash/status.hpp
/openbmc/phosphor-ipmi-flash/subprojects/nlohmann_json.wrap
/openbmc/phosphor-ipmi-flash/tools/bt.hpp
/openbmc/phosphor-ipmi-flash/tools/handler.cpp
/openbmc/phosphor-ipmi-flash/tools/handler.hpp
/openbmc/phosphor-ipmi-flash/tools/helper.cpp
/openbmc/phosphor-ipmi-flash/tools/interface.hpp
/openbmc/phosphor-ipmi-flash/tools/io.hpp
/openbmc/phosphor-ipmi-flash/tools/io_interface.hpp
/openbmc/phosphor-ipmi-flash/tools/lpc.hpp
/openbmc/phosphor-ipmi-flash/tools/main.cpp
/openbmc/phosphor-ipmi-flash/tools/meson.build
/openbmc/phosphor-ipmi-flash/tools/net.cpp
/openbmc/phosphor-ipmi-flash/tools/net.hpp
/openbmc/phosphor-ipmi-flash/tools/p2a.cpp
/openbmc/phosphor-ipmi-flash/tools/p2a.hpp
/openbmc/phosphor-ipmi-flash/tools/pci.cpp
/openbmc/phosphor-ipmi-flash/tools/pci.hpp
/openbmc/phosphor-ipmi-flash/tools/pciaccess.cpp
/openbmc/phosphor-ipmi-flash/tools/pciaccess.hpp
/openbmc/phosphor-ipmi-flash/tools/progress.cpp
/openbmc/phosphor-ipmi-flash/tools/test/data_interface_mock.hpp
/openbmc/phosphor-ipmi-flash/tools/test/internal_sys_mock.hpp
/openbmc/phosphor-ipmi-flash/tools/test/io_unittest.cpp
/openbmc/phosphor-ipmi-flash/tools/test/meson.build
/openbmc/phosphor-ipmi-flash/tools/test/tools_net_unittest.cpp
/openbmc/phosphor-ipmi-flash/tools/test/tools_pci_unittest.cpp
/openbmc/phosphor-ipmi-flash/tools/test/tools_updater_unittest.cpp
/openbmc/phosphor-ipmi-flash/tools/tool_errors.hpp
99d292a308-Feb-2022 Willy Tu <wltu@google.com>

phosphor-ipmi-flash: Code Health Cleanup

Removed the following warning.
- using decl '*' is unused
- 'push_back' is called inside a loop; consider pre-allocating the
container capacity before th

phosphor-ipmi-flash: Code Health Cleanup

Removed the following warning.
- using decl '*' is unused
- 'push_back' is called inside a loop; consider pre-allocating the
container capacity before the loop
- function '*' defined in a header file; function
definitions in header files can lead to ODR violations

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

show more ...


/openbmc/phosphor-ipmi-flash/.gitignore
/openbmc/phosphor-ipmi-flash/MAINTAINERS
/openbmc/phosphor-ipmi-flash/OWNERS
/openbmc/phosphor-ipmi-flash/bmc/README.md
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/firmware_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/meson.build
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/create_action_map.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/meson.build
/openbmc/phosphor-ipmi-flash/bmc/log-handler/log_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/log-handler/log_handler.hpp
/openbmc/phosphor-ipmi-flash/bmc/log-handler/log_handlers_builder.cpp
/openbmc/phosphor-ipmi-flash/bmc/log-handler/log_handlers_builder.hpp
/openbmc/phosphor-ipmi-flash/bmc/log-handler/main.cpp
/openbmc/phosphor-ipmi-flash/bmc/log-handler/meson.build
/openbmc/phosphor-ipmi-flash/bmc/log-handler/test/log_canhandle_enumerate_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/log-handler/test/log_close_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/log-handler/test/log_createhandler_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/log-handler/test/log_json_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/log-handler/test/log_mock.hpp
/openbmc/phosphor-ipmi-flash/bmc/log-handler/test/log_open_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/log-handler/test/log_read_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/log-handler/test/log_stat_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/log-handler/test/meson.build
/openbmc/phosphor-ipmi-flash/bmc/meson.build
image_mock.cpp
image_mock.hpp
meson.build
triggerable_mock.cpp
triggerable_mock.hpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/test/version_mock.hpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/version_handlers_builder.cpp
/openbmc/phosphor-ipmi-flash/cleanup/meson.build
/openbmc/phosphor-ipmi-flash/meson.build
/openbmc/phosphor-ipmi-flash/tools/test/tools_updater_unittest.cpp
/openbmc/phosphor-ipmi-flash/tools/updater.cpp
bcae900212-Sep-2021 Willy Tu <wltu@google.com>

build: Add meson build

Changes to note,
- `with_systemdsystemunitdir` and `with_tmpfilesdir` is removed since it
is not being documented nor used in OpenBMC.
- Removed the Code coverage feature wi

build: Add meson build

Changes to note,
- `with_systemdsystemunitdir` and `with_tmpfilesdir` is removed since it
is not being documented nor used in OpenBMC.
- Removed the Code coverage feature with `-DDHAVE_GCOV`, since it is not
used and meson covers it.
- Removed `--enable-oe-sdk` for using the OpenBMC SDK. It should work
directly with no change required.

Tested:
```
Jan 01 00:01:54 ipmid[709]: Try loading blob from persistent data
Jan 01 00:01:54 ipmid[709]: Stale blob data, resetting internals...
Jan 01 00:01:56 ipmid[709]: config loaded: /flash/bios
Jan 01 00:01:56 ipmid[709]: config loaded: /flash/image
Jan 01 00:01:56 ipmid[709]: config loaded: /flash/dummy
...
```

```
$ ls /usr/lib/blob-ipmid/
libfirmwareblob.so
libfirmwarecleanupblob.so libversionblob.so
```

Testing the service,
```
$ echo "hello" > /tmp/test.txt
$ burn_my_bmc -command update -layout dummy -image /tmp/test.txt
Sending over the firmware image.
Opening the verification file
Committing to /flash/verify to trigger service
Calling stat on /flash/verify session to check status
running
success
Returned success
succeeded
```

On the BMC.
```
/run/initramfs$ cat dummy
hello
```

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

show more ...


/openbmc/phosphor-ipmi-flash/.gitignore
/openbmc/phosphor-ipmi-flash/OWNERS
/openbmc/phosphor-ipmi-flash/README.md
/openbmc/phosphor-ipmi-flash/bmc/file_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/firmware_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/meson.build
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/net_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/pci_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/pci_nuvoton_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/file_handler_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_close_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_commit_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_json_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_multiplebundle_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_open_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_sessionstat_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_state_notyetstarted_tarball_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_state_uploadinprogress_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_unittest.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_write_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_writemeta_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/meson.build
/openbmc/phosphor-ipmi-flash/bmc/general_systemd.cpp
/openbmc/phosphor-ipmi-flash/bmc/meson.build
meson.build
/openbmc/phosphor-ipmi-flash/bmc/version-handler/meson.build
/openbmc/phosphor-ipmi-flash/bmc/version-handler/test/meson.build
/openbmc/phosphor-ipmi-flash/bmc/version-handler/version_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/version_handler.hpp
/openbmc/phosphor-ipmi-flash/cleanup/cleanup.cpp
/openbmc/phosphor-ipmi-flash/cleanup/cleanup.hpp
/openbmc/phosphor-ipmi-flash/cleanup/meson.build
/openbmc/phosphor-ipmi-flash/cleanup/test/meson.build
/openbmc/phosphor-ipmi-flash/configure.ac
/openbmc/phosphor-ipmi-flash/meson.build
/openbmc/phosphor-ipmi-flash/meson_options.txt
/openbmc/phosphor-ipmi-flash/subprojects/fmt.wrap
/openbmc/phosphor-ipmi-flash/subprojects/googletest.wrap
/openbmc/phosphor-ipmi-flash/subprojects/pciaccess.wrap
/openbmc/phosphor-ipmi-flash/subprojects/phosphor-dbus-interfaces.wrap
/openbmc/phosphor-ipmi-flash/subprojects/phosphor-ipmi-blobs.wrap
/openbmc/phosphor-ipmi-flash/subprojects/phosphor-logging.wrap
/openbmc/phosphor-ipmi-flash/subprojects/sdbusplus.wrap
/openbmc/phosphor-ipmi-flash/subprojects/stdplus.wrap
/openbmc/phosphor-ipmi-flash/tools/bt.cpp
/openbmc/phosphor-ipmi-flash/tools/handler.cpp
/openbmc/phosphor-ipmi-flash/tools/helper.cpp
/openbmc/phosphor-ipmi-flash/tools/helper.hpp
/openbmc/phosphor-ipmi-flash/tools/lpc.cpp
/openbmc/phosphor-ipmi-flash/tools/main.cpp
/openbmc/phosphor-ipmi-flash/tools/meson.build
/openbmc/phosphor-ipmi-flash/tools/net.cpp
/openbmc/phosphor-ipmi-flash/tools/p2a.cpp
/openbmc/phosphor-ipmi-flash/tools/pci.hpp
/openbmc/phosphor-ipmi-flash/tools/test/meson.build
/openbmc/phosphor-ipmi-flash/tools/test/tools_bt_unittest.cpp
/openbmc/phosphor-ipmi-flash/tools/test/tools_helper_unittest.cpp
/openbmc/phosphor-ipmi-flash/tools/test/tools_lpc_unittest.cpp
/openbmc/phosphor-ipmi-flash/tools/test/tools_net_unittest.cpp
/openbmc/phosphor-ipmi-flash/tools/test/tools_pci_unittest.cpp
/openbmc/phosphor-ipmi-flash/tools/test/tools_updater_unittest.cpp
/openbmc/phosphor-ipmi-flash/tools/updater.cpp
/openbmc/phosphor-ipmi-flash/tools/updater.hpp
f450486f25-Apr-2021 Willy Tu <wltu@google.com>

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

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


/openbmc/phosphor-ipmi-flash/MAINTAINERS
/openbmc/phosphor-ipmi-flash/bmc/buildjson.cpp
/openbmc/phosphor-ipmi-flash/bmc/buildjson.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/Makefile.am
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/firmware_handlers_builder.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/main.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/phosphor-ipmi-flash.conf
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/crc_mock.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/data_mock.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_json_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/window_mapper_mock.hpp
/openbmc/phosphor-ipmi-flash/bmc/fs.cpp
/openbmc/phosphor-ipmi-flash/bmc/handler_config.hpp
image_mock.hpp
triggerable_mock.hpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/main.cpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/test/Makefile.am
/openbmc/phosphor-ipmi-flash/bmc/version-handler/test/version_close_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/test/version_mock.hpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/test/version_open_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/test/version_read_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/test/version_stat_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/version_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/version_handler.hpp
/openbmc/phosphor-ipmi-flash/bootstrap.sh
/openbmc/phosphor-ipmi-flash/cleanup/test/filesystem_mock.hpp
/openbmc/phosphor-ipmi-flash/configure.ac
/openbmc/phosphor-ipmi-flash/tools/bt.cpp
/openbmc/phosphor-ipmi-flash/tools/handler.cpp
/openbmc/phosphor-ipmi-flash/tools/handler.hpp
/openbmc/phosphor-ipmi-flash/tools/helper.cpp
/openbmc/phosphor-ipmi-flash/tools/helper.hpp
/openbmc/phosphor-ipmi-flash/tools/io.hpp
/openbmc/phosphor-ipmi-flash/tools/io_interface.hpp
/openbmc/phosphor-ipmi-flash/tools/lpc.cpp
/openbmc/phosphor-ipmi-flash/tools/net.cpp
/openbmc/phosphor-ipmi-flash/tools/p2a.cpp
/openbmc/phosphor-ipmi-flash/tools/pci.cpp
/openbmc/phosphor-ipmi-flash/tools/pciaccess.cpp
/openbmc/phosphor-ipmi-flash/tools/pciaccess.hpp
/openbmc/phosphor-ipmi-flash/tools/progress.cpp
/openbmc/phosphor-ipmi-flash/tools/progress.hpp
/openbmc/phosphor-ipmi-flash/tools/test/data_interface_mock.hpp
/openbmc/phosphor-ipmi-flash/tools/test/internal_sys_mock.hpp
/openbmc/phosphor-ipmi-flash/tools/test/io_mock.hpp
/openbmc/phosphor-ipmi-flash/tools/test/pciaccess_mock.hpp
/openbmc/phosphor-ipmi-flash/tools/test/progress_mock.hpp
/openbmc/phosphor-ipmi-flash/tools/test/tools_helper_unittest.cpp
/openbmc/phosphor-ipmi-flash/tools/test/tools_net_unittest.cpp
/openbmc/phosphor-ipmi-flash/tools/test/tools_pci_unittest.cpp
/openbmc/phosphor-ipmi-flash/tools/test/tools_updater_unittest.cpp
/openbmc/phosphor-ipmi-flash/tools/test/updater_mock.hpp
/openbmc/phosphor-ipmi-flash/util.hpp
4175b4ca24-Dec-2020 William A. Kennington III <wak@google.com>

Add callback support to triggerable actions

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


/openbmc/phosphor-ipmi-flash/Makefile.am
/openbmc/phosphor-ipmi-flash/bmc/Makefile.am
/openbmc/phosphor-ipmi-flash/bmc/buildjson.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/Makefile.am
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_skip_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/general_systemd.cpp
/openbmc/phosphor-ipmi-flash/bmc/skip_action.cpp
/openbmc/phosphor-ipmi-flash/bmc/skip_action.hpp
triggerable_mock.hpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/Makefile.am
/openbmc/phosphor-ipmi-flash/bmc/version-handler/main.cpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/test/Makefile.am
/openbmc/phosphor-ipmi-flash/bmc/version-handler/test/version_canhandle_enumerate_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/test/version_close_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/test/version_createhandler_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/test/version_mock.hpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/test/version_open_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/test/version_read_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/version_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/version_handler.hpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/version_handlers_builder.cpp
/openbmc/phosphor-ipmi-flash/bmc/version-handler/version_handlers_builder.hpp
/openbmc/phosphor-ipmi-flash/configure.ac
/openbmc/phosphor-ipmi-flash/status.hpp
/openbmc/phosphor-ipmi-flash/util.hpp
c78bfc8205-Nov-2020 Jason Ling <jasonling@google.com>

version-handler: add version-handler, blob handler

Implement version-handler: a blob handler for retrieving version
information about a blob.

Problem: ipmi-flash(firmware-handler) provides a mechan

version-handler: add version-handler, blob handler

Implement version-handler: a blob handler for retrieving version
information about a blob.

Problem: ipmi-flash(firmware-handler) provides a mechanism to transfer
firmware updates, verify them and perform updates but there is no
mechanism to interrogate the firmware for its version.

Solution: version-handler provides handlers for retrieving information
about firmware blobs. Adding "version" syntax to "/flash/blob" entries
in the json configuration file enables this feature.
The mechanism to retrieve version is identical to the mechanism used by
firmware-handler to perform preparation, verification and updates (kick
off systemd targets).

Signed-off-by: Jason Ling <jasonling@google.com>
Change-Id: I28868ca8dd76d63af668d2e46b9359401d45f0bc

show more ...

84bff8be06-Nov-2020 Jason Ling <jasonling@google.com>

test: move shared mocks to common area

Move mocks that can be shared between version and firmware handler tests
to parent directory (bmc/test).

This will eliminate the need to duplicate the definit

test: move shared mocks to common area

Move mocks that can be shared between version and firmware handler tests
to parent directory (bmc/test).

This will eliminate the need to duplicate the definition of testing
mocks.

Signed-off-by: Jason Ling <jasonling@google.com>
Change-Id: Id41c56271d0bfbcb8c18da1f903c7786699508d4

show more ...


/openbmc/phosphor-ipmi-flash/README.md
/openbmc/phosphor-ipmi-flash/bmc/Makefile.am
/openbmc/phosphor-ipmi-flash/bmc/buildjson.cpp
/openbmc/phosphor-ipmi-flash/bmc/buildjson.hpp
/openbmc/phosphor-ipmi-flash/bmc/file_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/file_handler.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/Makefile.am
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/firmware_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/firmware_handlers_builder.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/firmware_handlers_builder.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/lpc_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/lpc_handler.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/main.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/Makefile.am
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/create_action_map.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/file_handler_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_canhandle_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_close_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_commit_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_handler_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_json_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_multiplebundle_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_open_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_sessionstat_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_stat_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_state_notyetstarted_tarball_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_state_notyetstarted_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_state_verificationpending_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_unittest.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_write_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_writemeta_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/image_handler.hpp
image_mock.hpp
triggerable_mock.hpp
/openbmc/phosphor-ipmi-flash/tools/main.cpp
/openbmc/phosphor-ipmi-flash/tools/p2a.cpp
/openbmc/phosphor-ipmi-flash/tools/p2a.hpp
/openbmc/phosphor-ipmi-flash/tools/pci.hpp
/openbmc/phosphor-ipmi-flash/tools/test/tools_pci_unittest.cpp
ded66d0f23-Oct-2020 Jason Ling <jasonling@google.com>

move files around to create a common convenience library

Problem: plan is to add another blob handler into ipmi-flash
(ipmi-flash-version). This new handler will re-use much of the
ipmi-flash (firmw

move files around to create a common convenience library

Problem: plan is to add another blob handler into ipmi-flash
(ipmi-flash-version). This new handler will re-use much of the
ipmi-flash (firmware-handler) code. The common code should be presented
as a convenience library to reduce code duplication.

Solution: move anticipated firmware-handler specific code into the
subdirectory bmc/firmware-handler and leave common code in bmc/.

The end goal is to have version-handler re-use as
much code as possible.

Tested:
rebuilt everything and ran unit tests.

Signed-off-by: Jason Ling <jasonling@google.com>
Change-Id: I2128da629b0ddf27b89f1faee358d1941f1dff38

show more ...


/openbmc/phosphor-ipmi-flash/Makefile.am
/openbmc/phosphor-ipmi-flash/bmc/Makefile.am
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/Makefile.am
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/buildjson.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/buildjson.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/config-bios.json.in
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/config-static-bmc-reboot.json.in
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/config-static-bmc-with-update-status.json.in
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/config-static-bmc.json.in
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/data_handler.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/firmware_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/firmware_handler.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/lpc_aspeed.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/lpc_aspeed.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/lpc_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/lpc_handler.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/lpc_nuvoton.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/lpc_nuvoton.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/main.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/mapper_errors.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/net_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/net_handler.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/pci_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/pci_handler.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/pci_nuvoton_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/phosphor-ipmi-flash-bios-prepare.target.in
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/phosphor-ipmi-flash-bios-update.target.in
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/phosphor-ipmi-flash-bios-verify.target.in
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/phosphor-ipmi-flash-bmc-prepare.target.in
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/phosphor-ipmi-flash-bmc-update.target.in
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/phosphor-ipmi-flash-bmc-verify.target.in
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/Makefile.am
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/crc_mock.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/data_mock.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/file_handler_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_canhandle_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_close_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_commit_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_handler_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_json_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_multiplebundle_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_open_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_sessionstat_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_skip_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_stat_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_state_notyetstarted_tarball_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_state_notyetstarted_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_state_updatecompleted_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_state_updatepending_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_state_updatestarted_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_state_uploadinprogress_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_state_verificationcompleted_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_state_verificationpending_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_state_verificationstarted_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_unittest.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_write_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/firmware_writemeta_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/image_mock.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/triggerable_mock.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/test/window_mapper_mock.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware-handler/window_hw_interface.hpp
/openbmc/phosphor-ipmi-flash/bmc/image_handler.hpp
/openbmc/phosphor-ipmi-flash/configure.ac
63902a4306-Oct-2020 Patrick Venture <venture@google.com>

bmc/test: cleanup remove unused declarations

Remove unused using declarations.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: If975e789745f4c625c84fba376d85f805f38f3e0

4b1b045030-Sep-2020 Patrick Venture <venture@google.com>

bmc/test: add missing util header

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I384e9d34d65336c9081da88e4378a987b26c8504

da4d4a4328-Sep-2020 Patrick Venture <venture@google.com>

bmc/test: fixups detected in bazel-type build

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Id5a2ac8ab7a59d6483a82e51ebcb25d7aaffaf50

794a37c125-Sep-2020 Patrick Venture <venture@google.com>

bmc/test: drop unused variable

There was a variable in a test that aimed to do something but was
unused.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Ieffd014d740acebbafa68d98076b

bmc/test: drop unused variable

There was a variable in a test that aimed to do something but was
unused.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Ieffd014d740acebbafa68d98076bd63fd1855132

show more ...

c6ba8ffc23-Sep-2020 Patrick Venture <venture@google.com>

cleanup: transition to emplace_back where possible

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I41ea0bcabe0dd71111fa96b5e1baf12d3e79d129

4934daac22-Sep-2020 Patrick Venture <venture@google.com>

bmc: move data handler to owned object

To handle the case where one cannot have complex static or global
objects, the object must be owned. In this case, it is reasonable to
pass ownership to the o

bmc: move data handler to owned object

To handle the case where one cannot have complex static or global
objects, the object must be owned. In this case, it is reasonable to
pass ownership to the only object that will use the data handler.

Alternatively, singletons can be used to get around this, but just using
ownership is more appropriate.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I47b291d1cd01af9d4b7287c1411ed9ba37aa7a4c

show more ...

7b78343922-Sep-2020 Patrick Venture <venture@google.com>

bmc: move transports vector into handler object

Move the transport vector to the firmware handler object.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Ic64b56b95ec52d4bbeb7e12ac26

bmc: move transports vector into handler object

Move the transport vector to the firmware handler object.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Ic64b56b95ec52d4bbeb7e12ac26d0cc238363e42

show more ...

92f2615026-May-2020 Patrick Venture <venture@google.com>

firmware: add expiration handle

Expiring the session aborts the process.

Tested: Only tested with unit-tests, not run on a real system.
Signed-off-by: Patrick Venture <venture@google.com>
Change-Id

firmware: add expiration handle

Expiring the session aborts the process.

Tested: Only tested with unit-tests, not run on a real system.
Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I3a7ae54cfa04e162a2a1e591c0ddd4eca3d6d3db

show more ...

9b37b09528-May-2020 Patrick Venture <venture@google.com>

update gcc10 and clang-format10

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I72239b884615d26b2c4311c49a26e2eced0a1fb0


/openbmc/phosphor-ipmi-flash/.clang-format
/openbmc/phosphor-ipmi-flash/bmc/buildjson.cpp
/openbmc/phosphor-ipmi-flash/bmc/buildjson.hpp
/openbmc/phosphor-ipmi-flash/bmc/file_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/file_handler.hpp
/openbmc/phosphor-ipmi-flash/bmc/firmware_handler.cpp
/openbmc/phosphor-ipmi-flash/bmc/firmware_handler.hpp
/openbmc/phosphor-ipmi-flash/bmc/general_systemd.cpp
/openbmc/phosphor-ipmi-flash/bmc/general_systemd.hpp
/openbmc/phosphor-ipmi-flash/bmc/image_handler.hpp
/openbmc/phosphor-ipmi-flash/bmc/lpc_handler.hpp
/openbmc/phosphor-ipmi-flash/bmc/main.cpp
/openbmc/phosphor-ipmi-flash/bmc/mapper_errors.hpp
/openbmc/phosphor-ipmi-flash/bmc/net_handler.hpp
/openbmc/phosphor-ipmi-flash/bmc/skip_action.hpp
firmware_close_unittest.cpp
firmware_open_unittest.cpp
firmware_sessionstat_unittest.cpp
firmware_state_notyetstarted_unittest.cpp
firmware_state_updatecompleted_unittest.cpp
firmware_state_updatepending_unittest.cpp
firmware_state_updatestarted_unittest.cpp
firmware_state_uploadinprogress_unittest.cpp
firmware_state_verificationcompleted_unittest.cpp
firmware_state_verificationpending_unittest.cpp
firmware_state_verificationstarted_unittest.cpp
firmware_write_unittest.cpp
firmware_writemeta_unittest.cpp
/openbmc/phosphor-ipmi-flash/bmc_json_config.md
/openbmc/phosphor-ipmi-flash/cleanup/cleanup.cpp
/openbmc/phosphor-ipmi-flash/cleanup/cleanup.hpp
/openbmc/phosphor-ipmi-flash/cleanup/main.cpp
/openbmc/phosphor-ipmi-flash/tools/bt.cpp
/openbmc/phosphor-ipmi-flash/tools/handler.cpp
/openbmc/phosphor-ipmi-flash/tools/handler.hpp
/openbmc/phosphor-ipmi-flash/tools/helper.cpp
/openbmc/phosphor-ipmi-flash/tools/helper.hpp
/openbmc/phosphor-ipmi-flash/tools/io.hpp
/openbmc/phosphor-ipmi-flash/tools/lpc.cpp
/openbmc/phosphor-ipmi-flash/tools/lpc.hpp
/openbmc/phosphor-ipmi-flash/tools/main.cpp
/openbmc/phosphor-ipmi-flash/tools/net.cpp
/openbmc/phosphor-ipmi-flash/tools/net.hpp
/openbmc/phosphor-ipmi-flash/tools/p2a.cpp
/openbmc/phosphor-ipmi-flash/tools/p2a.hpp
/openbmc/phosphor-ipmi-flash/tools/pci.cpp
/openbmc/phosphor-ipmi-flash/tools/pci.hpp
/openbmc/phosphor-ipmi-flash/tools/test/tools_bt_unittest.cpp
/openbmc/phosphor-ipmi-flash/tools/test/tools_helper_unittest.cpp
/openbmc/phosphor-ipmi-flash/tools/test/tools_lpc_unittest.cpp
/openbmc/phosphor-ipmi-flash/tools/test/tools_net_unittest.cpp
/openbmc/phosphor-ipmi-flash/tools/test/tools_updater_unittest.cpp
/openbmc/phosphor-ipmi-flash/tools/updater.cpp
/openbmc/phosphor-ipmi-flash/tools/updater.hpp
d53d60a407-Apr-2020 Patrick Venture <venture@google.com>

bmc: config: add skip action

If you specify the action for one of the three fields as "skip" it'll
create a handler object for that action that always returns success and
has no effect. This action

bmc: config: add skip action

If you specify the action for one of the three fields as "skip" it'll
create a handler object for that action that always returns success and
has no effect. This action therefore "skips" the step, moving the state
machine forward as though it was a successful real action.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Ib4c1091745eb96b8381a332bbeb0562625d3bfbe

show more ...

1290198f12-Nov-2019 Benjamin Fair <benjaminfair@google.com>

bmc: allowing packing transport flags densely

Future transport backends can densely fill in the upper 5 bits of the
transport flag bitfield.

Signed-off-by: Benjamin Fair <benjaminfair@google.com>
C

bmc: allowing packing transport flags densely

Future transport backends can densely fill in the upper 5 bits of the
transport flag bitfield.

Signed-off-by: Benjamin Fair <benjaminfair@google.com>
Change-Id: Ie4ee59e0581e458a9020775e18270100f9a1de4e

show more ...

a67e9e9e15-Nov-2019 Benjamin Fair <benjaminfair@google.com>

bmc: add test for reserved flags

Test that no one adds transport backends which use the lower 3 bits of
the transport flag bitfield. These bits are reserved for exclusive use
with the IPMI, LPC, and

bmc: add test for reserved flags

Test that no one adds transport backends which use the lower 3 bits of
the transport flag bitfield. These bits are reserved for exclusive use
with the IPMI, LPC, and P2A backends to ensure backwards compatibility
with older host tools.

Signed-off-by: Benjamin Fair <benjaminfair@google.com>
Change-Id: I6284f2c864aeb5e20a812c0b13e9ecc61349b127

show more ...

1626538d06-Nov-2019 Patrick Venture <venture@google.com>

bmc: require at least one action pack configuration

In the event the phosphor-ipmi-flash package is added to an image with
only a default configuration, it should not register itself as a blob
handl

bmc: require at least one action pack configuration

In the event the phosphor-ipmi-flash package is added to an image with
only a default configuration, it should not register itself as a blob
handler. The default installation does not include any json
configuration files. Therefore, this lack of a configuration can be
checked at load time.

Added validation that the firmware image list contains at least two
handlers, and one is always the hash blob handler.
Added validation that the action map contains at least one action pack
configuration.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I0b2f6cded78121869e8a01290d29e420c555a16d

show more ...

e0216d2321-Aug-2019 Patrick Venture <venture@google.com>

bmc: merge update and prepare systemd

The update systemd and prepare systemd were effectively the same, and
this makes the systemd action generic.

Tested: Not tested beyond unit-tests continuing to

bmc: merge update and prepare systemd

The update systemd and prepare systemd were effectively the same, and
this makes the systemd action generic.

Tested: Not tested beyond unit-tests continuing to pass.
Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I8070731e53bfd6cdafb1d74d9db652f20341985e

show more ...

097435fc15-Aug-2019 Patrick Venture <venture@google.com>

bmc: require blob ids to start with /flash/

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Ib6a0db91d4e2ecd7e7cc3c51ddc1953d9fd8da3c

cf066ace06-Aug-2019 Patrick Venture <venture@google.com>

bmc: cleanup verification language and symbols

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Ife4d7e519e44aff60441c5909346ca6d7e2aa090

29af1e3e05-Aug-2019 Patrick Venture <venture@google.com>

bmc: s/SystemdVerification/SystemdWithStatusFile/g

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I5da0ca9e3ae53df957647b19446df4196248fd31

12