adapter to ostype and smp