|
|||||||||||
|
system/2850: USPACE needs alignment on some platforms
From: <mcn(at)EnGarde.com>
Date: Thu Oct 31 2002 - 13:55:18 EST
System : OpenBSD 2.8 Architecture: OpenBSD.i386 Machine : i386 >Description: In /sys/kern/kern_fork.c, line 185. The USPACE is allocated using uvm_km_valloc(). However, on some platforms (including MIPS), the USPACE must be aligned to an even page boundary (due to cache wiring restrictions). NetBSD has adopted a simple ifdef to allow alignment if necessary.
While not necessary for supporting x86 platforms, I'd suggest a simple 3
line fix would have no impact on x86 or alpha, but would allow easy support
for other platforms. In addition, since it follows NetBSD standards, it makes
it relatively easy to port NetBSD platforms to OpenBSD without tracking down
out-of-arch problems.
uaddr = uvm_km_valloc(kernel_map, USPACE);
to:
uaddr = uvm_km_valloc_align(kernel_map, USPACE, USPACE_ALIGN); #else uaddr = uvm_km_valloc(kernel_map, USPACE); #endif >Release-Note:
This archive was generated by hypermail 2.1.8 : Wed Aug 23 2006 - 13:29:36 EDT |
||||||||||
|
|||||||||||