From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BCE9BC4332F for ; Sat, 15 Oct 2022 19:24:55 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5AF0084DFC; Sat, 15 Oct 2022 21:24:53 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="I6aU0yZz"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D236384E22; Sat, 15 Oct 2022 21:24:51 +0200 (CEST) Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com [IPv6:2a00:1450:4864:20::434]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 4A84384D5E for ; Sat, 15 Oct 2022 21:24:49 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sjg@google.com Received: by mail-wr1-x434.google.com with SMTP id bu30so12439864wrb.8 for ; Sat, 15 Oct 2022 12:24:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=OnKlgf99UTusC/Iql/SjjY8jhYBpesGhQAoEjWg21wY=; b=I6aU0yZzrLh19fzr+dnrDOnkbIyT8htqoqH2tcc/XJkK7zgXj/2H45w4gdXKbN3Rq5 G0YAV89MyTb3Q00o1oY9yJEGQ0cH2Pbu9FzvOwA1hNnfZZ4XTf1XtrdKFfEOP1My5rY2 3JCS327Rg3ih84JnYeuqw6j6FmAOR9bvwaRIQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=OnKlgf99UTusC/Iql/SjjY8jhYBpesGhQAoEjWg21wY=; b=v5OOYN3jM/zSEwmnBNPifZCtUKq8jqSBa38Q2EakcoeVr3bP4HUryecyVydu7XctyB PNZkhNXSd9FQKpY+HLpC6uMQYYEZFxC2mXVh1RPlum85vkYphdTkVmUs2h2i46NrNLHB 0TukwIF5ftogUVW+wBhAWvV0Y3ZLxPON5Nsr08jE3YoLFuNK13NzCZvJu83VhzNtVr3+ SAm9aXHYkgtyz7e88qaQiPvDsew8QFYCPzlJqJAPZrfRWBHG02ltQr+0Yi7ki5r4R6CB uI3keaUWvnCsPJsCfvu96OLwohzY1oQpQa/1dK3xvfTVNq+LvrIkcgV1Um4n2qoEKejI iRAg== X-Gm-Message-State: ACrzQf1lP/botExppCvm1LkIbjsT4wZoMn8+Vhl0E46fnobewN7G8T79 2ewpjLeSy3SrzyhVav9qGmlUyTZqzHNSG/4j+F468Q== X-Google-Smtp-Source: AMsMyM4OBREwUCeaV8zdltbIb5sWdoqdhZudDjQ9kkzLj9LdV2yvdSOvk59nJD+fAMEqhAOpec0tKEPW2aUcd5b/BRA= X-Received: by 2002:a5d:55d0:0:b0:231:2304:3a6a with SMTP id i16-20020a5d55d0000000b0023123043a6amr2233388wrw.94.1665861888570; Sat, 15 Oct 2022 12:24:48 -0700 (PDT) MIME-Version: 1.0 References: <20221014205234.19385-1-msuchanek@suse.de> <1774657c-51cb-fde7-7f65-a76b8cdcd5f9@gmx.de> <3558da2e-3e66-0b66-cf77-29106653beec@gmx.de> In-Reply-To: <3558da2e-3e66-0b66-cf77-29106653beec@gmx.de> From: Simon Glass Date: Sat, 15 Oct 2022 13:24:36 -0600 Message-ID: Subject: Re: [PATCH v2] tests: Build correct sandbox configuration on 32bit To: Heinrich Schuchardt Cc: u-boot@lists.denx.de, Michal Suchanek Content-Type: text/plain; charset="UTF-8" X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean Hi Heinrich, On Sat, 15 Oct 2022 at 13:05, Heinrich Schuchardt wrote: > > On 10/15/22 20:39, Simon Glass wrote: > > Hi Heinrich, > > > > On Sat, 15 Oct 2022 at 12:31, Heinrich Schuchardt wrote: > >> > >> On 10/15/22 19:53, Simon Glass wrote: > >>> Hi Michal, > >>> > >>> On Fri, 14 Oct 2022 at 14:53, Michal Suchanek wrote: > >>>> > >>>> Currently sandbox configuration defautls to 64bit and there is no > >>>> automation for building 32bit sandbox on 32bit hosts. > >>>> > >>>> Use _LP64 macro as heuristic for detecting 64bit targets. > >>>> > >>>> Signed-off-by: Michal Suchanek > >>>> --- > >>>> > >>>> Changes in v2: > >>>> simplify and move detection to kconfig > >>>> > >>>> --- > >>>> arch/sandbox/Kconfig | 18 +++--------------- > >>>> scripts/Kconfig.include | 4 ++++ > >>>> 2 files changed, 7 insertions(+), 15 deletions(-) > >>> > >>> Reviewed-by: Simon Glass > >>> > >>> My only question is whether we can allow building the 32-bit version > >>> on a 64-bit machine? That would need a separate option I think, to > >>> say: > >>> > >>> I don't want you to automatically determine HOST_32/64BIT. Instead, > >>> use 32 (or 64). > >>> > >>> This is along the lines of what Heinrich is saying, except that I > >>> strongly feel that we must do the right thing by default, as your > >>> patch does. > >> > >> The whole point of phys_addr_t and phys_size_t is that it can be 64bit > >> or 32bit on ilp32. > >> > >> With this patch we cannot build with CONFIG_PHYS_64BIT=y on ilp32 and > >> that is bad. > >> > >> 32 bit phys_addr_t on lp64 is irrelevant for actual hardware but this is > >> what we currently test with sandbox_defconfig on Gitlab CI. > >> > >> My patch is ending up in the same behavior as Michal's patch except that > >> it allows to have 64bit phys_addr_t on ilp32. > > > > It needs to automatically default to 32 or 64 bit depending on the > > host. If the user wants to fiddle with Kconfig to force it to the > > other one, that should be possible to. > > > > It looks like your patch requires manual configuration, but perhaps I > > just misunderstood it? > > __LP64__ is a symbol defined by the compiler when compiling for 64bit > and not defined when compiling for 32bit systems. There is nothing > manual about it. > > My patch uses this symbol to replace HOST_32BIT and HOST_64BIT. > > Michal's patch compiles a program tools/bits-per-long.c that ends up > returning 64 on 64 bit systems (where __LP64__ is defined) and 32 on 32 > bit systems (where __LP64__ is not defined) and then chooses HOST_32BIT > and HOST_64BIT accordingly. This part of Michal's patch is not wrong. > The solution is only overly complicated. > > What has to be chosen manually with both patches is PHYS_64BIT e.g. by > selecting sandbox64_defconfig instead of sandbox_defconfig. > > Unfortunately Michal did not understand that PHYS_64BIT=y, HOST_32BIT=y > is a necessary test scenario and introduced an invalid dependency. > > With my patch sandbox64_defconfig on a 32bit system uses 64bit phys_addr_t. > > With Michal's patch sandbox64_defconfig on a 32bit system uses 32bit > phys_addr_t. That's all great, thank you, but please can you address my actual question? Regards, Simon