X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/d9a64523371fa019c4575bb400cbbc3a50ac9903..refs/heads/master:/osfmk/arm/data.s diff --git a/osfmk/arm/data.s b/osfmk/arm/data.s index 1ffa7e5d4..812ea77a4 100644 --- a/osfmk/arm/data.s +++ b/osfmk/arm/data.s @@ -91,17 +91,6 @@ LEXT(kd_early_buffer) // space for kdebug's early event buffer .space 16*1024,0 .section __DATA, __data // Aligned data - - .globl EXT(CpuDataEntries) - .align 12 // Page aligned -LEXT(CpuDataEntries) // Cpu Data Entry Array - .space (cdeSize_NUM*MAX_CPUS_NUM),0 // (filled with 0s) - - .globl EXT(BootCpuData) - .align 12 // Page aligned -LEXT(BootCpuData) // Per cpu data area - .space cdSize_NUM,0 // (filled with 0s) - .align 3 // unsigned long long aligned Section .globl EXT(RTClockData) LEXT(RTClockData) // Real Time clock area @@ -117,14 +106,24 @@ LEXT(vfptrash_data) #if __arm64__ .section __DATA, __const -#if defined(KERNEL_INTEGRITY_KTRR) +#if defined(KERNEL_INTEGRITY_KTRR) || defined(KERNEL_INTEGRITY_CTRR) /* reserve space for read only page tables */ .align 14 LEXT(ropagetable_begin) +#if XNU_TARGET_OS_OSX + // A big auxKC might need more page tables, especially because + // it's not block mapped. + // Note that we don't distuinguish between KASAN or not: With + // a KASAN kernel, the effective auxKC limit is smaller. + .space 18*16*1024,0 +#elif KASAN + .space 16*16*1024,0 +#else .space 14*16*1024,0 +#endif #else LEXT(ropagetable_begin) -#endif /* defined(KERNEL_INTEGRITY_KTRR)*/ +#endif /* defined(KERNEL_INTEGRITY_KTRR) || defined(KERNEL_INTEGRITY_CTRR) */ LEXT(ropagetable_end)