Commit Graph

99 Commits

Author SHA1 Message Date
bouyer 847cb1fa0d Zero out the buffer when padding packet to ETHER_MIN_LEN-ETHER_CRC_LEN 2003-01-15 22:01:57 +00:00
wiz c053751628 compatibility, not compatiblity. 2003-01-06 13:26:24 +00:00
thorpej 72a7af27b0 Use aprint_normal() in cfprint routines. 2003-01-01 00:10:15 +00:00
mrg 603098b9b5 implement separate read/write disk statistics:
- disk_unbusy() gets a new parameter to tell the IO direction.
	- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
	when processing hw.diskstats, add the read&write bytes/transfers for
	the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail.  however, the next time this is
change it will not fail again.

this is just the kernel portion.
2002-11-01 11:31:50 +00:00
jdolecek e0cc03a09b merge kqueue branch into -current
kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
2002-10-23 09:10:23 +00:00
chs cb1254e9a1 in ofnet_read(), interpret returns of either -2 or 0 from OF_read() as
meaning that there is no packet available.  the OF spec reportedly
says that it's supposed to return 0 in this case, but my Firepower box
uses -2, so this is probably another of those FIRMWORKSBUGS things.
we'll accept both values in any case.
2002-10-22 06:28:50 +00:00
chs cdd13585e9 add missing protos. 2002-10-05 17:01:51 +00:00
thorpej c9b3657ce9 Add trailing ; to CFATTACH_DECL. 2002-10-02 16:33:28 +00:00
thorpej 674c37a017 Use CFATTACH_DECL(). 2002-10-02 02:16:10 +00:00
thorpej 71adb76f75 Use CFATTACH_DECL(). 2002-09-30 21:57:46 +00:00
thorpej f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
thorpej 98f020f181 Fix a latent bug uncovered by the new autoconfiguration code: make
sure the "ofbus" device carries the "ofbus" interface attribute.

This is the other part of the fix for PR #18433.
2002-09-27 06:23:09 +00:00
chs f5191984f6 use splnet() around the body of ofnet_read(). this is logically the
receive interrupt handler since it passes received packets to the
interface's input handler.  that ends up scheduling a network softint
and queuing the packet on the interface's receive queue (in that order),
so if softnet isn't blocked at this point then softnet() doesn't find
the packet until it's triggered again by something else.
remove all vesitages of dk_establish().
2002-09-18 01:47:08 +00:00
chs 658ce04ab1 fix error checking in ofdisk_open().
remove all vesitages of dk_establish().
2002-09-18 01:46:40 +00:00
chs b5e02d5677 implement device_register() for ofppc.
use ofcons_cnprobe().
2002-09-18 01:44:12 +00:00
gehenna 77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
atatat 31144d9976 Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.
2002-03-17 19:40:26 +00:00
itojun ac36f7cb2c bring in latest ALTQ from kjc. ALTQify some of the drivers. 2002-03-05 04:12:57 +00:00
lukem ab5d9d2b0c add RCSIDs 2001-11-13 07:24:43 +00:00
thorpej 2bc9b4e2be Remove hack to skip OFW nodes which don't correspond to devices. These
are generally only at the toplevel of the OFW tree, and are best handled
by the code that configures the toplevel (which often needs special
handling anyway).
2001-10-22 14:36:55 +00:00
billc 0b357f290a FCS check and padding for minimum size Ethernet packet 2001-10-20 08:19:47 +00:00
matt 5911b9a67f Make compile with -Wmissing-prototype -Wstrict-prototypes 2001-08-26 02:49:18 +00:00
matt 3ec769dff6 Make this compile with -Wmissing-prototypes by adding appropriate
cdev_decl, bdev_decl, cons_decl
2001-08-25 19:05:04 +00:00
simonb a8068ab82d Don't use argument names in function declarations. 2001-06-19 08:24:07 +00:00
tsubai 5a051092e4 Rename ofb_softc to ofbus_softc. (XXX Is this good name?) 2001-06-10 11:36:03 +00:00
matt ef047f21f8 Add multiple inclusion protection. Define prototypes for openfirm
routines used in cdevsw.
2001-06-08 00:19:17 +00:00
scw 2963ff5c58 Add `l_poll' to `struct linesw' and provide an xxxpoll() entry point
in each tty driver to indirect through it.

This allows tty line-disciplines to handle poll(2) system calls.
2001-05-02 10:32:08 +00:00
jdolecek 745ab257dc Put back all header files defining ioctls 2001-04-11 19:07:36 +00:00
jdolecek 372e5956ef Only install headers which are actually used by our userland. This
saves about 2.2MB under /usr/include/dev/. Discussed on tech-kern@
recently.

I HOPE to get the list right. The headers I left in are ones
used for MI tools and those whose usage I discovered by grep over tree sources.
Feel free to put needed includes back in if you encounter anything which
should not be removed from lists.
2001-04-11 07:42:31 +00:00
mrg eb77d4840c add OFW_PCI_PHYS_HI_BUS() 2001-02-17 16:28:37 +00:00
mrg 2f85e9e153 expand this a little further to include defines of:
OFW_PCI_PHYS_HI_DEVICE() - extract PCI device from phys_hi
	OFW_PCI_PHYS_HI_FUNCTION() - extract PCI function from phys_hi
and the definition of `struct ofw_pci_register'.
2001-02-16 14:16:30 +00:00
fvdl d040bd5908 Return error in the case of using ODIOCGDINFO or ODIOCGDEFLABEL when
the number of partitions is > OLDMAXPARTITIONS. This is better
than silently truncating the label (don't want to silently throw
away partitions when using an old disklabel binary on a label with
> 8 partitions). From Enami Tsugutomo.
2001-01-08 02:03:45 +00:00
fvdl e2d1c1f926 Adapt all disk devices in MI directories to handle ODIOC* calls
for ports that have bumped MAXPARTITIONS (and thus define
__HAVE_OLD_DISKLABEL).
2001-01-07 18:09:01 +00:00
pk 503701f0d3 OF_nextprop: make OUT argument type `void *' 2000-11-15 14:27:26 +00:00
thorpej b84f740be0 Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach(). 2000-11-15 01:02:11 +00:00
matt 1936d0565a some cleanup. Add back OFIOCGETOPTNODE. 2000-11-14 21:10:05 +00:00
matt a790bc7690 Add OFIOCGETOPTNODE (now that I know how to implement it). 2000-11-14 21:07:26 +00:00
matt 7d085e8e51 Add openfirmio which is an ioctl interface to OpenFirmware. 2000-11-14 06:45:54 +00:00
matt 3b275bc230 Add OF_nextprop and OF_setprop prototypes. 2000-11-14 06:44:12 +00:00
matt 1365092255 de __P'd. 2000-11-14 06:42:27 +00:00
eeh 507aaec04c Adapt to the new line discipline scheme. 2000-11-02 00:01:44 +00:00
thorpej 463931b3ba Nuke dk_establish() from orbit except from those ports which still use
it to determine the boot device: mvme68k, pc532, macppc, ofppc.  Those
platforms should be changed to use device_register().  In the mean time,
those ports defined __BROKEN_DK_ESTABLISH.
2000-05-16 05:45:44 +00:00
scw c56f4bceb8 Fix some callout fallout. Hi Jason! 2000-04-14 19:31:50 +00:00
ws b7570cae85 Update several ports to at least work again without IPKDB
after the update of that.
Sorry for breaking this with my last changes :-(.
Fixes PR#9671 by Lennart Augustsson.
2000-03-24 17:05:30 +00:00
thorpej fc96443d15 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 07:01:25 +00:00
soren 95054da1a1 Fix doubled 'the's in comments. 2000-03-13 23:52:25 +00:00
thorpej f98d358a1f Rework layer 2 protocol input routines. Instead of calling e.g. ether_input()
directly, call the function pointer (*if_input)(ifp, m).  The input routine
expects the packet header to be at the head of the packet, and will adjust
as necessary.  Privatize the layer 2 input and output routines, allowing
*_ifattach() to set them up as appropriate.
1999-05-18 23:52:51 +00:00
tsubai dc8d07a096 Fix OFW_PCI_PHYS_HI_DEVICEMASK value. 1999-05-05 08:09:34 +00:00
thorpej dbe4c0c061 Make this compile again. 1999-05-04 23:55:27 +00:00
thorpej 9382ef37c1 Define some things related to the PCI Bus binding to OpenFirmware. 1999-05-04 20:08:04 +00:00