freebsd-dev/sys/powerpc/include
Marcel Moolenaar 5da7ea0a89 In powerpc_get_pcpup(), make the inline assembly statement
volatile so that the compiler won't perform CSE. For SMP,
this may result in us accessing the wrong PCPU and as such
results in a bogus curthread value.

Note that getting curthread is not quite MP-safe in the sense
that it requires two instructions that aren't performed
atomically. The first instruction gets the address of the PCPU
structure and the second instruction dereferences that pointer
to get curthread. If a thread is switched-out in between these
instructions and switched-in on a different CPU, we still get
the wrong curthread.
2008-09-16 16:28:51 +00:00
..
_bus.h Redefine bus_space_tag_t on PowerPC from a 32-bit integral to 2007-12-19 18:00:50 +00:00
_inttypes.h
_limits.h
_stdint.h
_types.h
asm.h Align functions to 16-byte boundaries due to profiling granularity. 2008-04-03 17:40:20 +00:00
atomic.h Fix copy-n-paste typos in free text. 2008-04-10 02:37:26 +00:00
bat.h
bootinfo.h Obtain TSEC h/w address from the parent bus (OCP) and not rely blindly on what 2008-03-12 16:32:08 +00:00
bus_dma.h
bus.h Redefine bus_space_tag_t on PowerPC from a 32-bit integral to 2007-12-19 18:00:50 +00:00
clock.h The "free-lance" timer in the i8254 is only used for the speaker 2008-03-26 20:09:21 +00:00
cpu.h Add kdb_cpu_sync_icache(), intended to synchronize instruction 2007-06-09 21:55:17 +00:00
cpufunc.h In powerpc_get_pcpup(), make the inline assembly statement 2008-09-16 16:28:51 +00:00
db_machdep.h
dbdma.h Add support for Apple's Descriptor-Based DMA (DBDMA) engine. The DMA 2008-06-07 21:56:48 +00:00
elf.h PR: 2006-10-04 21:37:10 +00:00
endian.h
exec.h
float.h Let PowerPC world optionally build with -msoft-float. For FPU-less PowerPC 2008-02-24 19:22:53 +00:00
floatingpoint.h
fpu.h Rename OEA to AIM. The former means nothing as it applies to all 2007-12-16 00:45:56 +00:00
frame.h Unify and generalize PowerPC headers, adjust AIM code accordingly. 2008-03-02 17:05:57 +00:00
gdb_machdep.h Make remote GDB work for AIM processors. For BookE, the kernel 2008-03-17 00:46:52 +00:00
hid.h Unify and generalize PowerPC headers, adjust AIM code accordingly. 2008-03-02 17:05:57 +00:00
ieee.h
ieeefp.h
in_cksum.h
intr_machdep.h Add support for the BUS_CONFIG_INTR() method to the platform and to 2008-03-07 22:08:43 +00:00
intr.h
kdb.h Unify and generalize PowerPC headers, adjust AIM code accordingly. 2008-03-02 17:05:57 +00:00
limits.h
md_var.h For AIM, have cpu_idle() set MSR_POW when the powerpc_pow_enabled 2008-03-07 22:27:06 +00:00
memdev.h Remove the unused M_MEMDEV from the kernel. 2008-06-25 07:52:10 +00:00
metadata.h Define the bootinfo structure for FreeBSD. It is not used on 2008-02-23 18:01:45 +00:00
mmuvar.h Initial support for Freescale PowerQUICC III MPC85xx system-on-chip family. 2008-03-03 17:17:00 +00:00
mutex.h
nexusvar.h
ocpbus.h Obtain TSEC h/w address from the parent bus (OCP) and not rely blindly on what 2008-03-12 16:32:08 +00:00
ofw_machdep.h o Move the prototype of mem_valid() from ofw_machdep.h to md_var.h. 2006-07-26 17:12:54 +00:00
openpicreg.h Add PIC support for IPIs. When registering an interrupt handler, 2008-02-12 18:14:46 +00:00
openpicvar.h Add support for the BUS_CONFIG_INTR() method to the platform and to 2008-03-07 22:08:43 +00:00
param.h When building a kernel module, define MAXCPU the same as SMP so 2008-03-27 05:03:26 +00:00
pcb.h Unify and generalize PowerPC headers, adjust AIM code accordingly. 2008-03-02 17:05:57 +00:00
pcpu.h Export 'struct pcpu' to userland w/o requiring _KERNEL. A few ports 2008-08-19 19:53:52 +00:00
pio.h
pmap.h Rework and extend PowerPC headers definitons towards Book-E/e500 CPUs support. 2008-03-03 13:20:52 +00:00
pmc_mdep.h Add stubs to unbreak LINT. 2007-12-07 13:45:47 +00:00
powerpc.h
proc.h
profile.h Add user-space profiling support. Kernel profiling still todo. 2005-12-29 04:07:36 +00:00
psl.h Rework and extend PowerPC headers definitons towards Book-E/e500 CPUs support. 2008-03-03 13:20:52 +00:00
pte.h Rework and extend PowerPC headers definitons towards Book-E/e500 CPUs support. 2008-03-03 13:20:52 +00:00
ptrace.h
reg.h
reloc.h Remove 3rd clause, renumber, ok per email 2007-01-12 07:26:21 +00:00
resource.h
runq.h
sc_machdep.h
setjmp.h
sf_buf.h Rework and extend PowerPC headers definitons towards Book-E/e500 CPUs support. 2008-03-03 13:20:52 +00:00
sigframe.h
signal.h
smp.h Remove the tracing from the AP startup. The AP is known 2008-09-16 01:05:54 +00:00
spr.h o Remove SPR_TSR & SPR_TCR for AIM. 2008-09-15 02:51:07 +00:00
sr.h
stack.h Break out stack(9) from ddb(4): 2007-12-02 20:40:35 +00:00
stdarg.h Use __builtin_va_start instead of __builtin_stdarg_start. GCC4 obsoletes 2006-09-21 01:37:02 +00:00
tlb.h Rework and extend PowerPC headers definitons towards Book-E/e500 CPUs support. 2008-03-03 13:20:52 +00:00
trap_aim.h Rework and extend PowerPC headers definitons towards Book-E/e500 CPUs support. 2008-03-03 13:20:52 +00:00
trap_booke.h Rework and extend PowerPC headers definitons towards Book-E/e500 CPUs support. 2008-03-03 13:20:52 +00:00
trap.h Rework and extend PowerPC headers definitons towards Book-E/e500 CPUs support. 2008-03-03 13:20:52 +00:00
ucontext.h
varargs.h
vmparam.h Rework and extend PowerPC headers definitons towards Book-E/e500 CPUs support. 2008-03-03 13:20:52 +00:00