Changeset 3585 for trunk/kStuff/kLdr
- Timestamp:
- Sep 3, 2007, 3:18:26 AM (18 years ago)
- Location:
- trunk/kStuff/kLdr
- Files:
-
- 1 deleted
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
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.