|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
Re: [Xen-devel] porting xen-detect ASM code into a shared library
 
On 10/7/08 10:21, "Guillaume Rousse" <Guillaume.Rousse@xxxxxxxx> wrote:
> I'm trying to port xen-detect.c ASM code into cfengine, which is
> currently build as a shared library. However, I'm facing a compilation
> error:
> misc.c: In function 'Xen_cpuid':
> misc.c:1376: error: can't find a register in class 'BREG' while
> reloading 'asm'
> misc.c:1376: error: 'asm' operand has impossible constraints
> 
>  From 
See tools/libxc/xc_cpuid_x86.c for an example of how to work around this.
Essentially you turn the "=b" constraint into "=r". You then push/pop ebx
(to save/restore it) and you 'mov %%ebx,%1' to save away ebx's value before
restoring its original value.
 -- Keir
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 |   
 
 | 
    | 
  
  
    |   | 
    |