History log of /openbmc/hiomapd/vpnor/test/Makefile.am.include (Results 1 – 21 of 21)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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 ...