Changeset View
Changeset View
Standalone View
Standalone View
sys/powerpc/aim/aim_machdep.c
Show First 20 Lines • Show All 382 Lines • ▼ Show 20 Lines | #ifdef KDB | ||||
bcopy(&dblow, (void *)(EXC_BPT + trap_offset), (size_t)&dbend - | bcopy(&dblow, (void *)(EXC_BPT + trap_offset), (size_t)&dbend - | ||||
(size_t)&dblow); | (size_t)&dblow); | ||||
#endif | #endif | ||||
bcopy(&alitrap, (void *)(EXC_ALI + trap_offset), (size_t)&aliend - | bcopy(&alitrap, (void *)(EXC_ALI + trap_offset), (size_t)&aliend - | ||||
(size_t)&alitrap); | (size_t)&alitrap); | ||||
bcopy(&dsitrap, (void *)(EXC_DSI + trap_offset), (size_t)&dsiend - | bcopy(&dsitrap, (void *)(EXC_DSI + trap_offset), (size_t)&dsiend - | ||||
(size_t)&dsitrap); | (size_t)&dsitrap); | ||||
/* Set address of generictrap for self-reloc calculations */ | |||||
*((void **)TRAP_GENTRAP) = &generictrap; | |||||
#ifdef __powerpc64__ | #ifdef __powerpc64__ | ||||
/* Set TOC base so that the interrupt code can get at it */ | /* Set TOC base so that the interrupt code can get at it */ | ||||
*((void **)TRAP_GENTRAP) = &generictrap; | *((void **)TRAP_ENTRY) = &generictrap; | ||||
*((register_t *)TRAP_TOCBASE) = toc; | *((register_t *)TRAP_TOCBASE) = toc; | ||||
#else | #else | ||||
/* Set branch address for trap code */ | /* Set branch address for trap code */ | ||||
if (cpu_features & PPC_FEATURE_64) | if (cpu_features & PPC_FEATURE_64) | ||||
*((void **)TRAP_GENTRAP) = &generictrap64; | *((void **)TRAP_ENTRY) = &generictrap64; | ||||
else | else | ||||
*((void **)TRAP_GENTRAP) = &generictrap; | *((void **)TRAP_ENTRY) = &generictrap; | ||||
*((void **)TRAP_TOCBASE) = _GLOBAL_OFFSET_TABLE_; | *((void **)TRAP_TOCBASE) = _GLOBAL_OFFSET_TABLE_; | ||||
/* G2-specific TLB miss helper handlers */ | /* G2-specific TLB miss helper handlers */ | ||||
bcopy(&imisstrap, (void *)EXC_IMISS, (size_t)&imisssize); | bcopy(&imisstrap, (void *)EXC_IMISS, (size_t)&imisssize); | ||||
bcopy(&dlmisstrap, (void *)EXC_DLMISS, (size_t)&dlmisssize); | bcopy(&dlmisstrap, (void *)EXC_DLMISS, (size_t)&dlmisssize); | ||||
bcopy(&dsmisstrap, (void *)EXC_DSMISS, (size_t)&dsmisssize); | bcopy(&dsmisstrap, (void *)EXC_DSMISS, (size_t)&dsmisssize); | ||||
#endif | #endif | ||||
__syncicache(EXC_RSVD, EXC_LAST - EXC_RSVD); | __syncicache(EXC_RSVD, EXC_LAST - EXC_RSVD); | ||||
▲ Show 20 Lines • Show All 287 Lines • Show Last 20 Lines |