Show a cover letter.

GET /api/covers/2217986/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2217986,
    "url": "http://patchwork.ozlabs.org/api/covers/2217986/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/cover/20260331080117.2370092-1-ilias.apalodimas@linaro.org/",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api",
        "name": "U-Boot",
        "link_name": "uboot",
        "list_id": "u-boot.lists.denx.de",
        "list_email": "u-boot@lists.denx.de",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260331080117.2370092-1-ilias.apalodimas@linaro.org>",
    "list_archive_url": null,
    "date": "2026-03-31T08:01:10",
    "name": "[v2,0/4] Relocate U-Boot in the last bank",
    "submitter": {
        "id": 74147,
        "url": "http://patchwork.ozlabs.org/api/people/74147/?format=api",
        "name": "Ilias Apalodimas",
        "email": "ilias.apalodimas@linaro.org"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/cover/20260331080117.2370092-1-ilias.apalodimas@linaro.org/mbox/",
    "series": [
        {
            "id": 498138,
            "url": "http://patchwork.ozlabs.org/api/series/498138/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=498138",
            "date": "2026-03-31T08:01:10",
            "name": "Relocate U-Boot in the last bank",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/498138/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/2217986/comments/",
    "headers": {
        "Return-Path": "<u-boot-bounces@lists.denx.de>",
        "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=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=dwQV5XvK;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=85.214.62.61; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)",
            "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=linaro.org",
            "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de",
            "phobos.denx.de;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.b=\"dwQV5XvK\";\n\tdkim-atps=neutral",
            "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=linaro.org",
            "phobos.denx.de;\n spf=pass smtp.mailfrom=ilias.apalodimas@linaro.org"
        ],
        "Received": [
            "from phobos.denx.de (phobos.denx.de [85.214.62.61])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4flLDM3QxSz1yGH\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 31 Mar 2026 19:01:39 +1100 (AEDT)",
            "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id B4E2A83DBF;\n\tTue, 31 Mar 2026 10:01:35 +0200 (CEST)",
            "by phobos.denx.de (Postfix, from userid 109)\n id 5A0758405B; Tue, 31 Mar 2026 10:01:34 +0200 (CEST)",
            "from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com\n [IPv6:2a00:1450:4864:20::32c])\n (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 1F9B483A41\n for <u-boot@lists.denx.de>; Tue, 31 Mar 2026 10:01:31 +0200 (CEST)",
            "by mail-wm1-x32c.google.com with SMTP id\n 5b1f17b1804b1-4852a9c6309so45084845e9.0\n for <u-boot@lists.denx.de>; Tue, 31 Mar 2026 01:01:31 -0700 (PDT)",
            "from hera ([94.131.143.12]) by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-4887c9250afsm10087065e9.36.2026.03.31.01.01.29\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 31 Mar 2026 01:01:29 -0700 (PDT)"
        ],
        "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de",
        "X-Spam-Level": "",
        "X-Spam-Status": "No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED,\n SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1774944090; x=1775548890; darn=lists.denx.de;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=q0jmWFb8kYEGW6uRdI3HDRIBSMmwvpkaB0JZ8W0D4MM=;\n b=dwQV5XvK5SNEMsc45Tb/as9AEfz2cMeEI76KHy1jIWoJcUv6/jey3MjWTWuF74+ZrV\n UYE460kaDOuc0N19hAUxfaofqqgHb6ycfv0AzWSFkIfh5QwvBtw/8nNkEuftxxvA8cRG\n UFA7Nr0INs2DCeYmqahP8vPH32Sf1Tt4tlYRZQHelF/y9aw9WON51ij3iHtYunv4SsVw\n eEiClKngMNBNbcmxbNzn7xvUYFCwZJqpaI4Y1ge4a3l1knrhE06KApnQ2HNy7S/x7v3i\n xT+nWHUKQ/cEIPF5qjlqP8mHdnWvexElkt/e4JSNnZJZHoO+gbJIl15ESGKI4kjvqTir\n yxBw==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1774944090; x=1775548890;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=q0jmWFb8kYEGW6uRdI3HDRIBSMmwvpkaB0JZ8W0D4MM=;\n b=QSg+nUR8aA4pYIreRPUr7681OcuILMBO/fRILNzSYsaDtbb8XQF+dQh/TzKQPkZ63F\n XNnbbJKVkEkhRzs93eIdeRS7LPNYrDYSNWMPwTS/eHI2i4X7OSc4YV6IKRKg2m185Fzx\n sdNSet4P5T3nC/00NxOxau0lu/8rAZL5Xpz4cBO89lEWZ5MIK41hclWxDnJwAeq+/jOj\n WCFsEdlJ9Yq0gBHDhjAnXMHHN6G0neAe4hE8+4D4kH+ofbjyOtc+/6ITEUBH3v4YnOz3\n FMJ5QfqQh+ogkrfIhEp6lM+/xLAaZ2/cmcqZDwRSsirQIOALp9++i59bP4sYs1Bcbztv\n 4KLg==",
        "X-Forwarded-Encrypted": "i=1;\n AJvYcCU5LAT1XXcihp3EBqv2KrGlzEs+9/Sxsqi59WrYNAt5qM6UPqO97e2X7uPs9Nme3AAzJysaoaU=@lists.denx.de",
        "X-Gm-Message-State": "AOJu0YzVJudDqafgO0f3jdvXl6bjUuFcmFVL0IKhgoktP2q/AoEkcrLS\n ARtMjmHQUf2qbyUOtYSvBpYdWEuB04/JdhFzXx/pzTQV2Dy1PsNQ4/LAktkBzHlygScinCAB46m\n zZKSQ",
        "X-Gm-Gg": "ATEYQzwFjHrSU8+BimxSqGw+zqUJKxC0I/TEy1Ns2plGWiY7ueakWOOaZgsP2QIT8lE\n dl5rJMoXE9f98xaRduJMaiSUd7h/dBQVfRF+oSkKUlGO4sQnGJscFm/wf+V1GD/nHZ3VNGjzMGq\n MCWuLoM+diDXecKe4F9yCSNiQnRXuCuLh/SlZAwSXITTLv5RQ3sAJeCOhuEXvl7T4H9m3unC2js\n Cz0AibLYpGBMQOsjFVj8Ls56q91O91kLb2b4zpJckha02WfoxAAmjFY+KQgAz8HvJzFyfV2cVwk\n CnR43Xjf5WAct3Wps4YuhNWmVrRdhavEqlT6whvIZ4PAARpGhA/oe3PbegyZblLoa8GO+WMQV6H\n SmaPNboP6kDGRMjOEzdwO7H0Q2PwConLx8mOpR8eY3Qn0gIt48gSiTT6VwlYi+UA3wEjelN3tNQ\n rKTnJ2yDKqUt3rizhjobalRiM9XlhWx3QzUCJLcksyd+cGKc6CLLzkslH+AMwcwfu/lf2uaMg6m\n NlmXNgUgyM+9ltFedvyUz1DYbd2PQcuxZN5fBoNSqmDkLwgGaEFDPC2XNPVVSQIqcvaToBI+cgI\n Fjzqyr86IxKMpMt/WSOh97Fi04gfi/IfZEPdazkrM+qQjEdp3CfO89mJqVwIgfYHWCBcyUWM7/r\n KDIJcycV7MFTgJ+YX0Cn7RZHxH3vokpJoB8AMfDZ9Pu8TodbGkCuaqF50DP4nS8Jv5KQbsLoKal\n /g4L8VTV+uZbFb6zmfqDI0lyaVWd7DoBUI9RQN5KBvjzvQMkwIIbEG8v3qskvns4aFc8VEVmc=",
        "X-Received": "by 2002:a05:600c:1d86:b0:483:7783:537b with SMTP id\n 5b1f17b1804b1-4872807470fmr251941425e9.24.1774944090076;\n Tue, 31 Mar 2026 01:01:30 -0700 (PDT)",
        "From": "Ilias Apalodimas <ilias.apalodimas@linaro.org>",
        "To": "marek.vasut+renesas@mailbox.org,\n\ttrini@konsulko.com",
        "Cc": "Ilias Apalodimas <ilias.apalodimas@linaro.org>,\n\tu-boot@lists.denx.de",
        "Subject": "[PATCH v2 0/4] Relocate U-Boot in the last bank",
        "Date": "Tue, 31 Mar 2026 11:01:10 +0300",
        "Message-ID": "<20260331080117.2370092-1-ilias.apalodimas@linaro.org>",
        "X-Mailer": "git-send-email 2.53.0",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "u-boot@lists.denx.de",
        "X-Mailman-Version": "2.1.39",
        "Precedence": "list",
        "List-Id": "U-Boot discussion <u-boot.lists.denx.de>",
        "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>",
        "List-Archive": "<https://lists.denx.de/pipermail/u-boot/>",
        "List-Post": "<mailto:u-boot@lists.denx.de>",
        "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>",
        "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>",
        "Errors-To": "u-boot-bounces@lists.denx.de",
        "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>",
        "X-Virus-Scanned": "clamav-milter 0.103.8 at phobos.denx.de",
        "X-Virus-Status": "Clean"
    },
    "content": "Hi,\nThis is v2 of [1]\n\nThere was a discussion recently on the mailing lists regarding our\nmanagement of memory above ram_top [0]. The tl;dr is that we have two problems.\n\nThe first one is that U-Boot always relocates to the top of the first available\nbank unless there's special board code to sidestep that. The second is we don't\nsuccessfully deal with devices that can only do 32-bit DMA.\n\nThis patch series deals with the first problem by adding a Kconfig option\nallowing platforms to relocate to the top of the last discovered bank.\n\nIt's worth noting that this is easily testable with QEMU\n\nqemu-system-aarch64 -m 8192 -smp 2 -nographic -cpu cortex-a57 \\\n    -machine virt,secure=off \\\n    -bios u-boot.bin \\\n    -device virtio-rng-pci \\\n    -drive id=os,if=none,file=\"$image\" \\\n    -device virtio-blk-device,drive=os \\\n    -object memory-backend-ram,id=ram0,size=4G \\\n    -object memory-backend-ram,id=ram1,size=4G \\\n    -numa node,memdev=ram0 \\\n    -numa node,memdev=ram1\n\n# RELOCATE_LAST_BANK not set\nHit any key to stop autoboot: 0\n=> bdinfo\n[...]\nrelocaddr   = 0x000000013f66c000\nreloc off   = 0x000000013f66c000\n[...]\nlmb_dump_all:\n memory.count = 0x1\n memory[0]\t[0x40000000-0x23fffffff], 0x200000000 bytes, flags: none\n reserved.count = 0x2\n reserved[0]\t[0x13d507000-0x13d509fff], 0x3000 bytes, flags: no-notify, no-overwrite\n reserved[1]\t[0x13d50aff0-0x23fffffff], 0x102af5010 bytes, flags: no-overwrite\ndevicetree  = board\n[...]\nTLB addr    = 0x000000013ffe0000\nirq_sp      = 0x000000013e50aff0\nsp start    = 0x000000013e50aff0\nEarly malloc usage: e88 / 2000\n=>\n\n# RELOCATE_LAST_BANK enabled\n\n=> bdinfo\n[...]\nrelocaddr   = 0x000000023f66c000\nreloc off   = 0x000000023f66c000\n[...]\nlmb_dump_all:\n memory.count = 0x1\n memory[0]\t[0x40000000-0x23fffffff], 0x200000000 bytes, flags: none\n reserved.count = 0x2\n reserved[0]\t[0x23d507000-0x23d509fff], 0x3000 bytes, flags: no-notify, no-overwrite\n reserved[1]\t[0x23d50aff0-0x23fffffff], 0x2af5010 bytes, flags: no-overwrite\ndevicetree  = board\n[...]\nTLB addr    = 0x000000023ffe0000\nirq_sp      = 0x000000023e50aff0\nsp start    = 0x000000023e50aff0\nEarly malloc usage: e88 / 2000\n=>\n\n[1] https://lore.kernel.org/u-boot/20260326115111.1631261-1-ilias.apalodimas@linaro.org/\n\nChanges since v1:\n- Adjusted the commit message of patch #4 and explain potential\n  breakages\n- ram_size recalculation is now split in its own function\n- Slighly better description of the Kconfig option\n- error checking on fdtdec_setup_mem_ram_top()\n\nIlias Apalodimas (2):\n  fdtdec: Introduce fdtdec_setup_ram_size() to determine the memory size\n  common: Allow relocations on the top of the last bank\n\nMarek Vasut (2):\n  fdtdec: Deduplicate iterator function\n  fdtdec: Introduce fdtdec_setup_mem_ram_top() to determine end of\n    topmost DRAM bank\n\n Kconfig          |   7 ++++\n common/board_f.c |  15 +++++++\n include/fdtdec.h |  31 ++++++++++++++\n lib/fdtdec.c     | 105 ++++++++++++++++++++++++++++-------------------\n 4 files changed, 115 insertions(+), 43 deletions(-)\n\n--\n2.53.0"
}