36377 Commits

Author SHA1 Message Date
Peter Wemm
70285c3e5f Test the water. Make time_t long (64 bit) on ia64 since we do not have
to worry about ABI vs released systems yet.  This is mostly transparent
since there is no significant exposure in the syscall interface.  The
things that go wrong are mostly userland stuff - time(&intvariable).

Reviewed by:	dfr, marcel
Approved by:	re (jhb)
2002-11-15 22:35:34 +00:00
Sam Leffler
0f43e1aada Back out rev 1.150; things are more complicated than this. 2002-11-15 18:42:10 +00:00
Sam Leffler
10ed96fd9c if_attach should not sleep; change malloc's M_WAITOK to M_NOWAIT 2002-11-15 18:35:41 +00:00
Maxime Henrion
6c9ecf447f Catch up with sam's changes to network interfaces. 2002-11-15 14:36:33 +00:00
David Xu
1d2c5bd519 Return EWOULDBLOCK for last thread in kse_release().
Requested by: archie
2002-11-15 00:53:59 +00:00
Sam Leffler
6fc32a2495 network interface and link layer changes:
o on input don't strip the Ethernet header from packets
o input packet handling is now done with if_input
o track changes to ether_ifattach/ether_ifdetach API
o track changes to bpf tapping
o call ether_ioctl for default handling of ioctl's
o use constants from net/ethernet.h where possible

Reviewed by:	many
Approved by:	re
2002-11-15 00:00:15 +00:00
Sam Leffler
2f907a97c7 track changes to ethernet input handling to no longer strip the Ethernet header
Reviewed by:	many
Approved by:	re
2002-11-14 23:57:09 +00:00
Sam Leffler
673d91916d network interface driver changes:
o don't strip the Ethernet header from inbound packets; pass packets
  up the stack intact (required significant changes to some drivers)
o reference common definitions in net/ethernet.h (e.g. ETHER_ALIGN)
o track ether_ifattach/ether_ifdetach API changes
o track bpf changes (use BPF_TAP and BPF_MTAP)
o track vlan changes (ifnet capabilities, revised processing scheme, etc.)
o use if_input to pass packets "up"
o call ether_ioctl for default handling of ioctls

Reviewed by:	many
Approved by:	re
2002-11-14 23:54:55 +00:00
Sam Leffler
9ef8b52020 o track either_ifattach/ether_ifdetach API changes
o use if_input for input packet processing
o don't strip the Ethernet header for input packets
o use BPF_* macros bpf tapping
o call ether_ioctl to handle default ioctl case
o track vlan changes

Reviewed by:	many
Approved by:	re
2002-11-14 23:49:09 +00:00
Sam Leffler
eec3a0b17f track changes to not strip the Ethernet header from input packets
Reviewed by:	many
Approved by:	re
2002-11-14 23:46:04 +00:00
Sam Leffler
ccb2acfe1b track bpf changes
Reviewed by:	many
Approved by:	re
2002-11-14 23:45:13 +00:00
Sam Leffler
edbb5246ff o track changes to ethernet input packet handling
o track changes to bpf
o track changes to make ng hooks more private

Reviewed by:	many
Approved by:	re
2002-11-14 23:44:37 +00:00
Sam Leffler
a3814acf84 o eliminate separate callback interface for h/w tagged input packets; instead
drivers "tag packets" with an m_tag and the input packet handling recognizes
  such packets and does the right thing
o track the number of active vlans on an interface; this lets lots of places
  only do vlan-specific processing when needed
o track changes to ether_ifdetach/ether_ifattach
o track bpf changes
o eliminate the use of M_PROTO1 for communicating to drivers about tagged
  packets
o eliminate the use of IFF_LINK0 for drivers communicating to the vlan code
  that they support h/w tagging; replaced by explicit interface capabilities
o add ifnet capabilities for h/w tagging and support of "large mtu's"
o use new interface capabilities to auto-configure use of large mtu's and h/w
  tagging
o add support for proper handling of promiscuous mode
o document driver/vlan communication conventions

Reviewed by:	many
Approved by:	re
2002-11-14 23:43:16 +00:00
Sam Leffler
76cfd3001b o add if_nvlans member to track the number of vlans active on an interface
o add if_input member for interface drivers to call through to pass packets "up"
o remove ethernet-specific function decls (moved to ethernet.h)

Reviewed by:	many
Approved by:	re
2002-11-14 23:36:28 +00:00
Sam Leffler
c1d93b0588 o change input packet handling to eliminate the pointer to the struct
ether_header; instead drivers are to leave the Ethernet header at the
  front of the packet
o add declarations for netgraph and vlan hooks that were removed from ethernet.h
o change various in-file calling conventions to track change in input API
o fixup bridge support to handle Ethernet header no longer being stripped
o add consistency checks to ether_input to catch problems with the change
  in the API; some of these may want to be moved to #ifdef DIAGNOSTIC at a
  later time (though they are not too expensive to leave as is)
o change ether_demux to eliminate the passing of the Ethernet header; it is
  now expected at the front of the packet a la ether_input
o add ether_sprintf compatibility shim
o change ether_ifattach API to remove "bpf supported param" and add a pointer
  to the MAC address to be installed for the LL address (this is for future
  changes to divest struct arpcom from struct ifnet)
o change ether_ifdetach API to remove "bpf support param"

Reviewed by:	many
Approved by:	re
2002-11-14 23:35:06 +00:00
Sam Leffler
eef6f89728 general cleanups mostly aimed at improving portability of drivers
o ETHER_* (ETHER_ALIGN, ETHER_MAX_FRAME, ETHER_CRC_LEN, etc.)
o M_HASFCS for drivers to indicate packets include FCS
o remove global declarations for ng_ether* and vlan_* since these
  represent a private contract between the if_ethersubr.c code and
  certain parts of the system that should not normally be abused
o add ether_* declarations that were elsewhere
o remove ETHER_BPF_* since they are no longer used with the parameter
  no longer passed to ether_ifattach and ether_ifdetach

Reviewed by:	many
Approved by:	re
2002-11-14 23:28:47 +00:00
Sam Leffler
24a229f466 o add support for multiple link types per interface (e.g. 802.11 and Ethernet)
o introduce BPF_TAP and BPF_MTAP macros to hide implementation details and
  ease code portability
o use m_getcl where appropriate

Reviewed by:	many
Approved by:	re
Obtained from:	NetBSD (multiple link type support)
2002-11-14 23:24:13 +00:00
Sam Leffler
bb68f0af5e o add IF_*bps macros for netbsd compatibility
o add interface capabilities for vlan use and to signal jumbo frame support

Reviewed by:	many
Approved by:	re
2002-11-14 23:16:18 +00:00
Olivier Houchard
26532c3696 Remove the remaining calls to free(), they are not needed anymore now
device_get_softc() is used.
2002-11-14 19:54:33 +00:00
Thomas Moestl
01ee43955c Make the msg_size, msg_bufx and msg_bufr memebers of struct msgbuf
signed, since they describe a ring buffer and signed arithmetic is
performed on them. This avoids some evilish casts.

Since this changes all but two members of this structure, style(9)
those remaining ones, too.

Requested by:	bde
Reviewed by:	bde (earlier version)
2002-11-14 16:11:12 +00:00
John Baldwin
443f70e31a Add hints for ISA ATA controllers. At least one Digital AlphaPC 64 has
one such beast.

Reported by:	Rob Byrnes <rbyrnes@ozemail.com.au>
2002-11-14 14:59:27 +00:00
Maxime Henrion
b2423a5f88 Fix printf() format errors.
Reviewed by:	imp
2002-11-14 14:02:32 +00:00
Maxime Henrion
cb25d85fc7 Pass correct parameters to bus_space_barrier() instead of 0
so that this code compiles on alpha.
2002-11-14 13:25:53 +00:00
Thomas Moestl
222e92877c Don't register the powerfail interrupt as fast in the
non-DEBUGGER_ON_POWERFAIL case so that shutdown_nice() can be called
without problems.

Reported & tested by:	Gavin Atkinson <gavin@ury.york.ac.uk>
2002-11-14 11:29:16 +00:00
David Xu
ca161eb6e9 In kse_release(), check if current thread is bound
and current kse mailbox was already initialized, also
prevent last thread from exiting unless we figure out
how to safely support null thread proc.
2002-11-14 06:06:45 +00:00
Warner Losh
e3c29144fe Panic message strings do not need a trailing \n.
Reviewed by: ken
2002-11-14 05:35:57 +00:00
Warner Losh
a4bbd12ff1 MFp4:
o Fix small style nit.  This was supposed to be part of the last batch of
  style fixes, but somehow didn't get merged.
2002-11-14 05:22:37 +00:00
Warner Losh
b20360c8e6 MFp4:
o Add support for bus_child_present call by implementing that method for cbb.
2002-11-14 05:20:39 +00:00
Warner Losh
dfe5056e80 MFp4:
o Make this code a little easier to understand by using simpler if
  statements, but nesting them.
2002-11-14 05:18:53 +00:00
Warner Losh
f02993557a MFp4:
o Use 32-bit unsigned types for things that really are 32-bit quantities,
  not bus_addr_t.  These are not the same as a bus_addr_t, so don't use
  that here.  Harmless on i386, introduced problems on sparc64.

Submitted by: jhb
2002-11-14 05:15:50 +00:00
Warner Losh
41e6d507ba Remove an impossible condition. pf->dev is always non-null here. 2002-11-14 05:13:52 +00:00
Warner Losh
d0c36f94f7 MFp4:
o Add a diagnostic for an 'impossible' condition.
o Collapse common code.
2002-11-14 05:12:02 +00:00
Warner Losh
01f2fb65c3 minor correction to comment 2002-11-14 05:10:16 +00:00
Warner Losh
21ac1e0615 Add second and thrid bus-toaster IDs 2002-11-14 05:08:22 +00:00
Warner Losh
c4d9c284e2 regen to 1.37 2002-11-14 05:07:20 +00:00
Warner Losh
637f9a2e17 Add a third aic-based bustoaster. 2002-11-14 05:06:25 +00:00
Warner Losh
ae01a5394a Panic message should end with \n.
Reviewed by: ken a while ago.
2002-11-14 05:03:11 +00:00
Scott Long
9fb92b64ad When parsing the CIS, if a BAR tuple is encountered, enable the corresponding
bit in the PCI command register for the device.  Otherwise, device drivers
that look at this register to see which types of BARs are usable will think
that none of them are.
This allows my Adaptec 1480A cardbus card to finally work.

Reviewed by:	imp
2002-11-13 22:53:48 +00:00
Peter Wemm
41f778bb99 Recognize the Serverworks CIOB30 host to pci bridge. 2002-11-13 21:30:44 +00:00
Alan Cox
81b9ee99e7 Remove dead code that hasn't been needed since the demise of share maps
in various revisions of vm/vm_map.c between 1.148 and 1.153.
2002-11-13 19:50:06 +00:00
Maxime Henrion
a1bbb9f95c Remove a commented out #include "opt_pci.h", it doesn't
exist anymore.
2002-11-13 17:50:59 +00:00
Maxime Henrion
ab03a6a3e2 Remove opt_pci.h from SRCS, it doesn't exist anymore. 2002-11-13 17:45:42 +00:00
Maxime Henrion
64e53f7655 Remove opt_pci.h from SRCS. 2002-11-13 17:43:37 +00:00
Maxime Henrion
7617255f4a Remove a bunch of #include "opt_pci.h". 2002-11-13 17:40:15 +00:00
Maxime Henrion
d541eb80c6 Unbreak kernel build.
Submitted by:	Hiten Pandya <hiten@angelica.unixdaemons.com>
2002-11-13 17:34:12 +00:00
Robert Watson
a96acd1ace Introduce a condition variable to avoid returning EBUSY when
the MAC policy list is busy during a load or unload attempt.
We assert no locks held during the cv wait, meaning we should
be fairly deadlock-safe.  Because of the cv model and busy
count, it's possible for a cv waiter waiting for exclusive
access to the policy list to be starved by active and
long-lived access control/labeling events.  For now, we
accept that as a necessary tradeoff.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-11-13 15:47:09 +00:00
Maxime Henrion
2bb95458bd Add support for the C99 %t format modifier. 2002-11-13 15:15:59 +00:00
Maxime Henrion
96c65f258e Add the sys/stddef.h header, so that we can have ptrdiff_t
definition in the kernel.  It also includes the offsetof()
definition which, according to bde@ should be here and not
in sys/types.h, and the definition of NULL so that we're
closer to make it closer to standard C.

Reviewed by:	mike
2002-11-13 15:14:57 +00:00
Mike Barcroft
6c2f2bc53f Fix a constant in the standard namespace not to depend on another
constant in the BSD namespace.
2002-11-13 11:49:24 +00:00
Maxim Konovalov
8ef1565d2b Due to a memory alignment sizeof(struct ipfw_flow_id) is bigger than
ipfw_flow_id structure actual size and bcmp(3) may fail to compare
them properly. Compare members of these structures instead.

PR:		kern/44078
Submitted by:	Oleg Bulyzhin <oleg@rinet.ru>
Reviewed by:	luigi
MFC after:	2 weeks
2002-11-13 11:31:44 +00:00