summaryrefslogtreecommitdiffstats
path: root/sys/amd64
Commit message (Collapse)AuthorAgeFilesLines
* Added "memory" to clobber list in invlpg(). It needs it if invltlb()bde1996-09-291-20/+21
| | | | | | | | | | | needs it. Fixed style in invlpg(). Sorted recently renamed functions. Added prototypes in the non-gcc section for recently added/renamed functions.
* Essentially rename pmap_update to be invltlb. It is a very machinedyson1996-09-285-53/+52
| | | | | | | dependent operation, and not really a correct name. invltlb and invlpg are more descriptive, and in the case of invlpg, a real opcode. Additionally, fix the tlb management code for 386 machines.
* Restored my change in rev.1.119 which was clobbered by the previous commit.bde1996-09-281-2/+4
|
* Move pmap_update_1pg to cpufunc.h. Additionally,dyson1996-09-282-49/+39
| | | | | use the invlpg opcode instead of the nasty looking .byte directives. There are some other minor micro-level code improvements to pmap.c
* part 2 of the bsdi compat tweak attempt. I believe that BSDI use bothpeter1996-09-271-1/+4
| | | | | | lcall 7,0 (ie: ldt slot 0) and lcall 0x87,0 (ldt slot 16, it's shifted three bits to the left). I was fiddling with this so long ago, I don't recall the specifics.
* Apparently, BSDI have a new system call gate. I was experimentingpeter1996-09-271-2/+3
| | | | | | with this quite a while ago when somebody reported a BSD/OS 2.1 binary that wouldn't run. I'm pretty sure they tried it and I'm pretty sure they mentioned to me that the patch worked.
* I've been meaning to commit this for months. Implement select()peter1996-09-271-2/+18
| | | | | | for /dev/random and /dev/urandom. Both are always writable, urandom is always readable, and /dev/random is readable when >= 8 bits are in the pool.
* Fixed a few hundred warnings (2400 in LINT) for signed vs unsignedbde1996-09-241-6/+13
| | | | | | | | | | | | | comparisons in the inb() and outb() macros. I decided that int args are OK here. Any type that can hold a u_int16_t without overflow is correct, and 32-bit types are optimal. Introduced a few tens of warnings (100 in LINT) for use of pessimized (short) types for the port arg. Only a few drivers are affected by this. u_short pessimizations aren't detected. Added `__extension__' before the statement-expression in inb() so that it can be compiled without warnings by gcc -pedantic.
* Changed an arg name in the pseudo-prototype for bzero() to matchbde1996-09-202-46/+56
| | | | | | | | | | | | | | | | | | | | the prototype. Put the jump table for i486_bzero() in the data section. This speeds up i486_bzero() a little on Pentiums without significantly affecting its speed on 486's. Don't waste time falling through 14 nop's to return from do1 in i486_bzero(). Use fastmove() for counts >= 1024 (was > 1024). Cosmetic. Fixed profiling of fastmove(). Restored meaningful labels from the pre-1.1 version in fastmove(). Local labels are evil. Fixed (high resolution non-) profiling of __bb_init_func().
* Add APM_IDLE_CPU option, that is off by default.phk1996-09-192-4/+4
| | | | | | I maintain that it saves more power to simply "hlt" the CPU than to spend tons of time trying to tell the APM bios to do the same. In particular if you do it 100 times a second...
* Attached simple external ddb commands `show rtc', `show pgrpdump'bde1996-09-142-10/+14
| | | | | and `show cbstat'. The pgrpdump code was previously controlled by `#ifdef DEBUG'.
* Changed cncheckc() interface so that it is 8-bit clean - return -1bde1996-09-142-4/+4
| | | | | | | | | instead of 0 if there is no input. syscons.c: Added missing spl locking in sccncheckc(). Return the same value as sccngetc() would. It is wrong for sccngetc() to return non-ASCII, but stripping the non-ASCII bits doesn't help.
* Made debugging code (pmap_pvdump()) compile again so that I can test LINT.bde1996-09-131-2/+4
| | | | I don't know if it actually works.
* Another round of merge/update.asami1996-09-121-49/+1
| | | | | | | | | (1) Add PC98 support to apm_bios.h and ns16550.h, remove pc98/pc98/ic (2) Move PC98 specific code out of cpufunc.h (to pc98.h) (3) Let the boot subtrees look more alike Submitted by: The FreeBSD(98) Development Team <freebsd98-hackers@jp.freebsd.org>
* Primarily a fix so that pages are properly tracked for beingdyson1996-09-121-35/+62
| | | | | | | modified. Pages that are removed by the pageout daemon were the worst affected. Additionally, numerous minor cleanups, including better handling of busy page table pages. This commit fixes the worst of the pmap problems recently introduced.
* Make userconfig two (default: on) options:phk1996-09-112-2/+9
| | | | | | USERCONFIG to enable VISUAL_USERCONFIG to get the gui stuff too. Requested by: pst
* A minor fix to the new pmap code. This might not fix the global problemsdyson1996-09-111-2/+2
| | | | with the last major pmap commits.
* Removed more devconf leftovers.bde1996-09-101-2/+1
|
* Removed bogus LARGMEM code and option. The code paniced whenbde1996-09-101-12/+1
| | | | | | biosextmem > 65536, but biosextmem is a 16-bit quantity so it is guaranteed to be < 65536. Related cruft for biosbasemem was mostly cleaned up in rev.1.26.
* Updated #includes to 4.4Lite style.bde1996-09-103-15/+19
|
* Addition of page coloring support. Various levels of coloring are afforded.dyson1996-09-082-11/+14
| | | | | | The default level works with minimal overhead, but one can also enable full, efficient use of a 512K cache. (Parameters can be generated to support arbitrary cache sizes also.)
* Improve the scalability of certain pmap operations.dyson1996-09-082-292/+611
|
* Yet another merge. Remove support.s by deleting memcopy. Removeasami1996-09-071-1/+16
| | | | | | autoconf.c by merging icu.h. Fix a couple of typos. Submitted by: The FreeBSD(98) Development Team.
* Remove devconf, it never grew up to be of any use.phk1996-09-065-138/+5
|
* Cleaned up version of my 'extended BIOS' patch. This one is commentednate1996-09-031-30/+48
| | | | | | | better and much simpler to understand, and works just as well (better) as a bonus. Submitted by: bde
* Change an splclock that needs to be an splhigh into an splhigh.dg1996-09-011-2/+2
| | | | Reviewed by: bde
* If the basemem value supplied by the bootblocks, differs from the valuenate1996-09-011-6/+33
| | | | | | | | | | | returned by the RTC, use the bootblock supplied value. Also, map the 'stolen by BIOS' memory in the same manner as the ISA-hole memory, since it is really an extenstion of the BIOS. This is necessary for 32-bit BIOS functions such as APM support on laptops, and the loss of memory for non-necessary functions seems to be at most 4k. Reviewed by: phk Obtained from: email conversation with jtk@atria.com
* Improvements from Bruce Evanspst1996-08-302-17/+29
|
* Cleaned up interrupt masking by declaring the state variable in abde1996-08-281-10/+15
| | | | | | | machine-dependent macro and passing it to all machine-dependent macros. Eliminated the state variable for the GUPROF case.
* Clean up formatting and fix an & -> && bug pointed out by bdepst1996-08-281-87/+52
|
* Support for GDB remote debug protocol.pst1996-08-272-4/+591
| | | | Sponsored by: Juniper Networks, Inc. <pst@jnx.com>
* Add hints to the file ./LINT and the handbook.wosch1996-08-271-1/+10
|
* Collect all the functioons concerned with rebooting into one placejulian1996-08-191-160/+6
| | | | | also add the at_shutdown callout list, and change the one user of the present (broken) method (the vn driver) to use the new scheme.
* Back out mistaken local change that sneaked in on the last commit.wollman1996-08-121-0/+40
|
* Don't declare the user_ldt functions unless USER_LDT is defined.wollman1996-08-122-42/+4
| | | | Eliminates an obnoxious warning.
* Add support for i686 machine check trap.dg1996-08-114-6/+12
|
* Defined T_MCHK exception for i686; renumbered T_RESERVED to 29.dg1996-08-111-2/+3
|
* Add recognition for the AMD 5x86 CPU models.peter1996-08-101-1/+15
| | | | Submitted by: A JOSEPH KOSHY <koshy@india.hp.com>
* Trivial cosmetic tweak to make the i[56]86 CPU MHz reprting round to thepeter1996-08-101-3/+5
| | | | | | | | | nearest .01 Mhz rather than simply truncating it downwards. This hack makes this 89.999928 Mhz clock correctly round to the closer 90.00-MHz rather than 89.99-MHz: > i586 clock: 89999928 Hz, i8254 clock: 1193152 Hz > CPU: Pentium (90.00-MHz 586-class CPU)
* Eliminated i586_ctr_rate. Use i586_ctr_freq instead.bde1996-08-023-29/+15
|
* Eliminated i586_ctr_rate. Use i586_ctr_freq instead.bde1996-08-021-8/+6
| | | | | | | Changed i586_ctr_bias from long long to u_int. Only the low 32 bits are used now that microtime uses a multiplication to do the scaling. Previously the high 32 bits had to match those of rdtsc() to prevent overflow traps and invalid timeval adjustments.
* Add an fls() inline function which does the opposite operation towollman1996-08-011-1/+12
| | | | ffs(). (That is to say, it searches in the opposite direction.)
* Eliminated pcb_inl. It was always 0 because context switches don't occurbde1996-07-314-18/+6
| | | | in interrupt handlers.
* Converted timer/run queues to 4.4BSD queue style. Removed old and unuseddg1996-07-313-43/+11
| | | | | | | sleep(). Implemented wakeup_one() which may be used in the future to combat the "thundering herd" problem for some special cases. Reviewed by: dyson
* Fixed longstanding bug of not checking `dumpdev' or setting `dumplo'bde1996-07-301-10/+7
| | | | | | | | | | | early enough when the dump device is specified in the config file. Removed stale comment about configuration root and swap devices. Don't bother clearing dumplo when dumpdev is set to NODEV. Everything is controlled by dumpdev. Fixed the kern.dumpdev sysctl. Writes were handle bogusly.
* Fixed the machdep.i8254_freq and machdep.i586_freq sysctls. Writes werebde1996-07-303-38/+88
| | | | | | | handled bogusly. Centralized the setting of all the frequency variables. Set these variables atomically. Some new ones aren't used yet.
* Backed out the recent changes/enhancements to the VM code. Thedyson1996-07-302-412/+519
| | | | | | | problem with the 'shell scripts' was found, but there was a 'strange' problem found with a 486 laptop that we could not find. This commit backs the code back to 25-jul, and will be re-entered after the snapshot in smaller (more easily tested) chunks.
* Fix a problem with a DEBUG section of code.dyson1996-07-291-1/+1
|
* Fix an error in statement order in pmap_remove_pages, remove the pmapdyson1996-07-291-39/+10
| | | | pte hint (for now), and general code cleanup.
* Fix a problem that pmap update was not being done for kernel_pmap. Alsodyson1996-07-281-13/+11
| | | | | remove some (currently) gratuitious tests for PG_V... This bug could have caused various anomolous (temporary) behavior.
OpenPOWER on IntegriCloud