freebsd-skq/sys/ia64/include
Attilio Rao 71a19bdc64 Commit the support for removing cpumask_t and replacing it directly with
cpuset_t objects.
That is going to offer the underlying support for a simple bump of
MAXCPU and then support for number of cpus > 32 (as it is today).

Right now, cpumask_t is an int, 32 bits on all our supported architecture.
cpumask_t on the other side is implemented as an array of longs, and
easilly extendible by definition.

The architectures touched by this commit are the following:
- amd64
- i386
- pc98
- arm
- ia64
- XEN

while the others are still missing.
Userland is believed to be fully converted with the changes contained
here.

Some technical notes:
- This commit may be considered an ABI nop for all the architectures
  different from amd64 and ia64 (and sparc64 in the future)
- per-cpu members, which are now converted to cpuset_t, needs to be
  accessed avoiding migration, because the size of cpuset_t should be
  considered unknown
- size of cpuset_t objects is different from kernel and userland (this is
  primirally done in order to leave some more space in userland to cope
  with KBI extensions). If you need to access kernel cpuset_t from the
  userland please refer to example in this patch on how to do that
  correctly (kgdb may be a good source, for example).
- Support for other architectures is going to be added soon
- Only MAXCPU for amd64 is bumped now

The patch has been tested by sbruno and Nicholas Esborn on opteron
4 x 12 pack CPUs. More testing on big SMP is expected to came soon.
pluknet tested the patch with his 8-ways on both amd64 and i386.

Tested by:	pluknet, sbruno, gianni, Nicholas Esborn
Reviewed by:	jeff, jhb, sbruno
2011-05-05 14:39:14 +00:00
..
pc
_align.h Get rid of the _NO_NAMESPACE_POLLUTION kludge by creating an 2009-09-08 20:45:40 +00:00
_bus.h
_inttypes.h The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-03 17:55:51 +00:00
_limits.h Fix types of some values in machine/_limits.h. 2011-01-08 11:13:34 +00:00
_regset.h
_stdint.h On mixed 32/64 bit architectures (mips, powerpc) use __LP64__ rather than 2011-01-08 12:43:05 +00:00
_types.h Commit the support for removing cpumask_t and replacing it directly with 2011-05-05 14:39:14 +00:00
acpica_machdep.h Rename disable_intr() to ia64_disable_intr() and rename enable_intr() 2010-03-26 21:22:02 +00:00
asm.h When compiling with profiling, we define PROF for userspace and GPROF 2010-07-01 00:30:35 +00:00
atomic.h
bootinfo.h Use the new arch_loadaddr I/F to align ELF objects to PBVM page 2011-04-03 23:49:20 +00:00
bus_dma.h Switch ia64 to the unified busdma implementation. 2010-07-07 02:16:47 +00:00
bus.h Revert r216134. This checkin broke platforms where bus_space are macros: 2010-12-03 07:09:23 +00:00
clock.h Revamp the interrupt code based on the previous commit: 2010-03-17 00:37:15 +00:00
cpu.h
cpufunc.h Rename disable_intr() to ia64_disable_intr() and rename enable_intr() 2010-03-26 21:22:02 +00:00
db_machdep.h
dig64.h
efi.h Fix switching to physical mode as part of calling into EFI runtime 2011-03-21 18:20:53 +00:00
elf.h Add AT_STACKPROT elf aux vector. Will be used to inform rtld about the 2011-01-07 14:22:34 +00:00
endian.h
exec.h
float.h The highest-precision floating point type on ia64 has 64 bits of 2011-01-09 06:05:02 +00:00
floatingpoint.h
fpu.h
frame.h Don't include <machine/_regset.h> when _MACHINE_REGSET_H_ in defined. 2010-03-21 22:33:09 +00:00
gdb_machdep.h
ia64_cpu.h Stop linking against a direct-mapped virtual address and instead 2011-04-30 20:49:00 +00:00
ieee.h
ieeefp.h
in_cksum.h
intr.h Implement interrupt to CPU binding. Assign interrupts to CPUs in a 2010-03-27 05:40:50 +00:00
intrcnt.h Revamp the interrupt code based on the previous commit: 2010-03-17 00:37:15 +00:00
iodev.h - Extract the IODEV_PIO interface from ia64 and make it MI. 2010-04-28 15:38:01 +00:00
kdb.h Define struct pcpu_md as the only MD field of struct pcpu (pc_acpi_id 2009-12-07 06:41:27 +00:00
limits.h
mca.h Allocate and setup an interrupt vector for corrected machine checks. 2010-07-03 20:19:20 +00:00
md_var.h o Deal with unmapped PBVM in the alternate instruction and data TLB fault 2011-03-14 05:29:45 +00:00
memdev.h Add reader/writer lock around mem_range_attr_get() and mem_range_attr_set(). 2011-01-17 22:58:28 +00:00
pal.h Fix switching to physical mode as part of calling into EFI runtime 2011-03-21 18:20:53 +00:00
param.h When compat32 binary asks for the value of hw.machine_arch, report the 2010-07-22 09:13:49 +00:00
pcb.h Don't include <machine/_regset.h> when _MACHINE_REGSET_H_ in defined. 2010-03-21 22:33:09 +00:00
pci_cfgreg.h Some code cleanups: 2010-02-14 17:03:20 +00:00
pcpu.h Merge svn+ssh://svn.freebsd.org/base/head@211344 2010-08-15 22:09:43 +00:00
pmap.h Remove prototypes of non-existent functions. 2011-04-25 22:38:09 +00:00
pmc_mdep.h
proc.h Change ia64' struct syscall_args definition so that args is a pointer to 2010-05-24 17:24:14 +00:00
profile.h While functions are ideally aligned to a 32-byte boundary, don't 2010-06-30 22:29:02 +00:00
pte.h
ptrace.h
reg.h Provide groundwork for 32-bit binary compatibility on non-x86 platforms, 2010-03-11 14:49:06 +00:00
reloc.h
resource.h
runq.h Switch to C99 exact-width types. 2010-05-19 00:23:10 +00:00
sal.h Use an unbuffered transmit function for low-level console output. 2010-07-07 04:06:38 +00:00
setjmp.h
sf_buf.h
sigframe.h
signal.h
smp.h Commit the support for removing cpumask_t and replacing it directly with 2011-05-05 14:39:14 +00:00
stdarg.h
sysarch.h Use io(4) for I/O port access on ia64, rather than through sysarch(2). 2010-01-11 18:10:13 +00:00
ucontext.h
unwind.h
varargs.h
vm.h Add support to the virtual memory system for configuring machine- 2009-07-12 23:31:20 +00:00
vmparam.h Don't use the whole region 5 for KVA, because the CPU may not implement all 2011-05-02 17:49:05 +00:00