Commit Graph

5032 Commits

Author SHA1 Message Date
fvdl
cbc00e701a Until early last year, the i386 port had 256M of kvm, and the max.
amount of kvm used for buffers was set at 70%, some 188M. Then
the total amount of kvm became 1G, and the amount for buffers
thus became some 716M. This is really too much, and some
device drivers want to map quite a bit of kvm these days.

So, cap it at 384M, which gives each buffer a little over 8k (the
default FFS blocksize) physical in an 1G physram configuration.
2001-10-20 00:17:47 +00:00
jdolecek
8507456e91 add emuxki (Creative Labs SBLive!) 2001-10-17 18:41:20 +00:00
ichiro
8bf90d96b4 add entry Intersil Mini-PCI(802.11b)
wi* at pci?
2001-10-13 15:06:12 +00:00
augustss
51f55f21bd Alphabetize PHYs. 2001-10-04 15:51:32 +00:00
jmc
60263432a6 Add the fact that SRCS depends on machine. This way the link is always created
Otherwise trying to do make installboot.o will fail
2001-10-04 04:15:17 +00:00
nathanw
586e98e699 Use a value for APMDEBUG_ANOM distinct from APMDEBUG_ATTACH, so that
the debug flag has the originally intended granularity.

From seebs@plethora.net via port-i386/13674.
2001-10-03 18:22:13 +00:00
jmc
806aee01eb Don't force CFLAGS to -g for all builds. 2001-09-30 23:02:25 +00:00
hubertf
c3a231baa7 add (enabled!) esl for pcmcia audio 2001-09-30 00:57:42 +00:00
hubertf
61ce73735e esl is off by default, so switch off audio@esl and opl@esl too. 2001-09-30 00:56:51 +00:00
augustss
f75a223c4e Add the esl driver. 2001-09-29 18:46:16 +00:00
chs
80373b7e54 don't depend on other headers to include sys/proc.h for us. 2001-09-28 11:59:51 +00:00
thorpej
70f1ab462a Glue in ACPI -- not really for prime-time, but useful for developers. 2001-09-28 03:56:21 +00:00
thorpej
7d89fca881 Add ACPI config glue. 2001-09-28 02:06:55 +00:00
thorpej
3d5c31f282 Bah, fix typo that crept in (tank you vi(1)). 2001-09-28 01:50:04 +00:00
thorpej
abd2c67167 Machine-dependent ACPI CA Osd routines for i386. 2001-09-28 01:46:56 +00:00
thorpej
21056065db Move the code that enumerates the pnpbios device nodes into a
separate function.
2001-09-27 17:13:39 +00:00
fvdl
0596817942 Apparently the old gas doesn't like *(%reg), so revert this one for now,
until everyone's switched to the new toolchain.
2001-09-26 14:07:51 +00:00
fvdl
7b78937c2b More '*' usage in indirect calls/jumps. 2001-09-26 09:58:39 +00:00
sommerfeld
98b0d5654c replace %ecx with %cl to silence new assembler warnings. 2001-09-24 01:09:33 +00:00
tls
9b9300274d GCC 2.95 generates significantly larger code with -O2 than our old compiler did; this can cause the second-stage bootblock to exceed the number of blocks that fit in the list in the first-stage bootblock. I thought we used to explicitly set -Os in here; anyway, with this change, we do now! 2001-09-23 23:43:29 +00:00
jdolecek
f5599abc0a fix typo 2001-09-23 19:59:19 +00:00
tv
ab11c169b5 objcopy -> ${OBJCOPY}; remove redundant definitions of OBJCOPY?= (it is
now in bsd.own.mk).
2001-09-22 03:34:17 +00:00
ad
fcf00dcc00 Add `dpti', which is an I2O vendor extension implementing the DPT/Adaptec
control interface. This makes it possible to run the Linux versions of
dptmgr, raidutil, dptelog and other tools under NetBSD.
2001-09-21 23:44:19 +00:00
fvdl
165dd7f987 Make the newer gas happy by explicitly adding '*' to indirect calls, and
matching mov extensions with register names.
2001-09-21 14:12:50 +00:00
ad
d9f326efb9 Split out the check for a valid disk device into a function. 2001-09-20 22:46:04 +00:00
wiz
d0b8cdc6a9 When using va_list, use vprintf, not printf. 2001-09-20 22:11:30 +00:00
petrov
6b12b0a48f initialize i386_alldisks 2001-09-19 20:25:48 +00:00
simonb
808d23f484 {,u}intptr_t are longs; adjust printf/scanf formats. 2001-09-19 05:23:43 +00:00
thorpej
3792a5d8c5 Add code to frob the MTRR-like registers on the AMD K6-2
and AMD K6-III.
2001-09-19 01:26:18 +00:00
thorpej
d941f3b164 Define UWCCR bits for the AMD K6 (these are its MTRR-like registers). 2001-09-19 00:31:21 +00:00
thorpej
f0d792297e Define the AMD K6 cache/write-combinding control register MSR. 2001-09-19 00:30:11 +00:00
chs
3527d3dfa5 use NENTRY() instead of ENTRY() for fault-recovery stubs to avoid
mcount() clobbering the error left in %eax by trap().
2001-09-18 06:29:08 +00:00
fvdl
aece5a2ae7 Initialize 'soft' copies of MTRRs to 0. Make fixed MTRRs work a lot more
correctly.
2001-09-17 20:44:08 +00:00
drochner
8002eb91a6 -fix botched switch/case nesting which made AGP on i810 in GFX mode fail
-remove the check for i810's internal graphics completely: we'll attach
 AGP whether in GFX or AGP mode anyway, and the SMRAM register test
 was of questionable value (should have masked with 0xc0, but even then
 the builtin graphics appeared enabled although I used an external
 PCI card)
2001-09-17 12:07:32 +00:00
wiz
456dff6cb8 Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
chs
64c6d1d2dc a whole bunch of changes to improve performance and robustness under load:
- remove special treatment of pager_map mappings in pmaps.  this is
   required now, since I've removed the globals that expose the address range.
   pager_map now uses pmap_kenter_pa() instead of pmap_enter(), so there's
   no longer any need to special-case it.
 - eliminate struct uvm_vnode by moving its fields into struct vnode.
 - rewrite the pageout path.  the pager is now responsible for handling the
   high-level requests instead of only getting control after a bunch of work
   has already been done on its behalf.  this will allow us to UBCify LFS,
   which needs tighter control over its pages than other filesystems do.
   writing a page to disk no longer requires making it read-only, which
   allows us to write wired pages without causing all kinds of havoc.
 - use a new PG_PAGEOUT flag to indicate that a page should be freed
   on behalf of the pagedaemon when it's unlocked.  this flag is very similar
   to PG_RELEASED, but unlike PG_RELEASED, PG_PAGEOUT can be cleared if the
   pageout fails due to eg. an indirect-block buffer being locked.
   this allows us to remove the "version" field from struct vm_page,
   and together with shrinking "loan_count" from 32 bits to 16,
   struct vm_page is now 4 bytes smaller.
 - no longer use PG_RELEASED for swap-backed pages.  if the page is busy
   because it's being paged out, we can't release the swap slot to be
   reallocated until that write is complete, but unlike with vnodes we
   don't keep a count of in-progress writes so there's no good way to
   know when the write is done.  instead, when we need to free a busy
   swap-backed page, just sleep until we can get it busy ourselves.
 - implement a fast-path for extending writes which allows us to avoid
   zeroing new pages.  this substantially reduces cpu usage.
 - encapsulate the data used by the genfs code in a struct genfs_node,
   which must be the first element of the filesystem-specific vnode data
   for filesystems which use genfs_{get,put}pages().
 - eliminate many of the UVM pagerops, since they aren't needed anymore
   now that the pager "put" operation is a higher-level operation.
 - enhance the genfs code to allow NFS to use the genfs_{get,put}pages
   instead of a modified copy.
 - clean up struct vnode by removing all the fields that used to be used by
   the vfs_cluster.c code (which we don't use anymore with UBC).
 - remove kmem_object and mb_object since they were useless.
   instead of allocating pages to these objects, we now just allocate
   pages with no object.  such pages are mapped in the kernel until they
   are freed, so we can use the mapping to find the page to free it.
   this allows us to remove splvm() protection in several places.

The sum of all these changes improves write throughput on my
decstation 5000/200 to within 1% of the rate of NetBSD 1.5
and reduces the elapsed time for "make release" of a NetBSD 1.5
source tree on my 128MB pc to 10% less than a 1.5 kernel took.
2001-09-15 20:36:31 +00:00
thorpej
e3d4f375aa Give each AGP controller its own attribute, and let the "agpbus"
device (rather, the device that carries that attribute) also
carry one or more attributes indicating which type of controller
it might be.

This will allow systems that might have AGP, but would never have
e.g. an Intel PCI-Host bridge, to trim out code that won't be used.
2001-09-15 01:32:10 +00:00
thorpej
8f077d92cc Move the AGP device declaration stuff into files.agp. 2001-09-15 01:10:09 +00:00
thorpej
0019ea5ce6 Clean up the AGP match/attach code somewhat. 2001-09-15 00:24:59 +00:00
nathanw
718551d644 Change all instances of "[e]isa* at foo?" to "[e]isa0 at foo?".
This prevents attaching multiple [E]ISA buses, which we don't support
(Is there any such thing to support? I'm skeptical) and avoids the
"panic: isaattach: ISA bus already seen" that occurs on some laptops
with docking stations and EISA boxes. Since there is only one [E]ISA bus,
logically, the ISA device probe will still find devices on the
docking station.

This does not address the problem of inserting or removing the docking station
at runtime.

Relevant PRs: kern/6544, port-i386/10392, kern/11627, kern/13557,
install/13865.
2001-09-14 21:44:21 +00:00
thorpej
face3e948d Add "pci" at cdev 83. 2001-09-13 22:08:44 +00:00
tshiozak
5341bac833 correct the set/get trigger code for ALi M1543 interrupt router. 2001-09-13 14:00:52 +00:00
fvdl
43bbb8500a Apparently some ServerWorks Host-PCI bridges only get their memory space
enabled, even though IO space does work. A few drivers (like ahc)
will only work reliably with IO space, so check for this condition
and correct it.
2001-09-12 08:25:17 +00:00
jmc
9185cf1b34 Add mtrr.h to INCS list to get installed on a make includes 2001-09-12 04:44:21 +00:00
chris
0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00
fvdl
8e76d96c85 wrap decl in #if NAGP > 0 2001-09-10 10:54:46 +00:00
fvdl
5f5910616d Oops, didn't mean to enable agp by default yet. 2001-09-10 10:19:12 +00:00
fvdl
927ade4753 Add agp* at pchb? 2001-09-10 10:18:37 +00:00
fvdl
5b6f2046cc Add MTRR option. 2001-09-10 10:17:29 +00:00
fvdl
30bd1cf759 Clean up 'volatile' MTRRs owned by a process when it exits. 2001-09-10 10:14:57 +00:00