kernel - 64-bit memory & ncpus work
authorMatthew Dillon <dillon@apollo.backplane.com>
Tue, 7 Dec 2010 03:24:30 +0000 (19:24 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Tue, 7 Dec 2010 03:24:30 +0000 (19:24 -0800)
commit8e5ea5f7b61a946bed6ddcbf3a9fa2c024a37258
tree0e56f4859db7064b1cc0d52bde72ce77999eb571
parentd53907dd52aac7f7e31ae228794f40ec13908733
kernel - 64-bit memory & ncpus work

* Create a macro and bsr function for cpu masks in preparation for
  making cpumask_t 64 bits on 64-bit builds.  cpumask_t is still
  32 bits in this commit.

* Expand SMP_MAXCPUS to 31 for 64-bit builds in preparation for
  eventually expanding it to 63.

* Fix an array overflow when probing ncpus on 64-bit.

* Increase the boot-time kmap entries to accomodate large numbers of
  cpus.

* Clean up a few places where integer overflows could occur on
  64-bit machines with large amounts of ram.

  For the moment we are limited to 32G.  This will change in a
  followup commit.
12 files changed:
sys/cpu/i386/include/types.h
sys/cpu/x86_64/include/param.h
sys/cpu/x86_64/include/types.h
sys/platform/pc32/i386/pmap.c
sys/platform/pc64/x86_64/machdep.c
sys/platform/pc64/x86_64/mp_machdep.c
sys/platform/pc64/x86_64/pmap.c
sys/platform/vkernel/platform/pmap.c
sys/platform/vkernel64/platform/pmap.c
sys/vm/pmap.h
sys/vm/vm_map.c
sys/vm/vm_map.h