Changeset View
Changeset View
Standalone View
Standalone View
sys/powerpc/aim/locore64.S
| Show First 20 Lines • Show All 76 Lines • ▼ Show 20 Lines | |||||
| * Entry point for bootloaders that do not fully implement ELF and start | * Entry point for bootloaders that do not fully implement ELF and start | ||||
| * at the beginning of the image (kexec, notably). In its own section so | * at the beginning of the image (kexec, notably). In its own section so | ||||
| * that it ends up before any linker-generated call stubs and actually at | * that it ends up before any linker-generated call stubs and actually at | ||||
| * the beginning of the image. kexec on some systems also enters at | * the beginning of the image. kexec on some systems also enters at | ||||
| * (start of image) + 0x60, so put a spin loop there. | * (start of image) + 0x60, so put a spin loop there. | ||||
| */ | */ | ||||
| .section ".text.kboot", "x", @progbits | .section ".text.kboot", "x", @progbits | ||||
| kbootentry: | kbootentry: | ||||
| #ifdef __LITTLE_ENDIAN__ | |||||
| RETURN_TO_NATIVE_ENDIAN | |||||
| #endif | |||||
| b __start | b __start | ||||
| . = kbootentry + 0x40 /* Magic address used in platform layer */ | . = kbootentry + 0x40 /* Magic address used in platform layer */ | ||||
| .global smp_spin_sem | .global smp_spin_sem | ||||
| ap_kexec_spin_sem: | ap_kexec_spin_sem: | ||||
| .long -1 | .long -1 | ||||
| . = kbootentry + 0x60 /* Entry point for kexec APs */ | . = kbootentry + 0x60 /* Entry point for kexec APs */ | ||||
| ap_kexec_start: /* At 0x60 past start, copied to 0x60 by kexec */ | ap_kexec_start: /* At 0x60 past start, copied to 0x60 by kexec */ | ||||
| /* r3 set to CPU ID by kexec */ | /* r3 set to CPU ID by kexec */ | ||||
| ▲ Show 20 Lines • Show All 195 Lines • Show Last 20 Lines | |||||