From nobody Mon Feb 9 07:25:48 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1556383414; cv=none; d=zoho.com; s=zohoarc; b=maj+ZI4qKqW0elWwmZGt0c06Q7/vbsDR+GDmtTZcUIotWPDqwe9/EVPLuoWHi2FCYVwnatajVJVTucnVwjYuL+3igKilZNizQn8ojde4i2T1/F47fV5qi0en5b0IVaY/6Dpz3ZaqOwVu4kF7U4tROB1NmOnv2aADDYU05xGTvFQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1556383414; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To:ARC-Authentication-Results; bh=UFl3d6OROUfKX72fgu6kYlFsyoEb1nmfkEro+y9FYv8=; b=K/dFoYOjYbsecIXFAYvP2vifBAYsGWWAldYHaBDJzJuBGLh2ThYFX3sbGMjBqr9Q2u7II8mWuc2duS3kTse77cgzDSskBkDRA2QCtldJgPWmXkXo6GsPcB/ndVBouKI49VX7gVtT/FmGhK0Jf3SNYvkHPLWED+yqYf//7YStt5w= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1556383414355112.75142240865932; Sat, 27 Apr 2019 09:43:34 -0700 (PDT) Received: from localhost ([127.0.0.1]:34128 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hKQQF-0005nG-En for importer@patchew.org; Sat, 27 Apr 2019 12:43:31 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34125) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hKQL4-0001bR-CL for qemu-devel@nongnu.org; Sat, 27 Apr 2019 12:38:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hKQ7v-0000oA-DL for qemu-devel@nongnu.org; Sat, 27 Apr 2019 12:24:36 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:44801) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hKQ7t-0000k8-AT; Sat, 27 Apr 2019 12:24:33 -0400 Received: by mail-wr1-x442.google.com with SMTP id c5so8859007wrs.11; Sat, 27 Apr 2019 09:24:32 -0700 (PDT) Received: from x1.local (193.red-88-21-103.staticip.rima-tde.net. [88.21.103.193]) by smtp.gmail.com with ESMTPSA id t76sm39420036wmt.8.2019.04.27.09.24.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 27 Apr 2019 09:24:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=UFl3d6OROUfKX72fgu6kYlFsyoEb1nmfkEro+y9FYv8=; b=Kkh4NTGRUQxWdkrGVUckXkwkA8qEKjBoBuNR7mBL3kjuhxjM60ly3mKdP3r3gKGEbz OGCsXSEg4qkg3HKDuD3Kp+EMqfG8/PT6I6KPr6zaq1XIpAmLvvZ1JQMWdp9b39eyHv29 utNe8bAu8MEga9filOfdAh/M/o9lC7fwMVyc7juzF6wXl9VIhpkRKxlYybdw+Dux613h c9Od20Y3iEHRgjFGv0LHwD27HqKB5w/G2eNxbbpMXE9UaZkW5flKoFXowJtxR8mGM0zh dcgERG3oQdw1FTIqHAJyYzto4sPuSQ8rcip5pyoXJ5UzK6r135TjcM30NEOaCZBKNzpE sccA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=UFl3d6OROUfKX72fgu6kYlFsyoEb1nmfkEro+y9FYv8=; b=VCQQ3O+5ajlmo+Mc65eWZCz4SRlBiSeHd47g1U8jVSlo8UuPZ5+MJT3abkwlcMr0Ld 02SetCvvetkTf8m/UzWyWPlpz2gzWu1QzpDGumqT4ILL6NnTgp0SJuPHxxsxj5zzkyyC vhPFDL94gSiShiiya3BQl5Jb3I/uFe3ft8DRvshAJ44r4o2MBYY3jmuvoT8p3YMp/4wv wRsGUwkWoq0iEHKuoi5vySp4FUuQcXZd762u+WF4DIpDwVrXrVAXAlgu+OBvMZOwA3WM wG/shQBUhlFviXFDvNA+0IkLqmg/p0VYzm9myfcpzrqCA27rl5nO/Z5KrLgAsMNyp7E4 N7Hg== X-Gm-Message-State: APjAAAV31FHLxpP7X1v5fKXHvzNFBPf4E8Shjd5dcF5SeCT2xTPgTze8 Q5Ik5SP2PomNVuWffezpd25sv3xK/44= X-Google-Smtp-Source: APXvYqwb3SKFKF3q/QCHx6JDDpPUk3RTZsB4Awzk7MulCoz611m2Cb1nD36hSDy1BU82IJ5vU+mZGQ== X-Received: by 2002:a5d:4111:: with SMTP id l17mr14603244wrp.242.1556382271115; Sat, 27 Apr 2019 09:24:31 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-trivial@nongnu.org, qemu-devel@nongnu.org Date: Sat, 27 Apr 2019 18:24:29 +0200 Message-Id: <20190427162429.3617-1-f4bug@amsat.org> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::442 Subject: [Qemu-devel] [PATCH] hw/sparc/leon3: Allow load of uImage firmwares X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Fabien Chouteau , KONRAD Frederic , Stefan Hajnoczi , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Artyom Tarasenko Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Philippe Mathieu-Daud=C3=A9 Currently the Leon3 machine doesn't allow to load legacy u-boot images: $ qemu-system-sparc -M leon3_generic -d in_asm \ -kernel HelenOS-0.6.0-sparc32-leon3.bin qemu-system-sparc: could not load kernel 'HelenOS-0.6.0-sparc32-leon3.bin' $ file HelenOS-0.6.0-sparc32-leon3.bin HelenOS-0.6.0-sparc32-leon3.bin: u-boot legacy uImage, HelenOS-0.6.0,\ Linux/ARM, OS Kernel Image (Not compressed), 2424229 bytes,\ Sun Dec 21 19:18:09 2014,\ Load Address: 0x40000000, Entry Point: 0x40000000,\ Header CRC: 0x8BCFA236, Data CRC: 0x37AD87DF Since QEMU can load uImages, add the necessary code, so the Leon3 machine can load these images: $ qemu-system-sparc -M leon3_generic -d in_asm \ -kernel HelenOS-0.6.0-sparc32-leon3.bin ---------------- IN: 0x40000000: b 0x400007a8 0x40000004: nop ---------------- IN: 0x400007a8: save %sp, -136, %sp 0x400007ac: call 0x40000020 0x400007b0: sethi %hi(0x4000b800), %i1 ... Tested with the following firmware: http://www.helenos.org/releases/HelenOS-0.6.0-sparc32-leon3.bin Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sparc/leon3.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/sparc/leon3.c b/hw/sparc/leon3.c index 774639af33..0383b17c29 100644 --- a/hw/sparc/leon3.c +++ b/hw/sparc/leon3.c @@ -193,6 +193,10 @@ static void leon3_generic_hw_init(MachineState *machin= e) kernel_size =3D load_elf(kernel_filename, NULL, NULL, NULL, &entry, NULL, NULL, 1 /* big endian */, EM_SPARC, 0, 0); + if (kernel_size < 0) { + kernel_size =3D load_uimage(kernel_filename, NULL, &entry, + NULL, NULL, NULL); + } if (kernel_size < 0) { error_report("could not load kernel '%s'", kernel_filename); exit(1); --=20 2.19.1