Commit Graph

51873 Commits

Author SHA1 Message Date
bjh21
2ee0431a3d Register definitions for the NatSemi DP83905 AT/LANTIC, as used in many
podulebus Ethernet cards.
2001-12-14 10:16:03 +00:00
gehenna
f144837e0e Stylistic changes 2001-12-14 08:58:49 +00:00
gehenna
2d27ad7c73 Define a new structure to store wire specific control methods.
The basic BBB/CBI functions are stored as members of constant structure.
When attached device, softc holds one of that constant structures.
2001-12-14 08:46:19 +00:00
gmcgarry
25be1c42e2 Arrange in correct order. 2001-12-14 08:39:11 +00:00
gmcgarry
9370d5d4ef Update hardware drivers with console attachments to the new console
attachment interface.
2001-12-14 08:34:27 +00:00
ichiro
69424fd268 typo fix 2001-12-14 08:33:54 +00:00
gmcgarry
8038726863 Update the console attach interface now that bus_space is available.
Basically means that hardware drivers with console attachments are
now largely machine independent.
2001-12-14 08:29:24 +00:00
gmcgarry
8883bd8ba3 Make the ite interface look a little more like wscons. This is done
by allowing the hardware drivers to register keyboard and display
support with the ite framework.  Removes the dependence on the hil
keyboard and should make support for dnkbd easier.

An interim fix until wscons arrives.
2001-12-14 08:25:40 +00:00
gmcgarry
eed7e1f9a3 include Makefile.buildboot before testing for RELEASEDIR 2001-12-14 07:36:32 +00:00
gehenna
49bba69842 Use device handle and interface number which are stored in softc. 2001-12-14 06:21:56 +00:00
gmcgarry
5b666cb353 Bump version: Default to BOOTP network boot 2001-12-14 06:08:35 +00:00
chs
5e3151bdf5 make this compile with DEBUG. 2001-12-14 06:06:26 +00:00
gehenna
53f34def69 Change style to store endpoint addresses and pipes. 2001-12-14 05:58:13 +00:00
gmcgarry
64e7130584 Use bootp, to match the recent change to the bootblocks. 2001-12-14 05:56:59 +00:00
gmcgarry
bdd225baa1 Add a blurb to the top of all GENERIC files. This serves three purposes:
- to clarify some terminology
- to clarify the intention of the GENERIC file
- to cross-reference some useful man pages
2001-12-14 05:34:45 +00:00
chs
4923ddfdda in sys_mincore(), check the return value of uvm_vslock() to determine
if the vec pointer is valid rather than using uvm_useracc().
uvm_useracc() just tells you if the permissions of a user mapping allow
the desired access, not whether faulting on that mapping will succeed.
2001-12-14 04:21:22 +00:00
mjacob
219d22404b Major restructuring for swizzling to the request queue and unswizzling from
the response queue. Instead of the ad hoc ISP_SWIZZLE_REQUEST, we now have
a complete set of inline functions in isp_inline.h. Each platform is
responsible for providing just one of a set of ISP_IOX_{GET,PUT}{8,16,32}
macros.

The reason this needs to be done is that we need to have a single set of
functions that will work correctly on multiple architectures for both little
and big endian machines. It also needs to work correctly in the case that
we have the request or response queues in memory that has to be treated
specially (e.g., have ddi_dma_sync called on it for Solaris after we update
it or before we read from it).

One thing that falls out of this is that we no longer build requests in the
request queue itself. Instead, we build the request locally (e.g., on the
stack) and then as part of the swizzling operation, copy it to the request
queue entry we've allocated. I thought long and hard about whether this was
too expensive a change to make as it in a lot of cases requires an extra
copy. On balance, the flexbility is worth it. With any luck, the entry that
we build locally stays in a processor writeback cache (after all, it's only
64 bytes) so that the cost of actually flushing it to the memory area that is
the shared queue with the PCI device is not all that expensive. We may examine
this again and try to get clever in the future to try and avoid copies.

Another change that falls out of this is that MEMORYBARRIER should be taken
a lot more seriously. The macro ISP_ADD_REQUEST does a MEMORYBARRIER on the
entry being added. But there had been many other places this had been missing.
It's now very important that it be done.

For NetBSD, it does a ddi_dmamap_sync as appropriate. This gets us out of
the explicit ddi_dmamap_sync on the whole response queue that we did for SBus
cards at each interrupt.

Set things up so that platforms that cannot have an SBus don't get a lot of
the SBus code checks (dead coded out).

Additional changes:

Fix a longstanding buglet of sorts. When we get an entry via isp_getrqentry,
the iptr value that gets returned is the value we intend to eventually plug
into the ISP registers as the entry *one past* the last one we've written-
*not* the current entry we're updating. All along we've been calling sync
functions on the wrong index value. Argh. The 'fix' here is to rename all
'iptr' variables as 'nxti' to remember that this is the 'next' pointer-
not the current pointer.

Devote a single bit to mboxbsy- and set aside bits for output mbox registers
that we need to pick up- we can have at least one command which does not
have any defined output registers (MBOX_EXECUTE_FIRMWARE).

Explicitly decode GetAllNext SNS Response back *as* a GetAllNext response.
Otherwise, we won't unswizzle it correctly.

Nuke some additional __P macros.
2001-12-14 00:13:44 +00:00
mjacob
acbfdd822a Roll f/w to latest level, correcting several, ah, interesting bugs. 2001-12-14 00:07:55 +00:00
tv
816077b47e Fix problem introduced with the MKMAN->NOMAN conversion. 2001-12-13 22:33:20 +00:00
bouyer
71e063c830 pdc202xx_setup_channel: remove a duplicate line. 2001-12-13 20:57:22 +00:00
bouyer
ca9f8b13da Regen: Add some promise controllers, from FreeBSD 2001-12-13 20:41:05 +00:00
bouyer
b981b05472 Add some promise controllers, from FreeBSD 2001-12-13 20:40:28 +00:00
augustss
04c10fc0cf Initialize lock. 2001-12-13 17:25:37 +00:00
augustss
3df38cc501 Some debug stuff. 2001-12-13 17:15:09 +00:00
augustss
f2821a312a Fix TODO comment. 2001-12-13 17:14:21 +00:00
augustss
090d1a628e Move parameter checks to a common place. 2001-12-13 15:09:07 +00:00
augustss
2485171a67 Use unsigned ints. 2001-12-13 15:08:26 +00:00
junyoung
9dbc5fd199 ANSIfication & KNF fixes. 2001-12-13 08:38:35 +00:00
junyoung
f075aa60ac ANSIfication & cosmetic changes. 2001-12-13 08:35:38 +00:00
junyoung
9ff2a7a76d ANSIfy. 2001-12-13 08:34:55 +00:00
junyoung
d5decae4e0 ANSIfication & cosmetic changes. 2001-12-13 08:31:39 +00:00
chs
2dfd15933e change the reference-counting of PT pages to start from zero instead of
one, so that we don't mess up the global count of wired pages by having
the page's wire_count be non-zero when we free the page.
pointed out by Michael Hitch.
2001-12-13 04:39:50 +00:00
tacha
cba701fed7 remove bogus printf. 2001-12-13 02:50:30 +00:00
augustss
0ba8bac8fe Fix some bugs. But the driver is still borken. 2001-12-13 02:16:21 +00:00
lukem
c10ff7575c YANOMAN= 2001-12-13 01:26:39 +00:00
augustss
d6bbabfb1b Some DIAGNOSTIC nonsense. 2001-12-13 00:33:58 +00:00
augustss
a97820e536 Don't use u_int since it requires sys/types.h 2001-12-13 00:33:36 +00:00
augustss
8e98b4a185 Add some special cases for the Sitecom adapter.
Make endian safe.
Fix some minor bugs.
2001-12-12 23:59:48 +00:00
petrov
aaee6a1839 initialize all fpu registers and don't panic on user 'privileged action' 2001-12-12 19:14:47 +00:00
augustss
3ed67fc0c4 Add missing delay for the tekram dongle. 2001-12-12 17:52:06 +00:00
augustss
5c0685d35e Don't use timeout 0 to tsleep() when the time is short. 2001-12-12 17:21:36 +00:00
augustss
0a4d7b9de3 Add a scanner quirk for keeping the pipes open between device opening.
Idea from Enami.
2001-12-12 15:48:18 +00:00
augustss
7727919172 Use USBD_NO_COPY in for some transfers where it was missing. 2001-12-12 15:44:47 +00:00
augustss
2fdd0f5a4b Some more paranoia checks when DIAGNOSTIC. 2001-12-12 15:38:58 +00:00
augustss
29c3fe261b Add some comments. 2001-12-12 15:38:27 +00:00
augustss
95d1208c14 Regen. 2001-12-12 15:37:21 +00:00
augustss
290d3a0d9e Add some devices. 2001-12-12 15:36:59 +00:00
augustss
dfbcffae07 Remove some stupid casts. 2001-12-12 15:36:08 +00:00
augustss
2fe5c52a53 Use unsigned ints for device settings. 2001-12-12 15:34:49 +00:00
augustss
fae70125c0 Change default value for ebofs. 2001-12-12 15:34:15 +00:00