From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 127931 invoked by alias); 14 Feb 2017 18:52:23 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 127911 invoked by uid 89); 14 Feb 2017 18:52:21 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy=horne, stafford, Horne, Stafford X-HELO: smtp.gentoo.org Received: from smtp.gentoo.org (HELO smtp.gentoo.org) (140.211.166.183) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 14 Feb 2017 18:52:10 +0000 Received: from vapier (localhost [127.0.0.1]) by smtp.gentoo.org (Postfix) with SMTP id 156ED341130; Tue, 14 Feb 2017 18:52:08 +0000 (UTC) Date: Tue, 14 Feb 2017 18:52:00 -0000 From: Mike Frysinger To: Stafford Horne Cc: gdb-patches@sourceware.org, openrisc@lists.librecores.org Subject: Re: [PATCH v2 4/6] sim: or1k: add or1k target to sim Message-ID: <20170214185208.GJ28432@vapier> Mail-Followup-To: Stafford Horne , gdb-patches@sourceware.org, openrisc@lists.librecores.org References: <92c04bd768b66a48e03850af185e975d01605435.1484967575.git.shorne@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="poJSiGMzRSvrLGLs" Content-Disposition: inline In-Reply-To: <92c04bd768b66a48e03850af185e975d01605435.1484967575.git.shorne@gmail.com> X-IsSubscribed: yes X-SW-Source: 2017-02/txt/msg00395.txt.bz2 --poJSiGMzRSvrLGLs Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-length: 3808 On 21 Jan 2017 12:03, Stafford Horne wrote: > --- /dev/null > +++ b/sim/or1k/Makefile.in > > +# Extra headers included by sim-main.h. you shouldn't need to do any manual dep management. i'd suggest deleting all this logic and seeing if things still work. > --- /dev/null > +++ b/sim/or1k/configure.ac > @@ -0,0 +1,41 @@ > +dnl Process this file with autoconf to produce a configure script. > +AC_PREREQ(2.64)dnl > +AC_INIT(Makefile.in) > +sinclude(../common/acinclude.m4) > + > + case "${target_alias}" in drop the indentation > + or1k-linux*|or1knd-linux*) > + traps_obj=traps32-linux.o > + ;; > + or1k-*|or1knd-*) > + traps_obj=traps32.o > + ;; > + esac we really don't like to see this kind of logic. can't you do a single build and then select the right details at runtime ? --- /dev/null > +++ b/sim/or1k/or1k.h > @@ -0,0 +1,38 @@ > +#ifndef OR1K_H > +#define OR1K_H all files should have a header with copyright & license info also, please use namespaced defines like SIM_OR1K_H > --- /dev/null > +++ b/sim/or1k/sim-if.c > @@ -0,0 +1,318 @@ > +/* Main simulator entry points specific to the OR1K. > + Copyright (C) 1996-1999, 2003, 2007-2012 Free Software Foundation, > + Inc. > + Contributed by Cygnus Support. looks like you need to double check where you copied & pasted things from. cygnus isn't doing this port ;). > +SIM_DESC > +sim_open (kind, callback, abfd, argv) > + SIM_OPEN_KIND kind; > + host_callback *callback; > + struct bfd *abfd; > + char * const *argv; you need to update all your prototypes. we don't do old style ones like this anymore. > +#ifdef HAVE_DV_SOCKSER /* FIXME: was done differently before */ > + if (dv_sockser_install (sd) != SIM_RC_OK) > + { > + free_state (sd); > + return 0; > + } > +#endif delete this. common code handles it for you now. > + /* Allocate core managed memory if none specified by user. > + Use address 4 here in case the user wanted address 0 unmapped. */ > + if (sim_core_read_buffer (sd, NULL, read_map, &c, 4, 1) == 0) { > + sim_do_commandf (sd, "memory region 0,0x%x", OR1K_DEFAULT_MEM_SIZE); > + } this isn't using GNU style for the braces/if body. this comes up multiple times in this patch, so please fix them all. > + /* check for/establish the reference program image */ this comment isn't using GNU style. this comes up multiple times in this patch, so please fix them all. > + > + for (c = 0; c < MAX_NR_PROCESSORS; ++c) > + { > + SIM_CPU *cpu = STATE_CPU (sd, i); > + /* Only needed for profiling, but the structure member is small. */ > + memset (CPU_OR1K_MISC_PROFILE (cpu), 0, > + sizeof (* CPU_OR1K_MISC_PROFILE (cpu))); > + > +#ifdef WANT_CPU_OR1K32BF > + or1k32bf_h_spr_set_raw(cpu, SPR_ADDR(SYS,VR), or1k_vr); > + or1k32bf_h_spr_set_raw(cpu, SPR_ADDR(SYS,UPR), or1k_upr); > + or1k32bf_h_spr_set_raw(cpu, SPR_ADDR(SYS,CPUCFGR), or1k_cpucfgr); > + > + or1k32bf_cpu_init (sd, cpu); > +#endif > + } this loop has to call these funcs: CPU_REG_FETCH CPU_REG_STORE CPU_PC_FETCH CPU_PC_STORE > + /* Store in a global so things like sparc32_dump_regs can be invoked > + from the gdb command line. */ > + current_state = sd; you must kill current_state. we do not allow global state anymore. > --- /dev/null > +++ b/sim/or1k/sim-main.h > > +typedef IAI sim_cia; > +#define CIA_GET(cpu) CPU_PC_GET (cpu) > +#define CIA_SET(cpu,val) CPU_PC_SET ((cpu),(val)) these defines are dead -> delete > +typedef struct _sim_cpu SIM_CPU; delete this > +#ifdef OR1K_LINUX nothing defines this -> delete > +#if (WITH_SMP) > +#define STATE_CPU(sd, n) ((sd)->cpu[n]) > +#else > +#define STATE_CPU(sd, n) ((sd)->cpu[0]) > +#endif delete these -- common code does it for you now -mike --poJSiGMzRSvrLGLs Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature Content-length: 833 -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEuQK1JxMl+JKsJRrUQWM7n+g39YEFAlijUdgACgkQQWM7n+g3 9YGaDhAAoI2NtzVmmCvYrcDOkD9MxDCIU+/O9x2syRM7IM2XKJyuUZyGdQmLyunZ cXWu5v/r1vvFKUbqMpvfSNwAetHzy/2e9A4WKXAIGwkSVNgRUGTAJseW+umSSwLG mgcxitt1rsOWMdht6O+O/jVAlwUmliR1VzarI3ePm/XlcU+uMKw1/Ywsh4q+k9vS 3IcDhwr/+Kwmj7SyjyNATKJ0oVo3mAeBTQfxWO32QT+UrESO7Jg41IiVZGyETPTh cT2MazHeHb6DEy1fM6w0ARkrTyrYv701IVNFLVsmIbCBYvBONIApi0GDdq9E9Qv2 LhTcOQLVapu/8yVlD3VNhuPoDnD8zsoQJ60auX9lNnzEGk3bBcU9MW6ljygp8vNd o9jpJb1BlFhRMvCYoBg+9AstNa+Qjx9s+fx1suGoUmNYrnjOkxl/9fpsdFPdxmoI KxoTbXoI1w8GlDA/bEydk707NiUFGuIKz1icYPlup/s5HBV7KixxXIXNuKdgg8Vk OVjdyQHUqNNYfkELcUm3UJlnulQEEel5pkeSTSfRzes5TUDVJgKJVD1U+eeM6CgY oYKw64jd+bRpPuZSPK/m/FH2DAxcTY97ir8Bp/r2QKVvw6KpCKwD9rQ7BIqwZVfa v3icmVIfzf72huNYbZ3ULxtdC1HYCpYAYk/sJUHwAH5YDZrm/nM= =Tvpv -----END PGP SIGNATURE----- --poJSiGMzRSvrLGLs--