aboutsummaryrefslogtreecommitdiff
path: root/sys/i386
Commit message (Collapse)AuthorAgeFilesLines
* Add better support for larger I/O clusters, including larger physicalJohn Dyson1998-01-243-5/+8
| | | | | | | | I/O. The support is not mature yet, and some of the underlying implementation needs help. However, support does exist for IDE devices now. Notes: svn path=/head/; revision=32724
* VM level code cleanups.John Dyson1998-01-223-75/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Start using TSM. Struct procs continue to point to upages structure, after being freed. Struct vmspace continues to point to pte object and kva space for kstack. u_map is now superfluous. 2) vm_map's don't need to be reference counted. They always exist either in the kernel or in a vmspace. The vmspaces are managed by reference counts. 3) Remove the "wired" vm_map nonsense. 4) No need to keep a cache of kernel stack kva's. 5) Get rid of strange looking ++var, and change to var++. 6) Change more data structures to use our "zone" allocator. Added struct proc, struct vmspace and struct vnode. This saves a significant amount of kva space and physical memory. Additionally, this enables TSM for the zone managed memory. 7) Keep ioopt disabled for now. 8) Remove the now bogus "single use" map concept. 9) Use generation counts or id's for data structures residing in TSM, where it allows us to avoid unneeded restart overhead during traversals, where blocking might occur. 10) Account better for memory deficits, so the pageout daemon will be able to make enough memory available (experimental.) 11) Fix some vnode locking problems. (From Tor, I think.) 12) Add a check in ufs_lookup, to avoid lots of unneeded calls to bcmp. (experimental.) 13) Significantly shrink, cleanup, and make slightly faster the vm_fault.c code. Use generation counts, get rid of unneded collpase operations, and clean up the cluster code. 14) Make vm_zone more suitable for TSM. This commit is partially as a result of discussions and contributions from other people, including DG, Tor Egge, PHK, and probably others that I have forgotten to attribute (so let me know, if I forgot.) This is not the infamous, final cleanup of the vnode stuff, but a necessary step. Vnode mgmt should be correct, but things might still change, and there is still some missing stuff (like ioopt, and physical backing of non-merged cache files, debugging of layering concepts.) Notes: svn path=/head/; revision=32702
* Add entry for SMC 9432TX cards (tx driver).Jordan K. Hubbard1998-01-211-2/+3
| | | | Notes: svn path=/head/; revision=32684
* Add entries for tx card.Jordan K. Hubbard1998-01-213-3/+10
| | | | Notes: svn path=/head/; revision=32680
* Add prototypes for swi_vm, setsoftvm, schedsoftvm, and splsoftvm that wereJustin T. Gibbs1998-01-211-1/+2
| | | | | | | missed when I originally committed the bus dma code. Notes: svn path=/head/; revision=32677
* Suggested by: bdeJohn Birrell1998-01-201-1/+12
| | | | | | | | | | | | | Move sigjmp_buf and jmp_buf structure definitions to machine/setjmp.h so that i386 can continue to use int as the basic register type and alpha can use long. Bruce was concerned about possible differing alignment. I've left the definition of _JBLEN in machine/setjmp.h even though Bruce's example used the number directly. I don't know if any other code relies on _JBLEN, so I left it to avoid potential breakage. Notes: svn path=/head/; revision=32641
* - Add binary compatibility support for obsolete console/mouse ioctlsKazutaka YOKOTA1998-01-202-3/+118
| | | | | | | | | | so that existing programs which were compiled before the introduction of the new mouse code and use these ioctls will run unmodified. Suggested by msmith. Notes: svn path=/head/; revision=32633
* Nondestructive attempts to get simple locks when SL_DEBUG is defined.Tor Egge1998-01-191-19/+21
| | | | Notes: svn path=/head/; revision=32625
* The removal of a page from the free queue in vm_page_zero_idle wasTor Egge1998-01-191-1/+2
| | | | | | | | imcomplete. Also set m->queue, in order to prevent vm_page_select_free from selecting the page being zeroed. Notes: svn path=/head/; revision=32617
* Don't throw away bootp reply packets that are shorter than our extended-lengthTor Egge1998-01-182-2/+6
| | | | | | | | bootp query packet. PR: 5512 Notes: svn path=/head/; revision=32610
* Tie up some loose ends in vnode/object management. Remove an unneededJohn Dyson1998-01-171-24/+6
| | | | | | | | | | config option in pmap. Fix a problem with faulting in pages. Clean-up some loose ends in swap pager memory management. The system should be much more stable, but all subtile bugs aren't fixed yet. Notes: svn path=/head/; revision=32585
* Fix misleading comment about major #Paul Traina1998-01-161-2/+2
| | | | Notes: svn path=/head/; revision=32582
* Bring in IDE ATAPI floppy support.Paul Traina1998-01-1610-10/+817
| | | | | | | | | | | | | | This is Junichi's v1.0 driver. NOTE: Major device numbers have been changed to avoid conflict with other FreeBSD 3.0 devices. The new numbers should be considered "official." This driver is still considered "beta" quality, although we have been playing with it. Please submit bugs to junichi and myself. Submitted by: junichi@astec.co.jp Notes: svn path=/head/; revision=32578
* Synchronize with NetBSD/pc98 based on NetBSD/i386 version 1.3G patchKATO Takenori1998-01-1612-206/+253
| | | | | | | | | level 117. Reviewed by: Naofumi Honda <honda@Kururu.math.sci.hokudai.ac.jp> Notes: svn path=/head/; revision=32547
* Add rcsid. Remove unused vars. Use err(3) and change exit(-1).Philippe Charnier1998-01-161-28/+19
| | | | Notes: svn path=/head/; revision=32539
* Addition of splsoftvm and a VM SWI to handle bus dma related callbacks.Justin T. Gibbs1998-01-155-13/+20
| | | | | | | This SWI may be useful for other, defered, VM tasks. Notes: svn path=/head/; revision=32518
* Implementation of Bus Space for FreeBSD-x86.Justin T. Gibbs1998-01-159-6/+5129
| | | | | | | Obtained From: NetBSD Notes: svn path=/head/; revision=32517
* Implementation of Bus DMA for FreeBSD-x86. This is sufficient to doJustin T. Gibbs1998-01-152-1/+596
| | | | | | | | page level bounce buffering, but there are still some issues left to address. Notes: svn path=/head/; revision=32516
* Add entry for i386/i386/busdma_machdep.cJustin T. Gibbs1998-01-151-1/+2
| | | | Notes: svn path=/head/; revision=32515
* Add and document PPS_SYNCPoul-Henning Kamp1998-01-142-2/+14
| | | | Notes: svn path=/head/; revision=32511
* Fix typo.KATO Takenori1998-01-141-2/+2
| | | | Notes: svn path=/head/; revision=32504
* Fix illegal numeric expressions: 08 and 09.Kazutaka YOKOTA1998-01-121-10/+10
| | | | Notes: svn path=/head/; revision=32487
* Adjust upwards the size of exec map in order to take into account theJohn Dyson1998-01-121-2/+2
| | | | | | | additional PAGE_SIZE needed for exec operatino. Notes: svn path=/head/; revision=32464
* Add some devfs entriesJulian Elischer1998-01-121-2/+44
| | | | | | | (patch origianlly from luigi) Notes: svn path=/head/; revision=32459
* add devfs entries for a few more syscons devices (e.g. sysmouse)Julian Elischer1998-01-121-3/+9
| | | | Notes: svn path=/head/; revision=32457
* Add ppp, at long last, back to GENERIC. We have enough room in theJordan K. Hubbard1998-01-111-3/+2
| | | | | | | | kernel for it and I'm tired of reading the "This system lacks kernel support for PPP..." line in people's tech support messages. Notes: svn path=/head/; revision=32413
* Add a machine dependent header for the i386 jmp_buf size instead of pilingJohn Birrell1998-01-101-0/+35
| | | | | | | machine dependent definitions into src/include/setjmp.h. Notes: svn path=/head/; revision=32411
* Added PnP I/O port address of NEC PC-98.KATO Takenori1998-01-101-2/+7
| | | | | | | Submitted by: Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp> Notes: svn path=/head/; revision=32385
* - Produce the accent letter if the user hits the accent key twice.Kazutaka YOKOTA1998-01-091-4/+28
| | | | | | | | | | | (accent_key + space does still print the accent letter too, as in the previous commit.) Requested by a couple of users. - Clear the accent flag when the next_screen key is pressed. - Added some comment lines regarding accent key processing. Notes: svn path=/head/; revision=32364
* Make the BOOTP family new-style options (in opt_bootp.h)Eivind Eklund1998-01-092-2/+4
| | | | Notes: svn path=/head/; revision=32358
* Make INET a proper option.Eivind Eklund1998-01-0818-20/+81
| | | | | | | | | | | | | | | This will not make any of object files that LINT create change; there might be differences with INET disabled, but hardly anything compiled before without INET anyway. Now the 'obvious' things will give a proper error if compiled without inet - ipx_ip, ipfw, tcp_debug. The only thing that _should_ work (but can't be made to compile reasonably easily) is sppp :-( This commit move struct arpcom from <netinet/if_ether.h> to <net/if_arp.h>. Notes: svn path=/head/; revision=32350
* update the AWE32 wave table driver to Iwai's 0.4.2c version. This alsoJohn-Mark Gurney1998-01-087-3756/+6
| | | | | | | | | includes the patches to make it work under -current from Randall Hopper. Remove the old AWE driver. Notes: svn path=/head/; revision=32348
* 1. Supporting a bogus 16550A compatible PCMCIA CARD stuffsAtsushi Murai1998-01-081-4/+71
| | | | | | | | | | | | | | | | | | | | | | - IIR_TXRDY is never off even if reading a IIR register. - Know as PIAFS "Palido 321S", "DC-*S" oemed by Sharp corp. 2. Omiting a restrict probing if it's already probed by pccardd. Note: Define a new id_flags as follows 0x40000 - NO PROBE (Already probed as serial) 0x80000 - Has a bogus IIR_TXRDY register Sato Junichi <junichi@astec.co.jp> Nrihiro Kumagai <kuma@slab.tnr.sharp.co.jp> Hirao Tetsuya <ai.cs.fujitsu.co.jp> Toshiharu Asai <asai@mbc.infoshere.or.jp> Shin'ya Kumabuchi <kumabu@t3.rim.or.jp> Freebsd-users-jp@jp.freebsd.org bsd-nomads@ai.cs.fujitsu.co.jp Notes: svn path=/head/; revision=32331
* Define integer types added by POSIX.1g. We already had int8_t, int16_t,Alexander Langer1998-01-081-1/+4
| | | | | | | | | | | | and int32_t -- this adds their unsigned counterparts uint8_t, uint16_t, and uint32_t. Bruce has noted that C9x also defines these types (in a different file), so this may have to be revisited with some ifdefs at a later date. Reviewed by: bde Notes: svn path=/head/; revision=32327
* Added accent (dead) key support to syscons and kbdcontrol.Kazutaka YOKOTA1998-01-073-7/+393
| | | | | | | | | | | | | | | | | | | | | | | | | | With a keymap with accent key definitions loaded to syscons, you press an accent key followed by a regular letter key to produce an accented letter. Press an accent key followed by the space bar to get the accent letter itself. Code is based on the ideas and work by jmrueda@diatel.upm.es and totii@est.is. PR: i386/4016 console.h - Defined structures and constants for accent (dead) keys. syscons.c, kbdtables.h - When an accent key is pressed, set the corresponding index to `accents'. If the next key is the space key, produce the accent char itself. Otherwise search the accent key map entry, indexed by `accents', for a matching pair of a regular char and an accented char. - Added ioctl functions to set and get the accent key map (PIO_DEADKEYMAP and GIO_DEADKEYMAP). Notes: svn path=/head/; revision=32315
* documentation changes.Jamil J. Weatherbee1998-01-061-4/+5
| | | | Notes: svn path=/head/; revision=32289
* Make our v_usecount vnode reference count work identically to theJohn Dyson1998-01-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | original BSD code. The association between the vnode and the vm_object no longer includes reference counts. The major difference is that vm_object's are no longer freed gratuitiously from the vnode, and so once an object is created for the vnode, it will last as long as the vnode does. When a vnode object reference count is incremented, then the underlying vnode reference count is incremented also. The two "objects" are now more intimately related, and so the interactions are now much less complex. When vnodes are now normally placed onto the free queue with an object still attached. The rundown of the object happens at vnode rundown time, and happens with exactly the same filesystem semantics of the original VFS code. There is absolutely no need for vnode_pager_uncache and other travesties like that anymore. A side-effect of these changes is that SMP locking should be much simpler, the I/O copyin/copyout optimizations work, NFS should be more ponderable, and further work on layered filesystems should be less frustrating, because of the totally coherent management of the vnode objects and vnodes. Please be careful with your system while running this code, but I would greatly appreciate feedback as soon a reasonably possible. Notes: svn path=/head/; revision=32286
* sigh....forgot to update the DEBUG printfJonathan M. Bresler1998-01-051-3/+3
| | | | | | | | | | to show both the path and the length args to linux emulation truncate() Submitted by: jmb Notes: svn path=/head/; revision=32266
* length argument to truncate() in linux emulationJonathan M. Bresler1998-01-051-1/+2
| | | | | | | | | | | | was not being set copied to the bsd arguments.. frequently, resulting in files of over 100MB of NULs PR: 386/5044 Reviewed by: jmb Submitted by: (Richard Winkel) rich@math.missouri.edu Notes: svn path=/head/; revision=32265
* AMD calls the PR166 and PR200, models 2 and 3 respectively.David E. O'Brien1998-01-031-3/+3
| | | | Notes: svn path=/head/; revision=32203
* Update AMD URL for CPU recognition docs.David E. O'Brien1998-01-031-2/+3
| | | | Notes: svn path=/head/; revision=32200
* Fix typo. Option `CPU_SUSP_HLT' didn't work on Cyrix 486DX box.KATO Takenori1998-01-031-3/+3
| | | | | | | Submitted by: nyan@wyvern.cc.kogakuin.ac.jp (Takahashi Yoshihiro) Notes: svn path=/head/; revision=32199
* Don't try to call into BIOS32 handlers outside the normal ROMMike Smith1998-01-011-2/+2
| | | | | | | | | | | | address range. They may have been trashed earlier in the boot process, or the directory header may simply be bogus. PR: 5140 Submitted by: Joel Faedi <Joel.Faedi@esial.u-nancy.fr> Brought-to-attention-by: Derek Inksetter <derek@saidev.com>, bde Notes: svn path=/head/; revision=32164
* Fixed cosmetic bugs:Bruce Evans1998-01-011-34/+32
| | | | | | | | | | | - wrong name in .file statement. - stale comment about CONSPEED. - style bugs in comments. - inconsistent defaulting of operand sizes (should never depend on default). - inconsistent choosing between je and jz (should always use je). Notes: svn path=/head/; revision=32163
* Removed unused #includes.Bruce Evans1998-01-011-5/+0
| | | | Notes: svn path=/head/; revision=32162
* Moved the SMP declarations of INTREN() and INTRDIS() to the correct header,Bruce Evans1998-01-012-4/+4
| | | | | | | i.e., the same header as corresponding non-SMP #defines. Notes: svn path=/head/; revision=32151
* Explain that MAXMEM maynot be nessicary for detection of >64MB RAM.David E. O'Brien1997-12-312-10/+16
| | | | Notes: svn path=/head/; revision=32143
* Fix a race condition I introduced.Poul-Henning Kamp1997-12-301-5/+17
| | | | | | | Reviewed by: bde (with only minor complaints :-) Notes: svn path=/head/; revision=32126
* Fix a include gottcha in the SMP case.Poul-Henning Kamp1997-12-291-2/+2
| | | | | | | Submitted by: Simon Shapiro <Shimon@Simon-Shapiro.ORG> Notes: svn path=/head/; revision=32106
* Add back a #include <sys/types.h> so that this header isSteve Price1997-12-281-0/+1
| | | | | | | | | | | self-sufficient again. This is a quick fix that should really be remedied by removing all of the gratuitous changes made in revision 1.20. PR: 5351 Notes: svn path=/head/; revision=32065