[syslinux] Syslinux Digest, Vol 67, Issue 10

Doug Scoular dscoular at gmail.com
Wed Oct 15 14:24:46 PDT 2008


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.

Cheers,

Doug




More information about the Syslinux mailing list