From patchwork Sun May 12 13:25:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Marangi X-Patchwork-Id: 1934273 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=beEkSMMB; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2604:1380:4601:e00::3; helo=am.mirrors.kernel.org; envelope-from=devicetree+bounces-66515-incoming-dt=patchwork.ozlabs.org@vger.kernel.org; receiver=patchwork.ozlabs.org) Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [IPv6:2604:1380:4601:e00::3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Vck0131xTz1yfq for ; Sun, 12 May 2024 23:25:53 +1000 (AEST) Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 25FEC1F21F00 for ; Sun, 12 May 2024 13:25:50 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id BF87B2E62D; Sun, 12 May 2024 13:25:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="beEkSMMB" X-Original-To: devicetree@vger.kernel.org Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DC120224FA; Sun, 12 May 2024 13:25:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715520329; cv=none; b=b+ruF0PWsNcY2aQ8xWQ/svWNjoNH4A8/T2jlusnX+yX4mHbOCg6Si6sbL5qXI2R8zetOUDLqhXEDBDpm03ON1OnCFq0msA/CJYLTc5uikVxorsQZqpPEsLmB72JwtCyTKrnAZOKN6Ug7p6UbQx7+4xLZfIAdm9mKJZDegAQqY80= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715520329; c=relaxed/simple; bh=cULXUs4oYMOgR/QBf90+qkWOo4Cgu5Y9M6vv7b9LZ54=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rQOHIUeZRaW00UZd04RGAOOv4dVbCNm7AzHlSY6PXIqEyUm8VavV/JqWRkIkD2rHldJUpcBCslWSBpJA57dCA4jzGQp8KiXY+AJP782OBJF9AzyzFiID7EIgUEge3E4ri36oDIM+VV+/6b6T0NPKgBewsN+r+5N0sUQqCprs1vY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=beEkSMMB; arc=none smtp.client-ip=209.85.221.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-3504ad82a64so1890885f8f.3; Sun, 12 May 2024 06:25:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715520326; x=1716125126; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=J5Pmi57zjaY4Bk3X2+sKkul6hm94IvXCLST+UV4b4aI=; b=beEkSMMBOl7nrB1FYwJ/n8gl9gSvFQFZoLpJA6MWul10N1W+e/O/nHRENk5QInLY4E hKb5XsbqbDjzf1ep9P1nDzpeCn/FI1oHjEQPFimcfiYwIjIwCqvsljoNqcwA4bpbqVv3 LV9sFLV4r/cFMCHs0nhQYXbVz/Ru7NxPdlWQeJ53/ZfcLrf73kpwgHBSnLTc8s94HAR+ O4T+Ws1QNWQWGzoDeTpO8NkcAInPv2vI9gPxp4gwh9P8bdNWwk1GuI7BKgjHkT33NZvw BqYTiuNofjWO9jPKRKCa/CI43ULTEXRruyLKQeB5eRJJYVzKewyhFsx6M70WoKVjQhwX ZzQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715520326; x=1716125126; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=J5Pmi57zjaY4Bk3X2+sKkul6hm94IvXCLST+UV4b4aI=; b=EVEAOyrVicYc8i/ndoMYPD56ezcRA3hcvT4WwQxZPlUNIzsinU0xXVoq0UwbJch409 aPZiwPwRfaDyvBfuvk2SjrcjPaMQBiBcayQ8+XhN21x9nTLvqMyOc3llxVKwqhVjK9Dr EmcT0dPewLM034lk8v5U0plzo0dnUpYcFEIDHbqvTWYVdGxKos8m559164kun4KfSOCw D5XoYO4RXDdDVEWPDfBebzluQB4yROWR5g2/kUPdnzBizlI40YgXD4aeVXp9E27JVMR+ kcer2Z9WQrY6QV2QtXUdV9TXZwRVxPS0kKxOLSQAxfmQvF3dvq7ziwT0jq9uZd8Hv9Qw lqNQ== X-Forwarded-Encrypted: i=1; AJvYcCWRbSpSlFvbdInxcl8Fsz5LIvwWM3RREp35B1/VnGL7nTggi/ewP9Gj2JPnfgwsog33LSnqrnZWRaUL8rnG7/ZTYbpns68gIoT7mMKzftD0QVnX/I6wFbHr9EugN5/D2nwyD/es44hgEDNraHgyqFHFxPnrzNXoUWjPKSQpMgR9KEXFPJs= X-Gm-Message-State: AOJu0YxqdygPrYzF9hYL1qMWO08SDbR/o/tulPFGu2UInCSNLNstZLR0 +4WyerI1yh6xs6QWnwJ/yfOXvM9BwqbIrKNcW4ZrIsKTEGTOrnst X-Google-Smtp-Source: AGHT+IHG3/XRd6IxAw7eUmVcc5xbSl2lr2OFca3ps7nBLqxTUog370gaVqi8bvEvtL3Tmt7Vfk5big== X-Received: by 2002:adf:f10e:0:b0:343:e52a:f51e with SMTP id ffacd0b85a97d-3504a954dc2mr4494750f8f.47.1715520326176; Sun, 12 May 2024 06:25:26 -0700 (PDT) Received: from localhost.localdomain (93-34-90-105.ip49.fastwebnet.it. [93.34.90.105]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-3502b79bd09sm8822468f8f.14.2024.05.12.06.25.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 May 2024 06:25:25 -0700 (PDT) From: Christian Marangi To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Thomas Bogendoerfer , Saravana Kannan , Arnd Bergmann , Helge Deller , Javier Martinez Canillas , Baoquan He , Thomas Gleixner , Jiaxun Yang , David Bauer , Liviu Dudau , Serge Semin , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org Cc: Christian Marangi Subject: [PATCH 2/4] of: add support for bootargs-override chosen property Date: Sun, 12 May 2024 15:25:09 +0200 Message-ID: <20240512132513.2831-3-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240512132513.2831-1-ansuelsmth@gmail.com> References: <20240512132513.2831-1-ansuelsmth@gmail.com> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 On some devices bootloader may hardcoded and overwrite the bootargs DT property passed in "/chosen" when the kernel is loaded resulting in the value dropped. While CMDLINE_FORCE can be used, this is not a good option for kernels that are shared across devices. This setting enables using "/chosen/bootargs-override" as the cmdline if it exists in the device tree. This broken behaviour was found in various devices from ipq806x Soc, to Mediatek and even PowerPC. Signed-off-by: Christian Marangi --- drivers/of/fdt.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index a8a04f27915b..253315421591 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -1068,8 +1068,16 @@ int __init early_init_dt_scan_chosen(char *cmdline) fdt_totalsize(initial_boot_params)); } - /* Retrieve command line */ - p = of_get_flat_dt_prop(node, "bootargs", &l); + /* + * Retrieve command line + * bootargs might be hardcoded and overwrite by bootloader on + * kernel load. + * Check if alternative bootargs-override is present instead + * first. + */ + p = of_get_flat_dt_prop(node, "bootargs-override", &l); + if (p == NULL || l == 0) + p = of_get_flat_dt_prop(node, "bootargs", &l); if (p != NULL && l > 0) strscpy(cmdline, p, min(l, COMMAND_LINE_SIZE)); From patchwork Sun May 12 13:25:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Marangi X-Patchwork-Id: 1934274 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=A9Q+hvH1; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2604:1380:45e3:2400::1; helo=sv.mirrors.kernel.org; envelope-from=devicetree+bounces-66516-incoming-dt=patchwork.ozlabs.org@vger.kernel.org; receiver=patchwork.ozlabs.org) Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [IPv6:2604:1380:45e3:2400::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Vck0H2lLmz1yfq for ; Sun, 12 May 2024 23:26:07 +1000 (AEST) Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 119192815B3 for ; Sun, 12 May 2024 13:26:05 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 0631D433AB; Sun, 12 May 2024 13:25:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="A9Q+hvH1" X-Original-To: devicetree@vger.kernel.org Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1E31F28E17; Sun, 12 May 2024 13:25:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715520330; cv=none; b=ea61avFJaSipmV3KIrV4ul9WTLdZdrMlj1dc0hPcYjmnW1aZ+5NkQNhUMA3FA58lfE4DmvtMM5tFnk+44XEVFnG195aPk0/SQsDUjk2NukdxKiKD78GWM4m5QRGv1y75BRd0uQMfATtxyC2Q7B1dI+KolSQZE+SkSnbv2uOKE3k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715520330; c=relaxed/simple; bh=y5X0OWXz5ws3bAHMfoYFwbP2pMMbDn947glAeZm8OpY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CZGZwBJyTVxHKMxzXODUoLXJ8NyPuy/eIp8IjgMnUVN1MXTRpZ4QsYQlccIAm7kWjbRwvxDHTLyoCa6r3+0czgjZ/6saUGUQCRQjGXDgc38x+RC0+3Y6a02/oOF4JGUD0IfmZygHsG4rwRRdyNcmwa48YA/xQs5x4WNjNt42oeo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=A9Q+hvH1; arc=none smtp.client-ip=209.85.221.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-34db6a299b2so2838581f8f.3; Sun, 12 May 2024 06:25:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715520327; x=1716125127; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=G276tR2DWdT7pXfSzU9VYLXPeNqUlLbGdFn/8pm75Rk=; b=A9Q+hvH1F8+WLk5zIzY8u4izwu3X1eNDxHp/xcDPz8hR/R08hbeQk5NLTBgCXuwKwP t0vUajJrEC5UBtdLk3DbUWENSNxs8ZNuJVB2MmEiU8+woAas5nTlDR5uHlMdOk5db4MI n8MbNMR4iXEvO92XIlb5kEByOeeLazkUMyEvx79m4xJZbHzktUCYp2C1wlmr2Uzsi0tq /qComxJJubY+XRZs05CNdvy2UoLoW589scNsmuYM27YVRlt1erP5nHdv1icwkrc8Xnwk 6oBLieVoC0fEHAsdagoYsFv7OLI6FjF1Ixx7xcZgVQlC3qVl5Lf/AhR4NuhzlfyLXNAc 4VVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715520327; x=1716125127; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=G276tR2DWdT7pXfSzU9VYLXPeNqUlLbGdFn/8pm75Rk=; b=lrMPZ++O2f7+ejKQ4Oa4s1rqSLARLhEAb2JKT3s5huby29vspFKYFqpiul5+xyg8uX G/l4vCz4gE9umAxowYsEOHq81AY2mCpG1e0PK4JZlEIjcjflXhsKEpfLQKqvM+rxkX6y NWRz64lsyYIXrHEDhIsvg3o18KIrnFpLyIqMCoQO5q7WuQ9mMHtbMWbBN/rVZ0u5Etpv RgwN7Vgo9k21R+B1zahD5Yo/9LQp4l93+YTfO7FTXtbfIByxIxcB1Y9FyuyiX/dBoA1E KBEp35GZJIsc1bfmZfqQ6cmFBQYNWLoSSWksfKL7NYQNa/XV7gjaIdAlTMqKgPUFb0Ux 16LQ== X-Forwarded-Encrypted: i=1; AJvYcCVx4y4L1Y6+hx+QA4AVVQQEqJnc/+kEIpVEVSvmkubKjM9mQXF5gTfQBBDXadzvbGm/TUh6W6IHj9Kyns4yy3a97vqT1CPVz4T2r8QaO/4V7tnycSxRevw472y/0zAmZLB93WnYJDsLBdsyRWmbShIFNOQdWxHScepAQaFNZA2JfzNYVrU= X-Gm-Message-State: AOJu0Yytq/GCNEceJ2w1Rw/UobsUn2fSYwS+LqZ7hYJGiDlrd5S/r1Dr FsBosLPLPGjLAAhocMILdBxVdpPhczixnG4yWtwtyZpQITqvZWhK X-Google-Smtp-Source: AGHT+IHaRa+50aW0QoXfeIsR7gOwM/NZ4VO3b3Q2yRKNI3581ioshqLDSInjVS7DgPP8P6zle6v7ZQ== X-Received: by 2002:adf:e851:0:b0:34d:9fc2:4a81 with SMTP id ffacd0b85a97d-3504a61c5c6mr5321553f8f.5.1715520327427; Sun, 12 May 2024 06:25:27 -0700 (PDT) Received: from localhost.localdomain (93-34-90-105.ip49.fastwebnet.it. [93.34.90.105]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-3502b79bd09sm8822468f8f.14.2024.05.12.06.25.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 May 2024 06:25:27 -0700 (PDT) From: Christian Marangi To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Thomas Bogendoerfer , Saravana Kannan , Arnd Bergmann , Helge Deller , Javier Martinez Canillas , Baoquan He , Thomas Gleixner , Jiaxun Yang , David Bauer , Liviu Dudau , Serge Semin , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org Cc: Christian Marangi Subject: [PATCH 3/4] of: add support for bootargs-append chosen property Date: Sun, 12 May 2024 15:25:10 +0200 Message-ID: <20240512132513.2831-4-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240512132513.2831-1-ansuelsmth@gmail.com> References: <20240512132513.2831-1-ansuelsmth@gmail.com> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Add support for bootargs-append chosen property. The bootargs-append can be used to append additional kernel arguments to the bootargs property. This can be useful in the context of a bootargs overridden by the bootloader that contains correct that but the kernel require additional one to be correctly setup. Signed-off-by: Christian Marangi --- drivers/of/fdt.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index 253315421591..cc99958872e4 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -1080,6 +1080,9 @@ int __init early_init_dt_scan_chosen(char *cmdline) p = of_get_flat_dt_prop(node, "bootargs", &l); if (p != NULL && l > 0) strscpy(cmdline, p, min(l, COMMAND_LINE_SIZE)); + p = of_get_flat_dt_prop(node, "bootargs-append", &l); + if (p != NULL && l > 0) + strlcat(cmdline, p, min_t(int, strlen(cmdline) + l, COMMAND_LINE_SIZE)); handle_cmdline: /*