[maemo-developers] Java acceleration/Jazelle
From: Simon Pickering S.G.Pickering at bath.ac.ukDate: Sat Jul 14 01:06:47 EEST 2007
- Previous message: Einstein (Newton Emulator) port to the N800; and it's gone open source
- Next message: Java acceleration/Jazelle
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Ah, looks like I spoke too soon. My original branching code seems to have been misguided, hence the segfaults. New improved code here: http://people.bath.ac.uk/enpsgp/nokia770/jazelle/jazelle5.c Now, when I call bxj r12, with r12 pointing to the handler code and r14 pointing to the Java code (or anything for that matter), I get a jump to the handler code at r12. Not sure whether this is actually a good thing, as I get a jump to the code in r12 no matter whether I have an unhandleable Java bytecode or what I understand are valid bytecodes (from Sebastian Mancke's presentation) at the address pointed to by r14. I'm not sure this should happen. It almost appears that the bxj instruction is acting as a simple branch instruction. Example output: Nokia-N800-26:/home/user# ./test_jazelle5.bin Start R14 is 67192 R12 is 33752 R6 is -1090742540 R4 is 0 End If I try running bxj r14 instead, I get a segfault. Not quite giving up the thread of hope, it may be that the Java hardware needs to be enabled by one of the flags in CPSR (though this is requires privileges, so hopefully not) or what's called CP14 in fig1 of the patent. Now I'm not sure if this agrees with what Sebastian found, as my impression was that no flag tweaking was required to make something happen for his test case? It's too late in the evening to go looking for info about CP14 now, perhaps over the weekend. Cheers, Simon
- Previous message: Einstein (Newton Emulator) port to the N800; and it's gone open source
- Next message: Java acceleration/Jazelle
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]