summaryrefslogtreecommitdiffstats
path: root/sys/i386/include
Commit message (Collapse)AuthorAgeFilesLines
* Fix standards conformance bugs in <signal.h>:bde1995-06-281-6/+8
| | | | | | | | | | | | | | | | | | | | | include/signal.h: There was massive namespace pollution from including <sys/types.h>. POSIX functions were declared even when _ANSI_SOURCE is defined. sys.sys/signal.h: NSIG was declared even if _ANSI_SOURCE or _POSIX_SOURCE is defined. sig_atomic_t wasn't declared if _POSIX_SOURCE is defined. Declare a typedef for signal handling functions and use it to unobfuscate declarations and to avoid half-baked function types that cause unwanted compiler warnings at certain warning levels. Fix confusing comment about SA_RESTART. sys/i386/include/signal.h: This has to be included to get the declaration of sig_atomic_t even when _ANSI_SOURCE is defined, so be more careful about polluting the ANSI namespace. Uniformize idempotency ifdefs.
* Define macros _BSD_OFF_T_ and _BSD_PID_T_ suitable for use insteadbde1995-06-281-3/+12
| | | | | | | | | | | | | of the typedefs off_t and pid_t when use of the latter would cause namespace pollution. These macros are used like _BSD_VA_LIST_ and aren't #undef'ed when the corresponding typedef is declared. off_t is very machine-dependent and should never have been decided in <sys/types.h> (its declaration is compiler-dependent). pid_t isn't very machine-dependent, but this might change. `long' is a wasteful type for it if longs are longer than ints. Move the definition of _BSD_VA_LIST_ away from the comment that suggests that it is #undefed when va_list is declared.
* Remove trailing whitespace.rgrimes1995-05-3021-94/+94
|
* Made "NMBCLUSTERS" calculation dynamic and fixed bogus use of "NMBCLUSTERS"dg1995-05-252-11/+2
| | | | | | | | | | | | in machdep.c (it should use the global nmbclusters). Moved the calculation of nmbclusters into conf/param.c (same place where nmbclusters has always been assigned), and made the calculation include an extra amount based on "maxusers". NMBCLUSTERS can still be overrided in the kernel config file as always, but this change will make that generally unnecessary. This fixes the "bug" reports from people who have misconfigured kernels seeing the network hang when the mbuf cluster pool runs out. Reviewed by: John Dyson
* Added apersand constraint to make sure that the source and destinationdg1995-05-141-2/+2
| | | | | | | registers aren't combined. Reviewed by: Bruce Evans and David Greenman Submitted by: John Dyson
* Add variable `idelayed' and macros setdelayed() and schedsofttty()bde1995-05-111-1/+5
| | | | | | | | | | | | to access it. setdelayed() actually ORs the bits in `idelayed' into `ipending' and clears `idelayed'. Call setdelayed() every (normal) clock tick to convert delayed interrupts into pending ones. Drivers can set bits in `idelayed' at any time to schedule an interrupt at the next clock tick. This is more efficient than calling timeout(). Currently only software interrupts can be scheduled.
* Add loadandclear(). It atomically loads a value from memory, clears thebde1995-05-111-1/+12
| | | | value in memory and returns the original value.
* Make networking domains drop-ins, through the magic of GNU ld. (Some day,wollman1995-05-111-2/+1
| | | | | | there may even be LKMs.) Also, change the internal name of `unixdomain' to `localdomain' since AF_LOCAL is now the preferred name of this family. Declare netisr correctly and in the right place.
* Correct the definition for the (unused) cpu_setstack().dg1995-05-041-2/+2
|
* Update pcvt to 3.20 b24joerg1995-04-081-8/+9
|
* Update pcvt to 3.20b23joerg1995-04-011-5/+6
| | | | Submitted by: Hellmuth Michaelis <hm@altona.hamburg.com>
* Add and move declarations to fix all of the warnings from `gcc -Wimplicit'bde1995-03-281-1/+2
| | | | | (except in netccitt, netiso and netns) that I didn't notice when I fixed "all" such warnings before.
* Removed declaration of pmap_changebit()...it is no longer exported.dg1995-03-261-2/+1
| | | | Submitted by: John Dyson
* Add and move declarations to fix all of the warnings from `gcc -Wimplicit'bde1995-03-164-12/+82
| | | | | | (except in netccitt, netiso and netns) and most of the warnings from `gcc -Wnested-externs'. Fix all the bugs found. There were no serious ones.
* Remove redundant IORW definition..ugen1995-03-081-23/+1
| | | | | | because of this definition never ioctl's for sound devices worked..For me this resulted also in loss of snd1 device...
* Update to beta3.20/b22joerg1995-03-051-15/+5
|
* Preserve reverse link integraty while doing the queue insertion.dg1995-03-031-2/+2
|
* Put the joystick status in a struct {int x, y, b1, b2;} rather than in ajmz1995-02-221-0/+7
| | | | | dummy array of 4 integers. Declare the struct in the header file and update the man page.
* Bruces fixes for large filesystemsgpalmer1995-02-191-11/+11
| | | | Submitted by: Bruce Evans <bde@zeta.org.au>
* This is the latest version of the APM stuff from HOSOKAWA, I have lookedphk1995-02-172-24/+27
| | | | | | | | | | | | | briefly over it, and see some serious architectural issues in this stuff. On the other hand, I doubt that we will have any solution to these issues before 2.1, so we might as well leave this in. Most of the stuff is bracketed by #ifdef's so it shouldn't matter too much in the normal case. Reviewed by: phk Submitted by: HOSOKAWA, Tatsumi <hosokawa@mt.cs.keio.ac.jp>
* Fix syntax errors in #ifdefed out code.bde1995-02-161-3/+3
|
* First attempt to run linux binaries. This is only the changes needed tosos1995-02-141-2/+2
| | | | | | the generic kernel. The actual emulator is a separate LKM. (not finished yet, sorry). Submitted by: sos@freebsd.org & sef@kithrup.com
* Whoops! back out last commit partly.phk1995-02-141-3/+1
|
* YFfix.phk1995-02-141-2/+9
|
* susword -> systm.hphk1995-02-141-2/+1
|
* The following patches are for the sound drivers. These changes willjkh1995-02-131-2/+4
| | | | | | | add a an ioctl call to set the transfer block size (SNDCTL_DSP_SETBLKSIZE) and add the select system call to the drivers. They also fix a problem with the #EXCLUDE macros for the PAS-16 card. Submitted by: Jim Lowe <james@blatz.cs.uwm.edu>
* Rename the local variable used by various macros outside the user'sjkh1995-02-121-21/+21
| | | | | namespace. Reported-By: "Philippe Charnier" <charnier@lirmm.fr>
* The very minimum driver required to support a Video Spigot. See thejkh1995-02-061-0/+80
| | | | | | copyright notices in the code for information on where to go to pick up additional useful bits. Submitted by: Jim Lowe <james@blatz.cs.uwm.edu>
* Add pcvt's header files.jkh1995-02-051-0/+591
| | | | Submitted by: hm
* Moved "#include <pci/pcivar.h>" from "usr.sbin/lsdev/i386.c"se1995-02-041-1/+2
| | | | to "/sys/i386/include/devconf.h", where it really belongs.
* Don't define CLK_TCK here.bde1995-02-032-12/+6
| | | | Uniformize idempotency ifdef.
* Define _BSD_CLK_TCK_ and _BSD_CLOCKS_PER_SEC_ to support correctbde1995-02-031-4/+17
| | | | definitions of CLK_TCK and CLOCKS_PER_SEC.
* Since the pci directory has moved, this required updating.jkh1995-02-021-2/+2
|
* Third round in syscons update.sos1995-01-281-14/+14
| | | | | | | | | | | | | | Display update method changed, now allways write in memory buffer, then periodically update physical display. Speed improvements (now > 5 times faster than the old syscons). History now circular buffer, with changeable size. History scroll by up/down line, up/down page, home and end. Backtab proberly implemented. Now space for 96 function keys, 63 allocated standard, default now SCO/SYSV compat again as in the old days. New keyboard definition files ~share/syscons/keymaps/* Misc fixes for old "hacks" that broke SCO/SYSV compat. More that I forgot before writing this...
* DOn't use hardcode values for L_FN & L_SCRache1995-01-261-3/+5
|
* Increase NUM_FKEYS to 65ache1995-01-261-2/+2
|
* Load the kernel symbol table in the boot loader and not at compile time.bde1995-01-251-10/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Boot with the -D flag if you want symbols.) Make it easier to extend `struct bootinfo' without losing either forwards or backwards compatibility. ddb_aout.c: Get the symbol table from wherever the loader put it. Nuke db_symtab[SYMTAB_SPACE]. boot.c: Enable loading of symbols. Align them on a page boundary. Add printfs about the symbol table sizes. Pass the memory sizes to the kernel. Fix initialization of `unit' (it got moved out of the loop). Fix adding the bss size (it got moved inside an ifdef). Initialize serial port when RB_SERIAL is toggled on. Fix comments. Clean up formatting of recently added code. io.c: Clean up formatting of recently added code. netboot/main.c, machdep.c, wd.c: Change names of bootinfo fields. LINT: Nuke SYMTAB_SPACE. Fix comment about DODUMP. Makefile.i386: Nuke use of dbsym. Exclude gcc symbols from kernel unless compiling with -g. Remove unused macro. Fix comments and formatting. genassym.c: Generate defines for some new bootinfo fields. Change names of old ones. locore.s: Copy only the valid part of the `struct bootinfo' passed by the loader. Reserve space for symbol table, if any. machdep.c: Check the memory sizes passed by the loader, if any. Don't use them yet. bootinfo.h: Add a size field so that we can resolve some mismatches between the loader bootinfo and the kernel boot info. The version number is not so good for this because of historical botches and because it's harder to maintain. Add memory size and symbol table fields. Change the names of everything. Hacks to save a few bytes: asm.S, boot.c, boot2.S: Replace `ouraddr' by `(BOOTSEG << 4)'. boot.c: Don't statically initialize `loadflags' to 0. Disable the "REDUNDANT" code that skips the BIOS variables. Eliminate `total'. Combine some more printfs. boot.h, disk.c, io.c, table.c: Move all statically initialzed data to table.c. io.c: Don't put the A20 gate bits in a variable.
* ioctls for the joystick driverjmz1995-01-251-0/+14
|
* Fix stdarg.h for GNU C using builtin_next_argache1995-01-241-2/+7
|
* Moved various pmap 'bit' test/set functions back into real functions; gccdg1995-01-241-38/+1
| | | | | | generates better code at the expense of more of it. Submitted by: John Dyson
* Decrease MCLBYTES from 4k back to 2k. It isn't likely that we'll be doingdg1995-01-231-2/+2
| | | | | | | page flipping anytime soon and 4k just wastes memory. Performance via the looback interface will decrease slightly by this change. Idealy, we need buffers that can have variable sizes, but this requires a rewrite of far too much code at the moment.
* Second round in syscons update:sos1995-01-201-8/+16
| | | | | | | Support for pseudo graphic mouse cursor (not complete yet) Some cheap speed fixes. More cleanups. Call ourselves scxxxx finally.
* Fix security holes in sigreturn(), ptrace() and procfs. sigreturn()bde1995-01-142-22/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | attempted to check for insecure and fatal eflags and segment selectors, but missed many cases and got the IOPL check back to front. The other syscalls didn't check at all. sys_process.c, machdep.c: Only allow PT_WRITE_U to write to the registers (ordinary and FP). psl.h, locore.s, machdep.c: Eliminate PSL_MBZ, PSL_MBO and PSL_USERCLR. We are not supposed to assume anything about the reserved bits. Use PSL_USERCHANGE and PSL_KERNEL instead. Rename PSL_USERSET to PSL_USER. exception.s: Define a private label for use by doreti when returning to user mode fails. machdep.c: In syscalls, allow changing only the eflags that can be changed on 486's in user mode (no longer attempt to allow benign IOPL changes; allow changing the nasty PSL_NT; don't allow changing the i586 bits). Don't attempt to check all the cases involving invalid selectors and %eip's. Just check for privilege violations and let the invalid things cause a trap. procfs_machdep.c: Call the ptrace register functions to do all the work for reading and writing ordinary registers and for single stepping. trap.c: Ignore traps caused by PSL_NT being set. Previously, users could cause a fatal trap in user mode by setting PSL_NT and executing an iret, and a fatal trap in kernel mode by setting PSL_NT and making a syscall. PSL_NT was cleared too late and not in enough modes to fix the problem. Make all traps in user mode (except T_NMI) nonfatal. Recover from traps caused by attempting to load invalid user registers in doreti by restarting the traps so that they appear to occur in user mode. --- Fix bogons that I noticed while fixing the above: psl.h: Fix some comments. Uniformize idempotency ifdef. exception.s, machdep.c: Remove rsvd[0-14]. rsvd0 hasn't been reserved since the 486 came out. Replace rsvd0 by `align'. rsvd[0-11] used wrong (magic non-unique) trap numbers. Replace rsvd[1-14] by rsvd. locore.s: Enable alignment check flag on 486's and 586's. machdep.c: Use a better type for kstack[]. Use TFREGP() to find the registers. Reformat ptrace functions from SEF to something closer to KNF. procfs_machdep.c: The wrong pointer to the registers got fixed as a side effect. Implement reading and writing of FP registers. /proc/*/*regs now work (only) for processes that are in memory. Clean up comments. trap.c, trap.h: Remove unused trap types.
* Enable define of CR0_AM to prepare for implementing alignment checking.bde1995-01-141-7/+3
| | | | Uniformize idempotency ifdef.
* Declare a real `struct fpreg' to prepare for implementing reading andbde1995-01-141-6/+13
| | | | | | writing of FP regs for procfs. Uniformize idempotency ifdef.
* Remove reference to impossible trap type T_KDBTRAP. We don't supportbde1995-01-141-8/+9
| | | | | | watchpoints. Uniformize idempotency ifdef.
* First round in syscons update. Several new features has been added:sos1995-01-121-14/+28
| | | | | | | | | | | | | | No kernel config options anymore besides keyboard language layout. Virtual consoles are now dynamically allocated, no NCONS anymore. Software cursor blinking/nonblinking. Visual bell for laptops (don't beep at meetings :-). Cursor/bell default type setable via config "flags" instead of as defines. Cursor/bell type setable via ioctl's. New video modes 80x30 80x60 for some laptops, and those with multisync monitors. Scroll-lock history (length currently fixed at 100 lines). Lots of cleanups, some only commented out for now (will goaway soon). Support for new features in vidcontrol/kbdcontrol. Updated manpages.
* These changes embody the support of the fully coherent merged VM buffer cache,dg1995-01-092-4/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | much higher filesystem I/O performance, and much better paging performance. It represents the culmination of over 6 months of R&D. The majority of the merged VM/cache work is by John Dyson. The following highlights the most significant changes. Additionally, there are (mostly minor) changes to the various filesystem modules (nfs, msdosfs, etc) to support the new VM/buffer scheme. vfs_bio.c: Significant rewrite of most of vfs_bio to support the merged VM buffer cache scheme. The scheme is almost fully compatible with the old filesystem interface. Significant improvement in the number of opportunities for write clustering. vfs_cluster.c, vfs_subr.c Upgrade and performance enhancements in vfs layer code to support merged VM/buffer cache. Fixup of vfs_cluster to eliminate the bogus pagemove stuff. vm_object.c: Yet more improvements in the collapse code. Elimination of some windows that can cause list corruption. vm_pageout.c: Fixed it, it really works better now. Somehow in 2.0, some "enhancements" broke the code. This code has been reworked from the ground-up. vm_fault.c, vm_page.c, pmap.c, vm_object.c Support for small-block filesystems with merged VM/buffer cache scheme. pmap.c vm_map.c Dynamic kernel VM size, now we dont have to pre-allocate excessive numbers of kernel PTs. vm_glue.c Much simpler and more effective swapping code. No more gratuitous swapping. proc.h Fixed the problem that the p_lock flag was not being cleared on a fork. swap_pager.c, vnode_pager.c Removal of old vfs_bio cruft to support the past pseudo-coherency. Now the code doesn't need it anymore. machdep.c Changes to better support the parameter values for the merged VM/buffer cache scheme. machdep.c, kern_exec.c, vm_glue.c Implemented a seperate submap for temporary exec string space and another one to contain process upages. This eliminates all map fragmentation problems that previously existed. ffs_inode.c, ufs_inode.c, ufs_readwrite.c Changes for merged VM/buffer cache. Add "bypass" support for sneaking in on busy buffers. Submitted by: John Dyson and David Greenman
* Gunther Schadow <gusw@fub46.zedat.fu-berlin.de>'sjkh1995-01-071-0/+52
| | | | | driver for the Genius GS-4500 hand scanner. Submitted by: gusw@fub46.zedat.fu-berlin.de
* Corrected the list of volatile registers for outsb, outsw, and outsl.dg1995-01-041-4/+4
| | | | This bug caused my ethernet driver to break, among other things no doubt.
OpenPOWER on IntegriCloud