summaryrefslogtreecommitdiffstats
path: root/sys/amd64
Commit message (Collapse)AuthorAgeFilesLines
* Make sure that we pmap_update AFTER modifying the page table entries.dyson1996-03-131-7/+7
| | | | | The P6 can do a serious job of reordering code, and our stuff could execute incorrectly.
* Killed some historical #define cruft that we've never used in FreeBSD:dg1996-03-122-28/+2
| | | | | | | | | | | | UDOT_SZ SYSPTSIZE USRPTSIZE MSGBUFPTECNT DMMIN DMMAX DMTEXT USRIOSIZE VM_PHYS_SIZE
* Removed undocumented an unused APM_SLOWSTART code.nate1996-03-122-82/+4
|
* Add FAILSAFE option for selecting extra conservativeness when suchjkh1996-03-111-1/+2
| | | | | is more practical (like during installation). Correspondingly, set the option by default in GENERIC now.
* For Lite2: proc LIST changes.hsu1996-03-111-3/+3
| | | | Reviewed by: david & bde
* Change type of code argument to sendsig from unsigned to u_long to make ithsu1996-03-111-2/+2
| | | | | consistent w/ signalvar.h and kern_sig.c. Reviewed by: davidg & bde
* Improved efficiency in pmap_remove, and also remove some of the pmap_updatedyson1996-03-101-111/+160
| | | | optimizations that were probably incorrect.
* Cleanse the SCSI subsystem of its internally defined typesgibbs1996-03-101-3/+1
| | | | | u_int32, u_int16, u_int8, int32, int16, int8. Use the system defined *_t types instead.
* Don't print DMA busy messages - the sound code apparently runsjkh1996-03-101-1/+7
| | | | | | afoul of this without actually providing useful information and works nonetheless. Submitted by: Jim Lowe <james@miller.cs.uwm.edu>
* Correct some new and older lurking bugs. Hold count wasn't beingdyson1996-03-091-118/+212
| | | | | | handled correctly. Fix some incorrect code that was included to improve performance. Significantly simplify the pmap_use_pt and pmap_unuse_pt subroutines. Add some more diagnostic code.
* USER_LDT changes for the Willows TwinXPDK toolkit. Only tested with WINEjkh1996-03-033-74/+134
| | | | | | | since that's the only other USER_LDT using code that I know of. Submitted by: Gary Jennejohn <Gary.Jennejohn@munich.netsurf.de> Obtained from: {Origin of diffs may be someone else - I only rec'd them from Gary}
* Mega-commit for Linux emulator update.. This has been stress tested underpeter1996-03-028-164/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | netscape-2.0 for Linux running all the Java stuff. The scrollbars are now working, at least on my machine. (whew! :-) I'm uncomfortable with the size of this commit, but it's too inter-dependant to easily seperate out. The main changes: COMPAT_LINUX is *GONE*. Most of the code has been moved out of the i386 machine dependent section into the linux emulator itself. The int 0x80 syscall code was almost identical to the lcall 7,0 code and a minor tweak allows them to both be used with the same C code. All kernels can now just modload the lkm and it'll DTRT without having to rebuild the kernel first. Like IBCS2, you can statically compile it in with "options LINUX". A pile of new syscalls implemented, including getdents(), llseek(), readv(), writev(), msync(), personality(). The Linux-ELF libraries want to use some of these. linux_select() now obeys Linux semantics, ie: returns the time remaining of the timeout value rather than leaving it the original value. Quite a few bugs removed, including incorrect arguments being used in syscalls.. eg: mixups between passing the sigset as an int, vs passing it as a pointer and doing a copyin(), missing return values, unhandled cases, SIOC* ioctls, etc. The build for the code has changed. i386/conf/files now knows how to build linux_genassym and generate linux_assym.h on the fly. Supporting changes elsewhere in the kernel: The user-mode signal trampoline has moved from the U area to immediately below the top of the stack (below PS_STRINGS). This allows the different binary emulations to have their own signal trampoline code (which gets rid of the hardwired syscall 103 (sigreturn on BSD, syslog on Linux)) and so that the emulator can provide the exact "struct sigcontext *" argument to the program's signal handlers. The sigstack's "ss_flags" now uses SS_DISABLE and SS_ONSTACK flags, which have the same values as the re-used SA_DISABLE and SA_ONSTACK which are intended for sigaction only. This enables the support of a SA_RESETHAND flag to sigaction to implement the gross SYSV and Linux SA_ONESHOT signal semantics where the signal handler is reset when it's triggered. makesyscalls.sh no longer appends the struct sysentvec on the end of the generated init_sysent.c code. It's a lot saner to have it in a seperate file rather than trying to update the structure inside the awk script. :-) At exec time, the dozen bytes or so of signal trampoline code are copied to the top of the user's stack, rather than obtaining the trampoline code the old way by getting a clone of the parent's user area. This allows Linux and native binaries to freely exec each other without getting trampolines mixed up.
* Add more options into the conf/options and i386/conf/options.i386 filespeter1996-03-021-1/+2
| | | | | | and the #include hooks so that 'make depend' is more useful. This covers most of the options I regularly use (but not all) and some other easy ones.
* Re-insert a missing pmap_remove operation.dyson1996-02-251-2/+2
|
* Fix a problem with tracking the modified bit. Eliminate thedyson1996-02-253-136/+156
| | | | ugly inline-asm code, and speed up the page-table-page tracking.
* Correct & Update the printing of CPU features. We have printed rubbishphk1996-02-131-3/+20
| | | | | since version 1.117 when Garrett made the switch to %b. Updated to reflect Intel AP-485 (241618-004).
* Unspam my changes in rev 1.54 that John spammed in rev 1.55.dg1996-02-051-9/+11
|
* Changed vm_fault_quick in vm_machdep.c to be global. Needed fordyson1996-02-041-13/+9
| | | | new pipe code.
* Rewrote cpu_fork so that it doesn't use pmap_activate, and removeddg1996-02-048-63/+18
| | | | | | | pmap_activate since it's not used anymore. Changed cpu_fork so that it uses one line of inline assembly rather than calling mvesp() to get the current stack pointer. Removed mvesp() since it is no longer being used.
* Killed last change - it was bogus. cpu_switch() already assumes thatdg1996-02-022-6/+4
| | | | return address is on the stack.
* Fix a bunch of spelling errors in the comment fields ofmpp1996-01-3010-28/+28
| | | | a bunch of system include files.
* No longer use the cyclecounter to attempt to correct for late or missedwollman1996-01-303-8/+10
| | | | | | | | clock interrupts. Keep a 1-in-16 smoothed average of the length of each tick. If the CPU speed is correctly diagnosed, this should give experienced users enough information to figure out a more suitable value for `tick'.
* savectx() strikes again: the saved stack pointer wasn't properly adjusteddg1996-01-303-17/+11
| | | | | to remove the return address. It's only the frame pointer and luck that allowed the code to work at all.
* Increase tmpstk size to 8K and make certain it is longword aligned.dg1996-01-302-4/+6
|
* Allocate DMA bounce buffers only when requested by drivers. Only thebde1996-01-273-28/+69
| | | | | | | | | | | | | | | | | | | fd and wt drivers need bounce buffers, so this normally saves 32K-1K of kernel memory. Keep track of which DMA channels are busy. isa_dmadone() must now be called when DMA has finished or been aborted. Panic for unallocated and too-small (required) bounce buffers. fd.c: There will be new warnings about isa_dmadone() not being called after DMA has been aborted. sound/dmabuf.c: isa_dmadone() needs more parameters than are available, so temporarily use a new interface isa_dmadone_nobounce() to avoid having to worry about panics for fake parameters. Untested.
* Cleaned up unused #includes and some other historical cruft.bde1996-01-271-36/+13
| | | | Sorted and KNFised declarations.
* Add commands for ptrace get/set registers.. (Same numbers as NetBSD)peter1996-01-241-3/+11
|
* Simplified savectx() a little and fixed a bug that caused it to returndg1996-01-235-48/+22
| | | | | | garbage in the child process rather than "1" like it is supposed to. Reviewed by: bde
* Initialize the cpu_class variable. This prevents i386 machines fromjoerg1996-01-211-2/+2
| | | | | panicing with a privileged instruction fault early at boot time. Submitted by: rock@wurzelausix.CS.Uni-SB.DE (D. Rock)
* Added a comment above the npx0 device linenate1996-01-201-1/+2
| | | | # Mandatory, don't remove
* Reinstate AUTO_EOI_1. This did break suspend/resume on some portables.phk1996-01-193-77/+111
| | | | | In particular mine. We may want to make it a negative option to keep GENERIC sane, ie NO_AUTO_EOI_1.
* Some trivial fixes to get it to compile again, plus some new lint:peter1996-01-191-4/+7
| | | | | | | | - cpuclass should be cpu_class - CPUCLASS_I386 should be CPUCLASS_386 (^^ those only show up if you compile for i386) - two missing prototypes on new functions - one missing static
* Eliminated many redundant vm_map_lookup operations for vm_mmap.dyson1996-01-194-120/+334
| | | | | | | | | | | | | | | | | | | | | | | | | Speed up for vfs_bio -- addition of a routine bqrelse to greatly diminish overhead for merged cache. Efficiency improvement for vfs_cluster. It used to do alot of redundant calls to cluster_rbuild. Correct the ordering for vrele of .text and release of credentials. Use the selective tlb update for 486/586/P6. Numerous fixes to the size of objects allocated for files. Additionally, fixes in the various pagers. Fixes for proper positioning of vnode_pager_setsize in msdosfs and ext2fs. Fixes in the swap pager for exhausted resources. The pageout code will not as readily thrash. Change the page queue flags (PG_ACTIVE, PG_INACTIVE, PG_FREE, PG_CACHE) into page queue indices (PQ_ACTIVE, PQ_INACTIVE, PQ_FREE, PQ_CACHE), thereby improving efficiency of several routines. Eliminate even more unnecessary vm_page_protect operations. Significantly speed up process forks. Make vm_object_page_clean more efficient, thereby eliminating the pause that happens every 30seconds. Make sequential clustered writes B_ASYNC instead of B_DELWRI even in the case of filesystems mounted async. Fix a panic with busy pages when write clustering is done for non-VMIO buffers.
* Removed declarations of nonexistent functions.bde1996-01-161-10/+2
|
* Since new bcd* macros not argument range overflow resistant,ache1996-01-162-8/+4
| | | | fix argument overflow for years >= 2000
* Get rid of two and a half printf in the kernel.phk1996-01-151-4/+4
| | | | | | | | | | | | | | | | | | | | Add more features to the one remaining to handle the job: + signed quantity. # alternate format - left padding * read width as next arg. n numeric in (argument specified) default radix. Fix the DDB debugger to use these. Use vprintf in debug routine in pcvt. The warnings from gcc may become more wrong and intolerable because of this. Warning: I have not checked the entire source for unsupported or changed constructs, but generally belive that there are only a few. Suggested by: bde
* My wife is busy making me a new conical hat, so you don't need tophk1996-01-152-46/+24
| | | | | send any to me this time. Commited an old copy of this files where the tables were swapped. Duh!.
* Soren called an said that I screwed up badly, so I backup untilphk1996-01-152-22/+44
| | | | I find out how... Sorry.
* Make bin2bcd and bcd2bin global macroes instead of having localphk1996-01-152-46/+24
| | | | implementations all over the place.
* Fixed handling of Feb 29 in resettodr().bde1996-01-122-10/+22
|
* Replace ugly year/month calculations in resettodr to more cleanache1996-01-082-28/+24
| | | | | | variants, idea taken from NetBSD clock.c. At least year calculation was wrong, pointed by Bruce. Use different strategy to store year for BIOS without RTC_CENTURY
* Add comment about only needing on of either ahc, ncr, or ahb typegibbs1996-01-071-2/+3
| | | | | controllers to handle any number of devices. Remove unnecessary extra units for these controllers.
* Choose a different name to hold the option definition.. The original onepeter1996-01-062-4/+4
| | | | | | was overlapping with another file, and making some undesirable behavior a little worse - it's triggering a bug in config that appears to have been there for some time (before the options files, anyway.)
* Convert BOUNCE_BUFFERS and BOUNCEPAGES to new option scheme.wollman1996-01-052-2/+5
|
* Convert DDB to new-style option.wollman1996-01-046-5/+13
|
* Convert SYSV IPC to new-style options. (I hope I got everything...)wollman1996-01-042-2/+5
| | | | The LKMs will need an extra file, to come later.
* convert the math emulation to use the new-style options.wollman1996-01-042-2/+6
|
* Converted two options over to the new scheme: USER_LDT and KTRACE.wollman1996-01-034-4/+9
|
* Fixed user-mode mcount which I broke in the previous revision.bde1996-01-011-13/+33
| | | | | | | | Do it the old way for now. Moved recent additions around a lot to minimise ifdefs. Added prototypes.
* Restrict /devfs/io perms to 0600.joerg1995-12-311-2/+2
| | | | | | Nobody in our regular source tree, or in the non-distfile part of the ports tree does use /dev/io anyway, so this might be replaced by another scenario some day.
OpenPOWER on IntegriCloud