* Re: asm in OF? YES!
2000-08-30 14:05 asm in OF? Gabriel Paubert
@ 2000-08-30 21:38 ` Michel Lanners
2000-08-31 7:52 ` Gabriel Paubert
0 siblings, 1 reply; 3+ messages in thread
From: Michel Lanners @ 2000-08-30 21:38 UTC (permalink / raw)
To: paubert; +Cc: linuxppc-dev
Hi all,
Yep, it works! I can boot off mesh again ;-)
On 30 Aug, this message from Gabriel Paubert echoed through cyberspace:
>> Apple's OF seems to have that capability as well (I think, guess and hope ;-).
>> However, it does _not_ seem to have an assembler built-in. The 'code' word
>> is defined all right.
>
> You don't have any ppc-assembler vocabulary or similar, then ?
Nope. Definitely not. We have hexdump and l, , isn't that enough? No
real hacker would use an assembler; thats for lamers ;-)
> Ok, how can something this close to the machine be delivered without an
> assembler ?
See above ;-))
> Well, sincee you can type in hex, there is still some hope...
Hex worked.
>> I will try this tonight, but I doubt I will be able to enter this as asm
>> words. Do you know the alternate syntax? Would something lime this work:
>>
>> code 60000000 l, 6000000 l,
>
> I think so, let me try:
>
> ok code ictc@ ok 979ffffc l, 7f99faa6 l, 4e800420 l, ;code
> ok see ictc@
> code ictc@
> edcc5c stwu r28,-4(r31)
> edcc60 mfspr r28,spr1017
1017 is actually l2cr, but never mind...
> edcc64 bcctr always
> ok ictc@ .
> 264d2
> ok
>> How do you terminate a 'code' sequence?
>
> Oops, forgot about it, my bad. With ';code', isn't it obvious ?
Hm, doesn't work in Apple's OF 1.0.5. end-code is the answer ;-). Here
is my ictc! implementation, if anyone's interested:
code ictc!
7e9bfba6 l, 829f0000 l, 3bff0004 l, 4e800020 l,
end-code
That is roughly this in asm:
mtictc r20 (or mtspr 1019,r20)
lwz r20,0(r31)
addi r31,r31,4
blr
Verifyed to slow the system on a busy loop:
: loop
begin
1- dup 0<
until
drop
;
11 ictc! slows this loop by a factor of 4.
Now, go figure why this helps the MESH driver... It seems to use some
busy loop timing somewhere; however there is the ms word available which
uses the timebase and is accurate even on my upgraded box.... That would
have been the better choice, unless the driver uses sub-1ms loops. Which
would explain...
Anyway, thanks for your help, Gabriel!
Cheers
Michel
-------------------------------------------------------------------------
Michel Lanners | " Read Philosophy. Study Art.
23, Rue Paul Henkes | Ask Questions. Make Mistakes.
L-1710 Luxembourg |
email mlan@cpu.lu |
http://www.cpu.lu/~mlan | Learn Always. "
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: asm in OF? YES!
2000-08-30 21:38 ` asm in OF? YES! Michel Lanners
@ 2000-08-31 7:52 ` Gabriel Paubert
0 siblings, 0 replies; 3+ messages in thread
From: Gabriel Paubert @ 2000-08-31 7:52 UTC (permalink / raw)
To: Michel Lanners; +Cc: linuxppc-dev
On Wed, 30 Aug 2000, Michel Lanners wrote:
Hi,
> Yep, it works! I can boot off mesh again ;-)
Glad it helped...
> > ok code ictc@ ok 979ffffc l, 7f99faa6 l, 4e800420 l, ;code
> > ok see ictc@
> > code ictc@
> > edcc5c stwu r28,-4(r31)
> > edcc60 mfspr r28,spr1017
>
> 1017 is actually l2cr, but never mind...
Right, anyway the 603e has neither ictc nor l2cr so I presume it would
work in ay case...
> >> How do you terminate a 'code' sequence?
> >
> > Oops, forgot about it, my bad. With ';code', isn't it obvious ?
>
> Hm, doesn't work in Apple's OF 1.0.5. end-code is the answer ;-). Here
> is my ictc! implementation, if anyone's interested:
You've just got to love OF portability across machines and architecture
independance :-( Add to this the fact that I have somewhere a FirmWorks
document which claims that on PPC the top of the stack is always in r28,
r20/r21 are scratch registers. r31 is still the stack pointer (and r30 the
return stack AFAIR).
>
> code ictc!
> 7e9bfba6 l, 829f0000 l, 3bff0004 l, 4e800020 l,
> end-code
[snipped]
>
> 11 ictc! slows this loop by a factor of 4.
>
> Now, go figure why this helps the MESH driver... It seems to use some
> busy loop timing somewhere; however there is the ms word available which
> uses the timebase and is accurate even on my upgraded box.... That would
> have been the better choice, unless the driver uses sub-1ms loops. Which
> would explain...
Indeed, to find it you might simply try to `see' all the words in the mesh
driver, but it may be large. BTW there is another interesting word in my
OF (apart from the even more interesting bugs ;-)):
' some_word .calls
will show all Forth words which call some_word (with a few false positives
to make things more entertaining). Does Apple's OF have something similar
or is it also crippled ?
> Anyway, thanks for your help, Gabriel!
De nada.
Regards,
Gabriel.
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: asm in OF? YES!
@ 2000-08-31 22:41 Bruce Anderson
0 siblings, 0 replies; 3+ messages in thread
From: Bruce Anderson @ 2000-08-31 22:41 UTC (permalink / raw)
To: Gabriel Paubert; +Cc: linuxppc-dev
On Thu, Aug 31, 2000 2:52 AM, Gabriel Paubert <mailto:paubert@iram.es>
wrote:
>
>You've just got to love OF portability across machines and architecture
>independance :-( Add to this the fact that I have somewhere a FirmWorks
>document which claims that on PPC the top of the stack is always in r28,
>r20/r21 are scratch registers. r31 is still the stack pointer (and r30 the
>return stack AFAIR).
>
>
Your asumption about OF portability is in error. Apple does not
use FirmWorks OF code. Apple created their own "OF" version that
resembles FirmWorks OF vocabulary.
" Stamp out root logins . . . . su " --Bruce Anderson
This message was created and sent using Cyberdog 2.0, MacOS 8.6,
awk, find, sed, sendmail, sh, and NetBSD a free Multi-Platform OS.
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2000-08-31 22:41 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-08-31 22:41 asm in OF? YES! Bruce Anderson
-- strict thread matches above, loose matches on Subject: below --
2000-08-30 14:05 asm in OF? Gabriel Paubert
2000-08-30 21:38 ` asm in OF? YES! Michel Lanners
2000-08-31 7:52 ` Gabriel Paubert
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).