IMHO it should go into libgg because the way to check for these is pretty much system dependent and it could be used outside ggi too.
However, I don't quite understand the code you showed.
The SMID you describe are not exclusive.
unless I miss something about what you call SWAR.
How about:
int ggSMID();
returning a mask where each bit correspond to a specific known SMID
for this processor family.
Eric
--
