Re: Where is the definition of i_j macro ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 17 Oct 2010, wilbur.chan wrote:

> I_u1(_j);  They just make up pieces of  asm opt code into a  string
> and copy them to ebase:
> 
> memcpy((void *)ebase, final_handler, 0x100);
> 
> 
> Why they did like this seemed strange to me, maybe in the
> consideration of portability.

 This is a performance-critical piece of code that varies vastly across 
processors supported.  As we started losing control of the original 
preprocessor-based approach and had no way to keep performance optimal 
this way anyway, late Thiemo Seufer came up with this brilliant solution 
of generating this code at the run time, early during bootstrap.  This 
solution enabled us with tailoring code used specifically for each 
processor supported, up to including certain processor errata workarounds 
on the as-needed basis.

  Maciej



[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux