Changeset View
Changeset View
Standalone View
Standalone View
head/sys/amd64/amd64/machdep.c
Show First 20 Lines • Show All 2,647 Lines • ▼ Show 20 Lines | if (curpcb == pcb && | ||||
} | } | ||||
set_pcb_flags_raw(pcb, flags); | set_pcb_flags_raw(pcb, flags); | ||||
intr_restore(r); | intr_restore(r); | ||||
} else { | } else { | ||||
set_pcb_flags_raw(pcb, flags); | set_pcb_flags_raw(pcb, flags); | ||||
} | } | ||||
} | } | ||||
DEFINE_IFUNC(, void, set_pcb_flags, (struct pcb *, const u_int), static) | DEFINE_IFUNC(, void, set_pcb_flags, (struct pcb *, const u_int)) | ||||
{ | { | ||||
return ((cpu_stdext_feature & CPUID_STDEXT_FSGSBASE) != 0 ? | return ((cpu_stdext_feature & CPUID_STDEXT_FSGSBASE) != 0 ? | ||||
set_pcb_flags_fsgsbase : set_pcb_flags_raw); | set_pcb_flags_fsgsbase : set_pcb_flags_raw); | ||||
} | } | ||||
void | void | ||||
clear_pcb_flags(struct pcb *pcb, const u_int flags) | clear_pcb_flags(struct pcb *pcb, const u_int flags) | ||||
Show All 30 Lines | |||||
#endif /* KDB */ | #endif /* KDB */ | ||||
#undef memset | #undef memset | ||||
#undef memmove | #undef memmove | ||||
#undef memcpy | #undef memcpy | ||||
void *memset_std(void *buf, int c, size_t len); | void *memset_std(void *buf, int c, size_t len); | ||||
void *memset_erms(void *buf, int c, size_t len); | void *memset_erms(void *buf, int c, size_t len); | ||||
DEFINE_IFUNC(, void *, memset, (void *, int, size_t), static) | DEFINE_IFUNC(, void *, memset, (void *, int, size_t)) | ||||
{ | { | ||||
return ((cpu_stdext_feature & CPUID_STDEXT_ERMS) != 0 ? | return ((cpu_stdext_feature & CPUID_STDEXT_ERMS) != 0 ? | ||||
memset_erms : memset_std); | memset_erms : memset_std); | ||||
} | } | ||||
void *memmove_std(void * _Nonnull dst, const void * _Nonnull src, | void *memmove_std(void * _Nonnull dst, const void * _Nonnull src, | ||||
size_t len); | size_t len); | ||||
void *memmove_erms(void * _Nonnull dst, const void * _Nonnull src, | void *memmove_erms(void * _Nonnull dst, const void * _Nonnull src, | ||||
size_t len); | size_t len); | ||||
DEFINE_IFUNC(, void *, memmove, (void * _Nonnull, const void * _Nonnull, | DEFINE_IFUNC(, void *, memmove, (void * _Nonnull, const void * _Nonnull, | ||||
size_t), static) | size_t)) | ||||
{ | { | ||||
return ((cpu_stdext_feature & CPUID_STDEXT_ERMS) != 0 ? | return ((cpu_stdext_feature & CPUID_STDEXT_ERMS) != 0 ? | ||||
memmove_erms : memmove_std); | memmove_erms : memmove_std); | ||||
} | } | ||||
void *memcpy_std(void * _Nonnull dst, const void * _Nonnull src, | void *memcpy_std(void * _Nonnull dst, const void * _Nonnull src, | ||||
size_t len); | size_t len); | ||||
void *memcpy_erms(void * _Nonnull dst, const void * _Nonnull src, | void *memcpy_erms(void * _Nonnull dst, const void * _Nonnull src, | ||||
size_t len); | size_t len); | ||||
DEFINE_IFUNC(, void *, memcpy, (void * _Nonnull, const void * _Nonnull,size_t), | DEFINE_IFUNC(, void *, memcpy, (void * _Nonnull, const void * _Nonnull,size_t)) | ||||
static) | |||||
{ | { | ||||
return ((cpu_stdext_feature & CPUID_STDEXT_ERMS) != 0 ? | return ((cpu_stdext_feature & CPUID_STDEXT_ERMS) != 0 ? | ||||
memcpy_erms : memcpy_std); | memcpy_erms : memcpy_std); | ||||
} | } | ||||
void pagezero_std(void *addr); | void pagezero_std(void *addr); | ||||
void pagezero_erms(void *addr); | void pagezero_erms(void *addr); | ||||
DEFINE_IFUNC(, void , pagezero, (void *), static) | DEFINE_IFUNC(, void , pagezero, (void *)) | ||||
{ | { | ||||
return ((cpu_stdext_feature & CPUID_STDEXT_ERMS) != 0 ? | return ((cpu_stdext_feature & CPUID_STDEXT_ERMS) != 0 ? | ||||
pagezero_erms : pagezero_std); | pagezero_erms : pagezero_std); | ||||
} | } |