LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Find Resources
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Openrisc > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: =?unknown-8bit?Q?Gy=F6rgy?= 'nog' Jeney<nog@s...>
    Date: Thu Mar 24 21:10:37 CET 2005
    Subject: [openrisc] [or1ksim #60] Remove the simple execution modell defines from or32.h
    Top
    Hi,

    Since the recompiler would add its own definitions to or32.h and basically make
    a real mess I have taken out the defines needed for the simple execution modell
    and put them into a simpl32_defs.h file so that when the recompiler arrives a
    hughe mess shall be avoided in or32.h

    ChangeLog:
    * Move the definitions needed for the simple execution model out of or32.h and
    into simpl32_defs.h

    nog.
    -------------- next part --------------
    diff -urp --unidirectional-new-file /home/nog/or1ksim-split/cpu/or1k/opcode/or32.h ./cpu/or1k/opcode/or32.h
    --- /home/nog/or1ksim-split/cpu/or1k/opcode/or32.h 2005-01-27 14:51:41.000000000 +0100
    +++ ./cpu/or1k/opcode/or32.h 2005-03-24 17:43:02.000000000 +0100
    @@ -45,6 +45,17 @@ Foundation, Inc., 59 Temple Place - Suit
    #define OR32_W_FLAG (2)
    #define OR32_R_FLAG (4)

    +#if defined(HAS_EXECUTION)
    +# if SIMPLE_EXECUTION
    +# include "simpl32_defs.h"
    +# else
    +extern void l_none PARAMS((void));
    +# endif
    +#else
    +extern void l_none PARAMS((void));
    +#endif
    +
    +
    struct or32_letter {
    char letter;
    int sign;
    @@ -142,86 +153,6 @@ struct temp_insn_struct
    extern unsigned long *automata;
    extern struct temp_insn_struct *ti;

    -#if defined(HAS_EXECUTION) && SIMPLE_EXECUTION
    -extern void l_invalid PARAMS((struct iqueue_entry *));
    -extern void l_sfne PARAMS((struct iqueue_entry *));
    -extern void l_bf PARAMS((struct iqueue_entry *));
    -extern void l_add PARAMS((struct iqueue_entry *));
    -extern void l_addc PARAMS((struct iqueue_entry *));
    -extern void l_sw PARAMS((struct iqueue_entry *));
    -extern void l_sb PARAMS((struct iqueue_entry *));
    -extern void l_sh PARAMS((struct iqueue_entry *));
    -extern void l_lwz PARAMS((struct iqueue_entry *));
    -extern void l_lbs PARAMS((struct iqueue_entry *));
    -extern void l_lbz PARAMS((struct iqueue_entry *));
    -extern void l_lhs PARAMS((struct iqueue_entry *));
    -extern void l_lhz PARAMS((struct iqueue_entry *));
    -extern void l_movhi PARAMS((struct iqueue_entry *));
    -extern void l_and PARAMS((struct iqueue_entry *));
    -extern void l_or PARAMS((struct iqueue_entry *));
    -extern void l_xor PARAMS((struct iqueue_entry *));
    -extern void l_sub PARAMS((struct iqueue_entry *));
    -extern void l_mul PARAMS((struct iqueue_entry *));
    -extern void l_div PARAMS((struct iqueue_entry *));
    -extern void l_divu PARAMS((struct iqueue_entry *));
    -extern void l_sll PARAMS((struct iqueue_entry *));
    -extern void l_sra PARAMS((struct iqueue_entry *));
    -extern void l_srl PARAMS((struct iqueue_entry *));
    -extern void l_j PARAMS((struct iqueue_entry *));
    -extern void l_jal PARAMS((struct iqueue_entry *));
    -extern void l_jalr PARAMS((struct iqueue_entry *));
    -extern void l_jr PARAMS((struct iqueue_entry *));
    -extern void l_rfe PARAMS((struct iqueue_entry *));
    -extern void l_nop PARAMS((struct iqueue_entry *));
    -extern void l_bnf PARAMS((struct iqueue_entry *));
    -extern void l_sfeq PARAMS((struct iqueue_entry *));
    -extern void l_sfgts PARAMS((struct iqueue_entry *));
    -extern void l_sfges PARAMS((struct iqueue_entry *));
    -extern void l_sflts PARAMS((struct iqueue_entry *));
    -extern void l_sfles PARAMS((struct iqueue_entry *));
    -extern void l_sfgtu PARAMS((struct iqueue_entry *));
    -extern void l_sfgeu PARAMS()(struct iqueue_entry *);
    -extern void l_sfltu PARAMS((struct iqueue_entry *));
    -extern void l_sfleu PARAMS((struct iqueue_entry *));
    -extern void l_extbs PARAMS((struct iqueue_entry *));
    -extern void l_extbz PARAMS((struct iqueue_entry *));
    -extern void l_exths PARAMS((struct iqueue_entry *));
    -extern void l_exthz PARAMS((struct iqueue_entry *));
    -extern void l_extws PARAMS((struct iqueue_entry *));
    -extern void l_extwz PARAMS((struct iqueue_entry *));
    -extern void l_mtspr PARAMS((struct iqueue_entry *));
    -extern void l_mfspr PARAMS((struct iqueue_entry *));
    -extern void l_sys PARAMS((struct iqueue_entry *));
    -extern void l_trap PARAMS((struct iqueue_entry *)); /* CZ 21/06/01 */
    -extern void l_macrc PARAMS((struct iqueue_entry *));
    -extern void l_mac PARAMS((struct iqueue_entry *));
    -extern void l_msb PARAMS((struct iqueue_entry *));
    -extern void l_invalid PARAMS((struct iqueue_entry *));
    -extern void l_cmov PARAMS ((struct iqueue_entry *));
    -extern void l_ff1 PARAMS ((struct iqueue_entry *));
    -extern void l_cust1 PARAMS ((struct iqueue_entry *));
    -extern void l_cust2 PARAMS ((struct iqueue_entry *));
    -extern void l_cust3 PARAMS ((struct iqueue_entry *));
    -extern void l_cust4 PARAMS ((struct iqueue_entry *));
    -extern void lf_add_s PARAMS ((struct iqueue_entry *));
    -extern void lf_div_s PARAMS ((struct iqueue_entry *));
    -extern void lf_ftoi_s PARAMS ((struct iqueue_entry *));
    -extern void lf_itof_s PARAMS ((struct iqueue_entry *)); -extern void lf_madd_s PARAMS ((struct iqueue_entry *)); -extern void lf_mul_s PARAMS ((struct iqueue_entry *)); -extern void lf_rem_s PARAMS ((struct iqueue_entry *)); -extern void lf_sfeq_s PARAMS ((struct iqueue_entry *)); -extern void lf_sfge_s PARAMS ((struct iqueue_entry *)); -extern void lf_sfgt_s PARAMS ((struct iqueue_entry *)); -extern void lf_sfle_s PARAMS ((struct iqueue_entry *)); -extern void lf_sflt_s PARAMS ((struct iqueue_entry *)); -extern void lf_sfne_s PARAMS ((struct iqueue_entry *)); -extern void lf_sub_s PARAMS((struct iqueue_entry *)); -extern void l_none PARAMS((struct iqueue_entry *)); -#else -extern void l_none PARAMS((void)); -#endif - extern CONST struct or32_letter or32_letters[]; extern CONST struct or32_opcode or32_opcodes[]; diff -urp --unidirectional-new-file /home/nog/or1ksim-split/cpu/or32/simpl32_defs.h ./cpu/or32/simpl32_defs.h --- cpu/or32/simpl32_defs.h 1970-01-01 01:00:00.000000000 +0100 +++ ./cpu/or32/simpl32_defs.h 2005-03-24 17:42:03.000000000 +0100 @@ -0,0 +1,95 @@ +/* simpl32_defs.h -- Definitions for the simple execution model + Copyright (C) 1999 Damjan Lampret, lampret@o... + +This file is part of OpenRISC 1000 Architectural Simulator. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +extern void l_invalid PARAMS((struct iqueue_entry *)); +extern void l_sfne PARAMS((struct iqueue_entry *)); +extern void l_bf PARAMS((struct iqueue_entry *)); +extern void l_add PARAMS((struct iqueue_entry *)); +extern void l_addc PARAMS((struct iqueue_entry *)); +extern void l_sw PARAMS((struct iqueue_entry *)); +extern void l_sb PARAMS((struct iqueue_entry *)); +extern void l_sh PARAMS((struct iqueue_entry *)); +extern void l_lwz PARAMS((struct iqueue_entry *)); +extern void l_lbs PARAMS((struct iqueue_entry *)); +extern void l_lbz PARAMS((struct iqueue_entry *)); +extern void l_lhs PARAMS((struct iqueue_entry *)); +extern void l_lhz PARAMS((struct iqueue_entry *)); +extern void l_movhi PARAMS((struct iqueue_entry *)); +extern void l_and PARAMS((struct iqueue_entry *)); +extern void l_or PARAMS((struct iqueue_entry *)); +extern void l_xor PARAMS((struct iqueue_entry *)); +extern void l_sub PARAMS((struct iqueue_entry *)); +extern void l_mul PARAMS((struct iqueue_entry *)); +extern void l_div PARAMS((struct iqueue_entry *)); +extern void l_divu PARAMS((struct iqueue_entry *)); +extern void l_sll PARAMS((struct iqueue_entry *)); +extern void l_sra PARAMS((struct iqueue_entry *)); +extern void l_srl PARAMS((struct iqueue_entry *)); +extern void l_j PARAMS((struct iqueue_entry *)); +extern void l_jal PARAMS((struct iqueue_entry *)); +extern void l_jalr PARAMS((struct iqueue_entry *)); +extern void l_jr PARAMS((struct iqueue_entry *)); +extern void l_rfe PARAMS((struct iqueue_entry *)); +extern void l_nop PARAMS((struct iqueue_entry *)); +extern void l_bnf PARAMS((struct iqueue_entry *)); +extern void l_sfeq PARAMS((struct iqueue_entry *)); +extern void l_sfgts PARAMS((struct iqueue_entry *)); +extern void l_sfges PARAMS((struct iqueue_entry *)); +extern void l_sflts PARAMS((struct iqueue_entry *)); +extern void l_sfles PARAMS((struct iqueue_entry *)); +extern void l_sfgtu PARAMS((struct iqueue_entry *)); +extern void l_sfgeu PARAMS()(struct iqueue_entry *); +extern void l_sfltu PARAMS((struct iqueue_entry *)); +extern void l_sfleu PARAMS((struct iqueue_entry *)); +extern void l_extbs PARAMS((struct iqueue_entry *)); +extern void l_extbz PARAMS((struct iqueue_entry *)); +extern void l_exths PARAMS((struct iqueue_entry *)); +extern void l_exthz PARAMS((struct iqueue_entry *)); +extern void l_extws PARAMS((struct iqueue_entry *)); +extern void l_extwz PARAMS((struct iqueue_entry *)); +extern void l_mtspr PARAMS((struct iqueue_entry *)); +extern void l_mfspr PARAMS((struct iqueue_entry *)); +extern void l_sys PARAMS((struct iqueue_entry *)); +extern void l_trap PARAMS((struct iqueue_entry *)); /* CZ 21/06/01 */ +extern void l_macrc PARAMS((struct iqueue_entry *)); +extern void l_mac PARAMS((struct iqueue_entry *)); +extern void l_msb PARAMS((struct iqueue_entry *)); +extern void l_invalid PARAMS((struct iqueue_entry *)); +extern void l_cmov PARAMS ((struct iqueue_entry *)); +extern void l_ff1 PARAMS ((struct iqueue_entry *)); +extern void l_cust1 PARAMS ((struct iqueue_entry *)); +extern void l_cust2 PARAMS ((struct iqueue_entry *)); +extern void l_cust3 PARAMS ((struct iqueue_entry *)); +extern void l_cust4 PARAMS ((struct iqueue_entry *)); +extern void lf_add_s PARAMS ((struct iqueue_entry *)); +extern void lf_div_s PARAMS ((struct iqueue_entry *)); +extern void lf_ftoi_s PARAMS ((struct iqueue_entry *)); +extern void lf_itof_s PARAMS ((struct iqueue_entry *)); +extern void lf_madd_s PARAMS ((struct iqueue_entry *)); +extern void lf_mul_s PARAMS ((struct iqueue_entry *)); +extern void lf_rem_s PARAMS ((struct iqueue_entry *)); +extern void lf_sfeq_s PARAMS ((struct iqueue_entry *)); +extern void lf_sfge_s PARAMS ((struct iqueue_entry *)); +extern void lf_sfgt_s PARAMS ((struct iqueue_entry *)); +extern void lf_sfle_s PARAMS ((struct iqueue_entry *)); +extern void lf_sflt_s PARAMS ((struct iqueue_entry *)); +extern void lf_sfne_s PARAMS ((struct iqueue_entry *)); +extern void lf_sub_s PARAMS((struct iqueue_entry *)); +extern void l_none PARAMS((struct iqueue_entry *)); +

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.