[syslinux] Syslinux Digest, Vol 67, Issue 10

H. Peter Anvin hpa at zytor.com
Sun Oct 19 14:25:03 PDT 2008


Doug Scoular wrote:
> Hi Peter/Erwan et al,
> 
> With my incredibly limited understanding of all things com32, years
> ago, I managed to write a com32 module to tell PXE users their MAC
> address, machine make, model and whether they were on a 32 or 64 bit
> processor. Users found this very useful when trying to re-image the
> 8,000 odd boxes spread round the globe.
> 
> This was hugely based on Erwan Velu's dmitest.c circa 3.20. I decided
> I'd better update my com32 module and compile it against 3.7x but I
> found that the "lm" flag which I relied on to determine 32/64 bit was
> gone from dmi_processor.h.
> 
> I then thought the solution was obviously to use the cpuid.h code
> which had the "lm" flag... however I find that I cannot include both:
> 
> #include "dmi/dmi.h"
> #include <cpuid.h>
> 
> As they have conflicting ideas of what the cpu flags structure should be:
> 
> In file included from dugtest.c:30:
> ../../com32/include/cpuid.h:80: error: conflicting types for 's_cpu_flags'
> ../../com32/include/dmi/dmi_processor.h:103: error: previous
> declaration of 's_cpu_flags' was here
> 
> While I can maybe code around this by changing the header files, I
> thought I should point this out and ask that, maybe, dmi.h be made
> more modular and rely on cpuid.h for CPU information and, prehaps,
> retire dmi_processor.h.
> 
> Any thoughts on the best way to proceed much appreciated. I'm not
> confident in my programming skills to offer much help myself.
> 

The quickest way to fix this is obviously to change the name of one of 
these structures.  Longer term, we really should have *one* structure, 
or alternatively a bit vector.

	-hpa




More information about the Syslinux mailing list