Revision tags: release/3.4.0_cvs, release/3.3.0_cvs |
|
#
c3aac50f |
| 28-Aug-1999 |
Peter Wemm <peter@FreeBSD.org> |
$Id$ -> $FreeBSD$
|
#
eec2e836 |
| 10-Jul-1999 |
Bruce Evans <bde@FreeBSD.org> |
Go back to the old (icu.s rev.1.7 1993) way of keeping the AST-pending bit separate from ipending, since this is simpler and/or necessary for SMP and may even be better for UP.
Reviewed by: alc, luo
Go back to the old (icu.s rev.1.7 1993) way of keeping the AST-pending bit separate from ipending, since this is simpler and/or necessary for SMP and may even be better for UP.
Reviewed by: alc, luoqi, tegge
show more ...
|
Revision tags: release/3.2.0 |
|
#
0666dbe1 |
| 23-Apr-1999 |
Dmitrij Tejblum <dt@FreeBSD.org> |
Moved cpu_set_fork_handler's prototype from <machine/cpu.h> to <sys/proc.h>.
Suggested by: bde
|
Revision tags: release/3.1.0 |
|
#
79a25012 |
| 02-Feb-1999 |
Bruce Evans <bde@FreeBSD.org> |
Added a hopefully-machine-independent macro for determining if a reschedule is pending.
|
#
3cfc69e6 |
| 29-Jan-1999 |
Matthew Dillon <dillon@FreeBSD.org> |
More -Wall / -Wcast-qual cleanup. Also, EXEC_SET can't use C_DECLARE_MODULE due to the linker_file_sysinit() function making modifications to the data.
|
Revision tags: release/3.0.0, release/2.2.8 |
|
#
582e5286 |
| 31-Aug-1998 |
KATO Takenori <kato@FreeBSD.org> |
- hw.machine_arch returns cpu architecture type. - moved definition of MACHINE_ARCH from cpu.h to parm.h as alpha. - Added definitions of _MACHINE and _MACHINE_ARCH. - Added hw.ispc98. The hw.ispc98
- hw.machine_arch returns cpu architecture type. - moved definition of MACHINE_ARCH from cpu.h to parm.h as alpha. - Added definitions of _MACHINE and _MACHINE_ARCH. - Added hw.ispc98. The hw.ispc98 is 1 in PC98 kernel and is 0 in IBM-PC kernel.
Discussed with: John Birrell <jb@FreeBSD.ORG>
show more ...
|
Revision tags: release/2.2.7, release/2.2.6 |
|
#
7f47cf2f |
| 28-Oct-1997 |
Bruce Evans <bde@FreeBSD.org> |
Don't include <machine/cputypes.h> or declare cputype/class interfaces in <machine/cpu.h>. Moved the declarations to <machine/cputypes.h>. Fixed style bugs in the moved code. Fixed everything that
Don't include <machine/cputypes.h> or declare cputype/class interfaces in <machine/cpu.h>. Moved the declarations to <machine/cputypes.h>. Fixed style bugs in the moved code. Fixed everything that depended on the nested include. Don't include <machine/cpu.h> (in the changed files) unless something in it is used directly.
show more ...
|
#
4090154b |
| 27-Oct-1997 |
Bruce Evans <bde@FreeBSD.org> |
Moved declaration of etext from <machine/md_var.h> to <machine/cpu.h> and fixed everything that dependended on it being declared in the old place. It is used in "machine-independent" code in subr_pr
Moved declaration of etext from <machine/md_var.h> to <machine/cpu.h> and fixed everything that dependended on it being declared in the old place. It is used in "machine-independent" code in subr_prof.c.
Moved declaration of btext from subr_prof.c to <machine/cpu.h>. It is machine-dependent.
show more ...
|
Revision tags: release/2.2.5_cvs |
|
#
662f9a69 |
| 30-Aug-1997 |
KATO Takenori <kato@FreeBSD.org> |
Move MACHINE_ARCH definition from <machine/param.h> to <machine/cpu.h>.
Submitted by: Bruce Evans <bde@zeta.org.au>
|
#
40d50994 |
| 21-Aug-1997 |
Philippe Charnier <charnier@FreeBSD.org> |
Revert my previous commit about using CS_SECURE macro. Requested by: Bruce.
|
#
15f35491 |
| 18-Aug-1997 |
Philippe Charnier <charnier@FreeBSD.org> |
Use CS_SECURE macro. Reviewed by: John Dyson
|
#
48a09cf2 |
| 09-Aug-1997 |
John Dyson <dyson@FreeBSD.org> |
VM86 kernel support. Work done by BSDI, Jonathan Lemon <jlemon@americantv.com>, Mike Smith <msmith@gsoft.com.au>, Sean Eric Fagan <sef@kithrup.com>, and probably alot of others. Submitted by: Jnat
VM86 kernel support. Work done by BSDI, Jonathan Lemon <jlemon@americantv.com>, Mike Smith <msmith@gsoft.com.au>, Sean Eric Fagan <sef@kithrup.com>, and probably alot of others. Submitted by: Jnathan Lemon <jlemon@americantv.com>
show more ...
|
Revision tags: release/2.2.2_cvs |
|
#
a2a1c95c |
| 07-Apr-1997 |
Peter Wemm <peter@FreeBSD.org> |
The biggie: Get rid of the UPAGES from the top of the per-process address space. (!)
Have each process use the kernel stack and pcb in the kvm space. Since the stacks are at a different address, we
The biggie: Get rid of the UPAGES from the top of the per-process address space. (!)
Have each process use the kernel stack and pcb in the kvm space. Since the stacks are at a different address, we cannot copy the stack at fork() and allow the child to return up through the function call tree to return to user mode - create a new execution context and have the new process begin executing from cpu_switch() and go to user mode directly. In theory this should speed up fork a bit.
Context switch the tss_esp0 pointer in the common tss. This is a lot simpler since than swithching the gdt[GPROC0_SEL].sd.sd_base pointer to each process's tss since the esp0 pointer is a 32 bit pointer, and the sd_base setting is split into three different bit sections at non-aligned boundaries and requires a lot of twiddling to reset.
The 8K of memory at the top of the process space is now empty, and unmapped (and unmappable, it's higher than VM_MAXUSER_ADDRESS).
Simplity the pmap code to manage process contexts, we no longer have to double map the UPAGES, this simplifies and should measuably speed up fork().
The following parts came from John Dyson:
Set PG_G on the UPAGES that are now in kernel context, and invalidate them when swapping them out.
Move the upages object (upobj) from the vmspace to the proc structure.
Now that the UPAGES (pcb and kernel stack) are out of user space, make rfork(..RFMEM..) do what was intended by sharing the vmspace entirely via reference counting rather than simply inheriting the mappings.
show more ...
|
Revision tags: release/2.2.1_cvs, release/2.2.0, release/2.1.7_cvs |
|
#
6875d254 |
| 22-Feb-1997 |
Peter Wemm <peter@FreeBSD.org> |
Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not ready for it yet.
|
Revision tags: release/2.1.6_cvs, release/2.1.6.1 |
|
#
d5605f2a |
| 02-Feb-1997 |
KATO Takenori <kato@FreeBSD.org> |
Deleted i386_cpus[]. i386_cpus[] is a static variable in identcpu.c.
Found-by: lint
|
#
1130b656 |
| 14-Jan-1997 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so
Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
show more ...
|
Revision tags: release/2.1.5_cvs |
|
#
79df6d85 |
| 25-Jun-1996 |
Bruce Evans <bde@FreeBSD.org> |
trap.c: Fixed profiling of system times. It was pre-4.4Lite and didn't support statclocks. System times were too small by a factor of 8.
Handle deferred profiling ticks the 4.4Lite way: use addupc
trap.c: Fixed profiling of system times. It was pre-4.4Lite and didn't support statclocks. System times were too small by a factor of 8.
Handle deferred profiling ticks the 4.4Lite way: use addupc_task() instead of addupc(). Call addupc_task() directly instead of using the ADDUPC() macro.
Removed vestigial support for PROFTIMER.
switch.s: Removed addupc().
resourcevar.h: Removed ADDUPC() and declarations of addupc().
cpu.h: Updated a comment. i386's never were tahoe's, and the deferred profiling tick became (possibly) multiple ticks in 4.4Lite.
Obtained from: mostly from NetBSD
show more ...
|
#
73dc05d6 |
| 07-Apr-1996 |
Bruce Evans <bde@FreeBSD.org> |
Moved declaration of bootverbose to a better place. It isn't machine-dependent.
Moved declaration of cpu_fork() to a better place. Only its implementation is machine-dependent.
|
#
fe0d5f43 |
| 05-Apr-1996 |
Andrey A. Chernov <ache@FreeBSD.org> |
Add wall_cmos_clock sysctl variable, needed to manage adjkerntz even for UTC cmos clocks (needed for Local Timezone FSes)
|
#
78966e20 |
| 29-Mar-1996 |
Bruce Evans <bde@FreeBSD.org> |
Parenthesized macros.
Fixed munged tabs.
|
Revision tags: release/2.1.0_cvs |
|
#
7a2dada5 |
| 16-Jul-1995 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Make the bootinfo structure visible from sysctl. This can be used in libdisk to guess a better bios-geometry.
|
Revision tags: release/2.0.5_cvs |
|
#
85eaa947 |
| 04-May-1995 |
David Greenman <dg@FreeBSD.org> |
Correct the definition for the (unused) cpu_setstack().
|
#
91290462 |
| 03-Dec-1994 |
Bruce Evans <bde@FreeBSD.org> |
Disable CLKF_BASEPRI() again. I forgot to edit an unwanted change out of the diffs for the previous commit.
|
#
b39b673d |
| 03-Dec-1994 |
Bruce Evans <bde@FreeBSD.org> |
i386/exception.s, Keep track of interrupt nesting level. It is normally 0 for syscalls and traps, but is fudged to 1 for their exit processing in case they metamorphose into an interrupt handler
i386/exception.s, Keep track of interrupt nesting level. It is normally 0 for syscalls and traps, but is fudged to 1 for their exit processing in case they metamorphose into an interrupt handler.
i386/genassym.c; Remove support for the obsolete pcb_iml and pcb_cmap2.
Add support for pcb_inl.
i386/swtch.s: Fudge the interrupt nesting level across context switches and in the idle loop so that the work for preemptive context switches gets counted as interrupt time, the work for voluntary context switches gets counted mostly as system time (the part when curproc == 0 gets counted as interrupt time), and only truly idle time gets counted as idle time.
Remove obsolete support (commented out and otherwise) for pcb_iml.
Load curpcb just before curproc instead of just after so that curpcb is always valid if curproc is. A few more changes like this may fix tracing through context switches.
Remove obsolete function swtch_to_inactive().
include/cpu.h: Use the new interrupt nesting level variable to implement a non-fake CLF_INTR() so that accounting for the interrupt state works.
You can use top, iostat or (best) an up to date systat to see interrupt overheads. I see the expected huge interrupt overheads for ISA devices (on a 486DX/33, about 55% for an IDE drive transferring 1250K/sec and the same for a WD8013EBT network card transferring 1100K/sec). The huge interrupt overheads for serial devices are unfortunately normally invisible.
include/pcb.h: Remove the obsolete pcb_iml and pcb_cmap2. Replace them by padding to preserve binary compatibility.
Use part of the new padding for pcb_inl.
isa/icu.s: isa/vector.s: Keep track of interrupt nesting level.
show more ...
|
#
0a6a925d |
| 26-Nov-1994 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Declare "extern int bootverbose", so that device-drivers and others easily can find it.
|