Commit Graph

68 Commits

Author SHA1 Message Date
sommerfeld 20d271e712 TODO list, paraphrasing Jason Thorpe 2002-12-28 20:12:24 +00:00
matt 6b5d7a7b6c Remember the isa_chipset_tag_t and supply to isa_intr_establish.
(thereby removing a XXX in the code).
2002-12-28 17:13:39 +00:00
matt 51ec27c813 Move the call to isa_dmainit to mainbus_attach from pnpbios_attach since
ACPI needs to have that done for the exact same reasons as ACPI.
2002-12-28 17:11:50 +00:00
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