Posts: 978 | Thanked: 979 times | Joined on Feb 2011
#161
Only mentioning depositfiles as soon after MU bust Mediafire changed its upload interface and it's no longer working with microB. Went through around a dozen with no success.
 
Posts: 1,625 | Thanked: 6,171 times | Joined on May 2010
#162
I published new version of u-boot, see thread: http://talk.maemo.org/showthread.php?t=81613
 

The Following 7 Users Say Thank You to pali For This Useful Post:
Posts: 59 | Thanked: 33 times | Joined on Jul 2010
#163
so freemangordon, did you manage to set the bit from non-secure mode to enable the workaround for thumb2 on the meego kernel?
 

The Following 2 Users Say Thank You to MastaG For This Useful Post:
Posts: 2,223 | Thanked: 8,501 times | Joined on Mar 2010 @ Sofia,Bulgaria
#164
Originally Posted by MastaG View Post
so freemangordon, did you manage to set the bit from non-secure mode to enable the workaround for thumb2 on the meego kernel?
Still didn't have time to play with BTB flush bit, too much other stuff . But I will do it, as soon as I have some spare time
 

The Following 7 Users Say Thank You to freemangordon For This Useful Post:
Posts: 59 | Thanked: 33 times | Joined on Jul 2010
#165
Originally Posted by freemangordon View Post
Still didn't have time to play with BTB flush bit, too much other stuff . But I will do it, as soon as I have some spare time
No problem bro, take your time.

So if I understand correctly the ubuntu 12.04 packages were compiled for the armel/thumb2 platform.
And the cpu of the N900 does not support thumb2 instructions.
To work around this issue we have to enable the errata_430973 fix inside the kernel to be able run excutables with these thumb2 instructions compiled.

But you said the errata_430973 fix was enabled in previous versions of KP (for the sake of running these thumb2 binaries?).
But didnt anyone tested if this would really set the bit?

We can always recompile the complete 12.04 userland without thumb2 I guess
If anyone willing to provide the hosting/storage/cpu-cycles that is...
 
Posts: 2,223 | Thanked: 8,501 times | Joined on Mar 2010 @ Sofia,Bulgaria
#166
Originally Posted by MastaG View Post
No problem bro, take your time.

So if I understand correctly the ubuntu 12.04 packages were compiled for the armel/thumb2 platform.
And the cpu of the N900 does not support thumb2 instructions.
To work around this issue we have to enable the errata_430973 fix inside the kernel to be able run excutables with these thumb2 instructions compiled.
The CPU in n900 supports thumb2, but it has a bug in the silicon, see the errata description:

http://kerneltrap.org/mailarchive/gi...09/5/3/5622724

But you said the errata_430973 fix was enabled in previous versions of KP (for the sake of running these thumb2 binaries?).
But didnt anyone tested if this would really set the bit?
It was enabled in the days when Titan was maintainer, I have NFC why it was enabled. It is of no use and only slows down the CPU if there are no thumb/2 compiled binaries which could trigger the bug.

We can always recompile the complete 12.04 userland without thumb2 I guess
If anyone willing to provide the hosting/storage/cpu-cycles that is...
Sure you could, but my ultimate goal is to bring thumb2 compiled binaries in Maemo without risking the stability. That is why Ubuntu 12.04 is teh perfect test scenario.
 

The Following 10 Users Say Thank You to freemangordon For This Useful Post:
Posts: 464 | Thanked: 512 times | Joined on Oct 2010
#167
Could you provide a .zip of the files? I can't branch from Launchpad for some reason (it gives me the message: Permission denied (publickey).
bzr: ERROR: Connection closed: Unexpected end of message. Please check connectivity and permissions, and report a bug if problems persist.)
 

The Following User Says Thank You to skykooler For This Useful Post:
Posts: 2,223 | Thanked: 8,501 times | Joined on Mar 2010 @ Sofia,Bulgaria
#168
The bad news:
Seems the IBE bit in CortexA8 Auxiliary Control Register cannot be set outside secure world, so enabling CONFIG_ARM_ERRATA_430973 in kernel does absolutely nothing (besides executing few more instructions). I tried to set the bit in u-boot with the following code:

Code:
u32 actlr;
__asm__ volatile(
			 "mrc	p15, 0, %0, c1, c0, 1;"
			 "orr	%0, %0, #(1 << 6);"
			 "mcr	p15, 0, %0, c1, c0, 1;"
			 "mrc	p15, 0, %0, c1, c0, 1;"
			 :"=r"(actlr)
			 :
	      );
	printf("ACTLR 0x%08X\n",actlr);
and the result is 0x00000022 (L2EN=1, L1NEON=1) instead of 0x00000062(L2EN=1, L1NEON=1,IBE=1) .
If anyone finds an error in my code, please tell me, but i don't think it is incorrect.

The (maybe) good news:
It seems there is a function in CortexA8 secure monitor for setting the value of Auxiliary Control Register from outside secure world, it is used in kernel when CPU goes out of standby to restore the register contents. Have no idea if it will be useful, but will try these days.
 

The Following 11 Users Say Thank You to freemangordon For This Useful Post:
Posts: 2,223 | Thanked: 8,501 times | Joined on Mar 2010 @ Sofia,Bulgaria
#169
UPDATE:

the "maybe good news" turned out to be good news - we have a perfectly working SMC (secure Monitor Call) function for setting the contents of Auxiliary Control Register.
 

The Following 15 Users Say Thank You to freemangordon For This Useful Post:
Posts: 2,223 | Thanked: 8,501 times | Joined on Mar 2010 @ Sofia,Bulgaria
#170
Guys, u-boot here along with kernel compiled with arm thumb errata workaround enabled (unknown.obvious' one for example), should allow thumb-compiled Ubuntu to run on n900 without an issue (at least on thumb front ).

Please test and report.
 

The Following 12 Users Say Thank You to freemangordon For This Useful Post:
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search

 
Forum Jump


All times are GMT -4. The time now is 12:59 AM.