- Timestamp:
- Sep 3, 2007, 3:18:26 AM (18 years ago)
- Location:
- trunk/kStuff
- Files:
-
- 6 added
- 1 deleted
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kStuff/Makefile.kmk
r3581 r3585 28 28 include $(PATH_KBUILD)/subheader.kmk 29 29 30 include $(PATH_SUB_CURRENT)/kCpu/Makefile.kmk 30 31 include $(PATH_SUB_CURRENT)/kDbg/Makefile.kmk 31 32 include $(PATH_SUB_CURRENT)/kErr/Makefile.kmk … … 39 40 kStuffStatic_TEMPLATE = kStuffLIB 40 41 kStuffStatic_SOURCES = \ 42 $(TARGET_kCpuStatic) \ 41 43 $(TARGET_kDbgStatic) \ 42 44 $(TARGET_kErrStatic) \ -
trunk/kStuff/include/k/kDefs.h
r3583 r3585 119 119 * These are the value that the K_ARCH \#define can take. 120 120 *@{ */ 121 /** Unknown CPU architecture. */ 122 #define K_ARCH_UNKNOWN ( 0 ) 121 123 /** Clone or Intel 16-bit x86. */ 122 124 #define K_ARCH_X86_16 ( 1 | K_ARCH_BIT_16 | K_ARCH_END_LITTLE) … … 151 153 /** @} */ 152 154 155 153 156 /** @def K_ARCH 154 157 * The value of this \#define indicates which architecture we're targetting. … … 184 187 # endif 185 188 #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 ) 186 207 187 208 /** @def K_ARCH_BITS_EX -
trunk/kStuff/include/k/kErrors.h
r3579 r3585 1 1 /* $Id$ */ 2 2 /** @file 3 *4 3 * kErrors - Status Codes. 5 * 6 * Copyright (c) 2007 knut st. osmundsen <bird-src-spam@anduin.net> 7 * 4 */ 5 6 /* 7 * Copyright (c) 2006-2007 knut st. osmundsen <bird-src-spam@anduin.net> 8 8 * 9 9 * This file is part of kStuff. 10 10 * 11 * kStuff is free software; you can redistribute it and/or modify12 * it under the terms of the GNU Lesser General Public License as published13 * by the Free Software Foundation; either version 2 of the License, or14 * (at your option) any later version.11 * kStuff is free software; you can redistribute it and/or 12 * modify it under the terms of the GNU Lesser General Public 13 * License as published by the Free Software Foundation; either 14 * version 2.1 of the License, or (at your option) any later version. 15 15 * 16 16 * kStuff is distributed in the hope that it will be useful, 17 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * GNULesser General Public License for more details.20 * 21 * You should have received a copy of the GNU Lesser General Public License22 * along with kStuff; if not, write to the Free Software23 * Foundation, Inc., 5 9 Temple Place, Suite 330, Boston, MA 02111-1307USA18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 * Lesser General Public License for more details. 20 * 21 * You should have received a copy of the GNU Lesser General Public 22 * License along with kStuff; if not, write to the Free Software 23 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 24 24 * 25 25 */ … … 83 83 /** @} */ 84 84 85 86 85 /** @name kDbg Specific 87 86 * @{ … … 117 116 * @{ 118 117 */ 118 /** The base of the kLdr specific status codes. */ 119 119 #define KLDR_ERR_BASE (KRDR_ERR_BASE + 3) 120 120 … … 166 166 /** Failed to allocate the main stack. */ 167 167 #define KLDR_ERR_MAIN_STACK_ALLOC_FAILED (KLDR_ERR_BASE + 20) 168 /** The specified ARCH+CPU isn't compatible with image. */169 #define KLDR_ERR_ARCH_CPU_NOT_COMPATIBLE (KLDR_ERR_BASE + 21)170 168 /** Symbol not found. */ 171 #define KLDR_ERR_SYMBOL_NOT_FOUND (KLDR_ERR_BASE + 2 2)169 #define KLDR_ERR_SYMBOL_NOT_FOUND (KLDR_ERR_BASE + 21) 172 170 /** A forward symbol was encountered but the caller didn't provide any means to resolve it. */ 173 #define KLDR_ERR_FORWARDER_SYMBOL (KLDR_ERR_BASE + 2 3)171 #define KLDR_ERR_FORWARDER_SYMBOL (KLDR_ERR_BASE + 22) 174 172 /** Encountered a bad fixup. */ 175 #define KLDR_ERR_BAD_FIXUP (KLDR_ERR_BASE + 2 4)173 #define KLDR_ERR_BAD_FIXUP (KLDR_ERR_BASE + 23) 176 174 /** The import ordinal was out of bounds. */ 177 #define KLDR_ERR_IMPORT_ORDINAL_OUT_OF_BOUNDS (KLDR_ERR_BASE + 2 5)175 #define KLDR_ERR_IMPORT_ORDINAL_OUT_OF_BOUNDS (KLDR_ERR_BASE + 24) 178 176 /** A forwarder chain was too long. */ 179 #define KLDR_ERR_TOO_LONG_FORWARDER_CHAIN (KLDR_ERR_BASE + 2 6)177 #define KLDR_ERR_TOO_LONG_FORWARDER_CHAIN (KLDR_ERR_BASE + 25) 180 178 /** The module has no debug info. */ 181 #define KLDR_ERR_NO_DEBUG_INFO (KLDR_ERR_BASE + 2 7)179 #define KLDR_ERR_NO_DEBUG_INFO (KLDR_ERR_BASE + 26) 182 180 /** The module is already mapped. 183 181 * kLdrModMap() can only be called once (without kLdrModUnmap() in between). */ 184 #define KLDR_ERR_ALREADY_MAPPED (KLDR_ERR_BASE + 2 8)182 #define KLDR_ERR_ALREADY_MAPPED (KLDR_ERR_BASE + 27) 185 183 /** The module was not mapped. 186 184 * kLdrModUnmap() should not called without being preceeded by a kLdrModMap(). */ 187 #define KLDR_ERR_NOT_MAPPED (KLDR_ERR_BASE + 2 9)185 #define KLDR_ERR_NOT_MAPPED (KLDR_ERR_BASE + 28) 188 186 /** Couldn't fit the address value into the field. Typically a relocation kind of error. */ 189 #define KLDR_ERR_ADDRESS_OVERFLOW (KLDR_ERR_BASE + 30)187 #define KLDR_ERR_ADDRESS_OVERFLOW (KLDR_ERR_BASE + 29) 190 188 /** Couldn't fit a calculated size value into the native size type of the host. */ 191 #define KLDR_ERR_SIZE_OVERFLOW (KLDR_ERR_BASE + 3 1)189 #define KLDR_ERR_SIZE_OVERFLOW (KLDR_ERR_BASE + 30) 192 190 /** Thread attach failed. */ 193 #define KLDR_ERR_THREAD_ATTACH_FAILED (KLDR_ERR_BASE + 3 2)191 #define KLDR_ERR_THREAD_ATTACH_FAILED (KLDR_ERR_BASE + 31) 194 192 /** The module wasn't a DLL or object file. */ 195 #define KLDR_ERR_NOT_DLL (KLDR_ERR_BASE + 3 3)193 #define KLDR_ERR_NOT_DLL (KLDR_ERR_BASE + 32) 196 194 /** The module wasn't an EXE. */ 197 #define KLDR_ERR_NOT_EXE (KLDR_ERR_BASE + 3 4)195 #define KLDR_ERR_NOT_EXE (KLDR_ERR_BASE + 33) 198 196 /** Not implemented yet. */ 199 #define KLDR_ERR_TODO (KLDR_ERR_BASE + 3 5)197 #define KLDR_ERR_TODO (KLDR_ERR_BASE + 34) 200 198 /** @} */ 201 199 … … 203 201 * @{ 204 202 */ 205 #define KLDR_ERR_PE_BASE (KLDR_ERR_BASE + 36) 203 /** The base of the kLdrModPE specific status codes. */ 204 #define KLDR_ERR_PE_BASE (KLDR_ERR_BASE + 35) 206 205 /** The machine isn't supported by the interpreter. */ 207 206 #define KLDR_ERR_PE_UNSUPPORTED_MACHINE (KLDR_ERR_PE_BASE + 0) … … 225 224 * @{ 226 225 */ 226 /** The base of the kLdrModLX specific status codes. */ 227 227 #define KLDR_ERR_LX_BASE (KLDR_ERR_PE_BASE + 8) 228 228 /** validation of LX header failed. */ … … 255 255 * @{ 256 256 */ 257 /** The base of the kLdrModMachO specific status codes. */ 257 258 #define KLDR_ERR_MACHO_BASE (KLDR_ERR_LX_BASE + 12) 258 259 /** Only native endian Mach-O files are supported. */ … … 290 291 /** @} */ 291 292 293 /** @name kCpu Specific 294 * @{ 295 */ 296 /** The base of the kCpu specific status codes. */ 297 #define KCPU_ERR_BASE (KLDR_ERR_MACHO_BASE + 16) 298 /** The specified ARCH+CPU pairs aren't compatible. */ 299 #define KCPU_ERR_ARCH_CPU_NOT_COMPATIBLE (KCPU_ERR_BASE + 0) 300 /** @} */ 292 301 293 302 /** End of the valid status codes. */ 294 #define KERR_END (K LDR_ERR_MACHO_BASE + 16)303 #define KERR_END (KCPU_ERR_BASE + 1) 295 304 /** @}*/ 296 305 297 306 #endif 307 -
trunk/kStuff/include/k/kLdr.h
r3579 r3585 37 37 #include <k/kDefs.h> 38 38 #include <k/kTypes.h> 39 #include <k/kCpus.h> 39 40 40 41 … … 166 167 /** @defgroup grp_kLdrMod kLdrMod - The executable image intepreter 167 168 * @{ */ 168 169 /**170 * CPU Architecture.171 * @todo Double check the non intel architectures.172 */173 typedef enum KLDRARCH174 {175 /** The usual invalid one. */176 KLDRARCH_INVALID = 0,177 /** Clone or Intel 16-bit x86. */178 KLDRARCH_X86_16,179 /** Clone or Intel 32-bit x86. */180 KLDRARCH_X86_32,181 /** AMD64 (including clones). */182 KLDRARCH_AMD64,183 /** Itanic (64-bit). */184 KLDRARCH_IA64,185 /** ALPHA (64-bit). */186 KLDRARCH_ALPHA,187 /** ALPHA limited to 32-bit. */188 KLDRARCH_ALPHA_32,189 /** 32-bit ARM. */190 KLDRARCH_ARM_32,191 /** 64-bit ARM. */192 KLDRARCH_ARM_64,193 /** 32-bit MIPS. */194 KLDRARCH_MIPS_32,195 /** 64-bit MIPS. */196 KLDRARCH_MIPS_64,197 /** 32-bit PowerPC. */198 KLDRARCH_POWERPC_32,199 /** 64-bit PowerPC. */200 KLDRARCH_POWERPC_64,201 /** 32-bit SPARC. */202 KLDRARCH_SPARC_32,203 /** 64-bit SPARC. */204 KLDRARCH_SPARC_64,205 /** The end of the valid architecture values (exclusive). */206 KLDRARCH_END,207 /** Hack to blow the type up to 32-bit. */208 KLDRARCH_32BIT_HACK = 0x7fffffff209 } KLDRARCH;210 /** Pointer to a CPU architecture type. */211 typedef KLDRARCH *PKLDRARCH;212 213 /**214 * CPU models.215 */216 typedef enum KLDRCPU217 {218 /** The usual invalid cpu. */219 KLDRCPU_INVALID = 0,220 /** @name KLDRARCH_X86_16221 * @{ */222 KLDRCPU_I8086,223 KLDRCPU_I8088,224 KLDRCPU_I80186,225 KLDRCPU_I80286,226 KLDRCPU_I386_16,227 KLDRCPU_I486_16,228 KLDRCPU_I486SX_16,229 KLDRCPU_I586_16,230 KLDRCPU_I686_16,231 KLDRCPU_P4_16,232 KLDRCPU_CORE2_16,233 KLDRCPU_K6_16,234 KLDRCPU_K7_16,235 KLDRCPU_K8_16,236 KLDRCPU_FIRST_X86_16 = KLDRCPU_I8086,237 KLDRCPU_LAST_X86_16 = KLDRCPU_K8_16,238 /** @} */239 240 /** @name KLDRARCH_X86_32241 * @{ */242 KLDRCPU_X86_32_BLEND,243 KLDRCPU_I386,244 KLDRCPU_I486,245 KLDRCPU_I486SX,246 KLDRCPU_I586,247 KLDRCPU_I686,248 KLDRCPU_P4,249 KLDRCPU_CORE2_32,250 KLDRCPU_K6,251 KLDRCPU_K7,252 KLDRCPU_K8_32,253 KLDRCPU_FIRST_X86_32 = KLDRCPU_I386,254 KLDRCPU_LAST_X86_32 = KLDRCPU_K8_32,255 /** @} */256 257 /** @name KLDRARCH_AMD64258 * @{ */259 KLDRCPU_AMD64_BLEND,260 KLDRCPU_K8,261 KLDRCPU_P4_64,262 KLDRCPU_CORE2,263 KLDRCPU_FIRST_AMD64 = KLDRCPU_K8,264 KLDRCPU_LAST_AMD64 = KLDRCPU_CORE2,265 /** @} */266 267 /** The end of the valid cpu values (exclusive). */268 KLDRCPU_END,269 /** Hack to blow the type up to 32-bit. */270 KLDRCPU_32BIT_HACK = 0x7fffffff271 } KLDRCPU;272 /** Pointer to a CPU type. */273 typedef KLDRCPU *PKLDRCPU;274 275 void kLdrGetArchCpu(PKLDRARCH penmArch, PKLDRCPU penmCpu);276 int kLdrCompareCpus(KLDRARCH enmCodeArch, KLDRCPU enmCodeCpu, KLDRARCH enmArch, KLDRCPU enmCpu);277 278 169 279 170 /** … … 486 377 /** The type of module. */ 487 378 KLDRTYPE enmType; 488 /** The architecture this module was built for. */489 K LDRARCH enmArch;379 /** The CPU architecture this module was built for. */ 380 KCPUARCH enmArch; 490 381 /** The minium cpu this module was built for. 491 382 * This might not be accurate, so use kLdrModCanExecuteOn() to check. */ 492 K LDRARCHenmCpu;383 KCPU enmCpu; 493 384 /** The endian used by the module. */ 494 385 KLDRENDIAN enmEndian; … … 704 595 int kLdrModGetImport(PKLDRMOD pMod, const void *pvBits, KU32 iImport, char *pszName, KSIZE cchName); 705 596 KI32 kLdrModNumberOfImports(PKLDRMOD pMod, const void *pvBits); 706 int kLdrModCanExecuteOn(PKLDRMOD pMod, const void *pvBits, K LDRARCH enmArch, KLDRCPU enmCpu);597 int kLdrModCanExecuteOn(PKLDRMOD pMod, const void *pvBits, KCPUARCH enmArch, KCPU enmCpu); 707 598 int kLdrModGetStackInfo(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, PKLDRSTACKINFO pStackInfo); 708 599 int kLdrModQueryMainEntrypoint(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, PKLDRADDR pMainEPAddress); … … 783 674 KI32 (* pfnNumberOfImports)(PKLDRMOD pMod, const void *pvBits); 784 675 /** @copydoc kLdrModCanExecuteOn */ 785 int (* pfnCanExecuteOn)(PKLDRMOD pMod, const void *pvBits, K LDRARCH enmArch, KLDRCPU enmCpu);676 int (* pfnCanExecuteOn)(PKLDRMOD pMod, const void *pvBits, KCPUARCH enmArch, KCPU enmCpu); 786 677 /** @copydoc kLdrModGetStackInfo */ 787 678 int (* pfnGetStackInfo)(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, PKLDRSTACKINFO pStackInfo); -
trunk/kStuff/kLdr/Makefile.kmk
r3584 r3585 122 122 kLdrDyldOS.c \ 123 123 kLdrDyLdSem.c \ 124 kLdrMisc.c \125 124 kLdrMod.c \ 126 125 kLdrModLX.c \ … … 137 136 kLdr_LIBS += \ 138 137 $(PATH_LIB)/kRdrStatic$(SUFF_LIB) \ 138 $(PATH_LIB)/kCpuStatic$(SUFF_LIB) \ 139 139 $(PATH_LIB)/kHlpBareStatic$(SUFF_LIB) \ 140 140 $(PATH_LIB)/kErrStatic$(SUFF_LIB) -
trunk/kStuff/kLdr/kLdrMod.c
r3579 r3585 31 31 #include <k/kLdr.h> 32 32 #include "kLdrInternal.h" 33 #include <k/kCpu.h> 33 34 #include <k/kLdrFmts/mz.h> 34 35 #if 1 /* testing headers */ … … 340 341 * This can be used by some module interpreters to reduce memory consumption. 341 342 */ 342 int kLdrModCanExecuteOn(PKLDRMOD pMod, const void *pvBits, K LDRARCH enmArch, KLDRCPU enmCpu)343 int kLdrModCanExecuteOn(PKLDRMOD pMod, const void *pvBits, KCPUARCH enmArch, KCPU enmCpu) 343 344 { 344 345 KLDRMOD_VALIDATE(pMod); 345 346 if (pMod->pOps->pfnCanExecuteOn) 346 347 return pMod->pOps->pfnCanExecuteOn(pMod, pvBits, enmArch, enmCpu); 347 return k LdrCompareCpus(pMod->enmArch, pMod->enmCpu, enmArch, enmCpu);348 return kCpuCompare(pMod->enmArch, pMod->enmCpu, enmArch, enmCpu); 348 349 } 349 350 -
trunk/kStuff/kLdr/kLdrModLX.c
r3579 r3585 290 290 { 291 291 case E32CPU286: 292 pMod->enmCpu = K LDRCPU_I80286;293 pMod->enmArch = K LDRARCH_X86_16;292 pMod->enmCpu = KCPU_I80286; 293 pMod->enmArch = KCPUARCH_X86_16; 294 294 break; 295 295 case E32CPU386: 296 pMod->enmCpu = K LDRCPU_I386;297 pMod->enmArch = K LDRARCH_X86_32;296 pMod->enmCpu = KCPU_I386; 297 pMod->enmArch = KCPUARCH_X86_32; 298 298 break; 299 299 case E32CPU486: 300 pMod->enmCpu = K LDRCPU_I486;301 pMod->enmArch = K LDRARCH_X86_32;300 pMod->enmCpu = KCPU_I486; 301 pMod->enmArch = KCPUARCH_X86_32; 302 302 break; 303 303 } -
trunk/kStuff/kLdr/kLdrModMachO.c
r3579 r3585 324 324 { 325 325 case CPU_TYPE_X86: 326 pMod->enmArch = K LDRARCH_X86_32;326 pMod->enmArch = KCPUARCH_X86_32; 327 327 pMod->enmEndian = KLDRENDIAN_LITTLE; 328 328 switch (s.Hdr32.cpusubtype) 329 329 { 330 case CPU_SUBTYPE_I386_ALL: pMod->enmCpu = K LDRCPU_X86_32_BLEND; break;331 /*case CPU_SUBTYPE_386: ^^ pMod->enmCpu = K LDRCPU_I386; break;*/332 case CPU_SUBTYPE_486: pMod->enmCpu = K LDRCPU_I486; break;333 case CPU_SUBTYPE_486SX: pMod->enmCpu = K LDRCPU_I486SX; break;330 case CPU_SUBTYPE_I386_ALL: pMod->enmCpu = KCPU_X86_32_BLEND; break; 331 /*case CPU_SUBTYPE_386: ^^ pMod->enmCpu = KCPU_I386; break;*/ 332 case CPU_SUBTYPE_486: pMod->enmCpu = KCPU_I486; break; 333 case CPU_SUBTYPE_486SX: pMod->enmCpu = KCPU_I486SX; break; 334 334 /*case CPU_SUBTYPE_586: vv */ 335 case CPU_SUBTYPE_PENT: pMod->enmCpu = K LDRCPU_I586; break;335 case CPU_SUBTYPE_PENT: pMod->enmCpu = KCPU_I586; break; 336 336 case CPU_SUBTYPE_PENTPRO: 337 337 case CPU_SUBTYPE_PENTII_M3: … … 341 341 case CPU_SUBTYPE_PENTIUM_3: 342 342 case CPU_SUBTYPE_PENTIUM_3_M: 343 case CPU_SUBTYPE_PENTIUM_3_XEON: pMod->enmCpu = K LDRCPU_I686; break;343 case CPU_SUBTYPE_PENTIUM_3_XEON: pMod->enmCpu = KCPU_I686; break; 344 344 case CPU_SUBTYPE_PENTIUM_M: 345 345 case CPU_SUBTYPE_PENTIUM_4: 346 346 case CPU_SUBTYPE_PENTIUM_4_M: 347 347 case CPU_SUBTYPE_XEON: 348 case CPU_SUBTYPE_XEON_MP: pMod->enmCpu = K LDRCPU_P4; break;348 case CPU_SUBTYPE_XEON_MP: pMod->enmCpu = KCPU_P4; break; 349 349 break; 350 350 default: … … 354 354 355 355 case CPU_TYPE_X86_64: 356 pMod->enmArch = K LDRARCH_AMD64;356 pMod->enmArch = KCPUARCH_AMD64; 357 357 pMod->enmEndian = KLDRENDIAN_LITTLE; 358 358 switch (s.Hdr32.cpusubtype) 359 359 { 360 case CPU_SUBTYPE_X86_64_ALL: pMod->enmCpu = K LDRCPU_AMD64_BLEND; break;360 case CPU_SUBTYPE_X86_64_ALL: pMod->enmCpu = KCPU_AMD64_BLEND; break; 361 361 default: 362 362 return KLDR_ERR_MACHO_UNSUPPORTED_MACHINE; … … 670 670 : sizeof(macho_nlist_64_t); 671 671 if ( u.pSymTab->symoff >= cbFile 672 || (KU64)u.pSymTab->symoff + u.pSymTab->nsyms * cbSym > kRdrSize(pRdr))672 || (KU64)u.pSymTab->symoff + u.pSymTab->nsyms * cbSym > cbFile) 673 673 return KLDR_ERR_MACHO_BAD_LOAD_COMMAND; 674 674 if ( u.pSymTab->stroff >= cbFile -
trunk/kStuff/kLdr/kLdrModNative.c
r3582 r3585 320 320 pMod->cchName = cchFilename - (pMod->pszName - pMod->pszFilename); 321 321 #if defined(__i386__) || defined(__X86__) || defined(_M_IX86) 322 pMod->enmCpu = K LDRCPU_I386;323 pMod->enmArch = K LDRARCH_X86_32;322 pMod->enmCpu = KCPU_I386; 323 pMod->enmArch = KCPUARCH_X86_32; 324 324 pMod->enmEndian = KLDRENDIAN_LITTLE; 325 325 #elif defined(__X86_64__) || defined(__x86_64__) || defined(__AMD64__) || defined(_M_IX64) 326 pMod->enmCpu = K LDRCPU_K8;327 pMod->enmArch = K LDRARCH_AMD64;326 pMod->enmCpu = KCPU_K8; 327 pMod->enmArch = KCPUARCH_AMD64; 328 328 pMod->enmEndian = KLDRENDIAN_LITTLE; 329 329 #else -
trunk/kStuff/kLdr/kLdrModPE.c
r3579 r3585 222 222 { 223 223 case IMAGE_FILE_MACHINE_I386: 224 pMod->enmCpu = K LDRCPU_I386;225 pMod->enmArch = K LDRARCH_X86_32;224 pMod->enmCpu = KCPU_I386; 225 pMod->enmArch = KCPUARCH_X86_32; 226 226 pMod->enmEndian = KLDRENDIAN_LITTLE; 227 227 break; 228 228 229 229 case IMAGE_FILE_MACHINE_AMD64: 230 pMod->enmCpu = K LDRCPU_K8;231 pMod->enmArch = K LDRARCH_AMD64;230 pMod->enmCpu = KCPU_K8; 231 pMod->enmArch = KCPUARCH_AMD64; 232 232 pMod->enmEndian = KLDRENDIAN_LITTLE; 233 233 break; -
trunk/kStuff/kLdr/tstkLdrMod.c
r3579 r3585 385 385 386 386 387 /*int kLdrModCanExecuteOn(PKLDRMOD pMod, const void *pvBits, K LDRARCH enmArch, KLDRCPU enmCpu);387 /*int kLdrModCanExecuteOn(PKLDRMOD pMod, const void *pvBits, KCPUARCH enmArch, KCPU enmCpu); 388 388 */ 389 389 … … 422 422 if (pMod->enmType >= KLDRTYPE_END || pMod->enmType <= KLDRTYPE_INVALID) 423 423 return Failure("Bad enmType: %d", pMod->enmType); 424 if ( pMod->enmArch >= KLDRARCH_END || pMod->enmArch <= KLDRARCH_INVALID)424 if (!K_ARCH_IS_VALID(pMod->enmArch)) 425 425 return Failure("Bad enmArch"); 426 if (pMod->enmCpu >= K LDRCPU_END || pMod->enmCpu <= KLDRCPU_INVALID)426 if (pMod->enmCpu >= KCPU_END || pMod->enmCpu <= KCPU_INVALID) 427 427 return Failure("Bad enmCpu"); 428 428 if (pMod->enmEndian >= KLDRENDIAN_END || pMod->enmEndian <= KLDRENDIAN_INVALID)
Note:
See TracChangeset
for help on using the changeset viewer.