opnsense-src/sys/powerpc/powerpc
Marcel Moolenaar 11e0f8e16d Change the second (and last) argument of cpu_set_upcall(). Previously
we were passing in a void* representing the PCB of the parent thread.
Now we pass a pointer to the parent thread itself.
The prime reason for this change is to allow cpu_set_upcall() to copy
(parts of) the trapframe instead of having it done in MI code in each
caller of cpu_set_upcall(). Copying the trapframe cannot always be
done with a simply bcopy() or may not always be optimal that way. On
ia64 specifically the trapframe contains information that is specific
to an entry into the kernel and can only be used by the corresponding
exit from the kernel. A trapframe copied verbatim from another frame
is in most cases useless without some additional normalization.

Note that this change removes the assignment to td->td_frame in some
implementations of cpu_set_upcall(). The assignment is redundant.
A previous call to cpu_thread_setup() already did the exact same
assignment. An added benefit of removing the redundant assignment is
that we can now change td_pcb without nasty side-effects.

This change officially marks the ability on ia64 for 1:1 threading.

Not tested on: amd64, powerpc
Compile & boot tested on: alpha, sparc64
Functionally tested on: i386, ia64
2003-06-04 21:13:21 +00:00
..
atomic.S This commit (along with one pending in sys/dev/ofw and one in sys/conf) give 2001-06-16 07:14:07 +00:00
autoconf.c Use __FBSDID rather than rcsid[]. 2003-04-03 21:36:33 +00:00
bcopy.c Define ovbcopy() as a macro which expands to the equivalent bcopy() call, 2003-04-04 17:29:55 +00:00
busdma_machdep.c Bring back bus_dmasync_op_t. It is now a typedef to an int, though the 2003-05-27 04:59:59 +00:00
clock.c Use __FBSDID rather than rcsid[]. 2003-04-03 21:36:33 +00:00
copyinout.c Use __FBSDID rather than rcsid[]. 2003-04-03 21:36:33 +00:00
copystr.c Use __FBSDID rather than rcsid[]. 2003-04-03 21:36:33 +00:00
cpu.c Export the ns_per_tick variable through md_var.h rather than by declaring 2003-02-05 12:33:49 +00:00
critical.c Stage-2 commit of the critical*() code. This re-inlines cpu_critical_enter() 2002-04-01 23:51:23 +00:00
db_disasm.c Clean up ddb warnings/errors and enable in GENERIC 2002-10-04 01:19:18 +00:00
db_hwwatch.c Add DDB support. 2002-07-10 12:21:54 +00:00
db_interface.c Clean up ddb warnings/errors and enable in GENERIC 2002-10-04 01:19:18 +00:00
db_memrw.c Clean up ddb warnings/errors and enable in GENERIC 2002-10-04 01:19:18 +00:00
db_trace.c Clean up ddb warnings/errors and enable in GENERIC 2002-10-04 01:19:18 +00:00
elf_machdep.c Resolve relative relocations in klds before trying to parse the module's 2003-01-21 02:42:44 +00:00
extintr.c Use __FBSDID rather than rcsid[]. 2003-04-03 21:36:33 +00:00
fpu.c Use __FBSDID rather than rcsid[]. 2003-04-03 21:36:33 +00:00
fuswintr.c Use __FBSDID rather than rcsid[]. 2003-04-03 21:36:33 +00:00
genassym.c Enable the FPU on first use per-thread and save state across context 2003-03-20 10:28:20 +00:00
in_cksum.c Missed odd address test when transcribing the Alpha version. 2003-02-13 08:56:41 +00:00
interrupt.c Be more conservative about re-enabling interrupts during trap processing 2003-01-08 12:20:46 +00:00
intr_machdep.c - Introduce a flags value into the interrupt handler structure. 2003-02-01 07:20:36 +00:00
locore.S Remove BAT invalidation. This is done later in the boot sequence, 2003-01-22 01:47:05 +00:00
machdep.c - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
mmu_oea.c Use __FBSDID rather than rcsid[]. 2003-04-03 21:36:33 +00:00
mp_machdep.c Remove #include <sys/dkstat.h> 2003-02-16 14:13:23 +00:00
nexus.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ofw_machdep.c Remove #include <sys/disklabel.h> 2003-06-01 09:25:17 +00:00
ofwmagic.S Things run thru the C preprocessor must use C-style comments. 2003-05-05 10:01:10 +00:00
openpic.c Adjust IRQ count for psim's OpenPIC model - it seems to be 2003-02-20 01:59:42 +00:00
pic_if.m Add interrupt handling support code. 2002-07-09 11:12:20 +00:00
pmap.c Use __FBSDID rather than rcsid[]. 2003-04-03 21:36:33 +00:00
setjmp.S Add setjmp (needed for DDB). 2002-07-10 12:26:17 +00:00
sigcode.S - use symbol for user-context offset 2002-09-19 04:36:44 +00:00
suswintr.c Use __FBSDID rather than rcsid[]. 2003-04-03 21:36:33 +00:00
swtch.S Enable the FPU on first use per-thread and save state across context 2003-03-20 10:28:20 +00:00
syncicache.c Use __FBSDID rather than rcsid[]. 2003-04-03 21:36:33 +00:00
sys_machdep.c - Push down Giant into the sysarch() calls that still need Giant. 2003-04-25 20:04:02 +00:00
trap.c Range check the syscall number before looking it up in the syscallnames[] 2003-04-30 17:59:27 +00:00
trap_subr.S Register typo and incorrect 32-bit constant load in previous commit. 2003-02-26 14:41:39 +00:00
vm_machdep.c Change the second (and last) argument of cpu_set_upcall(). Previously 2003-06-04 21:13:21 +00:00