On Fri, Jun 15, 2007 at 07:46:14AM -0400, Daniel Veillard wrote: > > > > +void > > > > +loadCapabilities(FILE *cpuinfo, FILE *capabilities, char *hvm_type, > > > > + int *host_pae, char *line, int LINE_SIZE) > > > > +{ > > > > + struct { > > > > + uint32_t r_eax, r_ebx, r_ecx, r_edx; > > > > + } _r, *rp = &_r; > > > > + int d, cmd; > > > > + char *s; > > > > + hypercall_t hc; > > > > > > So that's arch dependant right ? Could you > > > > In terms of cpuid, it works on Linux too, except that Linux has > > /dev/cpu/0/cpuid and we have /dev/cpu/self/cpuid. Also I don't think you > > can rely on the Linux driver being available. > > Hum, I reacted to the names which to me were register names, and then > I assumed this was arch specific, i.e. would generate problems say on PPC. > It seems your solaris code is x86_64 exclusively. In a linux section we > will need to take care of ppc, ia64 and i386 too. So thing like eax, ebx > ecx and edx looks suspicious to me. Sorry, I misread that as "OS dependent". You're right that it's specific to x86 (though should work on x86_64 and i386?) regards john