Changeset View
Changeset View
Standalone View
Standalone View
head/sys/powerpc/booke/booke_machdep.c
Show First 20 Lines • Show All 216 Lines • ▼ Show 20 Lines | booke_cpu_init(void) | ||||
psl_kernset = PSL_CE | PSL_ME | PSL_EE; | psl_kernset = PSL_CE | PSL_ME | PSL_EE; | ||||
#ifdef __powerpc64__ | #ifdef __powerpc64__ | ||||
psl_kernset |= PSL_CM; | psl_kernset |= PSL_CM; | ||||
#endif | #endif | ||||
psl_userset = psl_kernset | PSL_PR; | psl_userset = psl_kernset | PSL_PR; | ||||
#ifdef __powerpc64__ | #ifdef __powerpc64__ | ||||
psl_userset32 = psl_userset & ~PSL_CM; | psl_userset32 = psl_userset & ~PSL_CM; | ||||
#endif | #endif | ||||
/* | |||||
* Zeroed bits in this variable signify that the value of the bit | |||||
* in its position is allowed to vary between userspace contexts. | |||||
* | |||||
* All other bits are required to be identical for every userspace | |||||
* context. The actual *value* of the bit is determined by | |||||
* psl_userset and/or psl_userset32, and is not allowed to change. | |||||
* | |||||
* Remember to update this set when implementing support for | |||||
* *conditionally* enabling a processor facility. Failing to do | |||||
* this will cause swapcontext() in userspace to break when a | |||||
* process uses a conditionally-enabled facility. | |||||
* | |||||
* When *unconditionally* implementing support for a processor | |||||
* facility, update psl_userset / psl_userset32 instead. | |||||
* | |||||
* See the access control check in set_mcontext(). | |||||
*/ | |||||
psl_userstatic = ~(PSL_VEC | PSL_FP | PSL_FE0 | PSL_FE1); | psl_userstatic = ~(PSL_VEC | PSL_FP | PSL_FE0 | PSL_FE1); | ||||
pmap_mmu_install(MMU_TYPE_BOOKE, BUS_PROBE_GENERIC); | pmap_mmu_install(MMU_TYPE_BOOKE, BUS_PROBE_GENERIC); | ||||
} | } | ||||
void | void | ||||
ivor_setup(void) | ivor_setup(void) | ||||
{ | { | ||||
▲ Show 20 Lines • Show All 223 Lines • Show Last 20 Lines |