Message ID | 20180307060459.18338-1-cyril.bur@au1.ibm.com |
---|---|
Headers | show |
Series | libflash blocklevel ECC corrections | expand |
On Wed, 2018-03-07 at 17:04 +1100, Cyril Bur wrote: > V1 was submitted almost a year ago: > https://lists.ozlabs.org/pipermail/skiboot/2017-April/006977.html > > The core of the problem still exists, this problem does still need to > get addressed in blocklevel rather than individually in each tool. > > I've rebased this onto master and double checked that everything > still appears to work. > > Both the gard tool and pflash built with this series have are: > Tested-by: Pridhiviraj Paidipeddi <ppaidipe@linux.vnet.ibm.com> > > Stewart, I'm not sure if this means we should put the tag on all > patches or just the last one. I've put it on the last one because > that makes the most sense to me. Reviewed-by: Samuel Mendoza-Jonas <sam@mendozajonas.com> And heavily endorsed since bugs due to this were a huge pain to debug :) Essentially we can never turn ECC back on for NVRAM without these changes since the Linux kernel will try to write the lnx,oops-log partition at an unaligned address. > > > Cyril Bur (5): > gitignore: Add stb test kernel files > libflash/ecc: Add functions to deal with unaligned ECC memcpy > libflash/ecc: Add helpers to align a position within an ecc buffer > libflash/blocklevel: Return region start from ecc_protected() > libflash/blocklevel: Make read/write be ECC agnostic for callers > > .gitignore | 3 + > external/gard/gard.c | 49 +++--- > libflash/blocklevel.c | 137 ++++++++++++++--- > libflash/ecc.c | 247 +++++++++++++++++++++++++++--- > libflash/ecc.h | 9 ++ > libflash/test/test-blocklevel.c | 330 +++++++++++++++++++++++++++++++++++----- > libflash/test/test-ecc.c | 31 ++++ > 7 files changed, 701 insertions(+), 105 deletions(-) >
On Thu, 2018-03-08 at 15:03 +1100, Samuel Mendoza-Jonas wrote: > On Wed, 2018-03-07 at 17:04 +1100, Cyril Bur wrote: > > V1 was submitted almost a year ago: > > https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.ozlabs.org_pipermail_skiboot_2017-2DApril_006977.html&d=DwICaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=enAa2wJuZFP2PsCNSamrs-fnBSp0sgKE8NVKBN2MoOk&m=oBR8sexxUpHnpWQzH6srRNUq_Z-DXZohtQk6wC5Vz84&s=6XCN_fCIoW1EcRtTwauRMcNJL7IkY5CpHF-xrDcRB7k&e= > > > > The core of the problem still exists, this problem does still need to > > get addressed in blocklevel rather than individually in each tool. > > > > I've rebased this onto master and double checked that everything > > still appears to work. > > > > Both the gard tool and pflash built with this series have are: > > Tested-by: Pridhiviraj Paidipeddi <ppaidipe@linux.vnet.ibm.com> > > > > Stewart, I'm not sure if this means we should put the tag on all > > patches or just the last one. I've put it on the last one because > > that makes the most sense to me. > > Reviewed-by: Samuel Mendoza-Jonas <sam@mendozajonas.com> > Thanks! > And heavily endorsed since bugs due to this were a huge pain to debug :) > Essentially we can never turn ECC back on for NVRAM without these changes > since the Linux kernel will try to write the lnx,oops-log partition at an > unaligned address. > Oh and much bigger thanks for remembering this particular example of the bug. That was a massive pain. > > > > > > Cyril Bur (5): > > gitignore: Add stb test kernel files > > libflash/ecc: Add functions to deal with unaligned ECC memcpy > > libflash/ecc: Add helpers to align a position within an ecc buffer > > libflash/blocklevel: Return region start from ecc_protected() > > libflash/blocklevel: Make read/write be ECC agnostic for callers > > > > .gitignore | 3 + > > external/gard/gard.c | 49 +++--- > > libflash/blocklevel.c | 137 ++++++++++++++--- > > libflash/ecc.c | 247 +++++++++++++++++++++++++++--- > > libflash/ecc.h | 9 ++ > > libflash/test/test-blocklevel.c | 330 +++++++++++++++++++++++++++++++++++----- > > libflash/test/test-ecc.c | 31 ++++ > > 7 files changed, 701 insertions(+), 105 deletions(-) > > > >
Samuel Mendoza-Jonas <sam@mendozajonas.com> writes: > On Wed, 2018-03-07 at 17:04 +1100, Cyril Bur wrote: >> V1 was submitted almost a year ago: >> https://lists.ozlabs.org/pipermail/skiboot/2017-April/006977.html >> >> The core of the problem still exists, this problem does still need to >> get addressed in blocklevel rather than individually in each tool. >> >> I've rebased this onto master and double checked that everything >> still appears to work. >> >> Both the gard tool and pflash built with this series have are: >> Tested-by: Pridhiviraj Paidipeddi <ppaidipe@linux.vnet.ibm.com> >> >> Stewart, I'm not sure if this means we should put the tag on all >> patches or just the last one. I've put it on the last one because >> that makes the most sense to me. > > Reviewed-by: Samuel Mendoza-Jonas <sam@mendozajonas.com> > > And heavily endorsed since bugs due to this were a huge pain to debug :) > Essentially we can never turn ECC back on for NVRAM without these changes > since the Linux kernel will try to write the lnx,oops-log partition at an > unaligned address. Well, we should be able to do that now. Merged the series as of 5616c42d900afb04a4df77fe0a882f5258239211 and am only *slightly* nervous about that :) But hey, YOLO it's only ECC and flash, right?
V1 was submitted almost a year ago: https://lists.ozlabs.org/pipermail/skiboot/2017-April/006977.html The core of the problem still exists, this problem does still need to get addressed in blocklevel rather than individually in each tool. I've rebased this onto master and double checked that everything still appears to work. Both the gard tool and pflash built with this series have are: Tested-by: Pridhiviraj Paidipeddi <ppaidipe@linux.vnet.ibm.com> Stewart, I'm not sure if this means we should put the tag on all patches or just the last one. I've put it on the last one because that makes the most sense to me. Cyril Bur (5): gitignore: Add stb test kernel files libflash/ecc: Add functions to deal with unaligned ECC memcpy libflash/ecc: Add helpers to align a position within an ecc buffer libflash/blocklevel: Return region start from ecc_protected() libflash/blocklevel: Make read/write be ECC agnostic for callers .gitignore | 3 + external/gard/gard.c | 49 +++--- libflash/blocklevel.c | 137 ++++++++++++++--- libflash/ecc.c | 247 +++++++++++++++++++++++++++--- libflash/ecc.h | 9 ++ libflash/test/test-blocklevel.c | 330 +++++++++++++++++++++++++++++++++++----- libflash/test/test-ecc.c | 31 ++++ 7 files changed, 701 insertions(+), 105 deletions(-)