Ignore:
Timestamp:
Sep 3, 2007, 3:18:26 AM (18 years ago)
Author:
bird
Message:

Cpu / architecture cleanup...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kStuff/include/k/kDefs.h

    r3583 r3585  
    119119 * These are the value that the K_ARCH \#define can take.
    120120 *@{ */
     121/** Unknown CPU architecture. */
     122#define K_ARCH_UNKNOWN          ( 0 )
    121123/** Clone or Intel 16-bit x86. */
    122124#define K_ARCH_X86_16           ( 1 | K_ARCH_BIT_16 | K_ARCH_END_LITTLE)
     
    151153/** @} */
    152154
     155
    153156/** @def K_ARCH
    154157 * The value of this \#define indicates which architecture we're targetting.
     
    184187# endif
    185188#endif
     189
     190/** @def K_ARCH_IS_VALID
     191 * Check if the architecture identifier is valid.
     192 * @param   arch            The K_ARCH_* define to examin.
     193 */
     194#define K_ARCH_IS_VALID(arch)   (   (   ((arch) & K_ARCH_BIT_MASK) == K_ARCH_BIT_8 \
     195                                     || ((arch) & K_ARCH_BIT_MASK) == K_ARCH_BIT_16 \
     196                                     || ((arch) & K_ARCH_BIT_MASK) == K_ARCH_BIT_32 \
     197                                     || ((arch) & K_ARCH_BIT_MASK) == K_ARCH_BIT_64 \
     198                                     || ((arch) & K_ARCH_BIT_MASK) == K_ARCH_BIT_128) \
     199                                 && \
     200                                    (   ((arch) & K_ARCH_END_MASK) == K_ARCH_END_LITTLE \
     201                                     || ((arch) & K_ARCH_END_MASK) == K_ARCH_END_BIG \
     202                                     || ((arch) & K_ARCH_END_MASK) == K_ARCH_END_BI) \
     203                                 && \
     204                                    (   ((arch) & ~(K_ARCH_BIT_MASK | K_ARCH_END_MASK)) >= K_ARCH_UNKNOWN \
     205                                     && ((arch) & ~(K_ARCH_BIT_MASK | K_ARCH_END_MASK)) < K_ARCH_MAX) \
     206                                )
    186207
    187208/** @def K_ARCH_BITS_EX
Note: See TracChangeset for help on using the changeset viewer.