From owner-freebsd-ppc@freebsd.org Sat Jul 7 13:29:31 2018 Return-Path: Delivered-To: freebsd-ppc@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 272D9104489D for ; Sat, 7 Jul 2018 13:29:31 +0000 (UTC) (envelope-from jau789@gmail.com) Received: from mail-lj1-x241.google.com (mail-lj1-x241.google.com [IPv6:2a00:1450:4864:20::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7A0257678B; Sat, 7 Jul 2018 13:29:30 +0000 (UTC) (envelope-from jau789@gmail.com) Received: by mail-lj1-x241.google.com with SMTP id u7-v6so8399998lji.3; Sat, 07 Jul 2018 06:29:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language; bh=4ieHv5sZyY1h2i8iSVWpbQs67B3L1PoQuPWl702uDjI=; b=LXTgaMKfGDKABtRiWTPUu+vWD74TnY4j8dA/zcfgez6XCWdx7B3AMzk43IecIkvJYx meRPh3l8518e2keolpcd2Oxsha1E4Km7aGs7Mm3PZFo85xLaSWvbYrLvJaC887AaT7Qp nfpIyl91IaeitpRlvjHfCrI7OucCOv5BbRBkD0S3drOm/Oyl64mi/v7R1nf42++ytayO LjxaNjP2ONR/ILYlJ8HVmo13GOlAA68X5e8QasoXW0gtuTYv1LJyDwjsPNKNdNYWpQpN njXZhgDCYco9i5D30F1/4GMK/kUYFb7rXvh5QFvwT53qkwgAxt7cxlN+wAXCn30nEyeX ++vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=4ieHv5sZyY1h2i8iSVWpbQs67B3L1PoQuPWl702uDjI=; b=oTUqPz44iKiy+XvaLHiGwYbNTk1Rgn+fPQV6MtLxENIT2StY2OW3iJGSkXq4wkKpLn EXJnNedq8ZeH4JY/oNRuhBQVdDgdQEBPkyA26TQCUlzs0ViJJ69GEWkxUVe20oXOUkpN V5rBjtd316yUgNd8Zw4vbvSprapS1tCb1QinUmto81lMV6iRaTCAyQy3g7p9FVnwaF5N oXy6LNel7EANrbaBQkpZA2RLL+k6xiWoSM96yVR2O5mmBkKQaahGeQB2wo4xUD0Rw4vm G+6CpwQVn6qcS9mpa+WUFVXbnxvST8PatiLcddSqhuJjcOT+K3du0GeD7dmTwI1qfg71 BqCg== X-Gm-Message-State: APt69E1u0Zc28jPPKvyyy0F670e/z0uMI1ViLwQ1mqzKJNpuQkvsMg20 nsGxOSFgo1qmnwKBGcz9s98qCg== X-Google-Smtp-Source: AAOMgpczDCN/744EeLK8uI8qkToDNZtzMgrMZDyFB65XZS+I2YAVwI94IpZg7CBP2ObC42dTNWa+GA== X-Received: by 2002:a2e:82ce:: with SMTP id n14-v6mr1918148ljh.34.1530970168141; Sat, 07 Jul 2018 06:29:28 -0700 (PDT) Received: from [192.168.1.131] (xdsl-205-1.nblnetworks.fi. [83.145.205.1]) by smtp.googlemail.com with ESMTPSA id g72-v6sm2849430lfg.93.2018.07.07.06.29.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 07 Jul 2018 06:29:27 -0700 (PDT) Subject: Re: 11.2-RC3 powerpc CD image does not boot on PowerMac G4 To: Nathan Whitehorn Cc: freebsd-ppc@freebsd.org References: <509952F5-1E4A-4FA0-8C78-567EC9089827@gmail.com> From: "Jukka A. Ukkonen" Message-ID: <525edae8-db71-f904-1dbd-5f30f19eca08@gmail.com> Date: Sat, 7 Jul 2018 16:29:26 +0300 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.9.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/mixed; boundary="------------9384B2A63BC9203354AD1D3B" Content-Language: en-GB X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Jul 2018 13:29:31 -0000 This is a multi-part message in MIME format. --------------9384B2A63BC9203354AD1D3B Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit I tried browsing through everything that has been changed in the ppc SMP code since 10.4. I cannot claim much success, though. Anyhow I found one odd feature which does not quite make sense on a 32-bit platform. Obviously I also patched it and tested the resulting kernel. Even if this was not the reason for boot failures on SMP ppc systems, it might be worth to patch in the official source code. Casting 32-bit pointers to 64-bit unsigned values for comparison only slows things down on 32-bit systems. Obviously the compiler will optimize the patched code such that the unused if-branch will completely removed in the resulting binary. 11.2 still fails to boot on SMP ppc, but I have no idea what to test next. --jau --------------9384B2A63BC9203354AD1D3B Content-Type: text/x-patch; name="PPC-platform.c.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="PPC-platform.c.diff" Index: sys/powerpc/powerpc/platform.c =================================================================== --- sys/powerpc/powerpc/platform.c (revision 335668) +++ sys/powerpc/powerpc/platform.c (working copy) @@ -87,8 +87,14 @@ memr_merge(struct mem_region *from, struct mem_region *to) { vm_offset_t end; - end = uqmax(to->mr_start + to->mr_size, from->mr_start + from->mr_size); - to->mr_start = uqmin(from->mr_start, to->mr_start); + if (sizeof(end) == 8) { + end = uqmax(to->mr_start + to->mr_size, from->mr_start + from->mr_size); + to->mr_start = uqmin(from->mr_start, to->mr_start); + } + else /* (sizeof(end) == 4) */ { + end = ulmax(to->mr_start + to->mr_size, from->mr_start + from->mr_size); + to->mr_start = ulmin(from->mr_start, to->mr_start); + } to->mr_size = end - to->mr_start; } --------------9384B2A63BC9203354AD1D3B--