|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|