History log of /openbmc/hiomapd/Documentation/ (Results 1 – 25 of 25)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
0bfd90de02-Dec-2024 Ninad Palsule <ninad@linux.ibm.com>

Fix formatting issue

Change-Id: Ib026da1cacc78b2b72fae72e87238dca3426c519
Signed-off-by: Ninad Palsule <ninad@linux.ibm.com>

81365bf825-Oct-2024 Ninad Palsule <ninad@linux.ibm.com>

Fixed format errors in the build

Change-Id: I5c274fa52abef0634fc80037d192b269959a757a
Signed-off-by: Ninad Palsule <ninad@linux.ibm.com>

6a51e5f408-Dec-2022 Patrick Williams <patrick@stwcx.xyz>

prettier: re-format

Prettier is enabled in openbmc-build-scripts on Markdown, JSON, and YAML
files to have consistent formatting for these file types. Re-run the
formatter on the whole repository.

prettier: re-format

Prettier is enabled in openbmc-build-scripts on Markdown, JSON, and YAML
files to have consistent formatting for these file types. Re-run the
formatter on the whole repository.

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

show more ...


mboxd.md
protocol.md
/openbmc/hiomapd/Makefile.am
/openbmc/hiomapd/OWNERS
/openbmc/hiomapd/README.md
/openbmc/hiomapd/backend.h
/openbmc/hiomapd/bootstrap.sh
/openbmc/hiomapd/common.c
/openbmc/hiomapd/configure.ac
/openbmc/hiomapd/control.c
/openbmc/hiomapd/control_dbus.c
/openbmc/hiomapd/control_legacy.c
/openbmc/hiomapd/file/backend.c
/openbmc/hiomapd/format-code.sh
/openbmc/hiomapd/mboxctl.c
/openbmc/hiomapd/mboxd.c
/openbmc/hiomapd/mboxd.h
/openbmc/hiomapd/mtd/backend.c
/openbmc/hiomapd/protocol.c
/openbmc/hiomapd/test/mbox.c
/openbmc/hiomapd/transport_dbus.c
/openbmc/hiomapd/transport_mbox.c
/openbmc/hiomapd/vpnor/Makefile.am.include
/openbmc/hiomapd/vpnor/README.md
/openbmc/hiomapd/vpnor/backend.cpp
/openbmc/hiomapd/vpnor/partition.cpp
/openbmc/hiomapd/vpnor/partition.hpp
/openbmc/hiomapd/vpnor/table.cpp
/openbmc/hiomapd/vpnor/table.hpp
/openbmc/hiomapd/vpnor/test/Makefile.am.include
/openbmc/hiomapd/vpnor/test/create_aligned_window.cpp
/openbmc/hiomapd/vpnor/test/create_read_window_partition_exists.cpp
/openbmc/hiomapd/vpnor/test/create_read_window_remap.cpp
/openbmc/hiomapd/vpnor/test/create_read_window_size.cpp
/openbmc/hiomapd/vpnor/test/create_read_window_straddle_partitions.cpp
/openbmc/hiomapd/vpnor/test/tmpd.cpp
/openbmc/hiomapd/vpnor/test/tmpd.hpp
/openbmc/hiomapd/vpnor/test/toc_missing_file.cpp
/openbmc/hiomapd/vpnor/test/write_patch.cpp
/openbmc/hiomapd/vpnor/test/write_patch_resize.cpp
/openbmc/hiomapd/vpnor/test/write_prsv.cpp
/openbmc/hiomapd/vpnor/test/write_ro.cpp
/openbmc/hiomapd/vpnor/test/write_rw.cpp
/openbmc/hiomapd/windows.c
4519bb8218-Mar-2019 Andrew Jeffery <andrew@aj.id.au>

Documentation: Remove mboxctl.md

The merge of phosphor-mboxd and mboxbridge blew away the content. No-one
has complained, so remove the broken file.

Change-Id: Ic52bb4c3946b03485197efce1f6c6ff7ef71

Documentation: Remove mboxctl.md

The merge of phosphor-mboxd and mboxbridge blew away the content. No-one
has complained, so remove the broken file.

Change-Id: Ic52bb4c3946b03485197efce1f6c6ff7ef714c1c
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>

show more ...


/openbmc/hiomapd/Makefile.am
/openbmc/hiomapd/backend.h
/openbmc/hiomapd/configure.ac
/openbmc/hiomapd/control.c
/openbmc/hiomapd/control_dbus.c
/openbmc/hiomapd/control_dbus.h
/openbmc/hiomapd/file/Makefile.am.include
/openbmc/hiomapd/file/backend.c
/openbmc/hiomapd/lpc.c
/openbmc/hiomapd/lpc.h
/openbmc/hiomapd/mboxctl.c
/openbmc/hiomapd/mboxd.c
/openbmc/hiomapd/mboxd.h
/openbmc/hiomapd/mtd/Makefile.am.include
/openbmc/hiomapd/mtd/backend.c
/openbmc/hiomapd/mtd/backend.h
/openbmc/hiomapd/protocol.c
/openbmc/hiomapd/protocol.h
/openbmc/hiomapd/test/Makefile.am.include
/openbmc/hiomapd/test/flash_copy.c
/openbmc/hiomapd/test/flash_erase.c
/openbmc/hiomapd/test/flash_write.c
/openbmc/hiomapd/test/implicit_flush.c
/openbmc/hiomapd/test/mark_write_erased_v2.c
/openbmc/hiomapd/test/mbox.c
/openbmc/hiomapd/test/mbox.h
/openbmc/hiomapd/test/write_flush_v2.c
/openbmc/hiomapd/test/write_window_dirty_erase.c
/openbmc/hiomapd/transport_dbus.c
/openbmc/hiomapd/transport_mbox.c
/openbmc/hiomapd/vpnor/Makefile.am.include
/openbmc/hiomapd/vpnor/backend.cpp
/openbmc/hiomapd/vpnor/backend.h
/openbmc/hiomapd/vpnor/ffs.h
/openbmc/hiomapd/vpnor/partition.cpp
/openbmc/hiomapd/vpnor/partition.hpp
/openbmc/hiomapd/vpnor/table.cpp
/openbmc/hiomapd/vpnor/table.hpp
/openbmc/hiomapd/vpnor/test/Makefile.am.include
/openbmc/hiomapd/vpnor/test/create_pnor_partition_table.cpp
/openbmc/hiomapd/vpnor/test/create_read_window_oob.cpp
/openbmc/hiomapd/vpnor/test/create_read_window_partition_exists.cpp
/openbmc/hiomapd/vpnor/test/create_read_window_partition_invalid.cpp
/openbmc/hiomapd/vpnor/test/create_read_window_remap.cpp
/openbmc/hiomapd/vpnor/test/create_read_window_size.cpp
/openbmc/hiomapd/vpnor/test/create_read_window_straddle_partitions.cpp
/openbmc/hiomapd/vpnor/test/create_read_window_toc.cpp
/openbmc/hiomapd/vpnor/test/create_write_window_ro_partition.cpp
/openbmc/hiomapd/vpnor/test/create_write_window_rw_partition.cpp
/openbmc/hiomapd/vpnor/test/create_write_window_unmapped.cpp
/openbmc/hiomapd/vpnor/test/dump_flash.cpp
/openbmc/hiomapd/vpnor/test/force_readonly_toc.cpp
/openbmc/hiomapd/vpnor/test/read_patch.cpp
/openbmc/hiomapd/vpnor/test/tmpd.hpp
/openbmc/hiomapd/vpnor/test/toc_flags.cpp
/openbmc/hiomapd/vpnor/test/toc_lookup_failed.cpp
/openbmc/hiomapd/vpnor/test/toc_lookup_found.cpp
/openbmc/hiomapd/vpnor/test/toc_missing_file.cpp
/openbmc/hiomapd/vpnor/test/toc_no_end.cpp
/openbmc/hiomapd/vpnor/test/toc_no_name.cpp
/openbmc/hiomapd/vpnor/test/toc_no_start.cpp
/openbmc/hiomapd/vpnor/test/toc_no_version.cpp
/openbmc/hiomapd/vpnor/test/toc_overlap.cpp
/openbmc/hiomapd/vpnor/test/toc_start_gt_end.cpp
/openbmc/hiomapd/vpnor/test/write_patch.cpp
/openbmc/hiomapd/vpnor/test/write_patch_resize.cpp
/openbmc/hiomapd/vpnor/test/write_prsv.cpp
/openbmc/hiomapd/vpnor/test/write_ro.cpp
/openbmc/hiomapd/vpnor/test/write_rw.cpp
/openbmc/hiomapd/vpnor/test/write_toc.cpp
/openbmc/hiomapd/windows.c
fd4fa34d22-Nov-2018 Andrew Jeffery <andrew@aj.id.au>

protocol: Rework publication of events over DBus transport

A set of races was discovered around the propagation of HIOMAP protocol
BMC status events during BMC shutdown. In particular the change imp

protocol: Rework publication of events over DBus transport

A set of races was discovered around the propagation of HIOMAP protocol
BMC status events during BMC shutdown. In particular the change impacts
the design of the DBus transport defined in the protocol specification,
as signalling of both acknowledgeable and non-acknowledgeable events
could not be made atomic.

A particular case where this matters is when the daemon is terminated,
at which point it should simultaneously clear BMC_EVENT_DAEMON_READY and
set BMC_EVENT_PROTOCOL_RESET. The DBus interface as designed required
this be done as two separate messages, which lead to races propagating
the complete state update to the host during shutdown of ipmid.

Change-Id: Iaf38f77c28b8e4e4dd092b0de97dc7e777bfac65
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>

show more ...


/openbmc/hiomapd/.clang-format-c++
protocol.md
/openbmc/hiomapd/configure.ac
/openbmc/hiomapd/format-code.sh
/openbmc/hiomapd/mboxctl.c
/openbmc/hiomapd/mboxd.c
/openbmc/hiomapd/mboxd.h
/openbmc/hiomapd/protocol.c
/openbmc/hiomapd/protocol.h
/openbmc/hiomapd/transport.h
/openbmc/hiomapd/transport_dbus.c
/openbmc/hiomapd/transport_dbus.h
/openbmc/hiomapd/transport_mbox.c
/openbmc/hiomapd/transport_mbox.h
/openbmc/hiomapd/vpnor/flash.cpp
/openbmc/hiomapd/vpnor/lpc_reset.cpp
/openbmc/hiomapd/vpnor/mboxd_pnor_partition_table.cpp
/openbmc/hiomapd/vpnor/pnor_partition.cpp
/openbmc/hiomapd/vpnor/pnor_partition.hpp
/openbmc/hiomapd/vpnor/pnor_partition_table.cpp
/openbmc/hiomapd/vpnor/pnor_partition_table.hpp
/openbmc/hiomapd/vpnor/protocol.cpp
/openbmc/hiomapd/vpnor/protocol_negotiate_version.cpp
/openbmc/hiomapd/vpnor/test/create_pnor_partition_table.cpp
/openbmc/hiomapd/vpnor/test/create_read_window_oob.cpp
/openbmc/hiomapd/vpnor/test/create_read_window_partition_exists.cpp
/openbmc/hiomapd/vpnor/test/create_read_window_partition_invalid.cpp
/openbmc/hiomapd/vpnor/test/create_read_window_remap.cpp
/openbmc/hiomapd/vpnor/test/create_read_window_size.cpp
/openbmc/hiomapd/vpnor/test/create_read_window_straddle_partitions.cpp
/openbmc/hiomapd/vpnor/test/create_read_window_toc.cpp
/openbmc/hiomapd/vpnor/test/create_write_window_ro_partition.cpp
/openbmc/hiomapd/vpnor/test/create_write_window_rw_partition.cpp
/openbmc/hiomapd/vpnor/test/create_write_window_unmapped.cpp
/openbmc/hiomapd/vpnor/test/dump_flash.cpp
/openbmc/hiomapd/vpnor/test/read_patch.cpp
/openbmc/hiomapd/vpnor/test/tmpd.cpp
/openbmc/hiomapd/vpnor/test/tmpd.hpp
/openbmc/hiomapd/vpnor/test/toc_flags.cpp
/openbmc/hiomapd/vpnor/test/toc_lookup_failed.cpp
/openbmc/hiomapd/vpnor/test/toc_lookup_found.cpp
/openbmc/hiomapd/vpnor/test/toc_missing_file.cpp
/openbmc/hiomapd/vpnor/test/toc_no_end.cpp
/openbmc/hiomapd/vpnor/test/toc_no_name.cpp
/openbmc/hiomapd/vpnor/test/toc_no_start.cpp
/openbmc/hiomapd/vpnor/test/toc_no_version.cpp
/openbmc/hiomapd/vpnor/test/toc_overlap.cpp
/openbmc/hiomapd/vpnor/test/toc_start_gt_end.cpp
/openbmc/hiomapd/vpnor/test/write_patch.cpp
/openbmc/hiomapd/vpnor/test/write_patch_resize.cpp
/openbmc/hiomapd/vpnor/test/write_prsv.cpp
/openbmc/hiomapd/vpnor/test/write_rw.cpp
93c8edc903-Sep-2018 Andrew Jeffery <andrew@aj.id.au>

Documentation: Rewrite protocol specification

The rewrite addresses two main issues in the original documentation:

1. The conflation of the protocol specification with the mailbox transport
2. Form

Documentation: Rewrite protocol specification

The rewrite addresses two main issues in the original documentation:

1. The conflation of the protocol specification with the mailbox transport
2. Formatting and discoverability of command and event definitions

Additionally, the rewrite documents two new transports - IPMI and DBus.
It's noted that DBus is intended as a transport internal to the BMC,
while the IPMI transport is the new transport exposed to the host.

Finally, some commands and events have been renamed, however this has no
impact on the behaviour of the protocol.

Change-Id: Icc78141f4ead4395e8a348b80443cadd2300a751
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>

show more ...


protocol.md
/openbmc/hiomapd/Makefile.am
/openbmc/hiomapd/control.c
/openbmc/hiomapd/control_dbus.c
/openbmc/hiomapd/control_dbus.h
/openbmc/hiomapd/control_legacy.c
/openbmc/hiomapd/dbus.h
/openbmc/hiomapd/flash.c
/openbmc/hiomapd/flash.h
/openbmc/hiomapd/lpc.c
/openbmc/hiomapd/lpc.h
/openbmc/hiomapd/lpc_reset.c
/openbmc/hiomapd/mboxd.c
/openbmc/hiomapd/mboxd.h
/openbmc/hiomapd/protocol.c
/openbmc/hiomapd/protocol.h
/openbmc/hiomapd/protocol_negotiate_version.c
/openbmc/hiomapd/test/Makefile.am.include
/openbmc/hiomapd/test/bmc_event_ack_v2.c
/openbmc/hiomapd/test/close_window_v2.c
/openbmc/hiomapd/test/create_oversize_window.c
/openbmc/hiomapd/test/create_read_window_v2.c
/openbmc/hiomapd/test/create_write_window_v2.c
/openbmc/hiomapd/test/create_zero_size_window.c
/openbmc/hiomapd/test/flash_copy.c
/openbmc/hiomapd/test/flash_erase.c
/openbmc/hiomapd/test/flash_write.c
/openbmc/hiomapd/test/get_flash_info_v2.c
/openbmc/hiomapd/test/get_mbox_info_v2.c
/openbmc/hiomapd/test/get_mbox_info_v2_timeout.c
/openbmc/hiomapd/test/implicit_flush.c
/openbmc/hiomapd/test/invalid_command.c
/openbmc/hiomapd/test/mark_read_dirty.c
/openbmc/hiomapd/test/mark_write_dirty_v2.c
/openbmc/hiomapd/test/mark_write_erased_v2.c
/openbmc/hiomapd/test/mbox.c
/openbmc/hiomapd/test/mbox.h
/openbmc/hiomapd/test/read_window_cycle.c
/openbmc/hiomapd/test/read_window_mark_write_erased.c
/openbmc/hiomapd/test/read_window_write_flush.c
/openbmc/hiomapd/test/request_high_version.c
/openbmc/hiomapd/test/request_low_version.c
/openbmc/hiomapd/test/reset_state.c
/openbmc/hiomapd/test/sequence_numbers.c
/openbmc/hiomapd/test/windows_equally_evictable.c
/openbmc/hiomapd/test/write_flush_v2.c
/openbmc/hiomapd/test/write_window_dirty_erase.c
/openbmc/hiomapd/transport.h
/openbmc/hiomapd/transport_dbus.c
/openbmc/hiomapd/transport_dbus.h
/openbmc/hiomapd/transport_mbox.c
/openbmc/hiomapd/transport_mbox.h
/openbmc/hiomapd/vpnor/Makefile.am.include
/openbmc/hiomapd/vpnor/flash.cpp
/openbmc/hiomapd/vpnor/lpc_reset.cpp
/openbmc/hiomapd/vpnor/mboxd_pnor_partition_table.cpp
/openbmc/hiomapd/vpnor/pnor_partition.cpp
/openbmc/hiomapd/vpnor/pnor_partition.hpp
/openbmc/hiomapd/vpnor/pnor_partition_table.cpp
/openbmc/hiomapd/vpnor/pnor_partition_table.hpp
/openbmc/hiomapd/vpnor/protocol.cpp
/openbmc/hiomapd/vpnor/protocol.h
/openbmc/hiomapd/vpnor/protocol_negotiate_version.cpp
/openbmc/hiomapd/vpnor/test/Makefile.am.include
/openbmc/hiomapd/vpnor/test/tmpd.hpp
/openbmc/hiomapd/vpnor/test/write_patch.cpp
/openbmc/hiomapd/vpnor/test/write_patch_resize.cpp
/openbmc/hiomapd/vpnor/test/write_prsv.cpp
/openbmc/hiomapd/vpnor/test/write_ro.cpp
/openbmc/hiomapd/vpnor/test/write_rw.cpp
/openbmc/hiomapd/windows.c
/openbmc/hiomapd/windows.h
457a6e5f07-Aug-2018 Andrew Jeffery <andrew@aj.id.au>

mboxd: Rename mboxd_msg to transport_mbox

Change-Id: I0f4e206648c02a98fa938a7e582470c8d90904f1
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>


mboxd.md
/openbmc/hiomapd/Makefile.am
/openbmc/hiomapd/control.c
/openbmc/hiomapd/mboxd.c
/openbmc/hiomapd/test/Makefile.am.include
/openbmc/hiomapd/test/bmc_event_ack_v2.c
/openbmc/hiomapd/test/close_window_v2.c
/openbmc/hiomapd/test/create_oversize_window.c
/openbmc/hiomapd/test/create_read_window_v2.c
/openbmc/hiomapd/test/create_write_window_v2.c
/openbmc/hiomapd/test/create_zero_size_window.c
/openbmc/hiomapd/test/get_flash_info_v2.c
/openbmc/hiomapd/test/get_mbox_info_v2.c
/openbmc/hiomapd/test/get_mbox_info_v2_timeout.c
/openbmc/hiomapd/test/implicit_flush.c
/openbmc/hiomapd/test/invalid_command.c
/openbmc/hiomapd/test/mark_read_dirty.c
/openbmc/hiomapd/test/mark_write_dirty_v2.c
/openbmc/hiomapd/test/mark_write_erased_v2.c
/openbmc/hiomapd/test/mbox.c
/openbmc/hiomapd/test/mbox.h
/openbmc/hiomapd/test/read_window_cycle.c
/openbmc/hiomapd/test/read_window_mark_write_erased.c
/openbmc/hiomapd/test/read_window_write_flush.c
/openbmc/hiomapd/test/request_high_version.c
/openbmc/hiomapd/test/request_low_version.c
/openbmc/hiomapd/test/reset_state.c
/openbmc/hiomapd/test/sequence_numbers.c
/openbmc/hiomapd/test/write_flush_v2.c
/openbmc/hiomapd/test/write_window_dirty_erase.c
/openbmc/hiomapd/transport_mbox.c
/openbmc/hiomapd/transport_mbox.h
/openbmc/hiomapd/vpnor/Makefile.am.include
/openbmc/hiomapd/vpnor/mboxd_pnor_partition_table.cpp
/openbmc/hiomapd/vpnor/test/Makefile.am.include
/openbmc/hiomapd/vpnor/test/dump_flash.cpp
/openbmc/hiomapd/vpnor/transport_mbox.cpp
/openbmc/hiomapd/vpnor/transport_mbox.hpp
/openbmc/hiomapd/windows.c
/openbmc/hiomapd/windows.h
f593b1bd07-Aug-2018 Andrew Jeffery <andrew@aj.id.au>

mboxd: Rename windows files

Change-Id: I44e110906fd0f751f8f34b175f971e65896a7301
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>

cd18611e07-Aug-2018 Andrew Jeffery <andrew@aj.id.au>

mboxd: Rename lpc source files

Change-Id: I289618c90b2df8911e362397b7eab99403c86c05
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>

eebc6bd407-Aug-2018 Andrew Jeffery <andrew@aj.id.au>

mboxd: Rename flash files

Change-Id: Icfe9d61775a198c5a0f8227bf5d6c4b7f11aeec3
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>

55f4d6f905-Aug-2018 Andrew Jeffery <andrew@aj.id.au>

dbus: Use new bus name, object and interface

The new interface is a more typical use of DBus, exposing multiple
methods for the functions that are available on the object. The legacy
interface by co

dbus: Use new bus name, object and interface

The new interface is a more typical use of DBus, exposing multiple
methods for the functions that are available on the object. The legacy
interface by comparison exposed only one method whose arguments selected
sub-commands to be executed. The legacy approach is not terribly
discoverable and leads to a lack of clarity in the client code. The
legacy approach also obscured the implementation with its use of `struct
mbox_dbus_msg`. The new interface wraps around the existing helpers and
so also deals with `struct mbox_dbus_msg`, but this can at least be
removed in the future.

Change-Id: I7113ed8fd2324bf3fb049d8d20acb3fd7fba6de3
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>

show more ...

6c3ccf8c10-Nov-2017 Brandon Wyman <bjwyman@gmail.com>

Point mailbox daemon documentation to mboxbridge

Simlar to the update to mbox_protocol.md, those looking for the
documentation on the mailbox daemon should refer to the more
up-to-date version in th

Point mailbox daemon documentation to mboxbridge

Simlar to the update to mbox_protocol.md, those looking for the
documentation on the mailbox daemon should refer to the more
up-to-date version in the openbmc/mboxbridge repository.

Change-Id: Iedea144ee70c9c4059f08ccb131ddc4ecec7ad36
Signed-off-by: Brandon Wyman <bjwyman@gmail.com>

show more ...

987672af10-Nov-2017 Brandon Wyman <bjwyman@gmail.com>

Point mailbox control protocol to mboxbridge

Similar to the update to mbox_protocol.md, those looking for this
documentation should refer to the more up-to-date version in the
openbmc/mboxbridge rep

Point mailbox control protocol to mboxbridge

Similar to the update to mbox_protocol.md, those looking for this
documentation should refer to the more up-to-date version in the
openbmc/mboxbridge repository.

Change-Id: I659f9a26822b81e99261c855f3ee61392bc9d6d5
Signed-off-by: Brandon Wyman <bjwyman@gmail.com>

show more ...

6577ef3403-Oct-2017 Suraj Jitindar Singh <sjitindarsingh@gmail.com>

docs: Specify V3 of the mbox protocol

Version 3 of the mbox protocol makes four protocol changes:
- Add a requested block size argument to GET_MBOX_INFO
- Add a no erase argument to MARK_DIRTY
-

docs: Specify V3 of the mbox protocol

Version 3 of the mbox protocol makes four protocol changes:
- Add a requested block size argument to GET_MBOX_INFO
- Add a no erase argument to MARK_DIRTY
- Add a GET_FLASH_NAME command and support multiple flash devices
- Add a MARK_LOCKED command

Requested Block Size:
The requested block size argument has been added to the GET_MBOX_INFO
command to allow the host to request a specified block size which might
be required to allow data manipulation at a finer granularity. The
daemon should take this into account when choosing a block size for use
which it will specify in the response as before. The daemon has final
say and the host must use the block size the daemon chooses.

No Erase:
The no erase argument to the mark dirty command allows a host to specify
that an area of flash should not be erased before being written to, as is
the default behaviour. This can be used when a host has already erased a
large area and then performs many small writes which would normally mean
many erases due to the implicit erase before write, making this slow.

Add GET_FLASH_NAME command:
The ability to support multiple flash devices has been added so that the
mbox protocol can be used to arbitrate access from the host to a number
of flash devices which the daemon has access to. To facilitate this the
GET_FLASH_INFO, CREATE_{READ/WRITE}_WINDOW, and MARK_LOCKED commands now
take a flash ID, with the number of flash IDs allocated returned by the
GET_MBOX_INFO commands. There is also a new command GET_FLASH_NAME used
to convert a flash ID to a flash name.

Add MARK_LOCKED command:
The MARK_LOCKED command has been added to allow an area(s) of flash to be
locked, that is that area must be treated as read only and the host is
not allowed to dirty or erase any windows which map that area of flash.
Additionally another error code LOCKED_ERROR was added to be returned
when the host does try to dirty or erase a locked area.

The host cannot lock a currently dirty or erased area of the current
write window as it is not defined if the clean/dirty/erased value is
what should actually be "locked".

A locked area of flash remains so until the daemon receives an
mboxctl --clear-locked command and the locked areas are stored in a file
on the BMC filesystem to ensure persistence across BMC reboots/daemon
crashes.

Multiple flash device support proposed and defined by:
William A. Kennington III <wak@google.com>

Change-Id: I898698840dec221ae20e33943bb28e65abc4fe37
Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Acked-by: Adriana Kobylak <anoo@us.ibm.com>
Reviewed-by: William A. Kennington III <wak@google.com>
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>

show more ...

97578a6b17-Aug-2017 Gunnar Mills <gmills@us.ibm.com>

Spelling and grammar fixes for mboxd.md

Change-Id: Ie653e70d709d5d616666bbc072042589d16a802f
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>

4bcf02bf17-Aug-2017 Gunnar Mills <gmills@us.ibm.com>

Spelling and grammar fixes for mbox_protocol.md

Change-Id: I506fd571ad93ecd548c94ff119c910aa873bf1d7
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>

a037075424-May-2017 Andrew Jeffery <andrew@aj.id.au>

Documentation: Point to canonical protocol documentation

Avoid conflicts in the protocol documentation by pointing back to the
reference implementation.

Change-Id: I380f32dab2e9b8bbeec25b9abffe9c54

Documentation: Point to canonical protocol documentation

Avoid conflicts in the protocol documentation by pointing back to the
reference implementation.

Change-Id: I380f32dab2e9b8bbeec25b9abffe9c5427b76bd3
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>

show more ...

6479ed4025-Apr-2017 Suraj Jitindar Singh <sjitindarsingh@gmail.com>

docs: Add suggested timeout response argument to GET_MBOX_INFO

It would be nice to suggest to the host how long it should wait for a
response to a command before assuming that the BMC is not going t

docs: Add suggested timeout response argument to GET_MBOX_INFO

It would be nice to suggest to the host how long it should wait for a
response to a command before assuming that the BMC is not going to
respond and timing out.

Add a response argument for this to the GET_MBOX_INFO command. We don't want
to require a BMC to set this so we allow it to be zero to indicate that no
suggestion has been given.

This doesn't require us to bump the protocol number since the current daemon
just sets this to zero (which is allowed) and the host is free to ignore this,
which it currently does.

Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Change-Id: Idd65a5660e0092b9abd98829403b981fd26f8bbe

show more ...

a92f175226-Apr-2017 Suraj Jitindar Singh <sjitindarsingh@gmail.com>

docs: Stipulate register 13 must be written last when writing a response

Writes to register 13 (Response Code) are what is used to generate an
interrupt to the host. On receiving this interrupt the

docs: Stipulate register 13 must be written last when writing a response

Writes to register 13 (Response Code) are what is used to generate an
interrupt to the host. On receiving this interrupt the host can start
processing the entire response message. Thus to ensure that the host
is processing the correct mbox response register 13 must be the last
to be written.

Stipulate in the protocol documentation that the last register to be
written by the BMC when writing a response must be the response code
into register 13.

Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Change-Id: I2b4e14a81d7bbffc990cfb83321ab219e3df1d82

show more ...

5a26e02525-Apr-2017 Suraj Jitindar Singh <sjitindarsingh@gmail.com>

docs: Stipulate that block size must be >= 4K and a power-of-2

Arguments and responses to most commands are given in block size which
is decided on during the version negotiation process when GET_MB

docs: Stipulate that block size must be >= 4K and a power-of-2

Arguments and responses to most commands are given in block size which
is decided on during the version negotiation process when GET_MBOX_INFO
is called.

We require that block size is greater than 4K (12 bit). The lpc bus
address space is 28 bit and commands which return an lpc bus address have
a 16 bit variable space, this means we can correctly specify anywhere in
the lpc address space.

This also allows us to support flash sizes up to 256MB where we can
correctly specify any flash offset in the command arguments.

Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Change-Id: Ia08979017a3c0ff229ce412948dc4c67d357e82b

show more ...

faeb88c025-Apr-2017 Suraj Jitindar Singh <sjitindarsingh@gmail.com>

docs: Reword create_{read/write}_window command spec

Reword the create_{read/write}_window command specification to make it
easier to understand and remove sentences which add no value or are
unnece

docs: Reword create_{read/write}_window command spec

Reword the create_{read/write}_window command specification to make it
easier to understand and remove sentences which add no value or are
unnecessarily verbose.

Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Change-Id: Idb1ac8da82d4a1ab379c55ff650ef410de86e715

show more ...


/openbmc/hiomapd/.gitignore
mbox_protocol.md
/openbmc/hiomapd/Makefile.am
/openbmc/hiomapd/bootstrap.sh
/openbmc/hiomapd/common.c
/openbmc/hiomapd/common.h
/openbmc/hiomapd/configure.ac
/openbmc/hiomapd/mbox.h
/openbmc/hiomapd/mboxd_flash.c
/openbmc/hiomapd/mboxd_flash.h
/openbmc/hiomapd/mboxd_lpc.c
/openbmc/hiomapd/mboxd_msg.c
/openbmc/hiomapd/mboxd_windows.h
/openbmc/hiomapd/mtd.c
/openbmc/hiomapd/test/bmc_event_ack_v2.c
/openbmc/hiomapd/test/close_window_v2.c
/openbmc/hiomapd/test/copy_flash.c
/openbmc/hiomapd/test/create_oversize_window.c
/openbmc/hiomapd/test/create_read_window_v2.c
/openbmc/hiomapd/test/create_write_window_v2.c
/openbmc/hiomapd/test/create_zero_size_window.c
/openbmc/hiomapd/test/erase_flash.c
/openbmc/hiomapd/test/get_flash_info_v2.c
/openbmc/hiomapd/test/get_mbox_info_v2.c
/openbmc/hiomapd/test/implicit_flush.c
/openbmc/hiomapd/test/invalid_command.c
/openbmc/hiomapd/test/mark_read_dirty.c
/openbmc/hiomapd/test/mark_write_dirty_v2.c
/openbmc/hiomapd/test/mark_write_erased_v2.c
/openbmc/hiomapd/test/mbox.c
/openbmc/hiomapd/test/mbox.h
/openbmc/hiomapd/test/read_window_cycle.c
/openbmc/hiomapd/test/read_window_mark_write_erased.c
/openbmc/hiomapd/test/read_window_write_flush.c
/openbmc/hiomapd/test/request_high_version.c
/openbmc/hiomapd/test/request_low_version.c
/openbmc/hiomapd/test/reset_state.c
/openbmc/hiomapd/test/sanity.c
/openbmc/hiomapd/test/sequence_numbers.c
/openbmc/hiomapd/test/system.c
/openbmc/hiomapd/test/system.h
/openbmc/hiomapd/test/tmpf.c
/openbmc/hiomapd/test/tmpf.h
/openbmc/hiomapd/test/write_flash.c
/openbmc/hiomapd/test/write_flush_v2.c
/openbmc/hiomapd/test/write_window_dirty_erase.c
55dede6b24-Apr-2017 Andrew Jeffery <andrew@aj.id.au>

mbox: Clarify sequence number constraints

And implement the specified behaviour.

Change-Id: I268d5896aa8dda3875cd79f4ff18929c8e3aea49
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>

591b817f24-Apr-2017 Andrew Jeffery <andrew@aj.id.au>

mbox: 'regsiter' typo in protocol documentation

Change-Id: Ic78359102aae580dadb4de782f7ea025aaa3f4ad
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>

fb25aa7723-Apr-2017 Andrew Jeffery <andrew@aj.id.au>

mbox: Clarify protocol version negotion

The specification intended that the mbox daemon return its highest
supported protocol version less-than-or-equal to the version requested
by the host. This wa

mbox: Clarify protocol version negotion

The specification intended that the mbox daemon return its highest
supported protocol version less-than-or-equal to the version requested
by the host. This was not clear in the documentation and was not the
behaviour implemented by the daemon.

Fix both the documentation and the daemon to perform to this
expectation.

Change-Id: I6f9cf0b16d2b9319d69656eb26defb46dccd4ddf
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>

show more ...

04e8ffda10-Apr-2017 Suraj Jitindar Singh <sjitindarsingh@gmail.com>

docs: Create Documentation folder and add mboxd and mboxctl documentation

Create a separate folder for documentation called Documentation.

Move the protocol definition into a file in this folder ca

docs: Create Documentation folder and add mboxd and mboxctl documentation

Create a separate folder for documentation called Documentation.

Move the protocol definition into a file in this folder called
mbox_protocol.md and update the README.md to explain the files in the
docs folder.

Also add two other files to the folder called mboxd.md and mboxctl.md
which document the operation of the reference implementations of the
mailbox daemon and the mailbox control program respectively.

Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Change-Id: I9f818700ad1e36a396a828f0f085b42cc106b550

show more ...