Commit Graph

90 Commits

Author SHA1 Message Date
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
mrg 1cfd38fb3e oops, fix previous. 1999-03-10 02:19:04 +00:00
mrg ab80268653 no need to use __P inside __P. 1999-03-09 00:42:41 +00:00
pk 6db0ff6627 Update last prototyping change. 1999-02-03 23:40:22 +00:00
pk 4bd6ed2a8b Make this pass the `strict prototype' test. 1999-02-02 22:23:44 +00:00
thorpej daf40e1b0b Add common OpenFirmware network interface functions. Currently supports
decoding the `supported-network-types' and `chosen-network-type' properties
into ifmedia words.
1998-07-22 22:04:14 +00:00
jonathan 3751946b97 defopt INET, NETATALK. 1998-07-05 00:51:04 +00:00
cgd 651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
tv fe2278980b Missing include <sys/systm.h>. 1998-06-10 22:58:05 +00:00
mycroft 2ada4b4af1 Replace TS_WOPEN with t_wopen, per mail on tech-kern. 1998-03-21 04:02:47 +00:00