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 lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 18E79C433EF for ; Wed, 30 Mar 2022 10:08:07 +0000 (UTC) Received: from localhost ([::1]:44974 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nZVFF-0005xE-Nz for qemu-devel@archiver.kernel.org; Wed, 30 Mar 2022 06:08:05 -0400 Received: from eggs.gnu.org ([209.51.188.92]:37800) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nZVAD-0001sU-M6; Wed, 30 Mar 2022 06:02:53 -0400 Received: from mail03.asahi-net.or.jp ([202.224.55.15]:53333) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nZVA7-00067i-9l; Wed, 30 Mar 2022 06:02:53 -0400 Received: from sakura.ysato.name (ik1-413-38519.vs.sakura.ne.jp [153.127.30.23]) (Authenticated sender: PQ4Y-STU) by mail03.asahi-net.or.jp (Postfix) with ESMTPA id 8E9592E4C6; Wed, 30 Mar 2022 19:02:42 +0900 (JST) Received: from SIOS1075.ysato.ml (z215155.dynamic.ppp.asahi-net.or.jp [110.4.215.155]) by sakura.ysato.name (Postfix) with ESMTPSA id DB34A1C03A6; Wed, 30 Mar 2022 19:02:41 +0900 (JST) Date: Wed, 30 Mar 2022 19:02:39 +0900 Message-ID: <87r16jn4g0.wl-ysato@users.sourceforge.jp> From: Yoshinori Sato To: Thomas Huth Subject: Re: [PATCH] target/sh4: Remove old README.sh4 file In-Reply-To: <20220329151955.472306-1-thuth@redhat.com> References: <20220329151955.472306-1-thuth@redhat.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Received-SPF: softfail client-ip=202.224.55.15; envelope-from=ysato@users.sourceforge.jp; helo=mail03.asahi-net.or.jp X-Spam_score_int: -11 X-Spam_score: -1.2 X-Spam_bar: - X-Spam_report: (-1.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_SOFTFAIL=0.665, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-trivial@nongnu.org, qemu-devel@nongnu.org, Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" On Wed, 30 Mar 2022 00:19:55 +0900, Thomas Huth wrote: > > This file didn't have any non-trivial update since it was initially > added in 2006, and looking at the content, it seems incredibly outdated, > saying e.g. "The sh4 target is not ready at all yet for integration in > qemu" or "A sh4 user-mode has also somewhat started but will be worked > on afterwards"... Sounds like nobody is interested in this README file > anymore, so let's simply remove it now. > > Signed-off-by: Thomas Huth > --- > target/sh4/README.sh4 | 150 ------------------------------------------ > 1 file changed, 150 deletions(-) > delete mode 100644 target/sh4/README.sh4 > > diff --git a/target/sh4/README.sh4 b/target/sh4/README.sh4 > deleted file mode 100644 > index a192ca7540..0000000000 > --- a/target/sh4/README.sh4 > +++ /dev/null > @@ -1,150 +0,0 @@ > -qemu target: sh4 > -author: Samuel Tardieu > -last modified: Tue Dec 6 07:22:44 CET 2005 > - > -The sh4 target is not ready at all yet for integration in qemu. This > -file describes the current state of implementation. > - > -Most places requiring attention and/or modification can be detected by > -looking for "XXXXX" or "abort()". > - > -The sh4 core is located in target/sh4/*, while the 7750 peripheral > -features (IO ports for example) are located in hw/sh7750.[ch]. The > -main board description is in hw/shix.c, and the NAND flash in > -hw/tc58128.[ch]. > - > -All the shortcomings indicated here will eventually be resolved. This > -is a work in progress. Features are added in a semi-random order: if a > -point is blocking to progress on booting the Linux kernel for the shix > -board, it is addressed first; if feedback is necessary and no progress > -can be made on blocking points until it is received, a random feature > -is worked on. > - > -Goals > ------ > - > -The primary model being worked on is the soft MMU target to be able to > -emulate the Shix 2.0 board by Alexis Polti, described at > -https://web.archive.org/web/20070917001736/http://perso.enst.fr/~polti/realisations/shix20/ > - > -Ultimately, qemu will be coupled with a system C or a verilog > -simulator to simulate the whole board functionalities. > - > -A sh4 user-mode has also somewhat started but will be worked on > -afterwards. The goal is to automate tests for GNAT (GNU Ada) compiler > -that I ported recently to the sh4-linux target. > - > -Registers > ---------- > - > -16 general purpose registers are available at any time. The first 8 > -registers are banked and the non-directly visible ones can be accessed > -by privileged instructions. In qemu, we define 24 general purpose > -registers and the code generation use either [0-7]+[8-15] or > -[16-23]+[8-15] depending on the MD and RB flags in the sr > -configuration register. > - > -Instructions > ------------- > - > -Most sh4 instructions have been implemented. The missing ones at this > -time are: > - - FPU related instructions > - - LDTLB to load a new MMU entry > - - SLEEP to put the processor in sleep mode > - > -Most instructions could be optimized a lot. This will be worked on > -after the current model is fully functional unless debugging > -convenience requires that it is done early. > - > -Many instructions did not have a chance to be tested yet. The plan is > -to implement unit and regression testing of those in the future. > - > -MMU > ---- > - > -The MMU is implemented in the sh4 core. MMU management has not been > -tested at all yet. In the sh7750, it can be manipulated through memory > -mapped registers and this part has not yet been implemented. > - > -Exceptions > ----------- > - > -Exceptions are implemented as described in the sh4 reference manual > -but have not been tested yet. They do not use qemu EXCP_ features > -yet. > - > -IRQ > ---- > - > -IRQ are not implemented yet. > - > -Peripheral features > -------------------- > - > - + Serial ports > - > -Configuration and use of the first serial port (SCI) without > -interrupts is supported. Input has not yet been tested. > - > -Configuration of the second serial port (SCIF) is supported. FIFO > -handling infrastructure has been started but is not completed yet. > - > - + GPIO ports > - > -GPIO ports have been implemented. A registration function allows > -external modules to register interest in some port changes (see > -hw/tc58128.[ch] for an example) and will be called back. Interrupt > -generation is not yet supported but some infrastructure is in place > -for this purpose. Note that in the current model a peripheral module > -cannot directly simulate a H->L->H input port transition and have an > -interrupt generated on the low level. > - > - + TC58128 NAND flash > - > -TC58128 NAND flash is partially implemented through GPIO ports. It > -supports reading from flash. > - > -GDB > ---- > - > -GDB remote target support has been implemented and lightly tested. > - > -Files > ------ > - > -File names are hardcoded at this time. The bootloader must be stored in > -shix_bios.bin in the current directory. The initial Linux image must > -be stored in shix_linux_nand.bin in the current directory in NAND > -format. Test files can be obtained from > -http://perso.enst.fr/~polti/robot/ as well as the various datasheets I > -use. > - > -qemu disk parameter on the command line is unused. You can supply any > -existing image and it will be ignored. As the goal is to simulate an > -embedded target, it is not clear how this parameter will be handled in > -the future. > - > -To build an ELF kernel image from the NAND image, 16 bytes have to be > -stripped off the end of every 528 bytes, keeping only 512 of them. The > -following Python code snippet does it: > - > -#! /usr/bin/python > - > -def denand (infd, outfd): > - while True: > - d = infd.read (528) > - if not d: return > - outfd.write (d[:512]) > - > -if __name__ == '__main__': > - import sys > - denand (open (sys.argv[1], 'rb'), > - open (sys.argv[2], 'wb')) > - > -Style isssues > -------------- > - > -There is currently a mix between my style (space before opening > -parenthesis) and qemu style. This will be resolved before final > -integration is proposed. > -- > 2.27.0 > Reviewed-by: Yoshinori Sato -- Yosinori Sato