{"id":806965,"url":"http://patchwork.ozlabs.org/api/1.0/covers/806965/?format=json","project":{"id":44,"url":"http://patchwork.ozlabs.org/api/1.0/projects/44/?format=json","name":"skiboot firmware development","link_name":"skiboot","list_id":"skiboot.lists.ozlabs.org","list_email":"skiboot@lists.ozlabs.org","web_url":"http://github.com/open-power/skiboot","scm_url":"http://github.com/open-power/skiboot","webscm_url":""},"msgid":"<20170829062506.8317-1-cyril.bur@au1.ibm.com>","date":"2017-08-29T06:24:53","name":"[RFC,00/13] Rework flash TOC generation","submitter":{"id":64738,"url":"http://patchwork.ozlabs.org/api/1.0/people/64738/?format=json","name":"Cyril Bur","email":"cyril.bur@au1.ibm.com"},"series":[{"id":313,"url":"http://patchwork.ozlabs.org/api/1.0/series/313/?format=json","date":"2017-08-29T06:24:53","name":"Rework flash TOC generation","version":1,"mbox":"http://patchwork.ozlabs.org/series/313/mbox/"}],"headers":{"Return-Path":"<skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","skiboot@lists.ozlabs.org"],"Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","skiboot@lists.ozlabs.org"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xhJvZ454xz9t38\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 29 Aug 2017 16:41:46 +1000 (AEST)","from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3xhJvZ21HPzDrhG\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 29 Aug 2017 16:41:46 +1000 (AEST)","from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com\n\t[148.163.156.1])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3xhJXx19YMzDqTy\n\tfor <skiboot@lists.ozlabs.org>; Tue, 29 Aug 2017 16:25:36 +1000 (AEST)","from pps.filterd (m0098410.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id\n\tv7T6OH8b100253\n\tfor <skiboot@lists.ozlabs.org>; Tue, 29 Aug 2017 02:25:35 -0400","from e23smtp04.au.ibm.com (e23smtp04.au.ibm.com [202.81.31.146])\n\tby mx0a-001b2d01.pphosted.com with ESMTP id 2cmx61t6v1-1\n\t(version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT)\n\tfor <skiboot@lists.ozlabs.org>; Tue, 29 Aug 2017 02:25:34 -0400","from localhost\n\tby e23smtp04.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use\n\tOnly! Violators will be prosecuted\n\tfor <skiboot@lists.ozlabs.org> from <cyril.bur@au1.ibm.com>;\n\tTue, 29 Aug 2017 16:25:32 +1000","from d23relay10.au.ibm.com (202.81.31.229)\n\tby e23smtp04.au.ibm.com (202.81.31.210) with IBM ESMTP SMTP Gateway:\n\tAuthorized Use Only! Violators will be prosecuted; \n\tTue, 29 Aug 2017 16:25:31 +1000","from d23av04.au.ibm.com (d23av04.au.ibm.com [9.190.235.139])\n\tby d23relay10.au.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n\tv7T6PUlZ41943232\n\tfor <skiboot@lists.ozlabs.org>; Tue, 29 Aug 2017 16:25:30 +1000","from d23av04.au.ibm.com (localhost [127.0.0.1])\n\tby d23av04.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id\n\tv7T6PVv0017586\n\tfor <skiboot@lists.ozlabs.org>; Tue, 29 Aug 2017 16:25:31 +1000","from ozlabs.au.ibm.com (ozlabs.au.ibm.com [9.192.253.14])\n\tby d23av04.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id\n\tv7T6PU5Z017578; Tue, 29 Aug 2017 16:25:30 +1000","from camb691.ozlabs.ibm.com (haven.au.ibm.com [9.192.254.114])\n\t(using TLSv1.2 with cipher DHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby ozlabs.au.ibm.com (Postfix) with ESMTPSA id A5066A010B;\n\tTue, 29 Aug 2017 16:25:29 +1000 (AEST)"],"From":"Cyril Bur <cyril.bur@au1.ibm.com>","To":"skiboot@lists.ozlabs.org, stewart@linux.vnet.ibm.com","Date":"Tue, 29 Aug 2017 16:24:53 +1000","X-Mailer":"git-send-email 2.14.1","X-TM-AS-MML":"disable","x-cbid":"17082906-0012-0000-0000-0000025A9F58","X-IBM-AV-DETECTION":"SAVI=unused REMOTE=unused XFE=unused","x-cbparentid":"17082906-0013-0000-0000-0000077669DB","Message-Id":"<20170829062506.8317-1-cyril.bur@au1.ibm.com>","X-Proofpoint-Virus-Version":"vendor=fsecure engine=2.50.10432:, ,\n\tdefinitions=2017-08-29_01:, , signatures=0","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n\tspamscore=0 suspectscore=29\n\tmalwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam\n\tadjust=0 reason=mlx scancount=1 engine=8.0.1-1707230000\n\tdefinitions=main-1708290096","Subject":"[Skiboot] [RFC PATCH 00/13] Rework flash TOC generation","X-BeenThere":"skiboot@lists.ozlabs.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"Mailing list for skiboot development <skiboot.lists.ozlabs.org>","List-Unsubscribe":"<https://lists.ozlabs.org/options/skiboot>,\n\t<mailto:skiboot-request@lists.ozlabs.org?subject=unsubscribe>","List-Archive":"<http://lists.ozlabs.org/pipermail/skiboot/>","List-Post":"<mailto:skiboot@lists.ozlabs.org>","List-Help":"<mailto:skiboot-request@lists.ozlabs.org?subject=help>","List-Subscribe":"<https://lists.ozlabs.org/listinfo/skiboot>,\n\t<mailto:skiboot-request@lists.ozlabs.org?subject=subscribe>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org","Sender":"\"Skiboot\"\n\t<skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>"},"content":"Hi,\n\nCurrently the ability within libffs to prove an api to generate TOCs\nis a bit experimental/developmental and it needs work. The original\nversion tried to abstract too much which mean needless complexity\nwithin the library.\n\nI've ripped quite a lot of the complexity out of the libffs in favour\nof some added (but overall less) complexity in ffspart.\n\nUnfortunately this does change libffs just a tad, hopefully none of\nthe functions have been used by anyone outside of skiboot, and the\ninput file to ffspart had to change a bit too, but I haven't heard of\nanyone actually using it.\n\nFeedback very much welcome,\n\nThanks\n\nCyril Bur (13):\n  external/ffspart: Allow # comments in input file\n  libflash/libffs: Add helpers for the treatment of partition flags\n  external/pflash: Use ffs_entry_user_to_string() to standardise flag\n    strings\n  libflash/libffs: Add setter for a partitions actual size\n  libflash/libffs: ffs_close() should use ffs_hdr_free()\n  external/ffspart: Remove side, order and backup options\n  libflash/libffs: Always add entries to the end of the TOC\n  libflash/libffs: Remove the 'sides' from the FFS TOC generation code\n  libflash/libffs: Remove backup partition from TOC generation code\n  libflash/libffs: Switch to storing header entries in an array\n  libflash/libffs: Refcount ffs entries\n  libflash/libffs: Allow caller to specifiy header partition\n  external/ffspart: Use new interface\n\n external/ffspart/ffspart.c                         | 604 +++++++++++----------\n external/ffspart/test/files/03-tiny-pnor.in        |   8 +-\n .../ffspart/test/files/03.1-tiny-pnor-backup.in    |   4 -\n .../ffspart/test/files/03.1-tiny-pnor-backup.out   | Bin 3840 -> 0 bytes\n external/ffspart/test/files/04-tiny-pnor2.in       |   8 +-\n external/ffspart/test/files/05-hdr-overlap.in      |   8 +-\n .../ffspart/test/files/05.1-hdr-overlap-backup.in  |   3 -\n external/ffspart/test/files/06-small-flash.in      |  10 +-\n external/ffspart/test/files/07-big-files.in        |   8 +-\n external/ffspart/test/files/08-small-files.in      |   8 +-\n external/ffspart/test/files/10-bad-input.in        |   8 +-\n external/ffspart/test/files/11-long-name.in        |   8 +-\n external/ffspart/test/files/12-bad-numbers-base.in |   8 +-\n external/ffspart/test/files/13-bad-numbers-size.in |   8 +-\n external/ffspart/test/files/14-bad-input-flags.in  |   8 +-\n .../test/files/15-overlapping-partitions.in        |   8 +-\n external/ffspart/test/results/00-usage.out         |   5 -\n external/ffspart/test/results/01-param-sanity.err  |   1 -\n external/ffspart/test/results/01-param-sanity.out  |   5 -\n .../ffspart/test/results/01.1-param-sanity.err     |   0\n .../{02-param-sides.out => 01.1-param-sanity.out}  |   5 -\n external/ffspart/test/results/02-param-sides.err   |   1 -\n external/ffspart/test/results/05-hdr-overlap.err   |   5 +-\n external/ffspart/test/results/05-hdr-overlap.out   |   4 -\n .../test/results/05.1-hdr-overlap-backup.err       |   2 -\n .../test/results/05.1-hdr-overlap-backup.out       |   4 -\n external/ffspart/test/results/06-small-flash.err   |   5 +-\n external/ffspart/test/results/06-small-flash.out   |   3 -\n external/ffspart/test/results/07-big-files.err     |   5 +-\n external/ffspart/test/results/07-big-files.out     |   2 -\n external/ffspart/test/results/08-small-files.err   |   2 +\n external/ffspart/test/results/08-small-files.out   |   5 -\n external/ffspart/test/results/10-bad-input.err     |   5 +-\n external/ffspart/test/results/10-bad-input.out     |   1 -\n external/ffspart/test/results/11-long-name.err     |   6 +-\n external/ffspart/test/results/11-long-name.out     |   5 -\n .../ffspart/test/results/12-bad-numbers-base.err   |   5 +-\n .../ffspart/test/results/12-bad-numbers-base.out   |   1 -\n .../ffspart/test/results/13-bad-numbers-size.err   |   5 +-\n .../ffspart/test/results/13-bad-numbers-size.out   |   1 -\n .../ffspart/test/results/14-bad-input-flags.err    |   5 +-\n .../ffspart/test/results/14-bad-input-flags.out    |   1 -\n .../test/results/15-overlapping-partitions.err     |   5 +-\n .../test/results/15-overlapping-partitions.out     |   3 -\n external/ffspart/test/tests/01-param-sanity        |   2 +-\n .../tests/{02-param-sides => 01.1-param-sanity}    |   2 +-\n external/ffspart/test/tests/03.1-tiny-pnor-backup  |  15 -\n external/ffspart/test/tests/05-hdr-overlap         |   7 +-\n .../ffspart/test/tests/05.1-hdr-overlap-backup     |  15 -\n external/ffspart/test/tests/06-small-flash         |   5 +-\n external/ffspart/test/tests/07-big-files           |   4 +\n external/ffspart/test/tests/10-bad-input           |   2 +\n external/ffspart/test/tests/12-bad-numbers-base    |   2 +\n external/ffspart/test/tests/13-bad-numbers-size    |   2 +\n external/ffspart/test/tests/14-bad-input-flags     |   2 +\n .../ffspart/test/tests/15-overlapping-partitions   |   4 +-\n external/pflash/pflash.c                           |  16 +-\n external/pflash/test/files/01-info.ffs             |   8 +-\n external/pflash/test/files/02-erase.ffs            |   8 +-\n external/pflash/test/files/03-erase-parts.ffs      |   8 +-\n external/pflash/test/files/04-program-rand.ffs     |   8 +-\n external/pflash/test/files/05-bad-numbers.ffs      |   8 +-\n external/pflash/test/files/06-miscprint.ffs        |   8 +-\n external/pflash/test/results/01-info.out           |  10 +-\n external/pflash/test/results/06-miscprint.out      |   2 +-\n libflash/ffs.h                                     |  16 +-\n libflash/libffs.c                                  | 455 ++++++++--------\n libflash/libffs.h                                  |  18 +-\n 68 files changed, 731 insertions(+), 702 deletions(-)\n delete mode 100644 external/ffspart/test/files/03.1-tiny-pnor-backup.in\n delete mode 100644 external/ffspart/test/files/03.1-tiny-pnor-backup.out\n delete mode 100644 external/ffspart/test/files/05.1-hdr-overlap-backup.in\n create mode 100644 external/ffspart/test/results/01.1-param-sanity.err\n rename external/ffspart/test/results/{02-param-sides.out => 01.1-param-sanity.out} (67%)\n delete mode 100644 external/ffspart/test/results/02-param-sides.err\n delete mode 100644 external/ffspart/test/results/05.1-hdr-overlap-backup.err\n delete mode 100644 external/ffspart/test/results/05.1-hdr-overlap-backup.out\n rename external/ffspart/test/tests/{02-param-sides => 01.1-param-sanity} (63%)\n delete mode 100644 external/ffspart/test/tests/03.1-tiny-pnor-backup\n delete mode 100644 external/ffspart/test/tests/05.1-hdr-overlap-backup"}