diff -r 4122176ea935 -r 56f325a607ea kerneltest/e32test/math/t_vfp.cpp --- a/kerneltest/e32test/math/t_vfp.cpp Mon Dec 21 16:14:42 2009 +0000 +++ b/kerneltest/e32test/math/t_vfp.cpp Wed Dec 23 11:43:31 2009 +0000 @@ -251,6 +251,7 @@ TInt TestBounceCtxThread1(TAny*) { + UserSvr::HalFunction(EHalGroupKernel, EKernelHalLockThreadToCpu, (TAny*)Max(CPUs-1, 0), 0); for(TInt iter=0; iter 1) + { + test.Next(_L("Test SMP Thread Migration")); + TInt inc = 1; + RThread t[8]; + TRequestStatus s[8]; + TInt count; + for (count = 0; count < CPUs + 1; count++) + { + TInt r = t[count].Create(KNullDesC, &TestThreadMigration, 0x1000, NULL, (TAny*)(inc++)); + test(r==KErrNone); + t[count].Logon(s[count]); + } + for (count = 0; count < CPUs + 1; count++) + { + t[count].Resume(); + } + User::After(10*1000*1000); + for (count = 0; count < CPUs + 1; count++) + { + t[count].Kill(0); + } + for (count = 0; count < CPUs + 1; count++) + { + User::WaitForAnyRequest(); + } + for (count = 0; count < CPUs + 1; count++) + { + TInt xt = t[count].ExitType(); + TInt xr = t[count].ExitReason(); + test(xt == EExitKill && xr == KErrNone); + } + for (count = 0; count < CPUs + 1; count++) + { + CLOSE_AND_WAIT(t[count]); + } + } + test.End(); return 0; }