SMP question

Simon Marlow simonmarhaskell at gmail.com
Wed May 9 11:02:04 EDT 2007


Cristian Perfumo wrote:
> Simon: (first of all: thank you for the information. As soon as we have 
> it working we will try that application in nofib to see what happens)
> We already implemented those synchronization functions for ia64 
> architecture and we have a problem related with base register (find 
> output below).
> 
> The questions that arose:
> 1) What is the REG_Base?
> 2) Do we need it for ia64?
> 3) In case we need it, which machine register should we use?

REG_Base points to a CPU-local table of information during execution.  It has to 
be in an actual machine register for a multi-CPU build (in a single-CPU build we 
can get away with using a fixed memory location).  The register assignments are 
in includes/MachRegs.h, and indeed it looks like IA64 doesn't assign a register 
to Base.  I don't know IA64, so I don't know which register I would pick, but 
usually it's a good idea to pick one that is callee-saves in the C calling 
convention.

Cheers,
	Simon


More information about the Glasgow-haskell-users mailing list