#
150be912 |
| 16-Jun-2022 |
Patrick Williams <patrick@stwcx.xyz> |
switch experimental::fs to std::fs
std::filesystem was added to C++17 and is well supported now. Remove the older std::experimental::filesystem usage.
Signed-off-by: Patrick Williams <patrick@stwc
switch experimental::fs to std::fs
std::filesystem was added to C++17 and is well supported now. Remove the older std::experimental::filesystem usage.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I6d1ef0f3ac02954ddbffc332393fa11930dffad7
show more ...
|
#
8cef63e3 |
| 15-Oct-2019 |
Alvin Wang <alvinwang@msn.com> |
Add backend_adjust_offset to avoid the windows overlap In mihawk, the windows overlap will cause the cache coherence. Hostboot writes the SPD data to BMC through a window and read it
Add backend_adjust_offset to avoid the windows overlap In mihawk, the windows overlap will cause the cache coherence. Hostboot writes the SPD data to BMC through a window and read it back with another window. It causes the data missed and DIMM lost. Hostboot log 23.80714|<<DBG-956|SPD::getMemType() - MemType: 0xff, Error: NoHUID: 0x30008. BMC log: The overlaped windows Window @ 0x756e0000 for size 0x00046000 maps flash offset 0x000e7000 Window @ 0x757e0000 for size 0x00048000 maps flash offset 0x000e5000 Tested: 1. In mihawk, it can fix the SPD cache coherence issue 2. Add unit test to verify VPNOR offset alignment Change-Id: I92670ade4e2a91b5c49a0acabfc0456f90d49b93 Signed-off-by: Alvin Wang <alvinwang@msn.com> [AJ: Remove some MSG_INFO() spam, fix whitespace issues] Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
show more ...
|
#
81059e32 |
| 18-Mar-2019 |
Andrew Jeffery <andrew@aj.id.au> |
Makefiles: Centralise some use of VIRTUAL_PNOR_ENABLED Better that we try to keep all the conditional junk near the top of the tree. Change-Id: Ic9e8dca892dcf15607bace9f630f4d10
Makefiles: Centralise some use of VIRTUAL_PNOR_ENABLED Better that we try to keep all the conditional junk near the top of the tree. Change-Id: Ic9e8dca892dcf15607bace9f630f4d107e1a4b4e Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
show more ...
|
#
de08ca2d |
| 17-Mar-2019 |
Andrew Jeffery <andrew@aj.id.au> |
vpnor: Rename pnor_partition_table sources to table Change-Id: I95c5129aa81a7b4a4d88ce2f7edf6a10a3c94b98 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
|
#
fb01e14e |
| 17-Mar-2019 |
Andrew Jeffery <andrew@aj.id.au> |
vpnor: Rename pnor_partition sources to partition Change-Id: I7fb3ba5071c94595449c5469625564233cc8d752 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
|
#
035ad76b |
| 17-Mar-2019 |
Andrew Jeffery <andrew@aj.id.au> |
vpnor: Consolidate backend and mboxd_pnor_partition_table sources Change-Id: Ibf66c3a86c2a50e2304fb968f8c912ede84cf719 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
|
#
f1e547c7 |
| 13-Mar-2019 |
Evan Lojewski <github@meklort.com> |
mboxd: Add a backend abstraction layer to mboxd. Introduce a backend abstraction, enabling multiple implementations to be compiled in at once. This change formally abstracts the two exis
mboxd: Add a backend abstraction layer to mboxd. Introduce a backend abstraction, enabling multiple implementations to be compiled in at once. This change formally abstracts the two existing backends, mtd and vpnor. With the backend abstraction in place, subsequent backends are easier to implement. This change is based of Evan's work and he retains authorship credit. I (AJ) have reworked the patch to pass the vpnor tests, refactored some parts to enable broader use of const structures and others to clarify the initialisation sequences. Due to the existing lack of abstraction the patch has unfortunately wide-ranging impacts. I've whittled it down as much as I consider reasonable. Change-Id: I29984a36dae4ea86ec00b853d2a756f0b9afb3ec Signed-off-by: Evan Lojewski <github@meklort.com> Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
show more ...
|
#
cb93504e |
| 14-Mar-2019 |
Andrew Jeffery <andrew@aj.id.au> |
flash: Introduce flash_validate() Clean up the protocol_negotiate_version() mess. The existing approach came about due to viewing the vpnor implementation as an edge case in its own
flash: Introduce flash_validate() Clean up the protocol_negotiate_version() mess. The existing approach came about due to viewing the vpnor implementation as an edge case in its own right. The code becomes much neater if we consider all backends as equal and afford them the callbacks necessary for correct behaviour. Change-Id: Ifaeee9da459818cf22b2f137ddc5b8d0356b9be9 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
show more ...
|
#
7a85d22a |
| 13-Nov-2018 |
Andrew Jeffery <andrew@aj.id.au> |
vpnor: Enforce a read-only FFS ToC regardless of flags The virtual PNOR implementation never properly honoured writes to the FFS ToC, as the ToC's binary representation is generated from
vpnor: Enforce a read-only FFS ToC regardless of flags The virtual PNOR implementation never properly honoured writes to the FFS ToC, as the ToC's binary representation is generated from the CSV file shipped in the PNOR squashfs image. What *did* happen was that opening a write window to the ToC region succeeded and writes could be flushed, but the flushed writes were never read, and ToC representation internal to mboxd was never updated to match the written state. Thus the written values "persisted" until the ToC's window fell out of the cache (with 64MiB reserved regions, probably on a host reboot). Short circuit the insanity of handling FFS more than we have to by forcefully marking the ToC as read-only, regardless of the flag configuration shipped in the CSV representation. This prevents the host from successfully opening a write window and thus the host can have no expectation of write persistence. Change-Id: Ib2788c56b245da506cb7d607c0758b17785766cf Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
show more ...
|
#
8a0efd5e |
| 13-Nov-2018 |
Andrew Jeffery <andrew@aj.id.au> |
vpnor: test: Add force_readonly_toc This ensures that the ToC presented to the host indicates that it is not writable. The virtual PNOR implementation has never properly honoured wri
vpnor: test: Add force_readonly_toc This ensures that the ToC presented to the host indicates that it is not writable. The virtual PNOR implementation has never properly honoured writes to the ToC, so lets at least tell the host. As the code has not yet been fixed to implement the desired behaviour, add the test to XFAIL_TESTS. Change-Id: Ia13a0f907f916d6dec3979b17685d54bc578a106 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
show more ...
|
#
89985754 |
| 12-Nov-2018 |
Andrew Jeffery <andrew@aj.id.au> |
vpnor: Add write-to-writable-ToC test Tests if mutations survive re-opening the window. They don't, so add the test to XFAIL_TESTS. Change-Id: Ic2f844c30a7da35033bf03012ea452718
vpnor: Add write-to-writable-ToC test Tests if mutations survive re-opening the window. They don't, so add the test to XFAIL_TESTS. Change-Id: Ic2f844c30a7da35033bf03012ea452718d2843e4 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
show more ...
|
#
c7d1947e |
| 07-Aug-2018 |
Andrew Jeffery <andrew@aj.id.au> |
vpnor: Hijack protocol rather than transport By hijacking the transport the changes in behaviour were limited to the mailbox interface. Now that we have a DBus interface as well this wou
vpnor: Hijack protocol rather than transport By hijacking the transport the changes in behaviour were limited to the mailbox interface. Now that we have a DBus interface as well this would lead to inconsistent behaviour dependent on the transport. Instead of hooking the transport, push the hook down to the protocol level where we will achieve consistent behaviour across all transports. Change-Id: I437866a6dbda107149336c15a00ee1aa058f5875 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
show more ...
|
#
1e531afd |
| 06-Aug-2018 |
Andrew Jeffery <andrew@aj.id.au> |
protocol: Add get_info Change-Id: Ie3338714813bb65f5d37fcd046dd5bebc0ba21f0 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
|
#
457a6e5f |
| 07-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>
|
#
f593b1bd |
| 07-Aug-2018 |
Andrew Jeffery <andrew@aj.id.au> |
mboxd: Rename windows files Change-Id: I44e110906fd0f751f8f34b175f971e65896a7301 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
|
#
cd18611e |
| 07-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>
|
#
eebc6bd4 |
| 07-Aug-2018 |
Andrew Jeffery <andrew@aj.id.au> |
mboxd: Rename flash files Change-Id: Icfe9d61775a198c5a0f8227bf5d6c4b7f11aeec3 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
|
#
acdbdd14 |
| 02-Aug-2018 |
Andrew Jeffery <andrew@aj.id.au> |
Unfork phosphor-mboxd from mboxbridge Change-Id: I1b3b9d7fd47719594c1de027389959a5a9a3ea7a Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
|
Revision tags: v2.1.1 |
|
#
52a83196 |
| 26-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 previ
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 ...
|
#
943aba06 |
| 26-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
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 ...
|
#
30bcf84c |
| 25-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
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 ...
|