summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Updated generated files (makesyscalls.sh changed). Only sysproto.hbde1997-06-295-6/+5
| | | | really changed.
* Don't generate unused nested #include of <sys/aio.h>.bde1997-06-291-2/+1
|
* Fixed the fix for not using -fomit-frame-pointer with -pg. The previousbde1997-06-295-10/+13
| | | | | | | | | fix stopped it being used in all cases, because substitution on unset variables does not work. When profiling, put -malign-functions=4 in CFLAGS instead of in PROF. This fixes the histogram counts for profiling support functions. It gives bogus but harmless extra alignment for genassym etc.
* A fix/work-around for ThinkPad 535.yokota1997-06-296-66/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new configuration flag, KBD_NORESET (0x20) to tell scprobe() not to reset the keyboard. IBM ThinkPad 535 has the `Fn' key with which the user can perform certain functions in conjunction with other keys. For example, `Fn' + PageUP/PageDOWN adjust speaker volume, `Fn' + Home/End change brightness of LCD screen. It can also be used to suspend the system. It appears that these functions are implemented at the keyboard level or the keyboard controller level and totally independent from BIOS or OS. But, if the keyboard is reset (as is done in scprobe()), they become unavailable. (There are other laptops which have similar functions associated with the `Fn' key. But, they aren't affected by keyboard reset.) ThinkPad 535 doesn't have switches or buttons to adjust brightness and volume, or to put the system into the suspend mode. Therefore, it is essential to preserve these `Fn' key functions in FreeBSD. The new flag make scprobe() skip keyboard reset. If this flag is not set, scprobe() behaves in the same say as before. (If we only knew a way to detect ThinkPad 535, we could skip keyboard reset automatically, but...)
* apic_vector.s:fsmp1997-06-275-7/+246
| | | | | | | | | - added Xcpustop IPI code to support stop_cpus()/restart_cpus(). it is off by default, enable via smptests.h:TEST_CPUSTOP intr_machdep.h: - moved +ICULEN to lower level. - added entry for Xcpustop.
* Initialize private variable other_cpus during AP boot.fsmp1997-06-271-1/+4
|
* Added POST code output to various points of the startup code.fsmp1997-06-277-140/+1211
| | | | | | | | | | | | General cleanup. New functions to stop/start CPUs via IPIs: - int stop_cpus( u_int map ); - int restart_cpus( u_int map ); Turned off by default, enabled via smptests.h:TEST_CPUSTOP. Current version has a BUG, perhaps a deadlock?
* Experimental calls to stop_cpus()/restart_cpus() within breakpoint calls.fsmp1997-06-272-2/+40
| | | | Turned off by default in smptests.h.
* Added other_cpus to CPU private page.fsmp1997-06-273-6/+12
| | | | | | This variable is a bitmap showing all CPUs present EXCEPT the CPU owning the variable. In other words, it is equal to the global bitmap 'all_cpus' minus its own bit.
* Preliminaries for stop_cpus()/restart_cpus().fsmp1997-06-274-12/+56
| | | | | | Both are turned off by default. Added macro for displaying POST codes from kernel.
* Program lint1 to handle NMIs.fsmp1997-06-277-14/+168
| | | | | | Till now NMIs would be ignored. Now an NMI is caught by the BSP. APs still ignore NMI, am working on code to allow a CPU to stop other CPUs via an IPI.
* Added fields to the LVT1/2 group.fsmp1997-06-273-3/+30
|
* Modify my copyright notice to allow the sequencer to be used with GPLedgibbs1997-06-273-12/+33
| | | | software (aka Linux).
* Modify my copyright notice to allow the sequencer to be used with GPLedgibbs1997-06-2721-140/+235
| | | | | | | | software (aka Linux). Fix a few bugs in the sequencer assembler. Make it easy to compiler the assembler with debugging turned on.
* KNF cleanup.gibbs1997-06-272-3170/+3186
|
* Fix a condition where nfs_statfs() can precipitate a panic. There iswpaul1997-06-272-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | code that says this: nfsm_request(vp, NFSPROC_FSSTAT, p, cred); if (v3) nfsm_postop_attr(vp, retattr); if (!error) nfsm_dissect(sfp, struct nfs_statfs *, NFSX_STATFS(v3)); The problem here is that if error != 0, nfsm_dissect() will not be called, which leaves sfp == NULL. But nfs_statfs() does not bail out at this point: it continues processing until it tries to dereference sfp, which causes a panic. I was able to generate this crash under the following conditions: 1) Set up a machine as an NFS server and NFS client, with amd running (using NIS maps). /usr/local is exported, though any exported fs can can be used to trigger the bug. 2) Log in as normal user, with home directory mounted from a SunOS 4.1.3 NFS server via amd (along with a few other NFS filesystems from same machine). 3) Su to root and type the following: # mount localhost:/usr/local /mnt # df To fix the panic, I changed the code to read: if (!error) { nfsm_dissect(sfp, struct nfs_statfs *, NFSX_STATFS(v3)); } else goto nfsmout; This is a bit kludgy in that nfsmout is a label defined by the nfsm_subs.h macros, but these macros are themselves more than a little kludgy. This stops the machine from crashing, but does not fix the overall bug: 'error' somehow becomes 5 (EIO) when a statfs() is performed on the locally mounted NFS filesystem. This seems to only happen the first time the filesystem is accesed: on subsequent accesses, it seems to work fine again. Now, I know there's no practical use in mounting a local filesystem via NFS, but doing it shouldn't cause the system to melt down.
* Removed '#include <machine/smptests.h>' line, no longer needed.fsmp1997-06-272-6/+4
|
* Fill in some extra fields in the eproc structure. gdb uses this informationtegge1997-06-271-1/+5
| | | | | to determine where the data segment in core dumps should be mapped. Reviewed by: Peter Wemm <peter@spinner.dialix.com.au>
* Don't accept insane values for SO_(SND|RCV)BUF, and the low water marks.peter1997-06-271-4/+27
| | | | | | | | | Specifically, don't allow a value < 1 for any of them (it doesn't make sense), and don't let the low water mark be greater than the corresponding high water mark. Pre-Approved by: wollman Obtained from: NetBSD
* Added CPU_DIRECT_MAPPED_CACHE option which sets L1 cache in directkato1997-06-275-5/+26
| | | | mapped mode on Cyrix 486DLC box.
* Removed the #ifdef IPXERRORMSGS'ed code. Fix a lot of style errors that Ijhay1997-06-2623-807/+115
| | | | | introduced with the previous commit. Style fixes Submitted by: Bruce Evans <bde@FreeBSD.ORG>
* More comment cleanup.alex1997-06-262-10/+10
|
* Typo police.alex1997-06-262-6/+6
|
* Style fix my previous commit.alex1997-06-262-4/+4
|
* Synchronize with sys/i386/isa/clock.c and isa.c revisions 1.88 andkato1997-06-264-113/+101
| | | | 1.93, respectively.
* Back out a bad commit.tegge1997-06-262-6/+2
|
* Clear nfs_iodwant[myiod] when the nfsiod process exits due to a signal.tegge1997-06-253-3/+6
|
* Merged/renamed functions:fsmp1997-06-257-574/+392
| | | | | | - get_isa_apic_mask() -> isa_apic_mask() - get_isa_apic_irq() && get_eisa_apic_irq() -> isa_apic_pin() - get_pci_apic_irq() -> pci_apic_pin()
* Modified to use merged/renamed functions:fsmp1997-06-257-180/+160
| | | | | - get_isa_apic_mask() -> isa_apic_mask() - get_isa_apic_irq() && get_eisa_apic_irq() -> isa_apic_pin()
* Modified to declare merged/renamed functions:fsmp1997-06-253-15/+12
| | | | | | - get_isa_apic_mask() -> isa_apic_mask() - get_isa_apic_irq() && get_eisa_apic_irq() -> isa_apic_pin() - get_pci_apic_irq() -> pci_apic_pin()
* Modified to use renamed get_pci_apic_irq() -> pci_apic_pin() function.fsmp1997-06-252-10/+14
|
* Allow the kernel configuration file to override the amount of memorytegge1997-06-252-2/+6
| | | | | | | available to the kernel (VM_KMEM_SIZE). The default (32 MB) is too low when having 512 MB or more physical memory in a server environment. This is relevant on systems where "panic: kmem_malloc: kmem_map too small" is a problem.
* Allow kernel configuration file to override PMAP_SHPGPERPROC. The defaulttegge1997-06-252-2/+6
| | | | | | | value (200) is too low in some environments, causing a fatal "panic: get_pv_entry: cannot get a pv_entry_t". The same panic might still occur due to temporary shortage of free physical memory (cf. PR i386/2431).
* Block some interrupts during the call to pmap_zero_page integge1997-06-252-2/+6
| | | | | vm_page_zero_idle. This fixes some occurences of the problem reported in PR kern/3216: "panic: pmap_zero_page: CMAP busy"
* Introduce an advisory exclusive lock on the scsi link structure.tegge1997-06-254-4/+47
| | | | | | | | Change sd_open, sd_close and sd_ioctl to use this lock to ensure serialization of some critical operations, thus avoiding some race conditions. Ideas picked from NetBSD (ccd and sd devices). This fixes one of the problems noted in PR kern/3688. Reviewed by: "Justin T. Gibbs" <gibbs@plutotech.com>
* Avoid small synchronous writes when an application does lots of random-accessdfr1997-06-252-38/+230
| | | | short writes within a block (e.g. ld).
* Make nfs_lookup return a NULLVP on error so that DIAGNOSTIC kernels don'tdfr1997-06-252-8/+16
| | | | panic.
* Don't ever allow lowering the securelevel at all. Allowing it doesjoerg1997-06-251-2/+2
| | | | | | | | | nothing good except of opening a can of (potential or real) security holes. People maintaining a machine with higher security requirements need to be on the console anyway, so there's no point in not forcing them to reboot before starting maintenance. Agreed by: hackers, guido
* Do The Right Thing when an iBCS2 program does getgroups(0, whatever) -- wesef1997-06-251-2/+6
| | | | | | | | | | were returning EFAULT, when it is a completely acceptable thing to do. Also, at the same time, be a *bit* optimizing and don't allocate any "stackgrap" memory if we're not going to use it. This is another Oracle-discovered problem. Submitted by: Steven Wallace
* Add tickadj to struct clockinfo, like NetBSD and OpenBSD.jhay1997-06-247-8/+13
| | | | NOTE: libc, time, kgmon and rpc.rstatd will have to be recompiled.
* Ensure that the boot CPU honours write protection in kernel mode.tegge1997-06-247-7/+63
| | | | This fixes one of the problems noted in PR kern/3688.
* Take the OS release string from the kernel variable `osrelease'yokota1997-06-243-9/+61
| | | | | | | | rather than hard-code it in the message text. Optinally include the host name in the message if SHOW_HOSTNAME is defined. The origianl idea and sample code submitted by Angelo Turetta <ATuretta@stylo.it>.
* Recognize AMD K5 PR166 and PR200 CPUs.kato1997-06-242-2/+14
|
* Killed bogus kernacc() call in malloc() DIAGNOSTIC code. kernacc() bydg1997-06-241-8/+1
| | | | | it's nature, locks the kernal_map, and this is deadly if kernal_map had been locked previous to a (net) interrupt.
* Fix calculation of initial mplock value.fsmp1997-06-247-14/+14
| | | | We now use LOGICAL, not PHYSICAL, IDs to calculate the mplock.
* Fixed breakage for "default" configurations in mptable_pass1().fsmp1997-06-247-14/+14
|
* Don't try upgrading an existing exclusive lock in vm_map_user_pageable.tegge1997-06-231-16/+3
| | | | | | This should close PR kern/3180. Also remove a bogus unconditional call to vm_map_unlock_read in vm_map_lookup.
* Synchronize with following changes:kato1997-06-237-168/+52
| | | | | | | | | | > Revision Changes Path > 1.250 +1 -18 src/sys/i386/i386/machdep.c > 1.48 +1 -7 src/sys/i386/conf/options.i386 > 1.251 +19 -46 src/sys/i386/i386/machdep.c > 1.24 +2 -6 src/sys/i386/i386/microtime.s > 1.100 +4 -15 src/sys/i386/i386/trap.c > 1.46 +6 -7 src/sys/i386/isa/npx.c
* Synchronize with sys/i386/i386/userconfig.c revision 1.86.kato1997-06-231-2/+34
|
* Synchronize with sys/i386/isa/syscons.c revision 1.217.kato1997-06-231-76/+174
|
OpenPOWER on IntegriCloud