{"id":2224594,"url":"http://patchwork.ozlabs.org/api/1.2/covers/2224594/?format=json","web_url":"http://patchwork.ozlabs.org/project/swupdate/cover/20260417155704.2758672-1-hyyoxhk@163.com/","project":{"id":58,"url":"http://patchwork.ozlabs.org/api/1.2/projects/58/?format=json","name":"swupdate development","link_name":"swupdate","list_id":"swupdate.googlegroups.com","list_email":"swupdate@googlegroups.com","web_url":"https://github.com/sbabic/swupdate","scm_url":"git://github.com/sbabic/swupdate","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260417155704.2758672-1-hyyoxhk@163.com>","list_archive_url":null,"date":"2026-04-17T15:57:00","name":"[v1,0/4] Refactor image parsing and add LZ4 support","submitter":{"id":79707,"url":"http://patchwork.ozlabs.org/api/1.2/people/79707/?format=json","name":"He Yong","email":"hyyoxhk@163.com"},"mbox":"http://patchwork.ozlabs.org/project/swupdate/cover/20260417155704.2758672-1-hyyoxhk@163.com/mbox/","series":[{"id":500374,"url":"http://patchwork.ozlabs.org/api/1.2/series/500374/?format=json","web_url":"http://patchwork.ozlabs.org/project/swupdate/list/?series=500374","date":"2026-04-17T15:57:01","name":"Refactor image parsing and add LZ4 support","version":1,"mbox":"http://patchwork.ozlabs.org/series/500374/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/2224594/comments/","headers":{"Return-Path":"<swupdate+bncBAABB4OGRHHQMGQEILHTFNY@googlegroups.com>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=googlegroups.com header.i=@googlegroups.com\n header.a=rsa-sha256 header.s=20251104 header.b=oVwDPuCb;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com\n (client-ip=2607:f8b0:4864:20::83d; helo=mail-qt1-x83d.google.com;\n envelope-from=swupdate+bncbaabb4ogrhhqmgqeilhtfny@googlegroups.com;\n receiver=patchwork.ozlabs.org)"],"Received":["from mail-qt1-x83d.google.com (mail-qt1-x83d.google.com\n [IPv6:2607:f8b0:4864:20::83d])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fy1215VT2z2129\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 18 Apr 2026 02:44:41 +1000 (AEST)","by mail-qt1-x83d.google.com with SMTP id\n d75a77b69052e-50b44f7b7bbsf21391681cf.3\n        for <incoming@patchwork.ozlabs.org>;\n Fri, 17 Apr 2026 09:44:41 -0700 (PDT)","by 2002:ac8:7d8b:0:b0:501:47f4:eaf7 with SMTP id\n d75a77b69052e-50e2585731als37529061cf.2.-pod-prod-05-us;\n Fri, 17 Apr 2026 09:44:32 -0700 (PDT)","by 2002:a05:6808:286:b0:467:e362:ec8e with SMTP id\n 5614622812f47-4799cd50cf1msb6e;\n        Fri, 17 Apr 2026 08:57:11 -0700 (PDT)","from m16.mail.163.com (m16.mail.163.com. [117.135.210.3])\n        by gmr-mx.google.com with ESMTPS id\n 586e51a60fabf-42b9ac6e3c0si73112fac.7.2026.04.17.08.57.08\n        for <swupdate@googlegroups.com>\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Fri, 17 Apr 2026 08:57:10 -0700 (PDT)","from nh50.. (unknown [])\n\tby gzga-smtp-mtada-g0-1 (Coremail) with SMTP id\n _____wAXpIlQWOJpw1HjAA--.43368S2;\n\tFri, 17 Apr 2026 23:57:04 +0800 (CST)"],"ARC-Seal":["i=2; a=rsa-sha256; t=1776444274; cv=pass;\n        d=google.com; s=arc-20240605;\n        b=F/mq6PlxDofmSiL40xNVG7Ck1Zfgc+e2YYcIJMEF0AVBEDp5p/I0Eu6HvKKmuDz1OI\n         kTMXxdIwEsp8B12KAFeyQrEKZqmBtYV0CNqBmQjPcZ9psileGzjbtKyOXvZOa/LvzCba\n         w4xxoQJ/lrn7c1o3blvmHJ/ZvgcbwwG19mxAG1ocu/t0N6JryEBQ7QkSdsNSO9RP9BfQ\n         xdZcfgB8hwKQS6ztD/zRcWMOKg9QIWL97JY8o0EPJtZ2ngOS5foQnxqlrUu09qd/EqUj\n         Q+HyhemZy0jjLSUrhyWnR17EFTDXmQgzrrZuNJ4SCNCC6WC0rfm6IHgq9P3FOLffAViv\n         +qYg==","i=1; a=rsa-sha256; t=1776441430; cv=none;\n        d=google.com; s=arc-20240605;\n        b=BJOCzr1303Kw9GJ/zAgUdlUTN/Ss52mXRkjAo5oIxZRv5H4gKrB25hQfA2vDLQ7t4g\n         VyYuodS7kv+unAJeHdRlC9Hg973u7bZSAeM1rd8DP8qPhQu7gcQAN/SjdgTi3U7XYL9x\n         mm0LXfarQvlbO6Uuo79dAmkLLVtBLtWy9xYjOrxmE+YaAJREHxJXOfTk02K9w4wqADs5\n         itwGFCqlw64aMQ1yHTEZyjUQQkKe9wWJr8QdQaEKNTIe+ycSxovUkWg4L366/NqR7wE3\n         iO/QWp5spluWIczqMfBIsOHtPcLVMERKE02knett7FX60sjOCuQqMHPsNLyf7TkAtJQA\n         4/PA=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post\n         :list-id:mailing-list:precedence:mime-version:message-id:date\n         :subject:to:from:sender:dkim-signature;\n        bh=N8nvSQ/0Phr7RIRSQ0Nbod0xtgcZ/06ykYCD13Yz5NU=;\n        fh=qieY23gaD7OK9JYBLzvSqM2lRw5BpdXiIWroQw+aF2Q=;\n        b=OA6KjcOrDpyMaW6j2QL97S9DjJgGFY9Evp+n4PPw1wccByEYkPEh5usoo/d6irz3G0\n         cG4jhKA9xPbptoR/uEnNgl2DSPtUY5miO2piUG//VkjqYZ0fBs6r9tE4Lmw3JXjMK9s6\n         A56cDL0S3E/2vFm84bNqYl8fz0U5emk7GkuqMmqBLKNKvbjeLQ1OqQ2nk8zeyS4ycNLv\n         Mo9l1uwfTPQ5hesFHilLIaxoxge3WrQVUORg4lu3Yq5A7i2y8FawxugRwCgmm6uU05I5\n         cQdFKcbwcMd7KR4xLkqIg8I6opq//By1hODVYWaW2vUgQMx9NR4aP2kaHtcyGJizgm/6\n         tPzw==;\n        darn=patchwork.ozlabs.org","i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:to\n         :from:dkim-signature;\n        bh=HE83BC68cBVRYn7bgRHdXJCv8nTJXy2Z4Zr4khEClnY=;\n        fh=nvZsCFpxgpf+fsVXzjnWA8g1K3V/kNbRAKogjNDW4HY=;\n        b=higI3R3zwgnAlNLbqyrA4S09OzeOOU2yhPWPEDWfa7q20OvCv9w/go3jfsbhE7irif\n         TFurhurCNNgyunHEGVuDJq5W0inrFUtMzNbeSjw9O1CPHEcwQ3sup+lBJHpyP8SYUmyu\n         FZ6CtEa5rAwcVU531A8k8AofHD7NCL/CQGP8ZYf4y3vaaV5Whq2DYNMWjXtIzo9lIdUl\n         zpEltLCuZW2dCKrQ0+03cVyDV5g1jSf3H9Gq0Kj8QAYlo+eVbUHQcJkQl+Eup8Je11bX\n         54p2Y1lmvHHK+b6wrr14U+Wztg7PrlAQj4o94B2XrEzTS6SpzY84oYghFqSj7Pb3GA6g\n         f7rg==;\n        dara=google.com"],"ARC-Authentication-Results":["i=2; gmr-mx.google.com;\n       dkim=pass header.i=@163.com header.s=s110527 header.b=EnzuHWCL;\n       spf=pass (google.com: domain of hyyoxhk@163.com designates\n 117.135.210.3 as permitted sender) smtp.mailfrom=hyyoxhk@163.com;\n       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com","i=1; gmr-mx.google.com;\n       dkim=pass header.i=@163.com header.s=s110527 header.b=EnzuHWCL;\n       spf=pass (google.com: domain of hyyoxhk@163.com designates\n 117.135.210.3 as permitted sender) smtp.mailfrom=hyyoxhk@163.com;\n       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=googlegroups.com; s=20251104; t=1776444274; x=1777049074;\n darn=patchwork.ozlabs.org;\n        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post\n         :list-id:mailing-list:precedence:x-original-authentication-results\n         :x-original-sender:mime-version:message-id:date:subject:to:from\n         :sender:from:to:cc:subject:date:message-id:reply-to;\n        bh=N8nvSQ/0Phr7RIRSQ0Nbod0xtgcZ/06ykYCD13Yz5NU=;\n        b=oVwDPuCbFLLFpRuP0/S/N0lOF8Xywj6KCzoue+quJ+LzQYZfYLxILkHfJQ+frZaboo\n         cqXRQC6mrsCOhycuy5me86zJqIuYujE/hAhBQB8s99OvjDIztepKFAF9//pmf8H2+d0X\n         VA7R5/z06iWstGdLintr2OINt5z2I7M9pX2YrmlH/XydRhSdSuLAQV4v1B8gR/5VUPAP\n         xQ1BuxTUC+tHPCh1x2X7Ie3NZMJys+miQxpBehVKcH4d65szzO3lOruzPAeXXPKrAVpU\n         NW+caFQyNWXQaiYM5CgWm/LS7AXLVePFBpPPINBH3OFSrPTA2IrCX64eiuoB6fUGoPCC\n         AEng==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1776444274; x=1777049074;\n        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post\n         :list-id:mailing-list:precedence:x-original-authentication-results\n         :x-original-sender:mime-version:message-id:date:subject:to:from\n         :x-beenthere:x-gm-message-state:sender:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=N8nvSQ/0Phr7RIRSQ0Nbod0xtgcZ/06ykYCD13Yz5NU=;\n        b=ajhNRcH4lST3dJBagG2boMXZlC+VRcFIqLGAoUcFDQ1MM6Tb0LoBaP5Co6BT8udoQ8\n         5p1O5CgPapu8h14PepHSwwUkCT/1PnYGH618VqhlpEXFHwptCuA+nu+Crjk1KV8O4Jt0\n         TRKX1IjEorUJjzjqS3fERVQUEHs03sPQ/5A8g6lXI+FCY98TtsXqyiv5WNS7TOIr8FXF\n         +9dIu0edWJpKVvP9OCpYYWyQt5OJrCRtwgJ0h6PNwGMfD6tqkfvUAgWlsqiWNQmJQ8Gs\n         JI6N1H/SqNYSoXl9qqKP0AfZwpmYyd12O+t1xgCk6qKsa+dgTxNSK5NYh83ZcdUT4wVc\n         zH5A==","Sender":"swupdate@googlegroups.com","X-Forwarded-Encrypted":"i=2;\n AFNElJ9qrjOOhC35FkElMdrpXJIZ/b+ilPIPcfz1ro1I5K6jffHBk716lhk0U6a540LVfj0kjwGEWaDGzQ==@patchwork.ozlabs.org","X-Gm-Message-State":"AOJu0Yw+42wwoBsPcltfSFeOFrWcgi9zKyFCis6SRlIfqF3IwvGJrLvC\n\txccsCyNpxYWl+fxKR/SqgisA7sFzYSr68VljxVW8i+6KgqxIDRdmVE4V","X-Received":["by 2002:a05:622a:4245:b0:50d:8e6b:96ac with SMTP id\n d75a77b69052e-50e36ec5cc2mr47787551cf.58.1776444274543;\n        Fri, 17 Apr 2026 09:44:34 -0700 (PDT)","by 2002:a05:620a:4723:b0:8db:f83f:6d8a with SMTP id\n af79cd13be357-8e78f44327fmr478716185a.3.1776444272840;\n        Fri, 17 Apr 2026 09:44:32 -0700 (PDT)","by 2002:a05:6870:8e1a:b0:424:558:9397 with SMTP id\n 586e51a60fabf-42adecbf1b5mr1883986fac.18.1776441430665;\n        Fri, 17 Apr 2026 08:57:10 -0700 (PDT)"],"X-BeenThere":"swupdate@googlegroups.com;\n h=\"AYAyTiKi59dY/WQZEvZ6ROWiUKBs7536jC/c71IEKyI48PgXqg==\"","Received-SPF":"pass (google.com: domain of hyyoxhk@163.com designates\n 117.135.210.3 as permitted sender) client-ip=117.135.210.3;","From":"He Yong <hyyoxhk@163.com>","To":"swupdate@googlegroups.com","Subject":"[swupdate] [PATCH v1 0/4] Refactor image parsing and add LZ4 support","Date":"Fri, 17 Apr 2026 23:57:00 +0800","Message-ID":"<20260417155704.2758672-1-hyyoxhk@163.com>","X-Mailer":"git-send-email 2.43.0","MIME-Version":"1.0","X-CM-TRANSID":"_____wAXpIlQWOJpw1HjAA--.43368S2","X-Coremail-Antispam":"1Uf129KBjvJXoW7Ww1fArWftr1xAF47WF4rKrg_yoW8JFyDpF\n\tZ3GFyfXrWxXrWSy393Ar4jvw1aqrn5J3y7Xa43tw1Fyw4YkFyvqrW8tF18A3yUJryYqrWD\n\tCw1aka42krZ3AFDanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2\n\t9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07UwqXLUUUUU=","X-Originating-IP":"[2408:8266:bb01:57f4:788f:a08d:bbc4:eabb]","X-CM-SenderInfo":"pk1105lkn6il2tof0z/xtbCzxA9EGniWFASBwAA3k","X-Original-Sender":"hyyoxhk@163.com","X-Original-Authentication-Results":"gmr-mx.google.com;       dkim=pass\n header.i=@163.com header.s=s110527 header.b=EnzuHWCL;       spf=pass\n (google.com: domain of hyyoxhk@163.com designates 117.135.210.3 as permitted\n sender) smtp.mailfrom=hyyoxhk@163.com;       dmarc=pass (p=NONE sp=NONE\n dis=NONE) header.from=163.com","Content-Type":"text/plain; charset=\"UTF-8\"","Precedence":"list","Mailing-list":"list swupdate@googlegroups.com;\n contact swupdate+owners@googlegroups.com","List-ID":"<swupdate.googlegroups.com>","X-Google-Group-Id":"605343134186","List-Post":"<https://groups.google.com/group/swupdate/post>,\n <mailto:swupdate@googlegroups.com>","List-Help":"<https://groups.google.com/support/>,\n <mailto:swupdate+help@googlegroups.com>","List-Archive":"<https://groups.google.com/group/swupdate","List-Subscribe":"<https://groups.google.com/group/swupdate/subscribe>,\n <mailto:swupdate+subscribe@googlegroups.com>","List-Unsubscribe":"\n <mailto:googlegroups-manage+605343134186+unsubscribe@googlegroups.com>,\n <https://groups.google.com/group/swupdate/subscribe>"},"content":"Hi,\n\nthis series improves maintainability in image attribute parsing and adds\nend-to-end LZ4 decompression support.\n\nThe first three patches remove duplicated key-parsing logic in parser and\nLua paths by introducing shared helpers and table-driven dispatch. This\nkeeps compressed type conversion centralized and makes future attribute\nextensions easier and less error-prone.\n\nThe last patch adds LZ4 support in Kconfig/build flags, parser mappings,\nruntime decompression, Lua helper mapping, and related documentation.\n\nComments and reviews are welcome.\n\nThanks,\nHe Yong\n\nHe Yong (4):\n  util: add compressed-string parser and img setter macros\n  parser: refactor stream attribute parsing\n  corelib: refactor Lua image attribute parsing\n  compress: add lz4 decompression support\n\n Kconfig                       |   8 ++\n Makefile.deps                 |   4 +\n Makefile.flags                |   4 +\n ci/setup.sh                   |   1 +\n core/cpio_utils.c             | 101 +++++++++++++++-\n core/util.c                   |  23 ++++\n corelib/lua_interface.c       | 218 ++++++++++++++++++++--------------\n doc/source/sw-description.rst |   2 +-\n doc/source/swupdate.rst       |   2 +-\n handlers/swupdate.lua         |   2 +-\n include/util.h                |  19 +++\n parser/parse_external.c       | 175 ++++++++++++++++-----------\n parser/parser.c               |  11 +-\n 13 files changed, 400 insertions(+), 170 deletions(-)"}