Commit Graph

4484 Commits

Author SHA1 Message Date
enami ead2ed15cf Add few more L2 cache info entry. 2000-09-15 03:44:28 +00:00
enami 29027825f3 When fetching cache info:
- Don't fall into infinite loop even if the # of iteration necessary isn't 1.
- Don't interpret lower 8bit of AL, which is # of iteration, as a descriptor.
2000-09-15 03:41:18 +00:00
thorpej 3d6272fcdf Use VNODE_OP_NOINLINE. 2000-09-13 16:26:15 +00:00
thorpej 72a24b4eae Add an align argument to uvm_map() and some callers of that
routine.  Works similarly fto pmap_prefer(), but allows callers
to specify a minimum power-of-two alignment of the region.
How we ever got along without this for so long is beyond me.
2000-09-13 15:00:15 +00:00
thorpej d0b099a9fc Fetch cache info via `cpuid' insn, parse it, remember it,
and report it at boot time.
2000-09-13 08:04:15 +00:00
thorpej 90a2e46ab1 Add support for using the 586- and 686-class performance
counters.
2000-09-13 04:47:00 +00:00
thorpej b9b07590ec Define some 586-class CESR MSR bits. 2000-09-13 04:44:27 +00:00
thorpej e2cc69026a Add 686-class performance counter events. 2000-09-13 03:37:04 +00:00
lukem cbb605647a add (commented out) entry for WSCONS_DEFAULT_TYPE 2000-09-10 11:48:38 +00:00
chs 62a6d0660c move the guts of pmap_remove() to pmap_do_remove(), which has a flags arg
to tell it whether or not to remove wired mappings.  pmap_remove() wants
to remove wired mappings, pmap_collect() doesn't.  fixes PRs 10363 and 10761.
2000-09-10 03:45:58 +00:00
tron cb01317d62 Final fix to make this work without object directories again. 2000-09-08 19:57:05 +00:00
tron 3220c30427 Readd at signs before commands which were removed for debugging. 2000-09-08 19:50:52 +00:00
tron 278e796ec6 Do last change differently: "(unset MAKEOBJDIRPREFIX || true)" is a NOP,
use "MAKEOBJDIRPREFIX= && unset MAKEOBJDIRPREFIX" instead.
2000-09-08 19:48:00 +00:00
tron f5cb2786f8 Use "(unset MAKEOBJDIRPREFIX || true)" because unset return an error code
if the variable was not set before.
2000-09-08 19:45:45 +00:00
matt 9c01e4e226 deal properly with MAKEOBJDIRPREFIX (which has priority over MAKEOBJDIR so
the MAKEOBJDIR to ${MAKE} has no effect) so we unset MAKEOBJDIRPREFIX before
invoking ${MAKE}
2000-09-08 05:37:59 +00:00
thorpej a1139ee535 Example config file for enabling large page support. 2000-09-07 18:55:30 +00:00
thorpej 2fc18ed7a4 Replace the old db_memrw.c with the hp300 version, modified for i386
and large page support.  This version is a bit more intelligent about
how it deals with kernel text pages.

Now that this is fixed, don't map the kernel text read-write if
DDB is configured.
2000-09-07 18:46:19 +00:00
thorpej a68986edfc Add optional support for mapping the kernel with large (4MB) pages.
Right now, only does kernel text, and wastes a little memory, but
there is some noticeable performance improvement even with just text.
2000-09-07 17:20:58 +00:00
thorpej 2204402aa1 If KERN_LDSCRIPT is specified as a makeoption, then add it to the
linker flags.
2000-09-07 06:39:36 +00:00
thorpej 1946ce2a42 A linker script based on elf_i386.x which aligns the .data segment
to a 4MB boundary, thus allowing the text and read-only data to be
mapped using large pages.
2000-09-07 06:36:24 +00:00
thorpej 50668be499 Deal with low addresses in pmap_k{enter_remove}. port-i386/10966. 2000-09-07 06:06:52 +00:00
thorpej fbc40806dd vtopte() and kvtopte() now check for kernel vs. non-kernel addresses,
respectively.
2000-09-06 23:32:13 +00:00
thorpej b53916e196 Cast arguments to kvtopte() to vaddr_t. 2000-09-06 23:28:30 +00:00
thorpej 5f98fd6c03 On second thought, back out kvtopte() change in previous. Dug, PT pages
are in a special VA range, not kernel VA range.
2000-09-06 22:23:46 +00:00
thorpej ba3605f2bf Use kvtopte() for kernel addresses. 2000-09-06 22:22:27 +00:00
thorpej a7b2cf9d7a Print CPU features, and use kvtopte() for kernel addresses. 2000-09-06 22:19:46 +00:00
thorpej e32a6a7c54 Use kvtopte() for kernel addresses. 2000-09-06 22:09:58 +00:00
thorpej 7dd395bb7f Remove some vto*() macros that won't stand a chance of working
with PSE or PAE, and reimplement vtphys() in terms of pmap_extract().
2000-09-06 19:09:45 +00:00
thorpej eac566737e In pmap_extract():
- Return FALSE if the PTE does not have PG_V set (previously, you would
  get always get true of the PDE was valid, even if the PTE was not).
- Teach it about 4MB pages.
2000-09-05 21:56:41 +00:00
thorpej 7683d3f956 Define PG_LGFRAME, which is the page frame mask for large (4MB) pages. 2000-09-05 21:52:16 +00:00
enami ef2b361222 Fix to work with objdir. 2000-09-05 05:05:16 +00:00
jdolecek 3fd457414e constify first arg to parseopts() 2000-08-31 07:21:46 +00:00
thorpej 4db6fc7542 Make need_resched() take a "struct cpu_info *" argument. This
causes gives a primitive form of processor affinity.  Its use in
roundrobin() still needs some work.
2000-08-25 01:04:06 +00:00
jhawk 2ea44b1dd4 install dosboot.com in the release(7) hierarchy. 2000-08-23 21:00:46 +00:00
thorpej 58e7a6954b Add spllock(). See spl(9) for details. 2000-08-22 19:46:26 +00:00
joda 71cabc49dd (rbus_pccbb_parent_mem): make the rbus minimum start address
configurable (RBUS_MIN_START), since default value of 1GB doesn't work
well on some ThinkPads
2000-08-22 08:42:55 +00:00
erh df316aa06c Change the heap limit from 40000 to 50000 so the heap is the same size as it was before the "Hack from Hell'. 2000-08-22 02:46:30 +00:00
itohy 5755dca55d Fix typos.
No functional changes.
2000-08-21 07:39:42 +00:00
thorpej 23a7f255d4 Make sure we provide splsched() as described in spl(9). 2000-08-21 02:06:31 +00:00
thorpej a86d1f4891 Add a lock around the scheduler, and use it as necessary, including
in the non-MULTIPROCESSOR case (LOCKDEBUG requires it).  Scheduler
lock is held upon entry to mi_switch() and cpu_switch(), and
cpu_switch() releases the lock before returning.

Largely from Bill Sommerfeld, with some minor bug fixes and
machine-dependent code hacking from me.
2000-08-20 21:50:06 +00:00
thorpej dd87a44f4a Initialize PV head simple locks, done slightly differently than
in the sommerfeld_i386mp_1 branch.
2000-08-19 19:48:53 +00:00
thorpej b0dc085df7 Move the TSS selector out of the PCB and put it into mdproc. We
need to access this when we have the proclist locked for reading,
and thus cannot store it in the PCB (which may be swapped out).

As part of this, call pmap_activate() from cpu_switch() to switch
to the new address space, and refresh the PCB's copy of the LDT
selector from the pmap structure (see above paragraph).  We need
to do this for MP support anyhow.

Fixes a "panic: spinlock_switchcheck: CPU 0 has 1 spin locks" via
gdt_compact() reported by Nathan Williams.
2000-08-16 04:44:35 +00:00
ross 37262919a9 Edit adv0 comment to include "SCSI"; now 'grep -v -i SCSI GENERIC' works. 2000-08-15 20:09:26 +00:00
fvdl 534b45c853 Move identifycpu to a place where it gets called earlier in the process,
so that special setup functions needed for some CPUs will be run before
some things (like UVM) are inited.

Add vm_page_zero_enable = FALSE to the cyrix 6x86 case, as page zeroing
while idle causes problems.
2000-08-15 18:21:44 +00:00
christos cabafb6c60 cast to u_long before casting to u_int to appease lint. 2000-08-13 22:45:01 +00:00
augustss de0b1dd11d Go to splhigh() before calling power hooks and maintain this level
while suspended.  When waking up the power hooks are again called at
splhigh() and then the level is lowered.
This prevents interrupts from reaching a device before the power hook
has reinitialized it.
2000-08-13 22:26:27 +00:00
jdolecek 47b371580e make this usable as INSTALL-like kernel suitable for boot floppy
enable supported stuff, add also SCSI devices (only sd* and cd* uncommented)
2000-08-13 21:55:33 +00:00
jdolecek 40dc315f3b #if 0 bogus mca_intr_establish() added possibly mistakely
by cgd in rev. 1.2
2000-08-13 10:38:38 +00:00
itojun 85dda25e94 move "options PULLDOWN_TEST" into sys/sys/mbuf.h (in #ifdef _KERNEL),
as it is no wthe default setting for everyone.

the reason we still use the name "PULLDOWN_TEST" while it is now default:
kame code sharing.
2000-08-13 01:31:15 +00:00
thorpej e207174eb0 Add functions to read EISA configuration data for MEM, IRQ, DMA, and IO.
XXX Just error stubs on the i386 right now -- someone needs to write
XXX EISA BIOS code for i386.
2000-08-11 00:43:18 +00:00