[Libre-soc-bugs] [Bug 982] Support PowerPC ABI in ISACaller

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Sun Oct 22 21:02:43 BST 2023


https://bugs.libre-soc.org/show_bug.cgi?id=982

--- Comment #125 from Dmitry Selyutin <ghostmansd at gmail.com> ---
(In reply to Luke Kenneth Casson Leighton from comment #122)
> (In reply to Dmitry Selyutin from comment #120)
> ah errr that shouldn't happen.  ohhh hang on yes i think i know what is
> going on, the pc is pointing to 0xc00, of course there is no
> instruction *at* 0xc00 so it gets a NULL op, which is "illegal",
> and it all goes to shit from there.

Nope, by that point it doesn't point to 0xc00. It still points to 0x0, sc. And
then it compares sc vs rfid. So I have to replace the instruction temporarily.

> so yes sigh "cheat" mode is necessary. sigh.  or we split out
> ISACaller.call() into yet anoooother function. let me handle
> that ok?

Sure, np. I couldn't come up with a better way to handle it other than
temporarily overriding instruction.

> > > > https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;
> > > > h=e25fca65a5a0faecdd9040689b5fe1f44b9a64a7
> > > 
> > > pass in "None" instead and do "if initial_msr is None:
> > > initial_msr=0x9000000000001" (MSR.LE | MSR.SF)
> > 
> > You mean ISACaller.__init__, right?
> 
> *no*, under no circumstances change that. if you run all the
> unit tests all hell will break loose.  when i said test_runner.py
> (implicitly by replying to the commit-diff) i meant test_runner.py
> and not anything else.

Yeah already done.

> > So you mean that we actually got the correct value, it's just that my
> > expectations were incorrect?
> 
> correct.

I still have different expectations. :-) See comment #123.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list