Commit Graph

125 Commits

Author SHA1 Message Date
pk 70f20a1217 Replace the traditional buffer memory management -- based on fixed per buffer
virtual memory reservation and a private pool of memory pages -- by a scheme
based on memory pools.

This allows better utilization of memory because buffers can now be allocated
with a granularity finer than the system's native page size (useful for
filesystems with e.g. 1k or 2k fragment sizes).  It also avoids fragmentation
of virtual to physical memory mappings (due to the former fixed virtual
address reservation) resulting in better utilization of MMU resources on some
platforms.  Finally, the scheme is more flexible by allowing run-time decisions
on the amount of memory to be used for buffers.

On the other hand, the effectiveness of the LRU queue for buffer recycling
may be somewhat reduced compared to the traditional method since, due to the
nature of the pool based memory allocation, the actual least recently used
buffer may release its memory to a pool different from the one needed by a
newly allocated buffer. However, this effect will kick in only if the
system is under memory pressure.
2003-12-30 12:33:13 +00:00
thorpej 2f2ca9e66b Split the Intel i31244 SATA controller ("Artisea") driver out of piixide
into its own driver (artsata).
2003-12-14 01:32:01 +00:00
thorpej 9e321b3a18 Collapse the atabus declaration into "atabus* at ata? channel ?". 2003-12-13 23:24:47 +00:00
thorpej 98f7d12017 Split out the Silicon Image SATALink support into its own driver,
"satalink".
2003-12-13 23:13:40 +00:00
sekiya f398c5e022 Remove MIPS3_L2CACHE_ABSENT. 2003-12-13 01:30:50 +00:00
jmc 695a2a2f9f Change reference at bottom from sys/dev/majors to sys/conf/majors to match
reality
2003-12-10 02:04:00 +00:00
simonb 8899101173 Add a "COM_AU1x00" option, similar to COM_PXA2X0, for enabling Au1x00
features in the "com" driver.
2003-11-08 05:05:14 +00:00
simonb f85a32fc57 Set the CPU frequency parameters from YAMON if available, and fall back
to the timer/RTC based calibration loops otherwise.
2003-10-27 23:47:00 +00:00
simonb eb24c3d567 Add a function to query YAMON for the CPU frequency, and set up the
parameters for delay() from this.
2003-10-27 23:41:42 +00:00
simonb cbe1f08c71 Remove useless call to consinit(). 2003-10-27 18:36:26 +00:00
simonb 1bf9ca14ec Oops, need "dev/ata/files.ata" too now for umass.
Add "dev/wsfont/files.wsfont" while we're here.
2003-10-25 22:34:57 +00:00
simonb 12d7c8ac47 Include "dev/scsipi/files.scsipi". 2003-10-25 14:36:50 +00:00
simonb fd8bf5d7c7 This is now a duplicate of the PB1000 config file, remove it. 2003-10-25 14:33:48 +00:00
simonb 78175d51c7 Update comment that this kernel config file is for the DBAu1x00 boards too.
Add USBVERBOSE, uncomment MIIVERBOSE, sort *VERBOSE.
Add "netbsd-aumac0" config line for root-on-aumac0.
Remove commented out "usb@uhci" device.
Add USB devices from the DB1500 config file.
Add umass/sd.
2003-10-25 14:33:14 +00:00
simonb 413652f29e Fix comment for COMPAT_16. 2003-10-25 13:27:53 +00:00
simonb 916e13afc6 Add COMPAT_16 where missing.
Remove the unused COMPAT_15.
Comment out/remove COMPAT_* from INSTALL kernels.
2003-10-25 13:21:13 +00:00
jdolecek ef5bb330f5 reassing majors for crypto and pf to use the newly defined MI major
range
2003-10-10 22:42:39 +00:00
jdolecek 4e915c9ccd update the comment - the space for machine-dependant majors
is reduced to 0-143
follows discussion on tech-kern
2003-10-10 21:21:25 +00:00
bouyer 83af294c93 pciide_machdep.c depends on pciide_common, not pciide.
Pointed out and fix tested by Marc Recht.
2003-10-08 17:29:59 +00:00
bouyer f5a6a0a843 Add new per-chip pciide drivers. 2003-10-08 11:55:43 +00:00
bouyer bcc3968da5 add atabus. 2003-10-08 11:07:50 +00:00
jdolecek e6286b949a Add some framework for MI assignment of device majors - add sys/dev/majors
which is automatically included during kernel config, and add comments
to individual machine-dependant majors.* files to assign new MI majors
in MI file.

Range 0-191 is reserved for machine-specific assignments, range
192+ are MI assignments.

Follows recent discussion on tech-kern@
2003-10-05 08:04:24 +00:00
simonb a35e8c4a16 Cast through (void *) to appease gcc3.
XXX1 - why does this "type-punned pointer" warning only affect little-
       endian MIPS and not big-endian MIPS?!
XXX2 - too much duplicated code.
2003-09-26 16:00:28 +00:00
itojun 4440262659 create /dev/crypto 2003-08-22 05:06:22 +00:00
agc aad01611e7 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-08-07 16:26:28 +00:00
itojun 3f14c71f75 reserve cdev major # for PF. ok'ed by technical-exec 2003-07-27 14:17:57 +00:00
thorpej 063033a023 Since everyone uses clock_subr.c (or should, if they don't currently),
list it in conf/files instead of in every port's files.*.
2003-07-27 01:17:37 +00:00
lukem 141727280b __KERNEL_RCSID() 2003-07-15 01:31:38 +00:00
thorpej d876aa082a Nuke the "alchemy_info" stuff, and just use the dev_propdb to set
the mac-addr property for the Au1x00 on-chip MACs.
2003-07-04 01:19:58 +00:00
he 57822a30b2 Conditionalize usage of the COM_HW_HAYESP constant on COM_HAYESP.
Add a dummy type argument to the local (au)comcnattach to match the change
in the prototype of the "real" comcnattach.

Reviewed and tested by simonb.
2003-06-27 07:39:34 +00:00
fvdl 7dd7f8baa2 Handle 64bit DMA addresses on PCI for platforms that can (currently only
enabled on amd64). Add a dmat64 field to various PCI attach structures,
and pass it down where needed. Implement a simple new function called
pci_dma64_available(pa) to test if 64bit DMA addresses may be used.
This returns 1 iff _PCI_HAVE_DMA64 is defined in <machine/pci_machdep.h>,
and there is more than 4G of memory.
2003-06-15 23:08:53 +00:00
thorpej 0eff671820 Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
2003-06-14 17:01:06 +00:00
tsutsui 71ef8e5915 Use common mips/softintr.c for softintr(9) on evbmips.
Ok'ed by simonb.
2003-05-25 14:08:19 +00:00
thorpej e43fecb228 Change bounds_check_with_label() to take a pointer to the disk structure,
rather than the label itself.  This paves the way for some future changes.
2003-05-10 23:12:28 +00:00
fvdl 6bd0c9f44d Move definition of ISA_DMA_BOUNCE_THRESHOLD to dev/isa/isareg.h. 2003-05-05 12:55:41 +00:00
dsl d91455ce26 Change return type of readdisklabel() to const char *
I hope I've found all the correct places!
2003-05-02 08:45:10 +00:00
ragge 69a66687f8 Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
2003-04-26 11:05:05 +00:00
ragge 766d04f56a Add ksyms device major. 2003-04-25 21:10:46 +00:00
bouyer aec10dd80c Nake return values from bounds_check_with_label() conform to the man
page: -1 for error, 0 for EOF, 1 otherwise. Inspired by an OpenBSD commit
message, pointed out by Miod Vallat in private mail.
vax/mba/hp.c: check return value <= 0, not < 0 to be concistent with how
other places handle return values from bounds_check_with_label().
2003-04-16 15:00:59 +00:00
christos b9f9db3ca2 Bye Bye UCONSOLE 2003-04-10 22:06:51 +00:00
he caa9c02ab5 To get this kernel to link as well, enable ``usb* at ohci?'' line. 2003-04-03 22:50:30 +00:00
thorpej fd53a1c386 Use PAGE_SIZE rather than NBPG. 2003-04-02 03:51:33 +00:00
hpeyerl b5cbb20a0f Add wscons to files.pb1000 in case someone wants to plug a kbd/mouse
into the USB. Add config file for DB1500. We should really make a
files.db1500 but whatever.
2003-04-01 17:40:19 +00:00
hpeyerl 2664e8455c route a clock to the USB Host peripheral. includes code to configure
auxpll but this seems to come up at the right speed out of reset so it's
#if 0'd out.
2003-04-01 17:35:45 +00:00
hpeyerl 4a1358aecb add defines for high/low level triggered interrupts (need this in au_icu.c) 2003-04-01 17:34:10 +00:00
simonb a06ca06a19 Spell 'strategy' correctly. 2003-03-19 03:05:43 +00:00
nakayama e3e4805068 Replace machine/rnd.h with more appropriate name to share it
with cycle counter based microtime in kern/kern_microtime.c.
2003-02-05 13:57:50 +00:00
thorpej 23bc250391 Merge the nathanw_sa branch. 2003-01-17 21:55:23 +00:00
lukem 4bb41ae2f2 Rework how KERNOBJDIR functions; now it's always determined with
cd ${KERNSRCDIR}/${KERNARCHDIR}/compile && ${PRINTOBJDIR}
This is far simpler than the previous system, and more robust with
objdirs built via BSDOBJDIR.

The previous method of finding KERNOBJDIR when using BSDOBJDIR by
referencing _SRC_TOP_OBJ_ from another directory was extremely
fragile due to the depth first tree walk by <bsd.subdir.mk>, and
the caching of _SRC_TOP_OBJ_ (with MAKEOVERRIDES) which would be
empty on the *first* pass to create fresh objdirs.

This change requires adding sys/arch/*/compile/Makefile to create
the objdir in that directory, and descending into arch/*/compile
from arch/*/Makefile.  Remove the now-unnecessary .keep_me files
whilst here.

Per lengthy discussion with Andrew Brown.
2003-01-06 17:40:18 +00:00
thorpej 1132348b98 Use aprint_normal() for cfprint routines. 2003-01-01 01:24:19 +00:00