History log of /openbmc/phosphor-mboxd/vpnor/test/ (Results 1 – 4 of 4)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
506f2f5526-Mar-2018 Andrew Jeffery <andrew@aj.id.au>

test: vpnor: Use MAP_SHARED for read-only file memory map

It's not well defined whether a private mapping of a resource that is
MAP_SHARED on a separate file descriptor will see the updates done via

test: vpnor: Use MAP_SHARED for read-only file memory map

It's not well defined whether a private mapping of a resource that is
MAP_SHARED on a separate file descriptor will see the updates done via
the shared mapping, though under Linux if the private mapping is not
written then we can expect updates from the shared mapping to propagate
(copy-on-write). However, we get a concrete guarantee of the desired
behaviour (observing the effects of the write) if we use MAP_SHARED.

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

show more ...

52a8319626-Mar-2018 Andrew Jeffery <andrew@aj.id.au>

vpnor: Add handler for CREATE_WRITE_WINDOW

The virtual PNOR implementation enforces the read-only attribute of FFS
partitions, which is a departure from how things were handled
previously. In the pa

vpnor: Add handler for CREATE_WRITE_WINDOW

The virtual PNOR implementation enforces the read-only attribute of FFS
partitions, which is a departure from how things were handled
previously. In the past it was purely up to the host to respect the
flags set on the partition, but nothing prevented the host from
modifying it. Now it's possible for errors to occur when the host
attempts to flush changes back to the flash: mboxd can deny the change.
This denial can happen in a number of circumstances:

1. An explicit WRITE_FLUSH command from the host
2. An implicit WRITE_FLUSH via an explicit CLOSE_WINDOW command
3. An implicit WRITE_FLUSH via CREATE_{READ,WRITE}_WINDOW, which happens
via the implicit CLOSE_WINDOW

All of these attempts will fail if the write to the currently open
window cannot be allowed to succeed. Failing to open a read window due
to failure to flush pending writes is particularly painful, as we are
not able to ever successfully open a window again.

Instead, detect when the host attempts to open a write window over a
anything but a writeable partition. If this case is detected, return an
error for the CREATE_WRITE_WINDOW operation to prevent systemic failures
later on.

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

show more ...

943aba0626-Mar-2018 Andrew Jeffery <andrew@aj.id.au>

vpnor: Configure a handler table in init_vpnor()

Currently the table just mirrors that which is set by the regular
implementation, however getting to that point requires massaging the
code a little.

vpnor: Configure a handler table in init_vpnor()

Currently the table just mirrors that which is set by the regular
implementation, however getting to that point requires massaging the
code a little. Thus, separate out this change from one that changes the
behaviour of the commands to improve the readability of the latter
change.

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

show more ...

30bcf84c25-Mar-2018 Andrew Jeffery <andrew@aj.id.au>

test: Move vpnor tests to vpnor directory

In the spirit of things that are together should be kept together. The
repository layout now better corresponds to upstream with the exception
of the vpnor

test: Move vpnor tests to vpnor directory

In the spirit of things that are together should be kept together. The
repository layout now better corresponds to upstream with the exception
of the vpnor directory and some modifications to Makefile.am

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

show more ...


/openbmc/phosphor-mboxd/.clang-format-c
/openbmc/phosphor-mboxd/.clang-format-c++
/openbmc/phosphor-mboxd/.gitignore
/openbmc/phosphor-mboxd/Documentation/mbox_protocol.md
/openbmc/phosphor-mboxd/Documentation/mboxctl.md
/openbmc/phosphor-mboxd/Documentation/mboxd.md
/openbmc/phosphor-mboxd/LICENSE
/openbmc/phosphor-mboxd/Makefile.am
/openbmc/phosphor-mboxd/README.md
/openbmc/phosphor-mboxd/bootstrap.sh
/openbmc/phosphor-mboxd/common.c
/openbmc/phosphor-mboxd/common.h
/openbmc/phosphor-mboxd/configure.ac
/openbmc/phosphor-mboxd/dbus.h
/openbmc/phosphor-mboxd/format-code.sh
/openbmc/phosphor-mboxd/m4/.keep
/openbmc/phosphor-mboxd/mbox.h
/openbmc/phosphor-mboxd/mboxctl.c
/openbmc/phosphor-mboxd/mboxd.c
/openbmc/phosphor-mboxd/mboxd_dbus.c
/openbmc/phosphor-mboxd/mboxd_dbus.h
/openbmc/phosphor-mboxd/mboxd_flash.c
/openbmc/phosphor-mboxd/mboxd_flash.h
/openbmc/phosphor-mboxd/mboxd_lpc.c
/openbmc/phosphor-mboxd/mboxd_lpc.h
/openbmc/phosphor-mboxd/mboxd_lpc_reset.c
/openbmc/phosphor-mboxd/mboxd_msg.c
/openbmc/phosphor-mboxd/mboxd_msg.h
/openbmc/phosphor-mboxd/mboxd_windows.c
/openbmc/phosphor-mboxd/mboxd_windows.h
/openbmc/phosphor-mboxd/mtd.c
/openbmc/phosphor-mboxd/test/Makefile.am.include
/openbmc/phosphor-mboxd/test/bmc_event_ack_v2.c
/openbmc/phosphor-mboxd/test/close_window_v2.c
/openbmc/phosphor-mboxd/test/copy_flash.c
/openbmc/phosphor-mboxd/test/create_oversize_window.c
/openbmc/phosphor-mboxd/test/create_read_window_v2.c
/openbmc/phosphor-mboxd/test/create_write_window_v2.c
/openbmc/phosphor-mboxd/test/create_zero_size_window.c
/openbmc/phosphor-mboxd/test/erase_flash.c
/openbmc/phosphor-mboxd/test/get_flash_info_v2.c
/openbmc/phosphor-mboxd/test/get_mbox_info_v2.c
/openbmc/phosphor-mboxd/test/get_mbox_info_v2_timeout.c
/openbmc/phosphor-mboxd/test/implicit_flush.c
/openbmc/phosphor-mboxd/test/invalid_command.c
/openbmc/phosphor-mboxd/test/mark_read_dirty.c
/openbmc/phosphor-mboxd/test/mark_write_dirty_v2.c
/openbmc/phosphor-mboxd/test/mark_write_erased_v2.c
/openbmc/phosphor-mboxd/test/mbox.c
/openbmc/phosphor-mboxd/test/mbox.h
/openbmc/phosphor-mboxd/test/read_window_cycle.c
/openbmc/phosphor-mboxd/test/read_window_mark_write_erased.c
/openbmc/phosphor-mboxd/test/read_window_write_flush.c
/openbmc/phosphor-mboxd/test/request_high_version.c
/openbmc/phosphor-mboxd/test/request_low_version.c
/openbmc/phosphor-mboxd/test/reset_state.c
/openbmc/phosphor-mboxd/test/sanity.c
/openbmc/phosphor-mboxd/test/sequence_numbers.c
/openbmc/phosphor-mboxd/test/system.c
/openbmc/phosphor-mboxd/test/system.h
/openbmc/phosphor-mboxd/test/tmpf.c
/openbmc/phosphor-mboxd/test/tmpf.h
/openbmc/phosphor-mboxd/test/write_flash.c
/openbmc/phosphor-mboxd/test/write_flush_v2.c
/openbmc/phosphor-mboxd/test/write_window_dirty_erase.c
/openbmc/phosphor-mboxd/vpnor/Makefile.am.include
/openbmc/phosphor-mboxd/vpnor/mboxd_flash.cpp
/openbmc/phosphor-mboxd/vpnor/mboxd_lpc_reset.cpp
/openbmc/phosphor-mboxd/vpnor/mboxd_pnor_partition_table.cpp
/openbmc/phosphor-mboxd/vpnor/mboxd_pnor_partition_table.h
/openbmc/phosphor-mboxd/vpnor/pnor_partition.cpp
/openbmc/phosphor-mboxd/vpnor/pnor_partition.hpp
/openbmc/phosphor-mboxd/vpnor/pnor_partition_defs.h
/openbmc/phosphor-mboxd/vpnor/pnor_partition_table.cpp
/openbmc/phosphor-mboxd/vpnor/pnor_partition_table.hpp
Makefile.am.include
create_pnor_partition_table.cpp
create_read_window_oob.cpp
create_read_window_partition_exists.cpp
create_read_window_partition_invalid.cpp
create_read_window_remap.cpp
create_read_window_size.cpp
create_read_window_straddle_partitions.cpp
create_read_window_toc.cpp
create_write_window_ro_partition.cpp
create_write_window_rw_partition.cpp
create_write_window_unmapped.cpp
dump_flash.cpp
read_patch.cpp
tmpd.cpp
tmpd.hpp
toc_flags.cpp
toc_lookup_failed.cpp
toc_lookup_found.cpp
toc_missing_file.cpp
toc_no_end.cpp
toc_no_name.cpp
toc_no_start.cpp
toc_no_version.cpp
toc_overlap.cpp
toc_start_gt_end.cpp
write_patch.cpp
write_patch_resize.cpp
write_prsv.cpp
write_ro.cpp
write_rw.cpp
/openbmc/phosphor-mboxd/xyz/openbmc_project/Mboxd/Internal/Manager.interface.yaml