810 Commits

Author SHA1 Message Date
phk
5a6fb3a7da removed:
CLBYTES PD_SHIFT PGSHIFT NBPG PGOFSET CLSIZELOG2 CLSIZE pdei()
        ptei() kvtopte() ptetov() ispt() ptetoav() &c &c
new:
        NPDEPG

Major macro cleanup.
1996-05-02 14:21:14 +00:00
phk
779840c457 First pass at cleaning up macros relating to pages, clusters and all that. 1996-05-02 10:43:17 +00:00
phk
7bfc0101cb KGDB is dead. It may come back one day if somebody does it. 1996-05-02 09:34:51 +00:00
bde
ca8106a4ee Added calibration the i8254 and the i586 clocks agains the RTC at boot
time.  The results are currently ignored unless certain temporary options
are used.

Added sysctls to support reading and writing the clock frequency variables
(not the frequencies themselves).  Writing is supposed to atomically
adjust all related variables.

machdep.c:
Fixed spelling of a function name in a comment so that I can log this
message which should have been with the previous commit.

Initialize `cpu_class' earlier so that it can be used in startrtclock()
instead of in calibrate_cyclecounter() (which no longer exists).

Removed range checking of `cpu'.  It is always initialized to CPU_XXX
so it is less likely to be out of bounds than most variables.

clock.h:
Removed I586_CYCLECTR().  Use rdtsc() instead.

clock.c:
TIMER_FREQ is now a variable timer_freq that defaults to the old value of
TIMER_FREQ.  #define'ing TIMER_FREQ should still work and may be the best
way of setting the frequency.

Calibration involves counting cycles while watching the RTC for one second.
This gives values correct to within (a few ppm) + (the innaccuracy of the
RTC) on my systems.
1996-05-01 08:39:02 +00:00
bde
00b2015fb5 i386/machdep.c
include/clock.h
isa/clock.c
1996-05-01 08:31:21 +00:00
bde
789804f746 Don't return unused values in cpu_switch() or savectx().
Don't preserve unused registers in the NPX case in savectx().
1996-05-01 03:47:04 +00:00
bde
4fd408f6ef Only disable sio3 by default. 1996-05-01 03:26:58 +00:00
se
df6f0d5e13 Make pcibus_check() ignore Device/Vendor IDs of all 0. 1996-04-30 21:37:21 +00:00
phk
9502945d5b pte.h: Add the VADDR(pdi,pti) macro to construct virtual address from
page dir+table index.
pmap.h: remove NUPDE, it was wrong and not used.  Sanitize KSTKPTEOFF.
vmparam.h: Calculate virtual addr from PDI+PTI from pmap.h rather than
using magic math.  Remove UPDT, not used.
1996-04-30 12:02:12 +00:00
phk
f7fbc2347d Remove a spurious mapping that was introduced earlier. 1996-04-30 11:58:56 +00:00
jkh
457e99728a Add ATAPI_STATIC so that the ATAPI cdroms work correctly again
under -current.
Submitted-By: Serge Vakulenko <vak@cronyx.ru>
1996-04-29 20:03:41 +00:00
phk
dabc13d18f Fix some bugs I introduced and some old ones as well.
Add BDE_DEBUGGER back.
Improve quality of comments.
Thanks Bruce!

Reviewed by:	phk
Submitted by:	bde
1996-04-28 07:14:05 +00:00
bde
42379df49e Fixed a bug introoduced in the previous change. ISA device memory was
mapped to semi-random place(s) depending on the content(s) of physical
address 0xA0000.  This was fatal at least on my system with a some
memory-mapped devices.  Console syscons somehow wasn't affected.  It
bogusly hardcodes the address.  Sigh.
1996-04-26 22:26:45 +00:00
phk
60683a571f A significant debogofication of locore.s. I havn't found any actualy
bugs, but it is a lot easier to navigate this twisted code now.
1996-04-26 13:47:39 +00:00
phk
ec76275a92 Fix cpu_fork for real.
Suggested by:	 bde
1996-04-25 06:20:19 +00:00
nate
32d5c84b4c - add apm to the GENERIC kernel (disabled by default), and add some comments
regarding apm to LINT
- Disabled the statistics clock on machines which have an APM BIOS and
  have the options "APM_BROKEN_STATCLOCK" enabled (which is default
  in GENERIC now)
- move around some of the code in clock.c dealing with the rtc to make
  it more obvios the effects of disabling the statistics clock

Reviewed by:	bde
1996-04-22 19:40:28 +00:00
dyson
df610a2d49 This fixes a troubling oversight in some of the pmap code enhancements.
One of the manifiestations of the problem includes the -4 RSS problem
in ps.

Reviewed by: dyson
Submitted by: Stephen McKay <syssgm@devetir.qld.gov.au>
1996-04-22 05:23:08 +00:00
gibbs
02afa38b7b Change the devconf description from "ISA or EISA bus" to "ISA bus" now
that we have eisaconf.
1996-04-20 21:22:32 +00:00
phk
df5c003119 savectx returns through cpu_switch in case of the child, so it must
return void just like cpu_switch.  Fix prototype and usage from machdep.c
1996-04-19 07:28:04 +00:00
phk
d01137f090 Fix a bogon. cpu_fork & savectx ecpected cpu_switch to restore %eax,
they shouldn't.
1996-04-18 21:34:53 +00:00
nate
35e568fc93 Added a disabled psm0 (PS/2) mouse device, using the new 'disable'
keyword.
1996-04-18 04:02:30 +00:00
bde
0af805cb7d Use PCB_SAVEFPU_SIZE instead of a too-small size in savectx(). This
bug only affected FPU emulators.  It might have caused bogus FPU states
in core dumps and in the child pcb after a fork.  Emulated FPU states
in core dumps don't work for other reasons, and the child FPU state
is reinitialized by exec, so the problem might not have caused any
noticeable affects.

Cleaned up #includes.
1996-04-13 11:24:13 +00:00
bde
92761fc7cd Generate #define of PCB_SAVEFPU_SIZE for use in savectx(). 1996-04-13 11:22:57 +00:00
phk
1c2cbbd040 Make alltraps a .globl so that DDB doesn't make people belive they have
an ALIGNFLT on their hands all the time.
1996-04-12 12:22:14 +00:00
bde
de77142595 Moved AUTO_EOI_[12] and most sio and pcvt options out of the makefile. 1996-04-11 21:18:49 +00:00
jkh
554249e991 Disable sio3 in GENERIC - it messes with ATI cards. 1996-04-10 23:03:36 +00:00
nate
0e0a5fb013 hp300 -> i386 1996-04-10 05:27:11 +00:00
jkh
8c536fe336 Gag! Somebody removed the bus mouse from GENERIC for reasons unknown.
That certainly explains why I noticed it suddenly missing from the
2.2 SNAPSHOT! :-)
1996-04-09 09:00:41 +00:00
smpatel
6b740ac6e9 Add a lock for DMA Channels to prevent two devices from using the same DMA
channel at the same time.  The functions isa_dma_acquire() and
isa_dma_release() should be used in all ISA drivers which call isa_dmastart().
This can be used more generally to register the usage of DMA channels in
any driver, but it is required for drivers using isa_dmastart() and friends.

Clean up sanity checks, error messages, etc.
Remove isa_dmadone_nobounce(), it is no longer needed

Reviewed by:	bde
1996-04-08 19:38:57 +00:00
wollman
6a74f9b51b Added a $Id$ keyword. Bruce still needs to put a copyright notice
on this file.
1996-04-08 16:41:06 +00:00
bde
7c0a6ed764 Use breakpoint() function instead of inline assembler. 1996-04-07 18:34:59 +00:00
bde
b6732671c1 Changed bdb() to breakpoint() and always enable it.
Made the style more consistent, especially for the new Pentium functions.
1996-04-07 18:30:56 +00:00
bde
d75a1370e4 Removed never-used #includes of <machine/cpu.h>. Many were apparently
copied from bad examples.
1996-04-07 17:39:28 +00:00
bde
cfdfb3c281 Removed now-unused #includes of <machine/cpu.h>. They were for bootverbose
being declared in the wrong place.
1996-04-07 17:32:42 +00:00
bde
ad8fa4b2a3 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.
1996-04-07 16:44:28 +00:00
bde
059d798920 Fixed the ownership and permissions of /dev/io. Rev.1.32 broke rev.1.29. 1996-04-07 14:59:26 +00:00
dyson
efe5631797 Major cleanups for the pmap code. 1996-04-07 02:23:05 +00:00
dg
ecbbba2d2c Switch 586/686 back to generic_bzero and #if 0'd the "optimized" code. It
turns out that it actually reduces performance in real-world cases.

Noticed by:	bde
1996-04-06 01:06:06 +00:00
ache
73f61b578d Fix adjkerntz expression priority 1996-04-05 18:56:10 +00:00
ache
434490d438 Add wall_cmos_clock sysctl variable, needed to manage adjkerntz even for
UTC cmos clocks (needed for Local Timezone FSes)
1996-04-05 03:36:31 +00:00
dyson
ceb23bccb6 Fixed a problem that the UPAGES of a process were being run down
in a suboptimal manner.  I had also noticed some panics that appeared
to be at least superficially caused by this problem.  Also, included
are some minor mods to support more general handling of page table page
faulting.  More details in a future commit.
1996-04-03 05:23:44 +00:00
scrappy
af671400e8 Convert from using devfs_add_devsw() to devfs_add_devswf()
Fixed Permissions/Ownership in DEVFS to reflect /dev
1996-04-01 21:02:14 +00:00
dg
44e3654e32 Change if/goto into a while loop. 1996-03-31 23:00:32 +00:00
bde
7dc3a0570a Finished removing NOP macros. 1996-03-31 04:17:25 +00:00
bde
b26bbde39a Moved rtcin() to clock.c.
Always delay using one inb(0x84) after each i/o in rtcin() - don't
do this conditional on the bogus option DUMMY_NOPS not being defined.
If you want an optionally slightly faster rtcin() again, then inline
it and use a better named option or sysctl variable.  It only needs
to be fast in rtcintr().
1996-03-31 04:05:36 +00:00
bde
20ef589c86 Killed religous FASTER_NOP again. 1996-03-31 03:31:29 +00:00
bde
e88d323eb2 Count PCI irqs in up to 4 ISAish counters named `pci irqnn' instead of
in the clk0 counter.

Reviewed by:	s
1996-03-29 15:01:51 +00:00
bde
bf6fcb191e Parenthesized macros.
Fixed munged tabs.
1996-03-29 14:14:07 +00:00
wollman
0c6a9cd275 >Blush<. Use the correct opcode for the WRMSR instruction. 1996-03-28 20:39:45 +00:00
wollman
a607edf559 Teach the disassembler about the 0f,3x family of instructions
(RDMSR, RDTSC, WRMSR, and RDPMC).
1996-03-28 20:35:03 +00:00