Commit Graph

65 Commits

Author SHA1 Message Date
jmc
33169df7d2 Provide a cast when setting up the interrupt handler (npxintr has a different
signature than the prototype expects)
2002-11-24 10:19:37 +00:00
fvdl
ae4b76c8d3 New interrupt code. The basic idea behind it is to hide the differences
in interrupt controllers in struct pic, and try to keep as much
common code as possible. At the lowest (asm) level, this is done
with CPP macros.

The main structure is now struct intrsource, describing an established
interrupt line, of any kind (soft/hard local apic/legacy apic/IO apic).
For quick masking, there may be a maximum of 32 sources per CPU.
Sources can be assigned to any CPU in the MP case, though currently they
all go to the boot CPU.
2002-11-22 15:23:35 +00:00
fvdl
0caa98d6b8 .s -> .S rename 2002-11-22 15:02:12 +00:00
fvdl
71a8119df8 Renamed to .S 2002-11-22 14:57:32 +00:00
ad
5a728ace12 Changes for SMBus/I2C:
- Move lm_readreg/lm_writereg into the front-ends. Add/use function pointers
  in the softc.
- Add a bank select function pointer to the softc and provide a generic
  version. WinBond chips accessed over serial bus present three addresses,
  two of which are used to access bank 1/2 registers.
- Mark TSENS2/3 sensor data as invalid if the the corresponding bank select
  fails.
2002-11-15 14:55:41 +00:00
uwe
50de7c9595 If we don't get record drq from pnpbios, set it to play drq.
Otherwise attaching half-duplex device will trigger panic.
NB: ad1848_isa_get_props should probably check for recdrq == -1 as well.
2002-10-03 03:02:11 +00:00
thorpej
1ad8e0ff42 Tidy up CFATTACH_DECL() formatting. 2002-10-02 05:47:08 +00:00
fvdl
26ab868e68 Merge Bill Sommerfeld's i386 MP branch. This code has some known
caveats, but works quite well in a lot of MP cases, and all
UP cases that I have tested. Parts of this will hopefully be
reworked in the not-too-distant future.
2002-10-01 12:56:36 +00:00
thorpej
f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
thorpej
6c88de3b53 Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller.  Use it
rather than invoking cfattach->ca_match directly.
2002-09-27 03:17:40 +00:00
mrg
32c1ebcb8b complain if we can't get the recording drq at attach time. 2002-05-15 18:14:41 +00:00
itohy
d5f39a2d9c Add explicit support of OPL3-SA2 (YMF711).
Not well tested....
2002-03-10 13:57:10 +00:00
nathanw
382c2e0513 Add a bunch of PNP ID strings that are apparantly for the ESS chips.
Snarfed from a Microsoft document.
2002-02-15 22:06:50 +00:00
jdolecek
104f7c34d6 joyvar.h is now at <dev/ic/joyvar.h> 2002-02-06 21:32:16 +00:00
ws
95ea6d63ce Make this work with only a keyboard attached to ps2 port.
(Maybe even works with only a mouse attached, but I cannot test this.)
Should fix PR 10306 (& 15093).
2002-01-04 17:11:55 +00:00
lukem
ecb81c3f6d - convert usage of "defopt" to "defflag" where the relevant option does
not support a value (e.g., it's to be used as "options FOO" instead of
  "options FOO=xxx"). options that take a value were converted to
  defparam recently.
- minor whitespace & formatting cleanups
2001-11-28 10:21:10 +00:00
lukem
95c969f245 add RCSID 2001-11-15 07:03:28 +00:00
thorpej
21056065db Move the code that enumerates the pnpbios device nodes into a
separate function.
2001-09-27 17:13:39 +00:00
chris
0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00
perry
0d05392733 bzero->memset, bcopy->memcpy 2001-07-07 05:58:12 +00:00
thorpej
1c3a62e066 Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative.  It may be possible to
optimize these a little more.
2001-04-24 04:30:50 +00:00
minoura
1a1b6fb6d2 Match XpressAudio. 2001-03-31 09:24:37 +00:00
minoura
92e327c226 Match PNP0320 (Japanese 106-key keyboard A01).
- We could use this information to determine the default keymap (?)
 - Match more keyboards? (e.g.strncmp(idstr, "PNP03", 5))
2001-03-31 09:20:40 +00:00
lukem
3aeb5f2f29 whitespace police 2001-02-24 01:59:46 +00:00
nathanw
5028590f77 PNPBIOS joystick attachment. 2001-01-28 00:37:52 +00:00
jmc
d1c6f1123f Add pnpbios_getiosize 2000-12-17 07:59:14 +00:00
jmc
50445038df Change the attach routine so it handles all the known cases that pnpbios
returns for floppy controllers i/o ports. i.e.

1. 1 range of length 4 (which conveniently "forgets" the ctl i/o port),
2. 2 ranges: 1 of length 4 and the ctl i/o port.
3. 1 range of length 6 which goes to the end of the ctl i/o.

Make this line up with the MI fdc code by mapping in a range of 4 on the
base i/o and then either direct or submapping the ctl i/o. In the one case
where the BIOS lies and says it's not there just map it in anyways. (but note
the fact to the end user).
2000-12-17 07:58:37 +00:00
itohy
c3202405d5 Support half-duplex mode (use only one DRQ).
Fix PR #10308.
2000-09-24 23:40:12 +00:00
mrg
b564830503 remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 08:44:03 +00:00
mrg
2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
thorpej
f82e306928 Add a clearing-house pseudo-device for system monitoring devices
such as the LM78 and VT82C686A (and eventually ACPI).  Multiple
sensor devices can be hooked registered with `sysmon', and eventually
sysmon will also handle hardware (and software) watchdog timers.

Convert the `lm' and `viaenv' drivers to the new interface.
2000-06-24 00:37:19 +00:00
thorpej
ff36cd64b7 Rearrange the npx driver a little to allow for multiple attachments
and add a pnpbios atttachment for it.
2000-06-16 03:47:24 +00:00
jhawk
e4c99458f4 If comprobe1() fails, print a message. Otherwise one gets the xname
prepended to the next configure device, i.e.

com1lpt0: at pnpbios0 index 18 (PNP0401)
2000-06-14 15:15:43 +00:00
soren
824923164c Attach to CS4610 with CS4236 codec in, well, CS4236 compatibility mode. 2000-06-12 03:43:54 +00:00
jhawk
daa86a0be1 Add patchable "pnpbiosdebug" global if PNPBIOSDEBUG is compiled in,
and add PNPBIOSDEBUG_VALUE to initialize its value, defaulting to 1.
2000-05-28 21:46:04 +00:00
jhawk
2d2ad4f3e8 fix cosmetic brain-oh in last; s/attachonly/matchonly/g 2000-05-11 15:26:23 +00:00
jhawk
a2606dbe80 Address PR#10042: instead of getting the dynamic configuration
all the time (which crashes some vaios), get the static configuration,
and if config_search() finds a node, then do the dynamic configuration.
This seems to work fine on multiple vaios (which seem to crash
in different places...go figure).

Also, bring prototypes in-line with KNF and declare static as appropriate.

"#if 0" out pnpbios_getapmtable() and pnpbios_setnode() as they
are not called.

Fix printf()s to print out dv_xname.

Fix a comment typo.

Use manifest constants (PNP_CF_DEVCONF_DYNAMIC, etc.) in calls to
pnpbios_getnode() instead of hardcoded constants.
2000-05-11 05:54:49 +00:00
thorpej
a8b12af644 - When we get an ABOUT_TO_CHANGE event, send an OK message in response
so that the docking/undocking process can actually complete.
- Track the current docking state, and report the current state when it
  changes.
- Make it possible to enable pnpbios verbosity at run-time.
2000-04-27 16:41:59 +00:00
thorpej
43db473cbb Clean up the docking-event related message, and make it possible to
debug docking events without having to debug the rest of PNPBIOS.
2000-04-26 20:33:46 +00:00
thorpej
d0271b127d Add PNPBIOS front-end for the PC Floppy Controller driver. 2000-04-23 17:50:00 +00:00
thorpej
cf0a940b9f Add a pnpbios front-end to the pckbc driver. This is a littke wonky
yet.. the keyboard controller actually has 2 PNPBIOS nodes (one to
represent the controller I/O resources and the kbd port IRQ, and one
for the aux port IRQ).  To cope with this, we're attaching two instances
of the driver and forge on ahead once both nodes have been seen.

If someone has a better way, please feel free to step forward.
2000-04-22 06:41:34 +00:00
thorpej
1842a5ee3a Allow pnpbios_getirqnum() to return the share type, as well. 2000-04-22 06:38:24 +00:00
soren
5932e9f765 Match new prototype of pciide_dma_start in pciide.c. 2000-04-01 20:17:12 +00:00
sommerfeld
f6ec059d2e add newline at end of last line. 2000-03-12 05:35:37 +00:00
nathanw
2569290833 Now that pnpbios_io_unmap() exists, use it. 2000-03-04 23:08:54 +00:00
groo
97be07a6c4 Remove probe/attach for PNP0C02. There are reserved motherboard regions.
Thanks to Adam Glass for catching this.
2000-03-01 20:24:53 +00:00
groo
866ee72838 Add pnpbios_io_unmap 2000-03-01 20:23:55 +00:00
augustss
e0573deb3b Another ID for ESS. From Dave Huang <khym@bga.com> 2000-02-28 00:22:33 +00:00
groo
f5f2ad429c Initial import of National Semiconductor LM7[89] Hardware Monitor with isa and
pnpbios attach.

examples:

	lm0 at pnpbios0 index?
	lm0 at isa? port 0x290


TODO: spinlocks, i2c interface.
2000-02-25 02:17:43 +00:00
chopps
db8aeddb5f deal with bios that just say end tag with no end dep
add a lot of skeletal work to pnpbios.
	option to handle events from pnpbios in a thread (e.g., hot-doc)
	add calls for the other pnpbios functions (e.g., send message etc..)
	add most defintions from the pnp doc to new reg file
2000-02-22 15:49:17 +00:00