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: Mon Mar 28 10:15:33 CEST 2005
    Subject: [openrisc] or1ksim patches #34-#67
    Top
    > I'm also experiencing some differences in behaviour beetwen current cvs
    > tree (which also doesn't compile) and the stable branch. i'll investigate
    > as soon as these patches are commited to cvs.

    What's the problem? (It works for me here).

    > #34 missing.

    Sent.

    > #35 accepted.
    > #36 accepted, argee on comment about not needing floats.
    > #37 resend patch. (there is incorrect patch applied to email #37)

    Resent.

    > #38 accepted.
    > #39 accepted.
    > #40 accepted.
    > #41 accepted.
    > #42 accepted.
    > #43 missing.

    Sent.

    > #44 accepted.
    > #45 accepted, please make a comment somewhere appropriate that one shouldn't
    > assume except_handle returns. i might have additional comments later on.

    Is the attached patch ok? Or were you thinking about something else?

    > #46 accepted.
    > #47 accepted, with the same comment as #45
    > #48 accepted.
    > #49 accepted.
    > #50 accepted. (why is "enabled = 1" line removed. how can one easily disable
    > some device ?)

    Don't have the section in the config file. If this is a wanted behaviour then
    I could readd it...

    > #51 missing.
    > #52 missing.

    Sent.

    > #53 accepted. why not print the whole SPR_SR then ?

    1) I didn't need it.
    2) It clutters the output.
    but the real reason:
    3) Because of 1 I didn't think of it!

    Would the attached patch53-2 be better?

    > #54 accepted.
    > #55 accepted.
    > #56 accepted.
    > #57 accepted.
    > #58 accepted.
    > #59 accepted. We probably need a separation to the 'architectural access
    > (the one that real hw would do)' and the 'simulator internal accesses'. but
    > let it be like this for now. I agree with "I would go asfar as to argue that
    > mfspr() and mtspr() should only be called from
    > the l.mfspr and l.mtspr instructions."

    What is not "architectural access (the one that real hw would do)" for the
    mtspr() function? I think all the calls to it in except_handle, etc. the real
    hw does aswell.

    > #60 accepted.
    > #61 accepted.
    > #62 accepted.
    > #63 accepted.
    > #64 missing.

    It's the recompiler. Even with a `bzip2 -9' it's 50kb. It's sitting in
    Jernej's moderation queue.

    > #65 accepted.
    > #66 accepted.
    > #67 accepted.

    nog.
    -------------- next part --------------
    diff -urp --unidirectional-new-file /home/nog/or1ksim-split/cpu/or32/execute.c ./cpu/or32/execute.c
    --- /home/nog/or1ksim-split/cpu/or32/execute.c 2005-03-23 16:50:21.000000000 +0100
    +++ ./cpu/or32/execute.c 2005-03-22 20:19:16.000000000 +0100
    @@ -519,6 +519,11 @@ void dump_exe_log ()
    break;
    opd++;
    }
    + if(or32_opcodes[iqueue[0].insn_index].flags & OR32_R_FLAG) {
    + fprintf (runtime.sim.fexe_log, "SR =%08x ",
    + cpu_state.sprs[SPR_SR]);
    + j++;
    + }
    while(j < 3) {
    fprintf (runtime.sim.fexe_log, " ");
    j++;
    -------------- next part -------------- --- cpu/or1k/except.c 2005-03-24 18:53:42.000000000 +0100 +++ /home/nog/or1ksim-ac/cpu/or1k/except.c 2005-03-28 10:10:26.000000000 +0200 @@ -79,6 +79,8 @@ #endif /* Asserts OR1K exception. */ +/* WARNING: Don't excpect except_handle to return. Sometimes it _may_ return at + * other times it may not. */ void except_handle(oraddr_t except, oraddr_t ea) { oraddr_t except_vector; --- pic/pic.c 2005-03-24 18:08:57.000000000 +0100 +++ /home/nog/or1ksim-ac/pic/pic.c 2005-03-28 10:07:46.000000000 +0200 @@ -67,6 +67,8 @@ /* WARNING: Don't eaven try and call this function *during* a simulated * instruction!! (as in during a read_mem or write_mem callback). except_handle * assumes that this is the case, it breaks otherwise. */ +/* WARNING2: Don't except report_interrupt to return! However, it also _may_ + * return. Make sure you handle this case aswell. */ /* Asserts interrupt to the PIC. */ void report_interrupt(int line) {

    ReferenceAuthor
    [openrisc] or1ksim patches #34-#67Matjaz Breskvar

    Follow upAuthor
    [openrisc] or1ksim patches #34-#67Matjaz Breskvar

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