summaryrefslogtreecommitdiffstats
path: root/sys/isa
Commit message (Collapse)AuthorAgeFilesLines
* Revert two experimental changes which escaped from my devel machine.phk2000-10-281-1/+1
|
* Convert all users of fldoff() to offsetof(). fldoff() is badphk2000-10-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | because it only takes a struct tag which makes it impossible to use unions, typedefs etc. Define __offsetof() in <machine/ansi.h> Define offsetof() in terms of __offsetof() in <stddef.h> and <sys/types.h> Remove myriad of local offsetof() definitions. Remove includes of <stddef.h> in kernel code. NB: Kernelcode should *never* include from /usr/include ! Make <sys/queue.h> include <machine/ansi.h> to avoid polluting the API. Deprecate <struct.h> with a warning. The warning turns into an error on 01-12-2000 and the file gets removed entirely on 01-01-2001. Paritials reviews by: various. Significant brucifications by: bde
* - Overhaul the software interrupt code to use interrupt threads for eachjhb2000-10-252-16/+16
| | | | | | | | | | | | | | | | | | | type of software interrupt. Roughly, what used to be a bit in spending now maps to a swi thread. Each thread can have multiple handlers, just like a hardware interrupt thread. - Instead of using a bitmask of pending interrupts, we schedule the specific software interrupt thread to run, so spending, NSWI, and the shandlers array are no longer needed. We can now have an arbitrary number of software interrupt threads. When you register a software interrupt thread via sinthand_add(), you get back a struct intrhand that you pass to sched_swi() when you wish to schedule your swi thread to run. - Convert the name of 'struct intrec' to 'struct intrhand' as it is a bit more intuitive. Also, prefix all the members of struct intrhand with 'ih_'. - Make swi_net() a MI function since there is now no point in it being MD. Submitted by: cp
* Moved prototypes of isa_alloc_resourcev() and isa_load_resourcev() tonyan2000-10-221-0/+13
| | | | isa/isavar.h, and added needed includes.
* - machine/mutex.h -> sys/mutex.hjhb2000-10-201-3/+3
| | | | | - machine/ipl.h -> sys/ipl.h - Use MUTEX_DECLARE() for clock_lock
* Remove unneeded #include <machine/clock.h>phk2000-10-152-2/+0
|
* Repeat after me: I will test *before* commit, not after.... *blush*peter2000-10-151-1/+1
|
* Untangle some resource matching loops that were getting on my nervespeter2000-10-153-17/+15
| | | | and seemed to be getting cut/pasted to places they shouldn't be.
* Add MAE0021 - Jetstream Int V.90 56k Voice Series 2.tanimura2000-10-101-0/+1
| | | | | PR: i386/19920 Submitted by: Peter Ortner <port@iname.com>
* Initiate deorbit burn sequence for <machine/mouse.h>.phk2000-10-091-1/+1
| | | | | | | | | | Replace all in-tree uses with <sys/mouse.h> which repo-copied a few moments ago from src/sys/i386/include/mouse.h by peter. This is also the appropriate fix for exo-tree sources. Put warnings in <machine/mouse.h> to discourage use. November 15th 2000 the warnings will be converted to errors. January 15th 2001 the <machine/mouse.h> files will be removed.
* Resolve the inconsistency between "the number of resources of a particularmsmith2000-10-092-7/+38
| | | | | | | | kind we can manage in a set of configurations" and "the number of resources of a particular kind that can be programmed into an ISA PnP adapter". Submitted by: Motomichi Matsuzaki <mzaki@e-mail.ne.jp> Submitted by: Hirokazu WATANABE <gwna@geocities.co.jp>
* Initiate deorbit burn sequence for <machine/console.h>.phk2000-10-081-1/+2
| | | | | | | | | Replace all in-tree uses with necessary subset of <sys/{fb,kb,cons}io.h>. This is also the appropriate fix for exo-tree sources. Put warnings in <machine/console.h> to discourage use. November 15th 2000 the warnings will be converted to errors. January 15th 2001 the <machine/console.h> files will be removed.
* Use schedsofttty() again so that siopoll() gets scheduled as designedbde2000-10-081-5/+0
| | | | (SMPng casualty in rev.1.308 with wrong fix in rev.1.310).
* - Change fast interrupts on x86 to push a full interrupt frame and tojhb2000-10-061-106/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | return through doreti to handle ast's. This is necessary for the clock interrupts to work properly. - Change the clock interrupts on the x86 to be fast instead of threaded. This is needed because both hardclock() and statclock() need to run in the context of the current process, not in a separate thread context. - Kill the prevproc hack as it is no longer needed. - We really need Giant when we call psignal(), but we don't want to block during the clock interrupt. Instead, use two p_flag's in the proc struct to mark the current process as having a pending SIGVTALRM or a SIGPROF and let them be delivered during ast() when hardclock() has finished running. - Remove CLKF_BASEPRI, which was #ifdef'd out on the x86 anyways. It was broken on the x86 if it was turned on since cpl is gone. It's only use was to bogusly run softclock() directly during hardclock() rather than scheduling an SWI. - Remove the COM_LOCK simplelock and replace it with a clock_lock spin mutex. Since the spin mutex already handles disabling/restoring interrupts appropriately, this also lets us axe all the *_intr() fu. - Back out the hacks in the APIC_IO x86 cpu_initclocks() code to use temporary fast interrupts for the APIC trial. - Add two new process flags P_ALRMPEND and P_PROFPEND to mark the pending signals in hardclock() that are to be delivered in ast(). Submitted by: jakeb (making statclock safe in a fast interrupt) Submitted by: cp (concept of delaying signals until ast())
* - Heavyweight interrupt threads on the alpha for device I/O interrupts.jhb2000-10-052-7/+1
| | | | | | | | | | | - Make softinterrupts (SWI's) almost completely MI, and divorce them completely from the x86 hardware interrupt code. - The ihandlers array is now gone. Instead, there is a MI shandlers array that just contains SWI handlers. - Most of the former machine/ipl.h files have moved to a new sys/ipl.h. - Stub out all the spl*() functions on all architectures. Submitted by: dfr
* - Wrap functions and variables that aren't used in the alpha console probejhb2000-09-221-7/+26
| | | | | | with #ifndef __alpha__/#endif - Add function prototypes for functions used during the alpha console probe and gdb port setup inside of #ifdef __alpha__/#endif.
* Fix several 64-bit-ism warnings due to sizeof(int) != sizeof(void *) onjhb2000-09-221-6/+6
| | | | the alpha.
* - Remove the inthand2_t type and use the equivalent driver_intr_t type fromjhb2000-09-132-7/+8
| | | | | | | | | | | | | newbus for referencing device interrupt handlers. - Move the 'struct intrec' type which describes interrupt sources into sys/interrupt.h instead of making it just be a x86 structure. - Don't create 'ithd' and 'intrec' typedefs, instead, just use 'struct ithd' and 'struct intrec' - Move the code to translate new-bus interrupt flags into an interrupt thread priority out of the x86 nexus code and into a MI ithread_priority() function in sys/kern/kern_intr.c. - Remove now-uneeded x86-specific headers from sys/dev/ata/ata-all.c and sys/pci/pci_compat.c.
* Add a nasty hack to get remote kernel gdb working from ddb. ddb wouldjhb2000-09-111-0/+9
| | | | | | | complain before that a suitable gdb port had not been setup because gdbdev was NULL. This abuses the fact that the gdb port is hard-coded to the address normally assigned to sio1 and thus hard-codes in sio1 as the gdb port. Yuck.
* Back out my previous commit as well as some SMPng changes to revert thejhb2000-09-081-17/+28
| | | | | | | siosetwater() function to its previous behavior of always disabling interrupts and obtaining the com_lock before returning. Requested by: bde (in principle)
* siointr1: Schedule soft interrupt when needed. This fixes the "nogrog2000-09-081-0/+2
| | | | | | | interrupt" problem people had seen with SMPng. Approved by: jasone Tested by: bp
* Fix a problem where we would recursively try to get the com lock withinjhb2000-09-081-6/+9
| | | | | | comparam when calling siosetwater(). Noticed by: bp
* Major update to the way synchronization is done in the kernel. Highlightsjasone2000-09-072-92/+218
| | | | | | | | | | | | | | | include: * Mutual exclusion is used instead of spl*(). See mutex(9). (Note: The alpha port is still in transition and currently uses both.) * Per-CPU idle processes. * Interrupts are run in their own separate kernel threads and can be preempted (i386 only). Partially contributed by: BSDi (BSD/OS) Submissions by (at least): cp, dfr, dillon, grog, jake, jhb, sheldonh
* Add ZTIA001 - Zoom Internal V90 Faxmodem.sheldonh2000-09-051-0/+1
| | | | | PR: 21028 Submitted by: Glenn Johnson <glennpj@charter.net>
* Add Boca K56Flex PnP modem.sheldonh2000-09-041-0/+1
| | | | | PR: 21000 Submitted by: Andrew Sparrow <spadger@best.com>
* Avoid the modules madness I inadvertently introduced by making thephk2000-09-021-19/+5
| | | | | | | | | | | | | | | | | | cloning infrastructure standard in kern_conf. Modules are now the same with or without devfs support. If you need to detect if devfs is present, in modules or elsewhere, check the integer variable "devfs_present". This happily removes an ugly hack from kern/vfs_conf.c. This forces a rename of the eventhandler and the standard clone helper function. Include <sys/eventhandler.h> in <sys/conf.h>: it's a helper #include like <sys/queue.h> Remove all #includes of opt_devfs.h they no longer matter.
* * Completely rewrite the alpha busspace to hide the implementation fromdfr2000-08-281-0/+1
| | | | | | | | | | | | the drivers. * Remove legacy inx/outx support from chipset and replace with macros which call busspace. * Rework pci config accesses to route through the pcib device instead of calling a MD function directly. With these changes it is possible to cleanly support machines which have more than one independantly numbered PCI busses. As a bonus, the new busspace implementation should be measurably faster than the old one.
* Call destroy_dev() when sio devices go away.phk2000-08-271-6/+12
|
* Add spltty()/splx() in the watchdog timer routine.yokota2000-08-241-0/+3
|
* Remove all traces of Julians DEVFS (incl from kern/subr_diskslice.c)phk2000-08-201-12/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | Remove old DEVFS support fields from dev_t. Make uid, gid & mode members of dev_t and set them in make_dev(). Use correct uid, gid & mode in make_dev in disk minilayer. Add support for registering alias names for a dev_t using the new function make_dev_alias(). These will show up as symlinks in DEVFS. Use makedev() rather than make_dev() for MFSs magic devices to prevent DEVFS from noticing this abuse. Add a field for DEVFS inode number in dev_t. Add new DEVFS in fs/devfs. Add devfs cloning to: disk minilayer (ie: ad(4), sd(4), cd(4) etc etc) md(4), tun(4), bpf(4), fd(4) If DEVFS add -d flag to /sbin/inits args to make it mount devfs. Add commented out DEVFS to GENERIC
* Add another USR modem.peter2000-08-151-0/+1
| | | | | PR: 20621 Submitted by: Masanori Taira <mtaira@logicaleffect.com>
* Avoid a '"fd" is usurping ...' message.n_hibma2000-08-091-1/+5
| | | | | PR: 20348 Submitted by: Andre Albsmeier <andre.albsmeier@mchp.siemens.de>
* Allow use of TSC even if APM is compiled in but disabled.phk2000-07-301-1/+6
|
* Fix a warning re: a potentially unused pccard helper functionpeter2000-07-281-0/+2
|
* Fix GENERIC_MOUSE_ENTRY.yokota2000-07-281-1/+1
| | | | Submitted by: Graham Wheeler <gram@cequrux.com> and gibbs
* This is yet another attempt to fix "psmintr out of sync.." problems.yokota2000-07-221-13/+9
| | | | | | - Properly protect the watchdog timer routine. - Relocate the sync check statement so that we don't see too many error messages.
* Add support for the PC87303 chipset (found on Miata alphas) and adddfr2000-07-202-6/+47
| | | | | | | support for relocating the port address if the isa hints specify a different address from the address the chipset currently has. Submitted by: Andrew M. Miklic <miklic@ibm.net>
* Add smc37c935 chipset support and clean up the code which tries todfr2000-07-183-33/+141
| | | | | | | allocate a short port range in some alpha configurations. Submitted by: "Andrew M. Miklic" <miklic@udlkern.fc.hp.com>, Mark Abene <phiber@radicalmedia.com>
* Don't assume that any ISA device that fails to probe is a PnP device,jhb2000-07-121-9/+11
| | | | | | | | | | | | | instead, use the bus_print_child_* functions to display the error message. Also, since this is more of a warning than an error, hide it behind bootverbose. Similarly, if isa_assign_resources() fails to allocate resources to a device, use bus_print_child_header() instead of device_printf(), and display the resources that could not be allocated if bootverbose is true. Approved by: msmith Help from: mdodd
* Finally merge newmidi.tanimura2000-07-113-7/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (I had been busy for my own research activity until the last weekend) Supported devices: SB Midi Port (sbc + midi) SB OPL3 (sbc + midi) 16550 UART (midi, needs a trick in your hint) CS461x Midi Port (csa + midi) OSS-compatible sequencer (seq) Supported playing software: playmidi (We definitely need more) Notes: /dev/midistat now reports installed midi drivers. /dev/sndstat reports only pcm drivers. We need the new name(pcmstat?). EMU8000(SB AWE) does not sound yet but does get probed so that the OPL3 synth on an AWE card works. TODO: MSS/PCI bridge drivers Midi-tty interface to support general serial devices Modules
* Previous commit changing SYSCTL_HANDLER_ARGS violated KNF.phk2000-07-042-3/+3
| | | | Pointed out by: bde
* Style police catches up with rev 1.26 of src/sys/sys/sysctl.h:phk2000-07-032-3/+3
| | | | | | | | Sanitize SYSCTL_HANDLER_ARGS so that simplistic tools can grog our sources: -sysctl_vm_zone SYSCTL_HANDLER_ARGS +sysctl_vm_zone (SYSCTL_HANDLER_ARGS)
* Add device_identify methods so that we do not need thepeter2000-06-282-36/+43
| | | | | hint.sc.0.at=isa and hint.vga.0.at=isa hints in order for these to probe/attach.
* Only print the diagnostic about extended I/O ports if bootverbose is true.dfr2000-06-251-2/+4
|
* Don't record an irq mask if its empty - it confuses the resource allocator.dfr2000-06-251-1/+3
|
* Replace the unknown driver with a nomatch method in the isa driver.dfr2000-06-251-71/+70
| | | | | This allows ISA PnP drivers to be dynamically loaded after the kernel has booted.
* Add PnP probe methods to some common AT hardware drivers. In each case,msmith2000-06-231-0/+48
| | | | | | | | | the PnP probe is merely a stub as we make assumptions about some of this hardware before we have probed it. Since these devices (with the exception of the speaker) are 'standard', suppress output in the !bootverbose case to clean up the probe messages somewhat.
* This is a temporary bandaid to get vidconsole working again withoutpeter2000-06-151-4/+5
| | | | | | | | | | | options USERCONFIG being present. Due to the lack of early boot hints neither sio or sc would succeed the console probe. If USERCONFIG was active, there was a second cninit() after userconfig had run and that happened to make the console selection work. If you left out USERCONFIG, you would end up with no console at all. :-( This needs a proper fix, especially when sc looses the "at isa" hint. But for now, this works.
* Add option ALT_BREAK_TO_DEBUGGER.ps2000-06-141-0/+29
| | | | | | | | Implement the Solaris way to break into DDB over a serial console instead of sending a break. Sending the character sequence CR ~ ^b will break the kernel into DDB (if DDB is enabled). Reviewed by: peter
* Add SWI_TQ_MASK to all interrupt masks except SWI_CLOCK_MASK. Use abde2000-05-311-1/+1
| | | | | | | new macro SWI_LOW_MASK to give the mask for low priority SWIs instead of hard-coding this mask as SWI_CLOCK_MASK. Reviewed by: dfr
OpenPOWER on IntegriCloud