On Thu, 2014-09-11 at 06:59 -0700, Andrew Fish wrote: > > On Sep 11, 2014, at 2:43 AM, Chen, Fan <[email protected]> > wrote: > > > > > > > > > Why did you get rid of sending IPI to wake up APs? Do you > > > > encounter any issue with it? > > > > From your patch, I don't know why StarupThisAP () cannot work > > > > correctly. Could you send me your AP routine test code and test > > > > procedure? > > [Chen] I use the StartCorePkg to test Mp service. which is located > > at > > https://svn.code.sf.net/p/edk2-startcore/code/StartCorePkg > > > > I found that after APs run a period of time, they failed assert at > > MdePkg/Library/BaseIoLibIntrinsic/IoLibGcc.c: (163) > > I don't know why. but if I got rid of frequent lock requests. > > at Ap-loop. it can largely reduce the chance of assertion. > > The issue is the IoLib depends on the DebugLib. If the DebugLib > instance in your driver is not MP safe (no a module type of BASE) then > the code is not MP safe. > > > > > https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdePkg/Library/BaseIoLibIntrinsic/IoLibGcc.c > UINT32 > EFIAPI > IoRead32 ( > IN UINTN Port > ) > { > UINT32 Data; > > ASSERT ((Port & 3) == 0); > __asm__ __volatile__ ("inl %w1,%0" : "=a" (Data) : "d" ((UINT16)Port)); > return Data; > } > https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf > [LibraryClasses] > DebugLib > BaseLib > If you add --report-file=build.log to the build command you can see > what instance of the DebugLib is being used with your driver in the > build.log file. > Thanks, I will make a try.
Chen > > Thanks, > > > Andrew Fish > > ------------------------------------------------------------------------------ Want excitement? Manually upgrade your production database. When you want reliability, choose Perforce Perforce version control. Predictably reliable. http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel
