Revision tags: release/4.9.0_cvs, release/4.9.0, release/5.1.0_cvs, release/5.1.0, release/4.8.0_cvs, release/4.8.0 |
|
#
9ea031d5 |
| 23-Feb-2003 |
Peter Grehan <grehan@FreeBSD.org> |
Doh. Forgot to remove _KERNEL version.
|
#
d273b006 |
| 22-Feb-2003 |
Peter Grehan <grehan@FreeBSD.org> |
Expose powerpc_mb() to user-space. Currently needed for atomic.h users, this may go away in the future.
|
#
43e87179 |
| 05-Feb-2003 |
Benno Rice <benno@FreeBSD.org> |
Add an inline function wrapper for the mfpvf (Move From Processor Version Register) instruction.
|
Revision tags: release/5.0.0_cvs, release/5.0.0, release/4.7.0_cvs |
|
#
50122aa9 |
| 19-Sep-2002 |
Peter Grehan <grehan@FreeBSD.org> |
Fix clearing of recoverable exception MSR bit when disabling interrupts
Approved by: benno
|
Revision tags: release/4.6.2_cvs, release/4.6.2, release/4.6.1, release/4.6.0_cvs |
|
#
71cf3a35 |
| 29-Jun-2002 |
Benno Rice <benno@FreeBSD.org> |
Add an inline to call eieio.
("Enforce In-order Execution of I/O". I am not making this up.)
|
#
b2df36e7 |
| 16-Apr-2002 |
Benno Rice <benno@FreeBSD.org> |
Add inlines for mtsrin and mfsrin.
|
#
182da820 |
| 02-Apr-2002 |
Matthew Dillon <dillon@FreeBSD.org> |
Stage-2 commit of the critical*() code. This re-inlines cpu_critical_enter() and cpu_critical_exit() and moves associated critical prototypes into their own header file, <arch>/<arch>/critical.h, wh
Stage-2 commit of the critical*() code. This re-inlines cpu_critical_enter() and cpu_critical_exit() and moves associated critical prototypes into their own header file, <arch>/<arch>/critical.h, which is only included by the three MI source files that need it.
Backout and re-apply improperly comitted syntactical cleanups made to files that were still under active development. Backout improperly comitted program structure changes that moved localized declarations to the top of two procedures. Partially re-apply one of the program structure changes to move 'mask' into an intermediate block rather then in three separate sub-blocks to make the code more readable. Re-integrate bug fixes that Jake made to the sparc64 code.
Note: In general, developers should not gratuitously move declarations out of sub-blocks. They are where they are for reasons of structure, grouping, readability, compiler-localizability, and to avoid developer-introduced bugs similar to several found in recent years in the VFS and VM code.
Reviewed by: jake
show more ...
|
#
d74ac681 |
| 27-Mar-2002 |
Matthew Dillon <dillon@FreeBSD.org> |
Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt disablement assumptions in kern_fork.c by adding another API call, cpu_critical_fork_exit(). Cleanup the td_savecrit field
Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt disablement assumptions in kern_fork.c by adding another API call, cpu_critical_fork_exit(). Cleanup the td_savecrit field by moving it from MI to MD. Temporarily move cpu_critical*() from <arch>/include/cpufunc.h to <arch>/<arch>/critical.c (stage-2 will clean this up).
Implement interrupt deferral for i386 that allows interrupts to remain enabled inside critical sections. This also fixes an IPI interlock bug, and requires uses of icu_lock to be enclosed in a true interrupt disablement.
This is the stage-1 commit. Stage-2 will occur after stage-1 has stabilized, and will move cpu_critical*() into its own header file(s) + other things. This commit may break non-i386 architectures in trivial ways. This should be temporary.
Reviewed by: core Approved by: core
show more ...
|
#
6da4e60a |
| 21-Mar-2002 |
Benno Rice <benno@FreeBSD.org> |
- Make all inlines for manipulating supervisor-level registers accept/return register_t values. - Implement an inline for isync.
|
#
54551c77 |
| 21-Mar-2002 |
Benno Rice <benno@FreeBSD.org> |
GC some unused, bogus interrupt functions and replace them with proper implementations of intr_disable and intr_restore.
|
#
3c854532 |
| 28-Feb-2002 |
Benno Rice <benno@FreeBSD.org> |
- When enabling/disabling interrupts, set/clear both PSL_EE and PSL_RI, not just PSL_EE. - Make cpu_critical_enter/exit independant of save_intr/restore_intr.
|
Revision tags: release/4.5.0_cvs, release/4.4.0_cvs |
|
#
350cb38b |
| 28-Jan-2002 |
Andrew Gallatin <gallatin@FreeBSD.org> |
Simple fixes to get the powerpc kernel compiling again.
Reviewed by: mp
|
#
7e1f6dfe |
| 18-Dec-2001 |
John Baldwin <jhb@FreeBSD.org> |
Modify the critical section API as follows: - The MD functions critical_enter/exit are renamed to start with a cpu_ prefix. - MI wrapper functions critical_enter/exit maintain a per-thread nesting
Modify the critical section API as follows: - The MD functions critical_enter/exit are renamed to start with a cpu_ prefix. - MI wrapper functions critical_enter/exit maintain a per-thread nesting count and a per-thread critical section saved state set when entering a critical section while at nesting level 0 and restored when exiting to nesting level 0. This moves the saved state out of spin mutexes so that interlocking spin mutexes works properly. - Most low-level MD code that used critical_enter/exit now use cpu_critical_enter/exit. MI code such as device drivers and spin mutexes use the MI wrappers. Note that since the MI wrappers store the state in the current thread, they do not have any return values or arguments. - mtx_intr_enable() is replaced with a constant CRITICAL_FORK which is assigned to curthread->td_savecrit during fork_exit().
Tested on: i386, alpha
show more ...
|
#
0bbc8826 |
| 12-Dec-2001 |
John Baldwin <jhb@FreeBSD.org> |
Overhaul the per-CPU support a bit:
- The MI portions of struct globaldata have been consolidated into a MI struct pcpu. The MD per-CPU data are specified via a macro defined in machine/pcpu.h.
Overhaul the per-CPU support a bit:
- The MI portions of struct globaldata have been consolidated into a MI struct pcpu. The MD per-CPU data are specified via a macro defined in machine/pcpu.h. A macro was chosen over a struct mdpcpu so that the interface would be cleaner (PCPU_GET(my_md_field) vs. PCPU_GET(md.md_my_md_field)). - All references to globaldata are changed to pcpu instead. In a UP kernel, this data was stored as global variables which is where the original name came from. In an SMP world this data is per-CPU and ideally private to each CPU outside of the context of debuggers. This also included combining machine/globaldata.h and machine/globals.h into machine/pcpu.h. - The pointer to the thread using the FPU on i386 was renamed from npxthread to fpcurthread to be identical with other architectures. - Make the show pcpu ddb command MI with a MD callout to display MD fields. - The globaldata_register() function was renamed to pcpu_init() and now init's MI fields of a struct pcpu in addition to registering it with the internal array and list. - A pcpu_destroy() function was added to remove a struct pcpu from the internal array and list.
Tested on: alpha, i386 Reviewed by: peter, jake
show more ...
|
#
a6b989ff |
| 16-Aug-2001 |
David E. O'Brien <obrien@FreeBSD.org> |
Minor style(9)'ing
|
#
abc5579e |
| 27-Jun-2001 |
Benno Rice <benno@FreeBSD.org> |
Fix the atomic_*_32 operations. These were written before I had the ability to test them properly and before I had a working knowledge of GCC asm constraints.
|
#
d27f1d4c |
| 16-Jun-2001 |
Benno Rice <benno@FreeBSD.org> |
This commit (along with one pending in sys/dev/ofw and one in sys/conf) give us our first minimal glimpse of PowerPC support.
With this code we can get to the "mountroot>" prompt on my Apple iMac.
This commit (along with one pending in sys/dev/ofw and one in sys/conf) give us our first minimal glimpse of PowerPC support.
With this code we can get to the "mountroot>" prompt on my Apple iMac. We can't get any further due to lack of clock and interrupt handling, among other things. This does however mean that pmap and VM are initialising.
We're fairly dependant on OpenFirmware at this point, but I hope to add support for other classes of firmware at a later stage.
Reviewed by: obrien, dfr
show more ...
|